OGS
DarcyLawModel.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
7#include "DarcyLawData.h"
8#include "LiquidDensityData.h"
10#include "PermeabilityData.h"
12#include "ThermoOsmosisData.h"
13
15{
16
17template <int DisplacementDim>
19{
21 DisplacementDim> const& specific_body_force)
22 : specific_body_force_(specific_body_force)
23 {
24 }
25
26 void eval(CapillaryPressureData<DisplacementDim> const& p_cap_data,
27 LiquidDensityData const& rho_L_data,
28 LiquidViscosityData const& mu_L_data,
29 PermeabilityData<DisplacementDim> const& perm_data,
30 ThermoOsmosisData<DisplacementDim> const& th_osmosis_data,
32
35 DisplacementDim> const& specific_body_force)
36 {
37 return DarcyLawModel{specific_body_force};
38 }
39
40private:
44};
45
46extern template struct DarcyLawModel<2>;
47extern template struct DarcyLawModel<3>;
48} // namespace ProcessLib::ThermoRichardsMechanics
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
BaseLib::StrongType< Eigen::Vector< double, DisplacementDim >, struct DarcyLawDataTag > DarcyLawData
BaseLib::StrongType< double, struct LiquidViscosityDataTag > LiquidViscosityData
DarcyLawModel(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
static DarcyLawModel create(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
void eval(CapillaryPressureData< DisplacementDim > const &p_cap_data, LiquidDensityData const &rho_L_data, LiquidViscosityData const &mu_L_data, PermeabilityData< DisplacementDim > const &perm_data, ThermoOsmosisData< DisplacementDim > const &th_osmosis_data, DarcyLawData< DisplacementDim > &out) const
ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const specific_body_force_
Gravity vector (specific body force).