From 4500826b5f1fba8c3c9e8f76c21b2e9b0640d376 Mon Sep 17 00:00:00 2001 From: renchao_lu <renchao.lu@gmail.com> Date: Wed, 5 May 2021 11:28:33 +0200 Subject: [PATCH] [CL] pass medium by reference. --- ChemistryLib/ChemicalSolverInterface.h | 4 +-- ChemistryLib/PhreeqcIO.cpp | 25 ++++++++++--------- ChemistryLib/PhreeqcIO.h | 4 +-- .../ComponentTransportFEM.h | 3 ++- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/ChemistryLib/ChemicalSolverInterface.h b/ChemistryLib/ChemicalSolverInterface.h index 50a123cf0a3..8596a872138 100644 --- a/ChemistryLib/ChemicalSolverInterface.h +++ b/ChemistryLib/ChemicalSolverInterface.h @@ -61,7 +61,7 @@ public: virtual void updateVolumeFractionPostReaction( GlobalIndexType const& /*chemical_system_id*/, - MaterialPropertyLib::Medium const* /*medium*/, + MaterialPropertyLib::Medium const& /*medium*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*porosity*/, double const /*t*/, double const /*dt*/) { @@ -69,7 +69,7 @@ public: virtual void updatePorosityPostReaction( GlobalIndexType const& /*chemical_system_id*/, - MaterialPropertyLib::Medium const* /*medium*/, + MaterialPropertyLib::Medium const& /*medium*/, double& /*porosity*/) { } diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp index 82eee906451..bbfe76aaf01 100644 --- a/ChemistryLib/PhreeqcIO.cpp +++ b/ChemistryLib/PhreeqcIO.cpp @@ -167,13 +167,14 @@ void setReactantMolality(Reactant& reactant, template <typename Reactant> void setReactantVolumeFraction(Reactant& reactant, - GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, - ParameterLib::SpatialPosition const& pos, double const porosity, - double const t, double const dt) + GlobalIndexType const& chemical_system_id, + MaterialPropertyLib::Medium const& medium, + ParameterLib::SpatialPosition const& pos, + double const porosity, double const t, + double const dt) { - auto const& solid_phase = medium->phase("Solid"); - auto const& liquid_phase = medium->phase("AqueousLiquid"); + auto const& solid_phase = medium.phase("Solid"); + auto const& liquid_phase = medium.phase("AqueousLiquid"); MaterialPropertyLib::VariableArray vars; @@ -203,11 +204,11 @@ void setReactantVolumeFraction(Reactant& reactant, template <typename Reactant> void setPorosityPostReaction(Reactant& reactant, - GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, - double& porosity) + GlobalIndexType const& chemical_system_id, + MaterialPropertyLib::Medium const& medium, + double& porosity) { - auto const& solid_phase = medium->phase("Solid"); + auto const& solid_phase = medium.phase("Solid"); auto const& solid_constituent = solid_phase.component(reactant.name); @@ -728,7 +729,7 @@ std::vector<std::string> const PhreeqcIO::getComponentList() const void PhreeqcIO::updateVolumeFractionPostReaction( GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, + MaterialPropertyLib::Medium const& medium, ParameterLib::SpatialPosition const& pos, double const porosity, double const t, double const dt) { @@ -747,7 +748,7 @@ void PhreeqcIO::updateVolumeFractionPostReaction( void PhreeqcIO::updatePorosityPostReaction( GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, + MaterialPropertyLib::Medium const& medium, double& porosity) { for (auto& kinetic_reactant : _chemical_system->kinetic_reactants) diff --git a/ChemistryLib/PhreeqcIO.h b/ChemistryLib/PhreeqcIO.h index 2981106c371..22d31ff3f7f 100644 --- a/ChemistryLib/PhreeqcIO.h +++ b/ChemistryLib/PhreeqcIO.h @@ -74,12 +74,12 @@ public: void updateVolumeFractionPostReaction( GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, + MaterialPropertyLib::Medium const& medium, ParameterLib::SpatialPosition const& pos, double const porosity, double const t, double const dt) override; void updatePorosityPostReaction(GlobalIndexType const& chemical_system_id, - MaterialPropertyLib::Medium const* medium, + MaterialPropertyLib::Medium const& medium, double& porosity) override; void computeSecondaryVariable( diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h index f5740eb98a4..e077617de0d 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h +++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h @@ -1164,7 +1164,8 @@ public: { if (_process_data.chemically_induced_porosity_change) { - auto const& medium = _process_data.media_map->getMedium(ele_id); + auto const& medium = + *_process_data.media_map->getMedium(ele_id); ParameterLib::SpatialPosition pos; pos.setElementID(ele_id); -- GitLab