OGS
LargeDeformation/ConstitutiveRelations/Gravity.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
8#include "SolidDensity.h"
9
11{
12template <int DisplacementDim>
15
16template <int DisplacementDim>
18{
20 DisplacementDim> const& specific_body_force)
21 : specific_body_force_(specific_body_force)
22 {
23 }
24
25 void eval(SolidDensity const& rho_SR,
27
30 DisplacementDim> const& specific_body_force)
31 {
32 return GravityModel{specific_body_force};
33 }
34
35private:
36 // TODO (naumov) Do we need to store this for each integration point?
39};
40
41extern template struct GravityModel<2>;
42extern template struct GravityModel<3>;
43} // namespace ProcessLib::LargeDeformation
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct GravityTag > VolumetricBodyForce
BaseLib::StrongType< double, struct SolidDensityTag > SolidDensity
void eval(SolidDensity const &rho_SR, VolumetricBodyForce< DisplacementDim > &out) const
GravityModel(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const specific_body_force_
static GravityModel create(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)