diff --git a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h index 52190044adb96b79710f07e995a831ce31a84946..901617056f5e60b08392d1859f4373ea051e3203 100644 --- a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h +++ b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h @@ -55,7 +55,8 @@ public: std::vector<GlobalIndexType> indices_cache; auto const r_c_indices = NumLib::getRowColumnIndices( element_id, *_local_to_global_index_map, indices_cache); - std::vector<double> local_x(x[0]->get(r_c_indices.rows)); + constexpr int process_id = 0; // monolithic scheme. + std::vector<double> local_x(x[process_id]->get(r_c_indices.rows)); return _local_assemblers[element_id]->getFlux(p, t, local_x); } diff --git a/ProcessLib/TES/TESProcess.cpp b/ProcessLib/TES/TESProcess.cpp index b69f677285f950246bb424397b48a4580554db1d..bf92c44477f0f5cc1efe0142e5d5d162549a29c8 100644 --- a/ProcessLib/TES/TESProcess.cpp +++ b/ProcessLib/TES/TESProcess.cpp @@ -322,7 +322,8 @@ GlobalVector const& TESProcess::computeVapourPartialPressure( std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table, std::unique_ptr<GlobalVector>& result_cache) { - assert(dof_table[0] == _local_to_global_index_map.get()); + constexpr int process_id = 0; // monolithic scheme. + assert(dof_table[process_id] == _local_to_global_index_map.get()); auto const& dof_table_single = getSingleComponentDOFTable(); result_cache = MathLib::MatrixVectorTraits<GlobalVector>::newInstance( @@ -334,10 +335,12 @@ GlobalVector const& TESProcess::computeVapourPartialPressure( for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id) { - auto const p = NumLib::getNodalValue(*x[0], _mesh, *dof_table[0], - node_id, COMPONENT_ID_PRESSURE); - auto const x_mV = NumLib::getNodalValue( - *x[0], _mesh, *dof_table[0], node_id, COMPONENT_ID_MASS_FRACTION); + auto const p = + NumLib::getNodalValue(*x[process_id], _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_PRESSURE); + auto const x_mV = + NumLib::getNodalValue(*x[process_id], _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_MASS_FRACTION); auto const x_nV = Adsorption::AdsorptionReaction::getMolarFraction( x_mV, _assembly_params.M_react, _assembly_params.M_inert); @@ -354,7 +357,8 @@ GlobalVector const& TESProcess::computeRelativeHumidity( std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table, std::unique_ptr<GlobalVector>& result_cache) { - assert(dof_table[0] == _local_to_global_index_map.get()); + constexpr int process_id = 0; // monolithic scheme. + assert(dof_table[process_id] == _local_to_global_index_map.get()); auto const& dof_table_single = getSingleComponentDOFTable(); result_cache = MathLib::MatrixVectorTraits<GlobalVector>::newInstance( @@ -367,12 +371,13 @@ GlobalVector const& TESProcess::computeRelativeHumidity( auto const& x = *xs[0]; // monolithic process for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id) { - auto const p = NumLib::getNodalValue(x, _mesh, *dof_table[0], node_id, - COMPONENT_ID_PRESSURE); - auto const T = NumLib::getNodalValue(x, _mesh, *dof_table[0], node_id, - COMPONENT_ID_TEMPERATURE); - auto const x_mV = NumLib::getNodalValue( - x, _mesh, *dof_table[0], node_id, COMPONENT_ID_MASS_FRACTION); + auto const p = NumLib::getNodalValue(x, _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_PRESSURE); + auto const T = NumLib::getNodalValue(x, _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_TEMPERATURE); + auto const x_mV = + NumLib::getNodalValue(x, _mesh, *dof_table[process_id], node_id, + COMPONENT_ID_MASS_FRACTION); auto const x_nV = Adsorption::AdsorptionReaction::getMolarFraction( x_mV, _assembly_params.M_react, _assembly_params.M_inert); @@ -392,7 +397,8 @@ GlobalVector const& TESProcess::computeEquilibriumLoading( std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table, std::unique_ptr<GlobalVector>& result_cache) { - assert(dof_table[0] == _local_to_global_index_map.get()); + constexpr int process_id = 0; // monolithic scheme. + assert(dof_table[process_id] == _local_to_global_index_map.get()); auto const& dof_table_single = getSingleComponentDOFTable(); result_cache = MathLib::MatrixVectorTraits<GlobalVector>::newInstance( @@ -405,12 +411,13 @@ GlobalVector const& TESProcess::computeEquilibriumLoading( auto const& x = *xs[0]; // monolithic process for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id) { - auto const p = NumLib::getNodalValue(x, _mesh, *dof_table[0], node_id, - COMPONENT_ID_PRESSURE); - auto const T = NumLib::getNodalValue(x, _mesh, *dof_table[0], node_id, - COMPONENT_ID_TEMPERATURE); - auto const x_mV = NumLib::getNodalValue( - x, _mesh, *dof_table[0], node_id, COMPONENT_ID_MASS_FRACTION); + auto const p = NumLib::getNodalValue(x, _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_PRESSURE); + auto const T = NumLib::getNodalValue(x, _mesh, *dof_table[process_id], + node_id, COMPONENT_ID_TEMPERATURE); + auto const x_mV = + NumLib::getNodalValue(x, _mesh, *dof_table[process_id], node_id, + COMPONENT_ID_MASS_FRACTION); auto const x_nV = Adsorption::AdsorptionReaction::getMolarFraction( x_mV, _assembly_params.M_react, _assembly_params.M_inert);