OGS
DarcyVelocity.h
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#pragma once
5
6#include "Base.h"
7#include "FluidDensity.h"
8#include "PermeabilityData.h"
10#include "Viscosity.h"
11
12namespace ProcessLib::TH2M
13{
15{
16template <int DisplacementDim>
18{
21
22 static auto reflect()
23 {
25 namespace R = ProcessLib::Reflection;
26
27 return std::tuple{
28 R::makeReflectionData("velocity_gas", &Self::w_GS),
29 R::makeReflectionData("velocity_liquid", &Self::w_LS)};
30 }
31};
32
33template <int DisplacementDim>
35{
37 FluidDensityData const& fluid_density_data,
39 PermeabilityData<DisplacementDim> const& permeability_data,
40 SpecificBodyForce<DisplacementDim> const& specific_body_force,
41 ViscosityData const& viscosity_data,
42 DarcyVelocityData<DisplacementDim>& darcy_velocity_data) const;
43};
44
45extern template struct DarcyVelocityModel<2>;
46extern template struct DarcyVelocityModel<3>;
47} // namespace ConstitutiveRelations
48} // namespace ProcessLib::TH2M
Eigen::Vector< double, DisplacementDim > GlobalDimVector
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