diff --git a/ProcessLib/HydroMechanics/CreateLocalAssemblers.h b/ProcessLib/HydroMechanics/CreateLocalAssemblers.h index bc64eb1a29b9bfaa6bef15f95173f89a5471d5b7..ddbb5937fbdc6967100e7d8c915e1914556aae65 100644 --- a/ProcessLib/HydroMechanics/CreateLocalAssemblers.h +++ b/ProcessLib/HydroMechanics/CreateLocalAssemblers.h @@ -27,7 +27,6 @@ template <int GlobalDim, typename LocalAssemblerInterface, typename... ExtraCtorArgs> void createLocalAssemblers( NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<MeshLib::Element*> const& mesh_elements, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) @@ -42,7 +41,7 @@ void createLocalAssemblers( // Populate the vector of local assemblers. local_assemblers.resize(mesh_elements.size()); - LocalDataInitializer initializer(dof_table, shapefunction_order); + LocalDataInitializer initializer(dof_table); DBUG("Calling local assembler builder for all mesh elements."); GlobalExecutor::transformDereferenced( @@ -71,14 +70,13 @@ void createLocalAssemblers( const unsigned /*dimension*/, std::vector<MeshLib::Element*> const& mesh_elements, NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) { DBUG("Create local assemblers."); detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); } } // namespace HydroMechanics diff --git a/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp index f0c5fca86c4ab276edef2099adb83c989229ffca..6fd72cd162287f762136112243e1e3f3f3baa79b 100644 --- a/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp +++ b/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp @@ -169,17 +169,10 @@ void HydroMechanicsProcess<DisplacementDim>::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int mechanical_process_id = _use_monolithic_scheme ? 0 : 1; - const int deformation_variable_id = _use_monolithic_scheme ? 1 : 0; ProcessLib::HydroMechanics::createLocalAssemblers< DisplacementDim, HydroMechanicsLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - // use displacement process variable to set shape function order - getProcessVariables(mechanical_process_id)[deformation_variable_id] - .get() - .getShapeFunctionOrder(), - _local_assemblers, mesh.isAxiallySymmetric(), integration_order, - _process_data); + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, + mesh.isAxiallySymmetric(), integration_order, _process_data); auto add_secondary_variable = [&](std::string const& name, int const num_components, diff --git a/ProcessLib/RichardsMechanics/CreateLocalAssemblers.h b/ProcessLib/RichardsMechanics/CreateLocalAssemblers.h index ab48a3c6d85107bb2e434655070966dbfbb7df06..a2d563ee488179b6985c3b32a28cabce4b5d0b4d 100644 --- a/ProcessLib/RichardsMechanics/CreateLocalAssemblers.h +++ b/ProcessLib/RichardsMechanics/CreateLocalAssemblers.h @@ -27,7 +27,6 @@ template <int GlobalDim, typename LocalAssemblerInterface, typename... ExtraCtorArgs> void createLocalAssemblers( NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<MeshLib::Element*> const& mesh_elements, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) @@ -42,7 +41,7 @@ void createLocalAssemblers( // Populate the vector of local assemblers. local_assemblers.resize(mesh_elements.size()); - LocalDataInitializer initializer(dof_table, shapefunction_order); + LocalDataInitializer initializer(dof_table); DBUG("Calling local assembler builder for all mesh elements."); GlobalExecutor::transformDereferenced( @@ -71,14 +70,13 @@ void createLocalAssemblers( const unsigned /*dimension*/, std::vector<MeshLib::Element*> const& mesh_elements, NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) { DBUG("Create local assemblers."); detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); } } // namespace RichardsMechanics diff --git a/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp b/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp index 6c3df82fd1c44b57d5b2e42ae457beddd7f33281..b017276892cb52923b6551b8cad4f7cbc32a385d 100644 --- a/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp +++ b/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp @@ -196,17 +196,10 @@ void RichardsMechanicsProcess<DisplacementDim>::initializeConcreteProcess( { using nlohmann::json; - const int mechanical_process_id = _use_monolithic_scheme ? 0 : 1; - const int deformation_variable_id = _use_monolithic_scheme ? 1 : 0; ProcessLib::RichardsMechanics::createLocalAssemblers< DisplacementDim, RichardsMechanicsLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - // use displacement process variable to set shape function order - getProcessVariables(mechanical_process_id)[deformation_variable_id] - .get() - .getShapeFunctionOrder(), - _local_assemblers, mesh.isAxiallySymmetric(), integration_order, - _process_data); + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, + mesh.isAxiallySymmetric(), integration_order, _process_data); auto add_secondary_variable = [&](std::string const& name, int const num_components, diff --git a/ProcessLib/TH2M/CreateLocalAssemblers.h b/ProcessLib/TH2M/CreateLocalAssemblers.h index 5bf48de9e09cbbb316df7a8fd98137554b8229f9..508d863d2dc358a6f88d4f61f7bbb5f9a3d8559e 100644 --- a/ProcessLib/TH2M/CreateLocalAssemblers.h +++ b/ProcessLib/TH2M/CreateLocalAssemblers.h @@ -27,7 +27,6 @@ template <int GlobalDim, typename LocalAssemblerInterface, typename... ExtraCtorArgs> void createLocalAssemblers( NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<MeshLib::Element*> const& mesh_elements, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) @@ -42,7 +41,7 @@ void createLocalAssemblers( // Populate the vector of local assemblers. local_assemblers.resize(mesh_elements.size()); - LocalDataInitializer initializer(dof_table, shapefunction_order); + LocalDataInitializer initializer(dof_table); DBUG("Calling local assembler builder for all mesh elements."); GlobalExecutor::transformDereferenced( @@ -71,14 +70,13 @@ void createLocalAssemblers( const unsigned /*dimension*/, std::vector<MeshLib::Element*> const& mesh_elements, NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) { DBUG("Create local assemblers."); detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); } } // namespace TH2M diff --git a/ProcessLib/TH2M/TH2MProcess.cpp b/ProcessLib/TH2M/TH2MProcess.cpp index f19be7589cb7c37f37ca5eab5d8ddedcf847842e..5e2e6214e2f0eafd79e44194a87d71e2f774f5c5 100644 --- a/ProcessLib/TH2M/TH2MProcess.cpp +++ b/ProcessLib/TH2M/TH2MProcess.cpp @@ -158,19 +158,10 @@ void TH2MProcess<DisplacementDim>::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int mechanical_process_id = - _use_monolithic_scheme ? 0 : deformation_process_id; - const int deformation_variable_id = - _use_monolithic_scheme ? deformation_process_id : 0; ProcessLib::TH2M::createLocalAssemblers<DisplacementDim, TH2MLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - // use displacement process variable to set shape function order - getProcessVariables(mechanical_process_id)[deformation_variable_id] - .get() - .getShapeFunctionOrder(), - _local_assemblers, mesh.isAxiallySymmetric(), integration_order, - _process_data); + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, + mesh.isAxiallySymmetric(), integration_order, _process_data); auto add_secondary_variable = [&](std::string const& name, int const num_components, diff --git a/ProcessLib/ThermoHydroMechanics/CreateLocalAssemblers.h b/ProcessLib/ThermoHydroMechanics/CreateLocalAssemblers.h index c058cb149661f9150f614db468f5f636aba39312..d512d6de635908378e4b3b26743485020ce45c19 100644 --- a/ProcessLib/ThermoHydroMechanics/CreateLocalAssemblers.h +++ b/ProcessLib/ThermoHydroMechanics/CreateLocalAssemblers.h @@ -27,7 +27,6 @@ template <int GlobalDim, typename LocalAssemblerInterface, typename... ExtraCtorArgs> void createLocalAssemblers( NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<MeshLib::Element*> const& mesh_elements, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) @@ -42,7 +41,7 @@ void createLocalAssemblers( // Populate the vector of local assemblers. local_assemblers.resize(mesh_elements.size()); - LocalDataInitializer initializer(dof_table, shapefunction_order); + LocalDataInitializer initializer(dof_table); DBUG("Calling local assembler builder for all mesh elements."); GlobalExecutor::transformDereferenced( @@ -71,14 +70,13 @@ void createLocalAssemblers( const unsigned /*dimension*/, std::vector<MeshLib::Element*> const& mesh_elements, NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) { DBUG("Create local assemblers."); detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); } } // namespace ThermoHydroMechanics diff --git a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp index c53d6f85291924c4c7cf4c53c14ed9b87f7b6d60..c943c69f592cb22a2e8c083318c6c33d3d18e373 100644 --- a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp +++ b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp @@ -176,17 +176,10 @@ void ThermoHydroMechanicsProcess<DisplacementDim>::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int mechanical_process_id = _use_monolithic_scheme ? 0 : 2; - const int deformation_variable_id = _use_monolithic_scheme ? 2 : 0; ProcessLib::ThermoHydroMechanics::createLocalAssemblers< DisplacementDim, ThermoHydroMechanicsLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - // use displacement process variable to set shape function order - getProcessVariables(mechanical_process_id)[deformation_variable_id] - .get() - .getShapeFunctionOrder(), - _local_assemblers, mesh.isAxiallySymmetric(), integration_order, - _process_data); + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, + mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( "sigma", diff --git a/ProcessLib/ThermoRichardsMechanics/CreateLocalAssemblers.h b/ProcessLib/ThermoRichardsMechanics/CreateLocalAssemblers.h index 2436605a5c7522501fda8b536105457e1507b263..ab62ac3bd7f503155c65b3bb1d4190691b81be58 100644 --- a/ProcessLib/ThermoRichardsMechanics/CreateLocalAssemblers.h +++ b/ProcessLib/ThermoRichardsMechanics/CreateLocalAssemblers.h @@ -25,7 +25,6 @@ template <int GlobalDim, typename LocalAssemblerInterface, typename... ExtraCtorArgs> void createLocalAssemblers( NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<MeshLib::Element*> const& mesh_elements, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) @@ -40,7 +39,7 @@ void createLocalAssemblers( // Populate the vector of local assemblers. local_assemblers.resize(mesh_elements.size()); - LocalDataInitializer initializer(dof_table, shapefunction_order); + LocalDataInitializer initializer(dof_table); DBUG("Calling local assembler builder for all mesh elements."); GlobalExecutor::transformDereferenced( @@ -69,14 +68,13 @@ void createLocalAssemblers( const unsigned /*dimension*/, std::vector<MeshLib::Element*> const& mesh_elements, NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order, std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers, ExtraCtorArgs&&... extra_ctor_args) { DBUG("Create local assemblers."); detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); } } // namespace ProcessLib::ThermoRichardsMechanics diff --git a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp index e8943afcbf1bb9cdb3198190998d8f37323d73ef..ae630d04834f1e267aefca88fdf44edfd4987198 100644 --- a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp @@ -154,19 +154,10 @@ void ThermoRichardsMechanicsProcess<DisplacementDim>::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - using nlohmann::json; - - const int mechanical_process_id = 0; - const int deformation_variable_id = 2; createLocalAssemblers<DisplacementDim, ThermoRichardsMechanicsLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - // use displacement process variable to set shape function order - getProcessVariables(mechanical_process_id)[deformation_variable_id] - .get() - .getShapeFunctionOrder(), - local_assemblers_, mesh.isAxiallySymmetric(), integration_order, - process_data_); + mesh.getDimension(), mesh.getElements(), dof_table, local_assemblers_, + mesh.isAxiallySymmetric(), integration_order, process_data_); auto add_secondary_variable = [&](std::string const& name, int const num_components, diff --git a/ProcessLib/Utils/LocalDataInitializerHM.h b/ProcessLib/Utils/LocalDataInitializerHM.h index 9e8d11f651551eb1b2f50fe33eb91b84f7877ce1..b73ad72dacc8df53e7d15eb5e3f8d6b9460a16eb 100644 --- a/ProcessLib/Utils/LocalDataInitializerHM.h +++ b/ProcessLib/Utils/LocalDataInitializerHM.h @@ -124,8 +124,8 @@ class LocalDataInitializerHM final public: using LADataIntfPtr = std::unique_ptr<LocalAssemblerInterface>; - LocalDataInitializerHM(NumLib::LocalToGlobalIndexMap const& dof_table, - const unsigned shapefunction_order /* TODO remove */) + explicit LocalDataInitializerHM( + NumLib::LocalToGlobalIndexMap const& dof_table) : _dof_table(dof_table) { // /// Quads and Hexahedra ///////////////////////////////////