Parses the processes configuration and creates new processes for each process entry passing the corresponding subtree to the process constructor.
673{
674 (void)project_directory;
675 (void)output_directory;
676
677 DBUG(
"Reading processes:");
679 for (auto process_config : processes_config.getConfigSubtreeList("process"))
680 {
681 auto const type =
683 process_config.peekConfigParameter<std::string>("type");
684
687 process_config.getConfigParameter<std::string>("name");
688
689 [[maybe_unused]] auto const integration_order =
691 process_config.getConfigParameter<int>("integration_order");
692
693 std::unique_ptr<ProcessLib::Process> process;
694
697 process_config.getConfigSubtreeOptional("jacobian_assembler"));
698
699#ifdef OGS_BUILD_PROCESS_STEADYSTATEDIFFUSION
700 if (type == "STEADY_STATE_DIFFUSION")
701 {
702
703
704
705
706
707 process =
709 name, *
_mesh_vec[0], std::move(jacobian_assembler),
712 }
713 else
714#endif
715#ifdef OGS_BUILD_PROCESS_LIQUIDFLOW
716 if (type == "LIQUID_FLOW")
717 {
719 name, *
_mesh_vec[0], std::move(jacobian_assembler),
722 }
723 else
724#endif
725#ifdef OGS_BUILD_PROCESS_STOKESFLOW
726 if (type == "StokesFlow")
727 {
729 "The StokesFlow process is deprecated and will be removed in "
730 "OGS-6.5.5.");
732 {
733 case 2:
734 process =
736 name, *
_mesh_vec[0], std::move(jacobian_assembler),
739 break;
740 default:
742 "StokesFlow process does not support given "
743 "dimension {:d}",
745 }
746 }
747 else
748#endif
749#ifdef OGS_BUILD_PROCESS_TES
750 if (type == "TES")
751 {
753 "The TES process is deprecated and will be removed in "
754 "OGS-6.5.5.");
756 name, *
_mesh_vec[0], std::move(jacobian_assembler),
758 process_config);
759 }
760 else
761#endif
762#ifdef OGS_BUILD_PROCESS_TH2M
763 if (type == "TH2M")
764 {
766 {
767 case 2:
769 name, *
_mesh_vec[0], std::move(jacobian_assembler),
773 break;
774 case 3:
776 name, *
_mesh_vec[0], std::move(jacobian_assembler),
780 break;
781 default:
782 OGS_FATAL(
"TH2M process does not support given dimension");
783 }
784 }
785 else
786#endif
787#ifdef OGS_BUILD_PROCESS_HEATCONDUCTION
788 if (type == "HEAT_CONDUCTION")
789 {
791 name, *
_mesh_vec[0], std::move(jacobian_assembler),
794 }
795 else
796#endif
797#ifdef OGS_BUILD_PROCESS_HEATTRANSPORTBHE
798 if (type == "HEAT_TRANSPORT_BHE")
799 {
801 {
803 "HEAT_TRANSPORT_BHE can only work with a 3-dimensional "
804 "mesh! ");
805 }
806
807 process =
809 name, *
_mesh_vec[0], std::move(jacobian_assembler),
812 }
813 else
814#endif
815#ifdef OGS_BUILD_PROCESS_WELLBORESIMULATOR
816 if (type == "WELLBORE_SIMULATOR")
817 {
819 {
821 "WELLBORE_SIMULATOR can only work with a 1-dimensional "
822 "mesh!");
823 }
824
825 process =
827 name, *
_mesh_vec[0], std::move(jacobian_assembler),
830 }
831 else
832#endif
833#ifdef OGS_BUILD_PROCESS_HYDROMECHANICS
834 if (type == "HYDRO_MECHANICS")
835 {
836 if (
837 process_config.getConfigParameterOptional<int>("dimension"))
838 {
840 "The 'dimension' tag has been removed in the merge-request "
841 "!4766."
842 "The dimension is now taken from the main mesh and the tag "
843 "must be"
844 "removed. There is a python script in the merge-request "
845 "description"
846 "for automatic conversion.");
847 }
849 {
850 case 2:
851 process =
854 std::move(jacobian_assembler),
858 break;
859 case 3:
860 process =
863 std::move(jacobian_assembler),
867 break;
868 default:
870 "HYDRO_MECHANICS process does not support given "
871 "dimension");
872 }
873 }
874 else
875#endif
876#ifdef OGS_BUILD_PROCESS_LARGEDEFORMATION
877 if (type == "LARGE_DEFORMATION")
878 {
880 {
881 case 2:
884 name, *
_mesh_vec[0], std::move(jacobian_assembler),
888 break;
889 case 3:
892 name, *
_mesh_vec[0], std::move(jacobian_assembler),
896 break;
897 default:
899 "LARGE_DEFORMATION process does not support given "
900 "dimension");
901 }
902 }
903 else
904#endif
905#ifdef OGS_BUILD_PROCESS_LIE_HM
906 if (type == "HYDRO_MECHANICS_WITH_LIE")
907 {
908 if (
909 process_config.getConfigParameterOptional<int>("dimension"))
910 {
912 "The 'dimension' tag has been removed in the merge-request "
913 "!4766."
914 "The dimension is now taken from the main mesh and the tag "
915 "must be"
916 "removed. There is a python script in the merge-request "
917 "description"
918 "for automatic conversion.");
919 }
921 {
922 case 2:
925 name, *
_mesh_vec[0], std::move(jacobian_assembler),
929 break;
930 case 3:
933 name, *
_mesh_vec[0], std::move(jacobian_assembler),
937 break;
938 default:
940 "HYDRO_MECHANICS_WITH_LIE process does not support "
941 "given dimension");
942 }
943 }
944 else
945#endif
946#ifdef OGS_BUILD_PROCESS_HT
947 if (type == "HT")
948 {
950 name, *
_mesh_vec[0], std::move(jacobian_assembler),
953 }
954 else
955#endif
956#ifdef OGS_BUILD_PROCESS_COMPONENTTRANSPORT
957 if (type == "ComponentTransport")
958 {
959 process =
961 name, *
_mesh_vec[0], std::move(jacobian_assembler),
964 std::move(chemical_solver_interface));
965 }
966 else
967#endif
968#ifdef OGS_BUILD_PROCESS_PHASEFIELD
969 if (type == "PHASE_FIELD")
970 {
972 {
973 case 2:
974 process =
976 name, *
_mesh_vec[0], std::move(jacobian_assembler),
979 process_config);
980 break;
981 case 3:
982 process =
984 name, *
_mesh_vec[0], std::move(jacobian_assembler),
987 process_config);
988 break;
989 }
990 }
991 else
992#endif
993#ifdef OGS_BUILD_PROCESS_HMPHASEFIELD
994 if (type == "HM_PHASE_FIELD")
995 {
997 {
998 case 2:
999 process =
1001 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1005 break;
1006 case 3:
1007 process =
1009 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1013 break;
1014 }
1015 }
1016 else
1017#endif
1018#ifdef OGS_BUILD_PROCESS_RICHARDSCOMPONENTTRANSPORT
1019 if (type == "RichardsComponentTransport")
1020 {
1023 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1026 }
1027 else
1028#endif
1029#ifdef OGS_BUILD_PROCESS_SMALLDEFORMATION
1030 if (type == "SMALL_DEFORMATION")
1031 {
1033 {
1034 case 2:
1037 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1041 break;
1042 case 3:
1045 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1049 break;
1050 default:
1052 "SMALL_DEFORMATION process does not support given "
1053 "dimension");
1054 }
1055 }
1056 else
1057#endif
1058#ifdef OGS_BUILD_PROCESS_SMALLDEFORMATIONNONLOCAL
1059 if (type == "SMALL_DEFORMATION_NONLOCAL")
1060 {
1062 "The SMALL_DEFORMATION_NONLOCAL process is deprecated and will "
1063 "be removed in OGS-6.5.5.");
1065 {
1066 case 2:
1069 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1072 process_config);
1073 break;
1074 case 3:
1077 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1080 process_config);
1081 break;
1082 default:
1084 "SMALL_DEFORMATION_NONLOCAL process does not support "
1085 "given dimension {:d}",
1087 }
1088 }
1089 else
1090#endif
1091#ifdef OGS_BUILD_PROCESS_LIE_M
1092 if (type == "SMALL_DEFORMATION_WITH_LIE")
1093 {
1094 if (
1095 process_config.getConfigParameterOptional<int>("dimension"))
1096 {
1098 "The 'dimension' tag has been removed in the merge-request "
1099 "!4766."
1100 "The dimension is now taken from the main mesh and the tag "
1101 "must be"
1102 "removed. There is a python script in the merge-request "
1103 "description"
1104 "for automatic conversion.");
1105 }
1107 {
1108 case 2:
1111 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1114 process_config);
1115 break;
1116 case 3:
1119 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1122 process_config);
1123 break;
1124 default:
1126 "SMALL_DEFORMATION_WITH_LIE process does not support "
1127 "given dimension");
1128 }
1129 }
1130 else
1131#endif
1132#ifdef OGS_BUILD_PROCESS_THERMOHYDROMECHANICS
1133 if (type == "THERMO_HYDRO_MECHANICS")
1134 {
1135 if (
1136 process_config.getConfigParameterOptional<int>("dimension"))
1137 {
1139 "The 'dimension' tag has been removed in the merge-request "
1140 "!4766."
1141 "The dimension is now taken from the main mesh and the tag "
1142 "must be"
1143 "removed. There is a python script in the merge-request "
1144 "description"
1145 "for automatic conversion.");
1146 }
1148 {
1149 case 2:
1152 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1156 break;
1157 case 3:
1160 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1164 break;
1165 default:
1167 "THERMO_HYDRO_MECHANICS process does not support given "
1168 "dimension");
1169 }
1170 }
1171 else
1172#endif
1173#ifdef OGS_BUILD_PROCESS_THERMOMECHANICALPHASEFIELD
1174 if (type == "THERMO_MECHANICAL_PHASE_FIELD")
1175 {
1177 "The THERMO_MECHANICAL_PHASE_FIELD process is deprecated and "
1178 "will be removed in OGS-6.5.5.");
1180 {
1181 case 2:
1184 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1187 process_config);
1188 break;
1189 case 3:
1192 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1195 process_config);
1196 break;
1197 }
1198 }
1199 else
1200#endif
1201#ifdef OGS_BUILD_PROCESS_THERMOMECHANICS
1202 if (type == "THERMO_MECHANICS")
1203 {
1205 {
1206 case 2:
1209 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1213 break;
1214 case 3:
1217 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1221 break;
1222 }
1223 }
1224 else
1225#endif
1226#ifdef OGS_BUILD_PROCESS_RICHARDSFLOW
1227 if (type == "RICHARDS_FLOW")
1228 {
1230 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1233 }
1234 else
1235#endif
1236#ifdef OGS_BUILD_PROCESS_RICHARDSMECHANICS
1237 if (type == "RICHARDS_MECHANICS")
1238 {
1239 if (
1240 process_config.getConfigParameterOptional<int>("dimension"))
1241 {
1243 "The 'dimension' tag has been removed in the merge-request "
1244 "!4766."
1245 "The dimension is now taken from the main mesh and the tag "
1246 "must be"
1247 "removed. There is a python script in the merge-request "
1248 "description"
1249 "for automatic conversion.");
1250 }
1252 {
1253 case 2:
1256 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1260 break;
1261 case 3:
1264 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1268 break;
1269 }
1270 }
1271 else
1272#endif
1273#ifdef OGS_BUILD_PROCESS_THERMORICHARDSFLOW
1274 if (type == "THERMO_RICHARDS_FLOW")
1275 {
1276 process =
1278 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1281 }
1282 else
1283#endif
1284#ifdef OGS_BUILD_PROCESS_THERMORICHARDSMECHANICS
1285 if (type == "THERMO_RICHARDS_MECHANICS")
1286 {
1288 {
1289 case 2:
1292 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1296 break;
1297 case 3:
1300 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1304 break;
1305 }
1306 }
1307 else
1308#endif
1309
1310#ifdef OGS_BUILD_PROCESS_TWOPHASEFLOWWITHPP
1311 if (type == "TWOPHASE_FLOW_PP")
1312 {
1313 process =
1315 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1318 }
1319 else
1320#endif
1321#ifdef OGS_BUILD_PROCESS_TWOPHASEFLOWWITHPRHO
1322 if (type == "TWOPHASE_FLOW_PRHO")
1323 {
1325 "The TWOPHASE_FLOW_PRHO process is deprecated and will be "
1326 "removed in OGS-6.5.5.");
1329 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1332 }
1333 else
1334#endif
1335#ifdef OGS_BUILD_PROCESS_THERMALTWOPHASEFLOWWITHPP
1336 if (type == "THERMAL_TWOPHASE_WITH_PP")
1337 {
1340 name, *
_mesh_vec[0], std::move(jacobian_assembler),
1343 }
1344 else
1345#endif
1346 {
1347 OGS_FATAL(
"Unknown process type: {:s}", type);
1348 }
1349
1351 [](std::unique_ptr<ProcessLib::Process> const& p)
1352 {
return p->name; }))
1353 {
1354 OGS_FATAL(
"The process name '{:s}' is not unique.", name);
1355 }
1357 }
1358}
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)