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