OGS
TH2M/ConstitutiveRelations/Gravity.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#include "Gravity.h"
5
6namespace ProcessLib::TH2M
7{
9{
10template <int DisplacementDim>
12 FluidDensityData const& fluid_density_data,
13 PorosityData const& porosity_data,
14 SaturationData const& S_L_data,
15 SolidDensityData const& solid_density_data,
16 SpecificBodyForce<DisplacementDim> const& specific_body_force,
17 VolumetricBodyForce<DisplacementDim>& volumetric_body_force) const
18{
19 auto const phi_G = (1. - S_L_data.S_L) * porosity_data.phi;
20 auto const phi_L = S_L_data.S_L * porosity_data.phi;
21 auto const phi_S = 1. - porosity_data.phi;
22
23 auto const rhoGR = fluid_density_data.rho_GR;
24 auto const rhoLR = fluid_density_data.rho_LR;
25 auto const rho =
26 phi_G * rhoGR + phi_L * rhoLR + phi_S * solid_density_data.rho_SR;
27 *volumetric_body_force = rho * specific_body_force();
28}
29
30template struct GravityModel<2>;
31template struct GravityModel<3>;
32} // namespace ConstitutiveRelations
33} // namespace ProcessLib::TH2M
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct VolumetricBodyForceTag > VolumetricBodyForce
void eval(FluidDensityData const &fluid_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidDensityData const &solid_density_data, SpecificBodyForce< DisplacementDim > const &specific_body_force, VolumetricBodyForce< DisplacementDim > &volumetric_body_force) const