-
Notifications
You must be signed in to change notification settings - Fork 2
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
WIP: Update submodules, API changes, tracer swarm packs, formatting CI #225
base: main
Are you sure you want to change the base?
Conversation
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 is a lot of work! Thanks for going through this @AstroBarker ! I don't see anything offhand that might be causing the changes in the regression tests we see, so let's do the tests we discussed.
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.
at some point we might want to change to a different clang-format version
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.
whoopsy daisy. good catch.
|
||
auto receive = | ||
tl.AddTask(send, &SwarmContainer::Receive, sc.get(), BoundaryCommSubset::all); | ||
auto defrag = tl.AddTask(receive, &SwarmContainer::Defrag, sc.get(), 0.9); |
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.
doing this every cycle probably isn't necessary
tl.AddTask(none, radiation::MOCMCTransport<MDT>, sc0.get(), dt); | ||
auto send = tl.AddTask(samples_transport, &SwarmContainer::Send, sd0.get(), | ||
BoundaryCommSubset::all); | ||
tl.AddTask(none, radiation::MOCMCTransport<MDT>, base.get(), beta * dt); |
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.
👍
// TODO(BRR): Hack to get around current lack of support for packing parthenon swarms | ||
template <> | ||
TaskStatus MOCMCFluidSource(MeshData<Real> *rc, const Real dt, const bool update_fluid) { | ||
for (int n = 0; n < rc->NumBlocks(); n++) { | ||
MOCMCFluidSource(rc->GetBlockData(n).get(), dt, update_fluid); | ||
} | ||
return TaskStatus::complete; | ||
} |
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.
👍
PR Summary
Far overdue, this PR updates
parthenon
,singularity-eos
, andsingularity-opac
and makes necessary changes to work with their updated versions.Updates to MHD (API changes for packing)
Overhauls to swarm API
MeshData
The advection problem's tracers were refactored due to a bug on multiple blocks
Some updates to BCs, probably more simplification can be done.
The fast logs of
singularity-eos
are default disabled.Updates neutrino mean opacity API
Tracers:
MeshData
instead ofMeshBlockData
SWARM_VARIABLES
now, so access with e.g.,tv::rho()
,tv::rho::name()
e.g., (fornamespace tv = tracer_variables;
to enable type based packing.Also, the github
ubuntu-latest
changed andclang-format-12
was no longer available. I have moved us to installingclang-format
withpip
, pinned at version12.0.1
. Which was not compatible with ubuntu's v12...Weirdness seems to have crept in to the regression testing. Some tests, despite producing an identical gold file (when ran with
--upgold
) failed tests due to how hdf5 was loaded. Unsure what caused this change, but a fix was implemented.