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

SysBoundary communicate VDFs only in smaller neighborhood #1049

Open
wants to merge 30 commits into
base: dev
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7e65124
SysBoundary communicate VDFs only in smaller neighborhood
ykempf Oct 31, 2024
beb7333
Merge remote-tracking branch 'fmihpc/dev' into less_L2_boundary_vdf_c…
ykempf Nov 4, 2024
5b8b97c
No copy of VDFs for L2 outflow cells.
ykempf Nov 4, 2024
550424b
Remove LIMIT outflow scheme to avoid L2 VDF requirements.
ykempf Nov 4, 2024
d086209
Updated comments in sysboundary about the change in communication width.
ykempf Nov 4, 2024
b765acc
Removed fluffiness parameter from ionosphere.h.
ykempf Nov 4, 2024
0f13e82
Try computing _R and _V moments at t=0 for everyone.
ykempf Nov 1, 2024
826f681
Try to get moments correct at restart too.
ykempf Nov 5, 2024
fdfc499
Change order of if / else in copyCellData
ykempf Nov 12, 2024
ccd369a
Fix initialization of _R and _V moments in L2 boundary cells.
ykempf Nov 12, 2024
83e40e7
Merge remote-tracking branch 'fmihpc/dev' into less_L2_boundary_vdf_c…
ykempf Nov 12, 2024
c8bad25
Flag non-L1 boundary cells as not good for translation pencils.
ykempf Nov 28, 2024
02c036c
Merge remote-tracking branch 'fmihpc/dev' into less_L2_boundary_vdf_c…
ykempf Jan 27, 2025
2875a75
Write out rho_v and rho_r for debugging.
ykempf Feb 10, 2025
bdf5a22
Merge remote-tracking branch 'fmihpc/dev' into less_L2_boundary_vdf_c…
ykempf Feb 10, 2025
9d5d779
Make it compile
ykempf Feb 11, 2025
7e4e101
Needed two more skips of moment computation loops.
ykempf Feb 11, 2025
6464d02
Copy pop.RHO V P to _R and _V values when generating template cells.
ykempf Feb 12, 2025
b03e69a
Skip initial moment calculation in L2 outflow cells.
ykempf Feb 12, 2025
a03d881
Mechanism to copy Outflow L1 into Outflow L2
ykempf Feb 12, 2025
f82a037
Rip our flowto cells mechanism, unused.
ykempf Feb 12, 2025
a646d4b
Remove debugging output of RHO_R and RHO_V
ykempf Feb 12, 2025
707adee
Some ptensor loops up to 6 instead of 3.
ykempf Feb 12, 2025
a12c0b7
Threading of outflow L2 neighbor search.
ykempf Feb 12, 2025
568e3be
Remove debugging output of V_R and V_V.
ykempf Feb 12, 2025
62c0437
Revert "Remove debugging output of RHO_R and RHO_V"
ykempf Feb 19, 2025
1a414d8
Compute moments _R and _V for all but outflow layer 2 after all.
ykempf Feb 19, 2025
5952014
Comment about timeliness of certain moment calculation.
ykempf Feb 19, 2025
e2faab6
Merge branch 'dev' into less_L2_boundary_vdf_comms
ykempf Feb 19, 2025
afa5a22
Loop uint
ykempf Feb 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Try to get moments correct at restart too.
  • Loading branch information
ykempf committed Nov 5, 2024
commit 826f681e150bde0fc19c8564884f62948d2d2f9c
12 changes: 6 additions & 6 deletions vlasovsolver/cpu_moments.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ void calculateMoments_R(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}

Expand Down Expand Up @@ -252,7 +252,7 @@ void calculateMoments_R(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}
cell->parameters[CellParams::VX_R] = divideIfNonZero(cell->parameters[CellParams::VX_R], cell->parameters[CellParams::RHOM_R]);
Expand All @@ -273,7 +273,7 @@ void calculateMoments_R(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}

Expand Down Expand Up @@ -339,7 +339,7 @@ void calculateMoments_V(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}

Expand Down Expand Up @@ -401,7 +401,7 @@ void calculateMoments_V(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}

Expand All @@ -423,7 +423,7 @@ void calculateMoments_V(
if (cell->sysBoundaryFlag == sysboundarytype::DO_NOT_COMPUTE) {
continue;
}
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != 0) { // these should have been handled by the boundary code
if (cell->sysBoundaryFlag != sysboundarytype::NOT_SYSBOUNDARY && cell->sysBoundaryLayer != 1 && P::tstep != P::tstep_min) { // these should have been handled by the boundary code
continue;
}

Expand Down
Loading