include/meltpooldg/core/case_registration.hpp Source File

Developer Documentation: include/meltpooldg/core/case_registration.hpp Source File
Developer Documentation
case_registration.hpp
Go to the documentation of this file.
1#pragma once
2#include <deal.II/base/mpi.h>
3
5
24#define MELTPOOLDG_REGISTER_CASE(CaseClass, ConcreteCaseClass, case_name, dim, number) \
25 static bool case_name_is_registered_##dim = \
26 SimulationCaseFactory<CaseClass<dim, number>>::register_simulation( \
27 case_name, [](const std::string parameter_file, const MPI_Comm mpi_communicator) { \
28 return std::make_unique<ConcreteCaseClass<dim, number>>(parameter_file, mpi_communicator); \
29 });
30
31
39#define MELTPOOLDG_REGISTER_MULTI_APP_CASE(CaseClass, ConcreteCaseClass, case_name, dim, number) \
40 static bool case_name_is_registered_##dim = \
41 SimulationCaseFactory<CaseClass<dim, number>>::register_simulation( \
42 case_name, [](const std::string parameter_file, const MPI_Comm mpi_communicator) { \
43 return std::make_unique<ConcreteCaseClass<dim, number, CaseClass<dim, number>>>( \
44 parameter_file, mpi_communicator); \
45 });