Parses the processes configuration and creates new processes for each process entry passing the corresponding subtree to the process constructor.
675{
676 (void)project_directory;
677 (void)output_directory;
678
679 DBUG(
"Reading processes:");
681 for (auto process_config : processes_config.getConfigSubtreeList("process"))
682 {
683 auto const type =
685 process_config.peekConfigParameter<std::string>("type");
686
689 process_config.getConfigParameter<std::string>("name");
690
691 [[maybe_unused]] auto const integration_order =
693 process_config.getConfigParameter<int>("integration_order");
694
695 std::unique_ptr<ProcessLib::Process> process;
696
699 process_config.getConfigSubtreeOptional("jacobian_assembler"));
700
701#ifdef OGS_BUILD_PROCESS_STEADYSTATEDIFFUSION
702 if (type == "STEADY_STATE_DIFFUSION")
703 {
704
705
706
707
708
709 process =
711 name, *
_mesh_vec[0], std::move(jacobian_assembler),
714 }
715 else
716#endif
717#ifdef OGS_BUILD_PROCESS_LIQUIDFLOW
718 if (type == "LIQUID_FLOW")
719 {
721 name, *
_mesh_vec[0], std::move(jacobian_assembler),
724 }
725 else
726#endif
727#ifdef OGS_BUILD_PROCESS_STOKESFLOW
728 if (type == "StokesFlow")
729 {
731 "The StokesFlow process is deprecated and will be removed in "
732 "OGS-6.5.5.");
734 {
735 case 2:
736 process =
738 name, *
_mesh_vec[0], std::move(jacobian_assembler),
741 break;
742 default:
744 "StokesFlow process does not support given "
745 "dimension {:d}",
747 }
748 }
749 else
750#endif
751#ifdef OGS_BUILD_PROCESS_TES
752 if (type == "TES")
753 {
755 "The TES process is deprecated and will be removed in "
756 "OGS-6.5.5.");
758 name, *
_mesh_vec[0], std::move(jacobian_assembler),
760 process_config);
761 }
762 else
763#endif
764#ifdef OGS_BUILD_PROCESS_TH2M
765 if (type == "TH2M")
766 {
768 {
769 case 2:
771 name, *
_mesh_vec[0], std::move(jacobian_assembler),
775 break;
776 case 3:
778 name, *
_mesh_vec[0], std::move(jacobian_assembler),
782 break;
783 default:
784 OGS_FATAL(
"TH2M process does not support given dimension");
785 }
786 }
787 else
788#endif
789#ifdef OGS_BUILD_PROCESS_HEATCONDUCTION
790 if (type == "HEAT_CONDUCTION")
791 {
793 name, *
_mesh_vec[0], std::move(jacobian_assembler),
796 }
797 else
798#endif
799#ifdef OGS_BUILD_PROCESS_HEATTRANSPORTBHE
800 if (type == "HEAT_TRANSPORT_BHE")
801 {
803 {
805 "HEAT_TRANSPORT_BHE can only work with a 3-dimensional "
806 "mesh! ");
807 }
808
809 process =
811 name, *
_mesh_vec[0], std::move(jacobian_assembler),
814 }
815 else
816#endif
817#ifdef OGS_BUILD_PROCESS_WELLBORESIMULATOR
818 if (type == "WELLBORE_SIMULATOR")
819 {
821 {
823 "WELLBORE_SIMULATOR can only work with a 1-dimensional "
824 "mesh!");
825 }
826
827 process =
829 name, *
_mesh_vec[0], std::move(jacobian_assembler),
832 }
833 else
834#endif
835#ifdef OGS_BUILD_PROCESS_HYDROMECHANICS
836 if (type == "HYDRO_MECHANICS")
837 {
838 if (
839 process_config.getConfigParameterOptional<int>("dimension"))
840 {
842 "The 'dimension' tag has been removed in the merge-request "
843 "!4766. The dimension is now taken from the main mesh and "
844 "the tag must be removed. There is a python script in the "
845 "merge-request description for automatic conversion.");
846 }
848 {
849 case 2:
850 process =
853 std::move(jacobian_assembler),
857 break;
858 case 3:
859 process =
862 std::move(jacobian_assembler),
866 break;
867 default:
869 "HYDRO_MECHANICS process does not support given "
870 "dimension");
871 }
872 }
873 else
874#endif
875#ifdef OGS_BUILD_PROCESS_LARGEDEFORMATION
876 if (type == "LARGE_DEFORMATION")
877 {
879 {
880 case 2:
883 name, *
_mesh_vec[0], std::move(jacobian_assembler),
887 break;
888 case 3:
891 name, *
_mesh_vec[0], std::move(jacobian_assembler),
895 break;
896 default:
898 "LARGE_DEFORMATION process does not support given "
899 "dimension");
900 }
901 }
902 else
903#endif
904#ifdef OGS_BUILD_PROCESS_LIE_HM
905 if (type == "HYDRO_MECHANICS_WITH_LIE")
906 {
907 if (
908 process_config.getConfigParameterOptional<int>("dimension"))
909 {
911 "The 'dimension' tag has been removed in the merge-request "
912 "!4766."
913 "The dimension is now taken from the main mesh and the tag "
914 "must be"
915 "removed. There is a python script in the merge-request "
916 "description"
917 "for automatic conversion.");
918 }
920 {
921 case 2:
924 name, *
_mesh_vec[0], std::move(jacobian_assembler),
928 break;
929 case 3:
932 name, *
_mesh_vec[0], std::move(jacobian_assembler),
936 break;
937 default:
939 "HYDRO_MECHANICS_WITH_LIE process does not support "
940 "given dimension");
941 }
942 }
943 else
944#endif
945#ifdef OGS_BUILD_PROCESS_HT
946 if (type == "HT")
947 {
949 name, *
_mesh_vec[0], std::move(jacobian_assembler),
952 }
953 else
954#endif
955#ifdef OGS_BUILD_PROCESS_COMPONENTTRANSPORT
956 if (type == "ComponentTransport")
957 {
958 process =
960 name, *
_mesh_vec[0], std::move(jacobian_assembler),
963 std::move(chemical_solver_interface));
964 }
965 else
966#endif
967#ifdef OGS_BUILD_PROCESS_PHASEFIELD
968 if (type == "PHASE_FIELD")
969 {
971 {
972 case 2:
973 process =
975 name, *
_mesh_vec[0], std::move(jacobian_assembler),
978 process_config);
979 break;
980 case 3:
981 process =
983 name, *
_mesh_vec[0], std::move(jacobian_assembler),
986 process_config);
987 break;
988 }
989 }
990 else
991#endif
992#ifdef OGS_BUILD_PROCESS_HMPHASEFIELD
993 if (type == "HM_PHASE_FIELD")
994 {
996 {
997 case 2:
998 process =
1000 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1004 break;
1005 case 3:
1006 process =
1008 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1012 break;
1013 }
1014 }
1015 else
1016#endif
1017#ifdef OGS_BUILD_PROCESS_RICHARDSCOMPONENTTRANSPORT
1018 if (type == "RichardsComponentTransport")
1019 {
1022 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1025 }
1026 else
1027#endif
1028#ifdef OGS_BUILD_PROCESS_SMALLDEFORMATION
1029 if (type == "SMALL_DEFORMATION")
1030 {
1032 {
1033 case 2:
1036 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1040 break;
1041 case 3:
1044 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1048 break;
1049 default:
1051 "SMALL_DEFORMATION process does not support given "
1052 "dimension");
1053 }
1054 }
1055 else
1056#endif
1057#ifdef OGS_BUILD_PROCESS_SMALLDEFORMATIONNONLOCAL
1058 if (type == "SMALL_DEFORMATION_NONLOCAL")
1059 {
1061 "The SMALL_DEFORMATION_NONLOCAL process is deprecated and will "
1062 "be removed in OGS-6.5.5.");
1064 {
1065 case 2:
1068 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1071 process_config);
1072 break;
1073 case 3:
1076 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1079 process_config);
1080 break;
1081 default:
1083 "SMALL_DEFORMATION_NONLOCAL process does not support "
1084 "given dimension {:d}",
1086 }
1087 }
1088 else
1089#endif
1090#ifdef OGS_BUILD_PROCESS_LIE_M
1091 if (type == "SMALL_DEFORMATION_WITH_LIE")
1092 {
1093 if (
1094 process_config.getConfigParameterOptional<int>("dimension"))
1095 {
1097 "The 'dimension' tag has been removed in the merge-request "
1098 "!4766."
1099 "The dimension is now taken from the main mesh and the tag "
1100 "must be"
1101 "removed. There is a python script in the merge-request "
1102 "description"
1103 "for automatic conversion.");
1104 }
1106 {
1107 case 2:
1110 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1113 process_config);
1114 break;
1115 case 3:
1118 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1121 process_config);
1122 break;
1123 default:
1125 "SMALL_DEFORMATION_WITH_LIE process does not support "
1126 "given dimension");
1127 }
1128 }
1129 else
1130#endif
1131#ifdef OGS_BUILD_PROCESS_THERMOHYDROMECHANICS
1132 if (type == "THERMO_HYDRO_MECHANICS")
1133 {
1134 if (
1135 process_config.getConfigParameterOptional<int>("dimension"))
1136 {
1138 "The 'dimension' tag has been removed in the merge-request "
1139 "!4766."
1140 "The dimension is now taken from the main mesh and the tag "
1141 "must be"
1142 "removed. There is a python script in the merge-request "
1143 "description"
1144 "for automatic conversion.");
1145 }
1147 {
1148 case 2:
1151 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1155 break;
1156 case 3:
1159 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1163 break;
1164 default:
1166 "THERMO_HYDRO_MECHANICS process does not support given "
1167 "dimension");
1168 }
1169 }
1170 else
1171#endif
1172#ifdef OGS_BUILD_PROCESS_THERMOMECHANICALPHASEFIELD
1173 if (type == "THERMO_MECHANICAL_PHASE_FIELD")
1174 {
1176 "The THERMO_MECHANICAL_PHASE_FIELD process is deprecated and "
1177 "will be removed in OGS-6.5.5.");
1179 {
1180 case 2:
1183 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1186 process_config);
1187 break;
1188 case 3:
1191 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1194 process_config);
1195 break;
1196 }
1197 }
1198 else
1199#endif
1200#ifdef OGS_BUILD_PROCESS_THERMOMECHANICS
1201 if (type == "THERMO_MECHANICS")
1202 {
1204 {
1205 case 2:
1208 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1212 break;
1213 case 3:
1216 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1220 break;
1221 }
1222 }
1223 else
1224#endif
1225#ifdef OGS_BUILD_PROCESS_RICHARDSFLOW
1226 if (type == "RICHARDS_FLOW")
1227 {
1229 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1232 }
1233 else
1234#endif
1235#ifdef OGS_BUILD_PROCESS_RICHARDSMECHANICS
1236 if (type == "RICHARDS_MECHANICS")
1237 {
1238 if (
1239 process_config.getConfigParameterOptional<int>("dimension"))
1240 {
1242 "The 'dimension' tag has been removed in the merge-request "
1243 "!4766."
1244 "The dimension is now taken from the main mesh and the tag "
1245 "must be"
1246 "removed. There is a python script in the merge-request "
1247 "description"
1248 "for automatic conversion.");
1249 }
1251 {
1252 case 2:
1255 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1259 break;
1260 case 3:
1263 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1267 break;
1268 }
1269 }
1270 else
1271#endif
1272#ifdef OGS_BUILD_PROCESS_THERMORICHARDSFLOW
1273 if (type == "THERMO_RICHARDS_FLOW")
1274 {
1275 process =
1277 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1280 }
1281 else
1282#endif
1283#ifdef OGS_BUILD_PROCESS_THERMORICHARDSMECHANICS
1284 if (type == "THERMO_RICHARDS_MECHANICS")
1285 {
1287 {
1288 case 2:
1291 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1295 break;
1296 case 3:
1299 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1303 break;
1304 }
1305 }
1306 else
1307#endif
1308
1309#ifdef OGS_BUILD_PROCESS_TWOPHASEFLOWWITHPP
1310 if (type == "TWOPHASE_FLOW_PP")
1311 {
1312 process =
1314 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1317 }
1318 else
1319#endif
1320#ifdef OGS_BUILD_PROCESS_TWOPHASEFLOWWITHPRHO
1321 if (type == "TWOPHASE_FLOW_PRHO")
1322 {
1324 "The TWOPHASE_FLOW_PRHO process is deprecated and will be "
1325 "removed in OGS-6.5.5.");
1328 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1331 }
1332 else
1333#endif
1334#ifdef OGS_BUILD_PROCESS_THERMALTWOPHASEFLOWWITHPP
1335 if (type == "THERMAL_TWOPHASE_WITH_PP")
1336 {
1339 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1342 }
1343 else
1344#endif
1345 {
1346 OGS_FATAL(
"Unknown process type: {:s}", type);
1347 }
1348
1350 [](std::unique_ptr<ProcessLib::Process> const& p)
1351 {
return p->name; }))
1352 {
1353 OGS_FATAL(
"The process name '{:s}' is not unique.", name);
1354 }
1356 }
1357}
void WARN(fmt::format_string< Args... > fmt, Args &&... args)
std::vector< ProcessLib::ProcessVariable > _process_variables
std::unique_ptr< Process > createComponentTransportProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media, std::unique_ptr< ChemistryLib::ChemicalSolverInterface > &&chemical_solver_interface)
template std::unique_ptr< Process > createHMPhaseFieldProcess< 3 >(std::string name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createHMPhaseFieldProcess< 2 >(std::string name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createHTProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createHeatConductionProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createHeatTransportBHEProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createHydroMechanicsProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createHydroMechanicsProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createHydroMechanicsProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createLiquidFlowProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createPhaseFieldProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config)
template std::unique_ptr< Process > createPhaseFieldProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config)
std::unique_ptr< Process > createRichardsComponentTransportProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createRichardsFlowProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createRichardsMechanicsProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createRichardsMechanicsProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createSteadyStateDiffusion(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createStokesFlowProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createTESProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config)
template std::unique_ptr< Process > createTH2MProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createTH2MProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createThermalTwoPhaseFlowWithPPProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoHydroMechanicsProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoHydroMechanicsProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoMechanicalPhaseFieldProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config)
template std::unique_ptr< Process > createThermoMechanicalPhaseFieldProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config)
template std::unique_ptr< Process > createThermoMechanicsProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoMechanicsProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createThermoRichardsFlowProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoRichardsMechanicsProcess< 3 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
template std::unique_ptr< Process > createThermoRichardsMechanicsProcess< 2 >(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createTwoPhaseFlowWithPPProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createTwoPhaseFlowWithPrhoProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< Process > createWellboreSimulatorProcess(std::string name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
std::unique_ptr< AbstractJacobianAssembler > createJacobianAssembler(std::optional< BaseLib::ConfigTree > const &config)