-
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
Boltzmann integration #242
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…se Arrhenius rates in the Mock Boltzmann solver
…ing with replacement
After restart, make sure all data valid before using it. I don't think this could ever cause an incorrect result for a time step b/c the info should be exchanged prior to all calculations that influence the step. But, it can lead to (and has recently led to) to failing asserts in the primitive variable calculations.
…ata() out of conditional These are necessary in the boundary data section of M2ulPhyS::initIndirectionArrays(). However, previously they were called inside of the conditional if (NumBCelems > 0), which leads to a problem there are some mpi ranks that have no boundary elements.
Can cause problems when mixture->GetConservativesFromPrimitives(iUp, iState) gets called below.
…when E=0 the steady-state solution would be the delta function
spelling
…tzmann-integration
In the SpongeZone ctor we have sigma = new ParGridFunction(&fes); *sigma = 0.; double *hSigma = sigma->HostWrite(); and the subsequent loop (prior to this commit) only set some entries in hSigma. On systems where a device is available, this process can lead to uninitialized values in the sigma field, b/c *sigma = 0 initializes the device memory and `sigma->HostWrite` immediately invalidates that (i.e., no copy is done) but then hSigma isn't fully initialized. In this commit, we eliminate the *sigma = 0. initialization in favor of setting all entries within the loop.
…tzmann-integration
Formatting
Addresses compilation error on Lassen
trevilo
added a commit
that referenced
this pull request
Jun 7, 2024
Necessary b/c of changes in PR #242.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR demonstrates the one-way coupling between TPS and the Boltzmann solver
GridFunctionReaction
derived from the base classReaction
to handle reaction rates described asmfem::GridFunction
.Reaction::computeRateCoefficient
to take the dof index as an additional parameter. This additional parameter is only used byGridFunctionReaction
. Breaks backward compatibility.bte
to instantiate aGridFunctionReaction
from the tps input file.TPS2Boltzmann
interface. These include: 1) the ability to count the number of reactions of typebte
whose rates need to be computed by the Boltzmann solver; 2) the ability to interpolate back to the high-order FE space used by the flow solver; 3) Additional python interfaces (get the equation of each reaction handled by Boltzmann, save the information stored in the interface to paraview, angular frequency of the electric fields, number of reactions, number of species, number of E field components, etc).The Python script
tps-time-loop.py
demonstrates the functionality of the coupled interface. This example uses Arrhenius reaction rates that are computed in python and then passed to the TPS solver to verify the implementation.An input file to run this example can be found here.
Milinda's python driver for compiling with the 0D_3V solver has been renamed as:
src/tps-bte_0d3v.py