Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mhd_eigen values are unused #2783

Closed
zingale opened this issue Mar 18, 2024 · 3 comments
Closed

mhd_eigen values are unused #2783

zingale opened this issue Mar 18, 2024 · 3 comments
Labels

Comments

@zingale
Copy link
Member

zingale commented Mar 18, 2024

In computing the eigensystem of the MHD equations in mhd_eigen.H, we have logic like:

  if (std::abs(cfz-csz) <= 1e-14){
    alf = 1.0_rt;
    als = 0.0_rt;
  }

  if (as - csz < 0.0) {
    alf = 0.0_rt;
  } else {
    alf = std::sqrt((as - csz)/(cfz - csz));
  }

  if (cfz - as < 0.0) {
    als = 0.0_rt;
  } else {
    als = std::sqrt((cfz - as)/(cfz - csz));
  }

So the values set in the first test are never used, since they are overwritten by the else in the next 2 tests.

This was identified by clang-tidy

@zingale zingale added the mhd label Mar 18, 2024
@zingale zingale mentioned this issue Jun 24, 2024
5 tasks
@guadabsb15
Copy link
Member

Ah, I see! what clang-tidy says makes a lot of sense!

So I think the origin of that first if (std::abs(cfz-csz) <= 1e-14) comes from Stone et.al 2018 paper (https://iopscience.iop.org/article/10.1086/588755). On page 171, it says "In the degenerate case in which Ca=Cax=a, so cfz =csz , then equation (A16) becomes alf= 1 and als= 0."

So the question is, if that first if is removed, then for that case when cfz=csz , would these terms alf and als approach the "theoretical" 1 and 0 or numerically have values far from it? or should the second and third ifs only be done if cfz is "significantly" different than csz and then avoid overwriting?

I'm not sure if trying to not overwrite the first if matters, since the tests in #2880 are passing

@guadabsb15
Copy link
Member

I just saw the comment on the corresponding file of #2880 addressing this and the suggested change solves this already

@zingale
Copy link
Member Author

zingale commented Jul 9, 2024

yeah, I think the PR fixes this issue.

@zingale zingale closed this as completed Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants