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
17#include "TraitsBase.h"
18
20{
22{
23template <int DisplacementDim>
25{
28 : solid_material_(solid_material),
30 solid_material.createTangentOperatorBlocksView()}
31 {
32 }
33
34 void eval(const SpaceTimeData& x_t,
37 StrainData<DisplacementDim> const& eps_data,
38 PrevState<StrainData<DisplacementDim>> const& eps_prev_data,
41 total_stress_data_prev,
42 TotalStressData<DisplacementDim>& total_stress_data,
43 EquivalentPlasticStrainData& equiv_plast_strain_data,
45 PrevState<SaturationData> const& S_L_prev_data,
46 SaturationData& S_L_data, SaturationDataDeriv& dS_L_data) const;
47
50 {
51 return SolidMechanicsModel{solid_material};
52 }
53
54private:
56
57 MSM::OGSMFrontTangentOperatorBlocksView<
58 DisplacementDim,
59 MSM::ForcesGradsCombinations<
60 boost::mp11::mp_list<MSM::Strain, MSM::LiquidPressure>,
61 boost::mp11::mp_list<MSM::Stress, MSM::Saturation>,
62 boost::mp11::mp_list<MSM::Temperature>>::type>
64};
65
66extern template struct SolidMechanicsModel<2>;
67extern template struct SolidMechanicsModel<3>;
68} // namespace ConstitutiveStressSaturation_StrainPressureTemperature
69} // 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_