include/meltpooldg/core/case_registration.hpp File Reference
|
Developer Documentation
|
Go to the source code of this file.
Macros | |
| #define | MELTPOOLDG_REGISTER_CASE(CaseClass, ConcreteCaseClass, case_name, dim, number) |
| Registers a simulation case in the SimulationCaseFactory. | |
| #define | MELTPOOLDG_REGISTER_MULTI_APP_CASE(CaseClass, ConcreteCaseClass, case_name, dim, number) |
| Similar to the above, but allows an additional template parameter in the concrete simulation case that refers to the base simulation case class. | |
Macro Definition Documentation
◆ MELTPOOLDG_REGISTER_CASE
| #define MELTPOOLDG_REGISTER_CASE | ( | CaseClass, | |
| ConcreteCaseClass, | |||
| case_name, | |||
| dim, | |||
| number | |||
| ) |
Registers a simulation case in the SimulationCaseFactory.
This macro defines a static boolean variable that ensures the registration of a specific simulation case class in the factory. The registration allows the creation of instances of the given simulation case based on the provided parameters.
- Template Parameters
-
CaseClass The abstract simulation case class template of the respective application. ConcreteCaseClass The concrete implementation of the simulation case.
- Parameters
-
case_name A unique name for the simulation case. dim The dimensionality of the simulation case. number The used floating point number format.
The macro invokes SimulationCaseFactory<CaseClass<dim, number>>::register_simulation, registering a lambda function that creates an instance of ConcreteCaseClass<dim, number> when given a parameter file and an MPI communicator.
◆ MELTPOOLDG_REGISTER_MULTI_APP_CASE
| #define MELTPOOLDG_REGISTER_MULTI_APP_CASE | ( | CaseClass, | |
| ConcreteCaseClass, | |||
| case_name, | |||
| dim, | |||
| number | |||
| ) |
Similar to the above, but allows an additional template parameter in the concrete simulation case that refers to the base simulation case class.
This additional parameter enables the instantiation of the same simulation case across multiple applications, allowing for more flexible use of the base case class.
Generated by