OGS
DarcyVelocity.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 "DarcyVelocity.h"
5
6namespace ProcessLib::TH2M
7{
9{
10template <int DisplacementDim>
13 FluidDensityData const& fluid_density_data,
15 PermeabilityData<DisplacementDim> const& permeability_data,
16 SpecificBodyForce<DisplacementDim> const& specific_body_force,
17 ViscosityData const& viscosity_data,
18 DarcyVelocityData<DisplacementDim>& darcy_velocity_data) const
19{
20 auto const k_over_mu_G =
21 permeability_data.Ki * permeability_data.k_rel_G / viscosity_data.mu_GR;
22 auto const k_over_mu_L =
23 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
24
25 darcy_velocity_data.w_GS =
26 k_over_mu_G * fluid_density_data.rho_GR * specific_body_force() -
27 k_over_mu_G * grad_p_GR();
28 darcy_velocity_data.w_LS =
29 k_over_mu_L * grad_p_cap() +
30 k_over_mu_L * fluid_density_data.rho_LR * specific_body_force() -
31 k_over_mu_L * grad_p_GR();
32}
33
34template struct DarcyVelocityModel<2>;
35template struct DarcyVelocityModel<3>;
36} // namespace ConstitutiveRelations
37} // namespace ProcessLib::TH2M
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct GasPressureGradientTag > GasPressureGradientData
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct CapillaryPressureGradientTag > CapillaryPressureGradientData
void eval(CapillaryPressureGradientData< DisplacementDim > const &grad_p_cap, FluidDensityData const &fluid_density_data, GasPressureGradientData< DisplacementDim > const &grad_p_GR, PermeabilityData< DisplacementDim > const &permeability_data, SpecificBodyForce< DisplacementDim > const &specific_body_force, ViscosityData const &viscosity_data, DarcyVelocityData< DisplacementDim > &darcy_velocity_data) const