Advanced Multi-Physics (AMP)
On-Line Documentation
GeneralCladThermalCreepPlasticModel.h
Go to the documentation of this file.
1#ifndef included_AMP_GeneralCladThermalCreepPlasticModel
2#define included_AMP_GeneralCladThermalCreepPlasticModel
3
4#include "AMP/operators/mechanics/MechanicsMaterialModel.h"
5
6#include <memory>
7#include <vector>
8
9
10namespace AMP::Operator {
11
23{
24public:
92 std::shared_ptr<MechanicsMaterialModelParameters> );
93
98
103 void getConstitutiveMatrix( double *& ) override;
104
110 void getInternalStress( const std::vector<std::vector<double>> &, double *& ) override;
111
115 void preLinearAssembly() override { d_gaussPtCnt = 0; }
116
121
126 void preNonlinearInit( bool, bool ) override;
127
131 void nonlinearInitGaussPointOperation( double ) override;
132
137 void preNonlinearAssembly() override
138 {
139
141
142 d_gaussPtCnt = 0;
143 }
144
149 void postNonlinearAssembly() override;
150
155
159 void preNonlinearReset() override { d_gaussPtCnt = 0; }
160
165
169 void nonlinearResetGaussPointOperation( const std::vector<std::vector<double>> & ) override;
170
174 void globalReset() override;
175
179 void postNonlinearReset() override;
180
184 void preNonlinearJacobian() override { d_gaussPtCnt = 0; }
185
191
196 void nonlinearJacobianGaussPointOperation( const std::vector<std::vector<double>> & ) override;
197
198protected:
207 void computeEvalv( const std::vector<std::vector<double>> & );
208
214 void radialReturn( const double *stra_np1,
215 double *stre_np1,
216 double *ystre_np1,
217 double *eph_bar_plas_np1 );
218
224 double help_compute_E1( const double Temp_np1, double effective_stress );
225
229 int det_sign( double a );
230
236 double compute_dE1_dsig_e( double effective_stress_trial,
237 double effective_stress,
238 double Temp_np1,
239 double G );
240
247 void computeCreepStrain( const double Temp_np1,
248 const double stress_n[6],
249 const double creep_strain_prev,
250 double delta_creep_strain[6],
251 double net_stra_np1[6] );
252
264 double default_E;
266 double default_Nu;
268 double d_H;
270 double d_n;
272 double d_Sig0;
279 [6];
281 unsigned int d_gaussPtCnt;
283 unsigned int
286 unsigned int Plastic_Gauss_Point;
289 std::vector<double>
292 std::vector<double>
295 std::vector<double> d_alpha;
298 std::vector<double> d_StrengthCoeff;
302 std::vector<double> d_PlasticExponent;
306 std::vector<double>
309 std::vector<double>
312 std::vector<double>
316 std::vector<double>
321 std::vector<double> d_EquilibriumCreepStrain;
325 std::vector<double> d_EquilibriumTemperature;
328 std::vector<double> d_EquilibriumThermalStrain;
332 std::vector<double> d_Lambda;
335 std::vector<int> d_ElPl;
339 std::vector<double>
342 std::vector<double>
345 std::vector<double> d_tmp1YieldStress;
348 std::vector<double>
352 std::vector<double> d_tmp1CreepStrain;
355 std::vector<double> d_tmp1Temperature;
358 std::vector<double> d_tmp1ThermalStrain;
361 std::vector<double> d_tmp2Stress;
364 std::vector<double> d_tmp2YieldStress;
368 std::vector<double> d_tmp2EffectivePlasticStrain;
374
376
383private:
384};
385} // namespace AMP::Operator
386
387#endif
Non-linear elasto-plastic mechanics with only isotropic options for thermal and creep strains.
double compute_dE1_dsig_e(double effective_stress_trial, double effective_stress, double Temp_np1, double G)
void getInternalStress(const std::vector< std::vector< double > > &, double *&) override
void nonlinearResetGaussPointOperation(const std::vector< std::vector< double > > &) override
void computeEvalv(const std::vector< std::vector< double > > &)
GeneralCladThermalCreepPlasticModel(std::shared_ptr< MechanicsMaterialModelParameters >)
void nonlinearJacobianGaussPointOperation(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 computeCreepStrain(const double Temp_np1, const double stress_n[6], const double creep_strain_prev, double delta_creep_strain[6], double net_stra_np1[6])
double help_compute_E1(const double Temp_np1, double effective_stress)



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