Advanced Multi-Physics (AMP)
On-Line Documentation
ThermalVonMisesMatModel.h
Go to the documentation of this file.
1#ifndef included_AMP_ThermalVonMisesMatModel
2#define included_AMP_ThermalVonMisesMatModel
3
4#include "AMP/operators/mechanics/MechanicsMaterialModel.h"
5
6#include <memory>
7#include <vector>
8
9
10namespace AMP::Operator {
11
13{
14public:
15 explicit ThermalVonMisesMatModel( std::shared_ptr<MechanicsMaterialModelParameters> );
16
18
19 void getConstitutiveMatrix( double *& ) override;
20
21 void getInternalStress( const std::vector<std::vector<double>> &, double *& ) override;
22
23 void preLinearAssembly() override { d_gaussPtCnt = 0; }
24
26
27 void preNonlinearInit( bool, bool ) override;
28
29 void nonlinearInitGaussPointOperation( double ) override;
30
31 void preNonlinearAssembly() override
32 {
33
35
36 d_gaussPtCnt = 0;
37 }
38
39 void postNonlinearAssembly() override;
40
42
43 void preNonlinearReset() override { d_gaussPtCnt = 0; }
44
46
47 void nonlinearResetGaussPointOperation( const std::vector<std::vector<double>> & ) override;
48
49 void globalReset() override;
50
51 void postNonlinearReset() override;
52
53 void preNonlinearJacobian() override { d_gaussPtCnt = 0; }
54
56
57 void nonlinearJacobianGaussPointOperation( const std::vector<std::vector<double>> & ) override;
58
59protected:
60 void computeEvalv( const std::vector<std::vector<double>> & );
61
62 void radialReturn( const double *stra_np1,
63 double *stre_np1,
64 double *ystre_np1,
65 double *eph_bar_plas_np1 );
66
70
71 unsigned int d_gaussPtCnt;
72 unsigned int Total_Gauss_Point;
73 unsigned int Plastic_Gauss_Point;
74
78
79 double default_E;
80 double default_Nu;
82
83 double d_H;
84 double d_Sig0;
86
87 std::vector<int> d_ElPl;
88 std::vector<double> d_E;
89 std::vector<double> d_Nu;
90 std::vector<double> d_alpha;
91 std::vector<double> d_EquilibriumStress;
92 std::vector<double> d_EquilibriumStrain;
93 std::vector<double> d_EquilibriumYieldStress;
95 std::vector<double> d_EquilibriumTemperature;
96 std::vector<double> d_Lambda;
97 std::vector<double> d_tmp1Stress;
98 std::vector<double> d_tmp1Strain;
99 std::vector<double> d_tmp1YieldStress;
100 std::vector<double> d_tmp1EffectivePlasticStrain;
101 std::vector<double> d_tmp1Temperature;
102 std::vector<double> d_tmp2Stress;
103 std::vector<double> d_tmp2YieldStress;
104 std::vector<double> d_tmp2EffectivePlasticStrain;
105
106private:
107};
108} // namespace AMP::Operator
109
110#endif
void getInternalStress(const std::vector< std::vector< double > > &, double *&) override
void nonlinearInitGaussPointOperation(double) override
void nonlinearResetGaussPointOperation(const std::vector< std::vector< double > > &) override
void radialReturn(const double *stra_np1, double *stre_np1, double *ystre_np1, double *eph_bar_plas_np1)
void computeEvalv(const std::vector< std::vector< double > > &)
void getConstitutiveMatrix(double *&) override
void nonlinearJacobianGaussPointOperation(const std::vector< std::vector< double > > &) override
void preNonlinearInit(bool, bool) override
ThermalVonMisesMatModel(std::shared_ptr< MechanicsMaterialModelParameters >)



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page