-
Notifications
You must be signed in to change notification settings - Fork 7
Home
George N. Wong edited this page Oct 14, 2019
·
1 revision
Welcome to the ebhlight wiki!
Please see the README in the main repository for instructions on how to compile and run the code. This wiki is devoted to details about design and implementation.
The entry point for ebhlight
is the standard int main(...)
in core/main.c
. This function does the following
- set up / initialize MPI communicator and initialize openmp state
- initialize / load fluid and radiation data
- attempt to start from restart file: check for and restart from file specified on first line of
restarts/restart.last
- otherwise check if
init_from_grmhd`` is not
No``` in parameter file and attempt to load from specified GRMHD restart file - otherwise initialize using specifications in original
problem.c
and parameter files
- attempt to start from restart file: check for and restart from file specified on first line of
- output "start" diagnostics and write first dump file (if not restarting from restart file)
- run main loop
- step everything forward in time by dt
- step fluid variables by dt/2
- heat electrons
- run fixup on fluid variables and electrons
- perform Coulomb interaction and fixup electrons again
- update boundaries
- make superphotons (emission)
- push all superphotons
- interact superphotons with fluid
- update superphoton boundaries
- step fluid variables by dt
- heat electrons
- run fixup on fluid variables and electrons
- perform Coulomb interaction and fixup electrons again
- update boundaries
- apply radiation force onto fluid
- run fixup on fluid variables
- apply radiation force onto electrons
- run fixup on electrons
- update boundaries
- update superphoton resolution via global
tune_emiss
andtune_scatt
parameters - write outputs (dump files, diagnostics, restart files) based on requested cadence
- step everything forward in time by dt
- clean up