diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp index b334ce2edcec5ae35c59235be6b9402a52073d74..92da0c6455704a3f903f6441da4e56143f686dbb 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp @@ -84,8 +84,7 @@ void ComponentTransportProcess::initializeConcreteProcess( } ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data, transport_process_variables); diff --git a/ProcessLib/HT/HTProcess.cpp b/ProcessLib/HT/HTProcess.cpp index d4b80bef82c498a6bb18b59b9fe8a3732cc6680f..291dd4191e1718a11c438567c926eb6e7a852db7 100644 --- a/ProcessLib/HT/HTProcess.cpp +++ b/ProcessLib/HT/HTProcess.cpp @@ -48,26 +48,19 @@ void HTProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - // For the staggered scheme, both processes are assumed to use the same - // element order. Therefore the order of shape function can be fetched from - // any set of the sets of process variables of the coupled processes. Here, - // we take the one from the first process by setting process_id = 0. - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; - if (_use_monolithic_scheme) { ProcessLib::createLocalAssemblers<MonolithicHTFEM>( mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, - mesh.isAxiallySymmetric(), integration_order, _process_data); + _local_assemblers, mesh.isAxiallySymmetric(), integration_order, + _process_data); } else { ProcessLib::createLocalAssemblers<StaggeredHTFEM>( mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, - mesh.isAxiallySymmetric(), integration_order, _process_data); + _local_assemblers, mesh.isAxiallySymmetric(), integration_order, + _process_data); } _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/HeatConduction/HeatConductionProcess.cpp b/ProcessLib/HeatConduction/HeatConductionProcess.cpp index 435f49e42bc701556cce20fbf3cee67db0540b69..f5dc36e0defa08ac81bc7652e512a539794dc681 100644 --- a/ProcessLib/HeatConduction/HeatConductionProcess.cpp +++ b/ProcessLib/HeatConduction/HeatConductionProcess.cpp @@ -46,11 +46,8 @@ void HeatConductionProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp index eee3dee8b556899fc499f4eb5daec1b730a98eb8..3dccd5decccb49091bb9f18d9b8d02d6d8b3d09c 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp +++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp @@ -53,13 +53,9 @@ void LiquidFlowProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; - int const mesh_space_dimension = _process_data.mesh_space_dimension; ProcessLib::createLocalAssemblers<LiquidFlowLocalAssembler>( - mesh_space_dimension, mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh_space_dimension, mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportProcess.cpp b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportProcess.cpp index ecbb8ac3ac194309077fdd5d4d742588286d641c..435518ae596da032812c6f13d5d17da358eb0ab1 100644 --- a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportProcess.cpp +++ b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportProcess.cpp @@ -46,8 +46,7 @@ void RichardsComponentTransportProcess::initializeConcreteProcess( getProcessVariables(monolithic_process_id)[0]; ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data, pv); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/RichardsFlow/RichardsFlowProcess.cpp b/ProcessLib/RichardsFlow/RichardsFlowProcess.cpp index 50ec9b46e4bb3c28be2306e244431f698d0a3da4..cb134bc87be0918ddc6af53d132bcb5a25f3a6cf 100644 --- a/ProcessLib/RichardsFlow/RichardsFlowProcess.cpp +++ b/ProcessLib/RichardsFlow/RichardsFlowProcess.cpp @@ -40,11 +40,8 @@ void RichardsFlowProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusion.cpp b/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusion.cpp index 208a10404b0475a8d1efcd43c59f1a71d70ddb46..5f68a0e269be0e7042293704c40d508d863c0d1e 100644 --- a/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusion.cpp +++ b/ProcessLib/SteadyStateDiffusion/SteadyStateDiffusion.cpp @@ -42,11 +42,8 @@ void SteadyStateDiffusion::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/SurfaceFlux/SurfaceFlux.cpp b/ProcessLib/SurfaceFlux/SurfaceFlux.cpp index 88fed1e28f60d60500af24fd257c40366fbe2504..704317e223cadc248d6725cf5fef2a2915a5175c 100644 --- a/ProcessLib/SurfaceFlux/SurfaceFlux.cpp +++ b/ProcessLib/SurfaceFlux/SurfaceFlux.cpp @@ -47,7 +47,7 @@ SurfaceFlux::SurfaceFlux(MeshLib::Mesh& boundary_mesh, ProcessLib::createLocalAssemblers<SurfaceFluxLocalAssembler>( boundary_mesh.getDimension() + 1, // or bulk_mesh.getDimension()? - boundary_mesh.getElements(), *dof_table, 1, _local_assemblers, + boundary_mesh.getElements(), *dof_table, _local_assemblers, boundary_mesh.isAxiallySymmetric(), integration_order, *bulk_element_ids, *bulk_face_ids); } diff --git a/ProcessLib/TES/TESProcess.cpp b/ProcessLib/TES/TESProcess.cpp index b6bfb20ff7871158ccfd3d1de32edf220bdf4073..87248b27d2ba11abb2fdfd4d205496f49311f1b0 100644 --- a/ProcessLib/TES/TESProcess.cpp +++ b/ProcessLib/TES/TESProcess.cpp @@ -141,12 +141,8 @@ void TESProcess::initializeConcreteProcess( NumLib::LocalToGlobalIndexMap const& dof_table, MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int monolithic_process_id = 0; - ProcessLib::ProcessVariable const& pv = - getProcessVariables(monolithic_process_id)[0]; ProcessLib::createLocalAssemblers<TESLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _assembly_params); initializeSecondaryVariables(); diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp index 373de1c4cdf8fd1ffc337aa240ebe478082e9b82..950bf5d8b6416f94e61262ad72a299ac5cbcac79 100644 --- a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp +++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp @@ -50,12 +50,8 @@ void ThermalTwoPhaseFlowWithPPProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int monolithic_process_id = 0; - ProcessLib::ProcessVariable const& pv = - getProcessVariables(monolithic_process_id)[0]; ProcessLib::createLocalAssemblers<ThermalTwoPhaseFlowWithPPLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp index dd5d84523ad5dba6e93950710525e91a823f0df8..45b75b324cb21579e14c0b4b104c2b171431a296 100644 --- a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp +++ b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp @@ -64,17 +64,9 @@ void ThermoRichardsFlowProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - using nlohmann::json; - - const int process_id = 0; - const int variable_id = 0; ProcessLib::createLocalAssemblers<ThermoRichardsFlowLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - getProcessVariables(process_id)[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/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPProcess.cpp b/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPProcess.cpp index 9c9567f6ad885fe6be8e79e83bfe7221bb63ec81..3833b73345b2d4e5eb509d8eed45b40e97bbb9b7 100644 --- a/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPProcess.cpp +++ b/ProcessLib/TwoPhaseFlowWithPP/TwoPhaseFlowWithPPProcess.cpp @@ -43,11 +43,8 @@ void TwoPhaseFlowWithPPProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; ProcessLib::createLocalAssemblers<TwoPhaseFlowWithPPLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoProcess.cpp b/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoProcess.cpp index bf2c192884ac9bb97991f8cfb8512db473bd5480..53f5ae9e4b441c1f217bc6cc4f6479493b4ea430 100644 --- a/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoProcess.cpp +++ b/ProcessLib/TwoPhaseFlowWithPrho/TwoPhaseFlowWithPrhoProcess.cpp @@ -44,11 +44,8 @@ void TwoPhaseFlowWithPrhoProcess::initializeConcreteProcess( MeshLib::Mesh const& mesh, unsigned const integration_order) { - const int process_id = 0; - ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; ProcessLib::createLocalAssemblers<TwoPhaseFlowWithPrhoLocalAssembler>( - mesh.getDimension(), mesh.getElements(), dof_table, - pv.getShapeFunctionOrder(), _local_assemblers, + mesh.getDimension(), mesh.getElements(), dof_table, _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( diff --git a/ProcessLib/Utils/CreateLocalAssemblers.h b/ProcessLib/Utils/CreateLocalAssemblers.h index 51d70c7885e74afa99e3687e1d0f84110a7c8c67..87288a33994966177754b167b8026f497167f506 100644 --- a/ProcessLib/Utils/CreateLocalAssemblers.h +++ b/ProcessLib/Utils/CreateLocalAssemblers.h @@ -22,7 +22,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( @@ -65,7 +64,6 @@ 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) { @@ -75,17 +73,17 @@ void createLocalAssemblers( { case 1: createLocalAssemblers<1, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); break; case 2: createLocalAssemblers<2, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); break; case 3: createLocalAssemblers<3, LocalAssemblerImplementation>( - dof_table, shapefunction_order, mesh_elements, local_assemblers, + dof_table, mesh_elements, local_assemblers, std::forward<ExtraCtorArgs>(extra_ctor_args)...); break; default: diff --git a/Tests/MathLib/TestGaussLegendreIntegration.cpp b/Tests/MathLib/TestGaussLegendreIntegration.cpp index 7cb7bfb99fd42e281217540d1f165f2a651d93ac..5e6ff1b0e8c9a8c1e2072a66a27846ebb6539580 100644 --- a/Tests/MathLib/TestGaussLegendreIntegration.cpp +++ b/Tests/MathLib/TestGaussLegendreIntegration.cpp @@ -128,7 +128,7 @@ public: // createAssemblers(mesh); ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), *_dof_table, 1, + mesh.getDimension(), mesh.getElements(), *_dof_table, _local_assemblers, mesh.isAxiallySymmetric(), _integration_order); } diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp index 2041c88ae2e77538aa5268719c79b67e60c0a3a3..9a9b2dae8ece8028dd0dd9260b85c7f20bd17ef5 100644 --- a/Tests/NumLib/TestExtrapolation.cpp +++ b/Tests/NumLib/TestExtrapolation.cpp @@ -161,7 +161,7 @@ public: // createAssemblers(mesh); ProcessLib::createLocalAssemblers<LocalAssemblerData>( - mesh.getDimension(), mesh.getElements(), *_dof_table, 1, + mesh.getDimension(), mesh.getElements(), *_dof_table, _local_assemblers, mesh.isAxiallySymmetric(), _integration_order); }