-
Notifications
You must be signed in to change notification settings - Fork 14
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
Metal advection problem #712
base: development
Are you sure you want to change the base?
Metal advection problem #712
Conversation
…into development
…into development
…into development
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
for more information, see https://pre-commit.ci
…av' into pr/aditivijayan/712-1
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
|
||
if ((x3Mom_edge * normal) < 0) { // gas is inflowing | ||
x3Mom_edge = -1. * consVar(i, j, kedge, HydroSystem<NewProblem>::x3Momentum_index); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This implementation of the diode boundary condition is not correct.
When the gas is inflowing, you have to reflect all of the cells about the boundary face. For example:
- the
khi+1
ghost cell needs to be based on thekhi
cell, whereas - the
khi+2
ghost cell needs to be based on thekhi-1
cell, - the
khi+3
ghost cell needs to be based on thekhi-2
cell, and - the
khi+4
ghost cell needs to be based on thekhi-3
cell.
For future reference, I've successfully compiled and run commit Modules:
|
I've also successfully run a 256 x 256 x 1024 problem on 32 nodes for 1e6 timesteps without any issues on Frontier. Same commit and modules as above. |
On Frontier, the |
|
||
printf("The total number of SN gone off=%d\n", cum_sn); | ||
Real Rpds = 14. * std::pow(state(i, j, k, HydroSystem<NewProblem>::density_index) / Const_mH, -3. / 7.); | ||
printf("Rpds = %.2e pc\n", Rpds); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Frontier, printf
from the GPU is buffered until the very end of the simulation. For future runs, it would help to move this outside of the amrex::ParallelFor
(and therefore back onto the CPU).
Please retry analysis of this Pull-Request directly on SonarCloud |
Quality Gate passedIssues Measures |
Description
There was an issue in the test_sne.cpp, specifically in the addStrangSplitSources function.
Firstly, the momentum should have been referred as "HydroSystem::x1Momentum_index" rather than "x1mom".
Secondly, the state momentum variables need to be updated in two steps. Writing "state = state + rho*GradPhi" does not work. I am unsure why.
The problem compiles and runs on gadi.
Related issues
none
Checklist
Before this pull request can be reviewed, all of these tasks should be completed. Denote completed tasks with an
x
inside the square brackets[ ]
in the Markdown source below:/azp run
.