diff --git a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp index d4b18a4e64481ffe9841b15975b103d17217991f..297e357a1a7a550f814b0e7a15d12f831ef7d4de 100644 --- a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp +++ b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp @@ -106,13 +106,13 @@ std::unique_ptr<Process> createLiquidFlowProcess( auto media_map = MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh); - LiquidFlowData process_data{std::move(media_map)}; + LiquidFlowData process_data{std::move(media_map), gravity_axis_id, g}; return std::make_unique<LiquidFlowProcess>( std::move(name), mesh, std::move(jacobian_assembler), parameters, integration_order, std::move(process_variables), std::move(process_data), std::move(secondary_variables), - gravity_axis_id, g, std::move(surfaceflux)); + std::move(surfaceflux)); } } // namespace LiquidFlow diff --git a/ProcessLib/LiquidFlow/LiquidFlowData.h b/ProcessLib/LiquidFlow/LiquidFlowData.h index 2f6e89c71b986fcaced9f96bd4557bb9fcd13252..9aa0c7a75bcbcd93eaea9f47b76e4a7a696ea7c7 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowData.h +++ b/ProcessLib/LiquidFlow/LiquidFlowData.h @@ -25,6 +25,8 @@ struct LiquidFlowData final { std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap> media_map; + const int gravitational_axis_id; + const double gravitational_acceleration; }; } // namespace LiquidFlow diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h index 3f0336187ba671fa0c5498f304b9ec19504cd055..cf5131192350b1478ed6839515223ffadb0bc99f 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h +++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler-impl.h @@ -202,8 +202,8 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>:: // Assemble Laplacian, K, and RHS by the gravitational term LaplacianGravityVelocityCalculator::calculateLaplacianAndGravityTerm( local_K, local_b, ip_data, permeability, viscosity, - fluid_density * _gravitational_acceleration, - _gravitational_axis_id); + fluid_density * _process_data.gravitational_acceleration, + _process_data.gravitational_axis_id); } } @@ -315,8 +315,8 @@ void LiquidFlowLocalAssembler<ShapeFunction, IntegrationMethod, GlobalDim>:: .value(vars, pos, t, dt)); LaplacianGravityVelocityCalculator::calculateVelocity( ip, local_p_vec, ip_data, permeability, viscosity, - fluid_density * _gravitational_acceleration, _gravitational_axis_id, - darcy_velocity_at_ips); + fluid_density * _process_data.gravitational_acceleration, + _process_data.gravitational_axis_id, darcy_velocity_at_ips); } } diff --git a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h index 8178447a94ba5c199b61d0c7b66bc0e6f8aa8e20..674e2cd2466348d828ee58b49b3d8929f9f49d0c 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h +++ b/ProcessLib/LiquidFlow/LiquidFlowLocalAssembler.h @@ -90,13 +90,9 @@ public: std::size_t const /*local_matrix_size*/, bool const is_axially_symmetric, unsigned const integration_order, - int const gravitational_axis_id, - double const gravitational_acceleration, LiquidFlowData const& process_data) : _element(element), _integration_method(integration_order), - _gravitational_axis_id(gravitational_axis_id), - _gravitational_acceleration(gravitational_acceleration), _process_data(process_data) { unsigned const n_integration_points = @@ -215,8 +211,6 @@ private: ParameterLib::SpatialPosition const& pos, MatrixOfVelocityAtIntegrationPoints& darcy_velocity_at_ips) const; - const int _gravitational_axis_id; - const double _gravitational_acceleration; const LiquidFlowData& _process_data; }; diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp index c7c662d94b25f1d0088e7fd5d42d9ebaa090e632..15aa35995eda92fa617ada5e63bc33b9473d57d9 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp +++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.cpp @@ -69,14 +69,10 @@ LiquidFlowProcess::LiquidFlowProcess( process_variables, LiquidFlowData&& process_data, SecondaryVariableCollection&& secondary_variables, - int const gravitational_axis_id, - double const gravitational_acceleration, std::unique_ptr<ProcessLib::SurfaceFluxData>&& surfaceflux) : Process(std::move(name), mesh, std::move(jacobian_assembler), parameters, integration_order, std::move(process_variables), std::move(secondary_variables)), - _gravitational_axis_id(gravitational_axis_id), - _gravitational_acceleration(gravitational_acceleration), _process_data(std::move(process_data)), _surfaceflux(std::move(surfaceflux)) { @@ -95,8 +91,7 @@ void LiquidFlowProcess::initializeConcreteProcess( ProcessLib::createLocalAssemblers<LiquidFlowLocalAssembler>( mesh.getDimension(), mesh.getElements(), dof_table, pv.getShapeFunctionOrder(), _local_assemblers, - mesh.isAxiallySymmetric(), integration_order, _gravitational_axis_id, - _gravitational_acceleration, _process_data); + mesh.isAxiallySymmetric(), integration_order, _process_data); _secondary_variables.addSecondaryVariable( "darcy_velocity", diff --git a/ProcessLib/LiquidFlow/LiquidFlowProcess.h b/ProcessLib/LiquidFlow/LiquidFlowProcess.h index 3c20b7466e4f6336c75515716ac0ec96a8167f70..03416c8117d19529dd0a323af8ed98c68c41d1f0 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowProcess.h +++ b/ProcessLib/LiquidFlow/LiquidFlowProcess.h @@ -66,8 +66,6 @@ public: process_variables, LiquidFlowData&& process_data, SecondaryVariableCollection&& secondary_variables, - int const gravitational_axis_id, - double const gravitational_acceleration, std::unique_ptr<ProcessLib::SurfaceFluxData>&& surfaceflux); void computeSecondaryVariableConcrete(double const t, @@ -81,12 +79,6 @@ public: double const t, std::vector<GlobalVector*> const& x) const override; - int getGravitationalAxisID() const { return _gravitational_axis_id; } - double getGravitationalAcceleration() const - { - return _gravitational_acceleration; - } - void postTimestepConcreteProcess(std::vector<GlobalVector*> const& x, const double t, const double dt, @@ -109,8 +101,6 @@ private: int const process_id, GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) override; - const int _gravitational_axis_id; - const double _gravitational_acceleration; LiquidFlowData _process_data; std::vector<std::unique_ptr<LiquidFlowLocalAssemblerInterface>>