Fluid structure interaction suite
runner.h File Reference
Include dependency graph for runner.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Runner
 Gather some functions and classes typically used in the main() of the FSI-suite applications.
 

Macros

#define RUNNER_DIM(Class, argc, argv)
 Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3. More...
 
#define RUNNER_DIM_NO_ONE(Class, argc, argv)
 Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3. More...
 
#define RUNNER(Class, argc, argv)
 Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3. More...
 
#define RUNNER_NO_ONE(Class, argc, argv)
 Body of the main function for a program that runs a simulation in dimensions two or three using the ParameterAcceptor class. More...
 
#define RUNNER_CODIM(Class, argc, argv)
 Body of the main function for a program that runs a simulation in dimensions two or three and codimension one or zero using the ParameterAcceptor class. More...
 

Functions

std::tuple< int, int, std::string, std::string > Runner::get_dimensions_and_parameter_files (char **argv)
 Parse from the command line the parameter file names (both input and output) and the running dimensions (both dim and spacedim). More...
 
int Runner::setup_parameters_from_cli (char **argv, const std::string &input_parameter_file, const std::string &output_parameter_file)
 Setup the ParameterAcceptor::prm according to the parameters specified in the parameter file, and the parameters specified from the command line. More...
 
template<typename Class >
void Runner::run (char **argv, const std::string &input_parameter_file, const std::string &output_parameter_file)
 Setup parameters from the command line, and call the Class::run() method. More...
 

Macro Definition Documentation

◆ RUNNER_DIM

#define RUNNER_DIM (   Class,
  argc,
  argv 
)
Value:
try \
{ \
Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, \
argv, \
1); \
const auto [dim, spacedim, in_file, out_file] = \
RUN_DIM(Class, dim, spacedim, in_file, out_file) \
else AssertThrow(false, \
ExcImpossibleInDimSpacedim(dim, spacedim)); \
} \
STANDARD_CATCH()
static ::ExceptionBase & ExcImpossibleInDimSpacedim(int arg1, int arg2)
#define AssertThrow(cond, exc)
std::tuple< int, int, std::string, std::string > get_dimensions_and_parameter_files(char **argv)
Parse from the command line the parameter file names (both input and output) and the running dimensio...
Definition: runner.cc:89

Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3.

Definition at line 291 of file runner.h.

◆ RUNNER_DIM_NO_ONE

#define RUNNER_DIM_NO_ONE (   Class,
  argc,
  argv 
)
Value:
try \
{ \
Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, \
argv, \
1); \
const auto [dim, spacedim, in_file, out_file] = \
RUN_DIM_NO_ONE(Class, dim, spacedim, in_file, out_file) \
else AssertThrow(false, \
ExcImpossibleInDimSpacedim(dim, spacedim)); \
} \
STANDARD_CATCH()

Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3.

Definition at line 309 of file runner.h.

◆ RUNNER

#define RUNNER (   Class,
  argc,
  argv 
)
Value:
try \
{ \
Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, \
argv, \
1); \
const auto [dim, spacedim, in_file, out_file] = \
RUN_DIM(Class, dim, spacedim, in_file, out_file) \
else RUN_CODIM( \
Class, \
dim, \
spacedim, \
in_file, \
out_file) else AssertThrow(false, \
dim, spacedim)); \
} \
STANDARD_CATCH()

Body of the main function for a program that runs a simulation in dimension dim only using the ParameterAcceptor class, dimensions 1, 2, and 3.

Definition at line 328 of file runner.h.

◆ RUNNER_NO_ONE

#define RUNNER_NO_ONE (   Class,
  argc,
  argv 
)
Value:
try \
{ \
Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, \
argv, \
1); \
const auto [dim, spacedim, in_file, out_file] = \
RUN_DIM_NO_ONE(Class, dim, spacedim, in_file, out_file) \
else RUN_CODIM_NO_ONE( \
Class, \
dim, \
spacedim, \
in_file, \
out_file) else AssertThrow(false, \
dim, spacedim)); \
} \
STANDARD_CATCH()

Body of the main function for a program that runs a simulation in dimensions two or three using the ParameterAcceptor class.

Not instantiated for dimension one.

Definition at line 354 of file runner.h.

◆ RUNNER_CODIM

#define RUNNER_CODIM (   Class,
  argc,
  argv 
)
Value:
try \
{ \
Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, \
argv, \
1); \
const auto [dim, spacedim, in_file, out_file] = \
RUN_DIM_NO_ONE(Class, dim, spacedim, in_file, out_file) \
else RUN_CODIM( \
Class, \
dim, \
spacedim, \
in_file, \
out_file) else AssertThrow(false, \
dim, spacedim)); \
} \
STANDARD_CATCH()

Body of the main function for a program that runs a simulation in dimensions two or three and codimension one or zero using the ParameterAcceptor class.

Not instantiated for dimensions one/one.

Definition at line 381 of file runner.h.