www.mooseframework.org
AbaqusCreepMaterial.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 #include "SolidModel.h"
12 
13 
14 typedef void (*creep_t)(Real DECRA[],
15  Real DESWA[],
16  Real STATEV[],
17  Real * SERD,
18  Real EC[],
19  Real ESW[],
20  Real * P,
21  Real * QTILD,
22  Real * TEMP,
23  Real * DTEMP,
24  Real PREDEF[],
25  Real DPRED[],
26  Real TIME[],
27  Real * DTIME,
28  Real * CMNAME,
29  Real * LEXIMP,
30  Real * LEND,
31  Real COORDS[],
32  Real * NSTATV,
33  int * NOEL,
34  int * NPT,
35  int * LAYER,
36  int * KSPT,
37  int * KSTEP,
38  int * KINC);
39 
40 // Forward Declaration
42 
43 template <>
44 InputParameters validParams<AbaqusCreepMaterial>();
45 
46 // class define a property
47 // class AbaqusCreepMaterial : public VolumetricModel
49 {
50 public:
51  AbaqusCreepMaterial(const InputParameters & parameters);
52 
53  virtual ~AbaqusCreepMaterial();
54 
55 protected:
56  FileName _plugin;
59 
60  // The plugin library handle
61  void * _handle;
62 
63  // Function pointer to the dynamically loaded function
65 
66  // CREEP subroutine real scalar values
68 
69  // CREEP subroutine arrays
70  Real _DECRA[5], _DESWA[5], *_STATEV, _PREDEF[1], _DPRED[1], _TIME[2], _EC[2], _ESW[2], _COORDS[3];
71 
72  // CREEP subroutine Integer values
74 
75  // Elasticity reference
77 
78  virtual void initStatefulProperties(unsigned n_points);
79  // virtual void modifyStrain(const unsigned int qp,
80  // const Real /*scale_factor*/,
81  // SymmTensor & strain_increment,
82  // SymmTensor & dstrain_increment_dT);
83  void computeStress();
84 
85  MaterialProperty<std::vector<Real>> & _state_var;
86  const MaterialProperty<std::vector<Real>> & _state_var_old;
87  MaterialProperty<SymmTensor> & _trial_stress;
88  const MaterialProperty<SymmTensor> & _trial_stress_old;
89  MaterialProperty<SymmTensor> & _dev_trial_stress;
90  const MaterialProperty<SymmTensor> & _dev_trial_stress_old;
91  MaterialProperty<Real> & _ets;
92  const MaterialProperty<Real> & _ets_old;
93  MaterialProperty<SymmTensor> & _stress;
94  const MaterialProperty<SymmTensor> & _stress_old;
95  MaterialProperty<Real> & _creep_inc;
96  const MaterialProperty<Real> & _creep_inc_old;
97  MaterialProperty<Real> & _total_creep;
98  const MaterialProperty<Real> & _total_creep_old;
99  MaterialProperty<Real> & _swell_inc;
100  const MaterialProperty<Real> & _swell_inc_old;
101  MaterialProperty<Real> & _total_swell;
102  const MaterialProperty<Real> & _total_swell_old;
103 };
104 
AbaqusCreepMaterial::_youngs_modulus
Real _youngs_modulus
Definition: AbaqusCreepMaterial.h:57
AbaqusCreepMaterial::_swell_inc_old
const MaterialProperty< Real > & _swell_inc_old
Definition: AbaqusCreepMaterial.h:100
AbaqusCreepMaterial::_stress_component
Real _stress_component[6]
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_num_state_vars
unsigned int _num_state_vars
Definition: AbaqusCreepMaterial.h:58
validParams< AbaqusCreepMaterial >
InputParameters validParams< AbaqusCreepMaterial >()
Definition: AbaqusCreepMaterial.C:22
AbaqusCreepMaterial::_ESW
Real _ESW[2]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_ets
MaterialProperty< Real > & _ets
Definition: AbaqusCreepMaterial.h:91
AbaqusCreepMaterial::_NSTATV
Real _NSTATV
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_total_creep
MaterialProperty< Real > & _total_creep
Definition: AbaqusCreepMaterial.h:97
AbaqusCreepMaterial::_stress_old
const MaterialProperty< SymmTensor > & _stress_old
Definition: AbaqusCreepMaterial.h:94
AbaqusCreepMaterial::_swell_inc
MaterialProperty< Real > & _swell_inc
Definition: AbaqusCreepMaterial.h:99
AbaqusCreepMaterial::_ets_old
const MaterialProperty< Real > & _ets_old
Definition: AbaqusCreepMaterial.h:92
AbaqusCreepMaterial::_COORDS
Real _COORDS[3]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_LEXIMP
Real _LEXIMP
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_NOEL
int _NOEL
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::_LAYER
int _LAYER
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::~AbaqusCreepMaterial
virtual ~AbaqusCreepMaterial()
Definition: AbaqusCreepMaterial.C:125
AbaqusCreepMaterial::_KINC
int _KINC
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::_trial_stress
MaterialProperty< SymmTensor > & _trial_stress
Definition: AbaqusCreepMaterial.h:87
AbaqusCreepMaterial::_handle
void * _handle
Definition: AbaqusCreepMaterial.h:61
AbaqusCreepMaterial::_PREDEF
Real _PREDEF[1]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_TEMP
Real _TEMP
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_total_swell
MaterialProperty< Real > & _total_swell
Definition: AbaqusCreepMaterial.h:101
AbaqusCreepMaterial::_total_creep_old
const MaterialProperty< Real > & _total_creep_old
Definition: AbaqusCreepMaterial.h:98
AbaqusCreepMaterial::_state_var_old
const MaterialProperty< std::vector< Real > > & _state_var_old
Definition: AbaqusCreepMaterial.h:86
AbaqusCreepMaterial::_dev_trial_stress_old
const MaterialProperty< SymmTensor > & _dev_trial_stress_old
Definition: AbaqusCreepMaterial.h:90
creep_t
void(* creep_t)(Real DECRA[], Real DESWA[], Real STATEV[], Real *SERD, Real EC[], Real ESW[], Real *P, Real *QTILD, Real *TEMP, Real *DTEMP, Real PREDEF[], Real DPRED[], Real TIME[], Real *DTIME, Real *CMNAME, Real *LEXIMP, Real *LEND, Real COORDS[], Real *NSTATV, int *NOEL, int *NPT, int *LAYER, int *KSPT, int *KSTEP, int *KINC)
Definition: AbaqusCreepMaterial.h:14
AbaqusCreepMaterial::_TIME
Real _TIME[2]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_CMNAME
Real _CMNAME
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_solve_definition
unsigned int _solve_definition
Definition: AbaqusCreepMaterial.h:58
AbaqusCreepMaterial::_eg3
Real _eg3
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_total_swell_old
const MaterialProperty< Real > & _total_swell_old
Definition: AbaqusCreepMaterial.h:102
AbaqusCreepMaterial::_trial_stress_old
const MaterialProperty< SymmTensor > & _trial_stress_old
Definition: AbaqusCreepMaterial.h:88
AbaqusCreepMaterial::_poissons_ratio
Real _poissons_ratio
Definition: AbaqusCreepMaterial.h:57
AbaqusCreepMaterial::_creep_inc_old
const MaterialProperty< Real > & _creep_inc_old
Definition: AbaqusCreepMaterial.h:96
AbaqusCreepMaterial::_eg2
Real _eg2
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_elam
Real _elam
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_stress
MaterialProperty< SymmTensor > & _stress
Definition: AbaqusCreepMaterial.h:93
SolidModel
SolidModel is the base class for all this module's solid mechanics material models.
Definition: SolidModel.h:33
AbaqusCreepMaterial::_DPRED
Real _DPRED[1]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_P
Real _P
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_DESWA
Real _DESWA[5]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_STATEV
Real * _STATEV
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_QTILD
Real _QTILD
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial
Definition: AbaqusCreepMaterial.h:48
AbaqusCreepMaterial::_elasticity_tensor
Real _elasticity_tensor[3]
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_routine_flag
unsigned int _routine_flag
Definition: AbaqusCreepMaterial.h:58
AbaqusCreepMaterial::AbaqusCreepMaterial
AbaqusCreepMaterial(const InputParameters &parameters)
Definition: AbaqusCreepMaterial.C:45
AbaqusCreepMaterial::_ebulk3
Real _ebulk3
Definition: AbaqusCreepMaterial.h:76
AbaqusCreepMaterial::_creep_inc
MaterialProperty< Real > & _creep_inc
Definition: AbaqusCreepMaterial.h:95
AbaqusCreepMaterial::_integration_flag
unsigned int _integration_flag
Definition: AbaqusCreepMaterial.h:58
AbaqusCreepMaterial::initStatefulProperties
virtual void initStatefulProperties(unsigned n_points)
Definition: AbaqusCreepMaterial.C:133
AbaqusCreepMaterial::_NPT
int _NPT
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::_LEND
Real _LEND
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_SERD
Real _SERD
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_creep
creep_t _creep
Definition: AbaqusCreepMaterial.h:64
AbaqusCreepMaterial::_KSTEP
int _KSTEP
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::_KSPT
int _KSPT
Definition: AbaqusCreepMaterial.h:73
AbaqusCreepMaterial::_eg
Real _eg
Definition: AbaqusCreepMaterial.h:76
SolidModel.h
AbaqusCreepMaterial::computeStress
void computeStress()
Compute the stress (sigma += deltaSigma)
Definition: AbaqusCreepMaterial.C:151
AbaqusCreepMaterial::_EC
Real _EC[2]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_DTEMP
Real _DTEMP
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_DECRA
Real _DECRA[5]
Definition: AbaqusCreepMaterial.h:70
AbaqusCreepMaterial::_plugin
FileName _plugin
Definition: AbaqusCreepMaterial.h:56
AbaqusCreepMaterial::_DTIME
Real _DTIME
Definition: AbaqusCreepMaterial.h:67
AbaqusCreepMaterial::_state_var
MaterialProperty< std::vector< Real > > & _state_var
Definition: AbaqusCreepMaterial.h:85
AbaqusCreepMaterial::_dev_trial_stress
MaterialProperty< SymmTensor > & _dev_trial_stress
Definition: AbaqusCreepMaterial.h:89