42 namespace user_globals {
67 #define __FUNCT__ "main"
68 int main(
int argc,
char** argv)
87 if(param_globals::buildinfo) {
93 char *help_msg = NULL;
94 initialize_PETSc(&argc, argv, DBfile, help_msg);
134 if(param_globals::num_io_nodes > 0)
Index mapping class. This is a bijective mapping.
The scatterer registry class.
centralize time managment and output triggering
Top-level header of FEM module.
int main(int argc, char **argv)
void COMPUTE_send_exit_flag()
this function sends the exit flag from a compute node to an io node.
void IO_poll_for_output(async_IO_queue &io_queue)
MPI_Comm IO_Intercomm
Communicator between IO and compute worlds.
FILE * petsc_error_fd
file descriptor for petsc error output
timer_manager * tm_manager
a manager for the various physics timers
std::map< datavec_t, sf_vec * > datavec_reg
important solution vectors from different physics
std::map< SF::quadruple< int >, SF::index_mapping< int > > map_reg
Registriy for the inter domain mappings.
bool using_legacy_stimuli
flag storing whether legacy stimuli are used
SF::scatter_registry scatter_reg
Registry for the different scatter objects.
std::map< mesh_t, sf_mesh > mesh_reg
Registry for the different meshes used in a multi-physics simulation.
std::map< physic_t, Basic_physic * > physics_reg
the physics
void initialize_physics()
Initialize all physics in the registry.
bool setup_IO(int argc, char **argv)
void parse_params_cpy(int argc, char **argv)
Initialize input parameters on a copy of the real command line parameters.
void setup_meshes()
Read in the reference mesh and use its data to populate all meshes registered in the mesh registry.
void register_physics()
Register physics to the physics registry.
void post_process()
do postprocessing
void check_and_convert_params()
Here we want to put all parameter checks, conversions and modifications that have been littered throu...
int get_rank(MPI_Comm comm=PETSC_COMM_WORLD)
void show_build_info()
show the build info, exit if -buildinfo was provided. This code runs before MPI_Init().
void basic_timer_setup()
Here we set up the timers that we always want to have, independent of physics.
void setup_petsc_err_log()
set up error logs for PETSc, so that it doesnt print errors to stderr.
void simulate()
Main simulate loop.
void parse_mesh_types()
Parse the phys_type CLI parameters and set up (empty) SF::meshdata meshes.
Top-level header file of numerics module.
queue with the data required for performing async IO writes to IGB