OGS
ThermoRichardsMechanics/ConstitutiveStressSaturation_StrainPressureTemperature/SolidMechanics.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
15#include "TraitsBase.h"
16
18{
20{
21template <int DisplacementDim>
23{
26 : solid_material_(solid_material),
28 solid_material.createTangentOperatorBlocksView()}
29 {
30 }
31
32 void eval(const SpaceTimeData& x_t,
35 StrainData<DisplacementDim> const& eps_data,
36 PrevState<StrainData<DisplacementDim>> const& eps_prev_data,
39 total_stress_data_prev,
40 TotalStressData<DisplacementDim>& total_stress_data,
41 EquivalentPlasticStrainData& equiv_plast_strain_data,
43 PrevState<SaturationData> const& S_L_prev_data,
44 SaturationData& S_L_data, SaturationDataDeriv& dS_L_data) const;
45
48 {
49 return SolidMechanicsModel{solid_material};
50 }
51
52private:
54
55 MSM::OGSMFrontTangentOperatorBlocksView<
56 DisplacementDim,
57 MSM::ForcesGradsCombinations<
58 boost::mp11::mp_list<MSM::Strain, MSM::LiquidPressure>,
59 boost::mp11::mp_list<MSM::Stress, MSM::Saturation>,
60 boost::mp11::mp_list<MSM::Temperature>>::type>
62};
63
64extern template struct SolidMechanicsModel<2>;
65extern template struct SolidMechanicsModel<3>;
66} // namespace ConstitutiveStressSaturation_StrainPressureTemperature
67} // namespace ProcessLib::ThermoRichardsMechanics
MSM::MFrontGeneric< DisplacementDim, boost::mp11::mp_list< MSM::Strain, MSM::LiquidPressure >, boost::mp11::mp_list< MSM::Stress, MSM::Saturation >, boost::mp11::mp_list< MSM::Temperature > > SolidConstitutiveRelation
void eval(const SpaceTimeData &x_t, TemperatureData< DisplacementDim > const &T_data, CapillaryPressureData< DisplacementDim > const &p_cap_data, StrainData< DisplacementDim > const &eps_data, PrevState< StrainData< DisplacementDim > > const &eps_prev_data, MaterialStateData< DisplacementDim > &mat_state, PrevState< TotalStressData< DisplacementDim > > const &total_stress_data_prev, TotalStressData< DisplacementDim > &total_stress_data, EquivalentPlasticStrainData &equiv_plast_strain_data, SolidMechanicsDataStateless< DisplacementDim > &current_stateless, PrevState< SaturationData > const &S_L_prev_data, SaturationData &S_L_data, SaturationDataDeriv &dS_L_data) const
MSM::OGSMFrontTangentOperatorBlocksView< DisplacementDim, MSM::ForcesGradsCombinations< boost::mp11::mp_list< MSM::Strain, MSM::LiquidPressure >, boost::mp11::mp_list< MSM::Stress, MSM::Saturation >, boost::mp11::mp_list< MSM::Temperature > >::type > tangent_operator_blocks_view_