www.mooseframework.org
AbaqusCreepMaterial.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #include "SolidModel.h"
8 
9 #ifndef ABAQUSCREEPMATERIAL_H
10 #define ABAQUSCREEPMATERIAL_H
11 
12 typedef void (*creep_t)(Real DECRA[],
13  Real DESWA[],
14  Real STATEV[],
15  Real * SERD,
16  Real EC[],
17  Real ESW[],
18  Real * P,
19  Real * QTILD,
20  Real * TEMP,
21  Real * DTEMP,
22  Real PREDEF[],
23  Real DPRED[],
24  Real TIME[],
25  Real * DTIME,
26  Real * CMNAME,
27  Real * LEXIMP,
28  Real * LEND,
29  Real COORDS[],
30  Real * NSTATV,
31  int * NOEL,
32  int * NPT,
33  int * LAYER,
34  int * KSPT,
35  int * KSTEP,
36  int * KINC);
37 
38 // Forward Declaration
40 
41 template <>
42 InputParameters validParams<AbaqusCreepMaterial>();
43 
44 // class define a property
45 // class AbaqusCreepMaterial : public VolumetricModel
47 {
48 public:
49  AbaqusCreepMaterial(const InputParameters & parameters);
50 
51  virtual ~AbaqusCreepMaterial();
52 
53 protected:
54  FileName _plugin;
57 
58  // The plugin library handle
59  void * _handle;
60 
61  // Function pointer to the dynamically loaded function
63 
64  // CREEP subroutine real scalar values
66 
67  // CREEP subroutine arrays
68  Real _DECRA[5], _DESWA[5], *_STATEV, _PREDEF[1], _DPRED[1], _TIME[2], _EC[2], _ESW[2], _COORDS[3];
69 
70  // CREEP subroutine Integer values
72 
73  // Elasticity reference
75 
76  virtual void initStatefulProperties(unsigned n_points);
77  // virtual void modifyStrain(const unsigned int qp,
78  // const Real /*scale_factor*/,
79  // SymmTensor & strain_increment,
80  // SymmTensor & dstrain_increment_dT);
81  void computeStress();
82 
83  MaterialProperty<std::vector<Real>> & _state_var;
84  const MaterialProperty<std::vector<Real>> & _state_var_old;
85  MaterialProperty<SymmTensor> & _trial_stress;
86  const MaterialProperty<SymmTensor> & _trial_stress_old;
87  MaterialProperty<SymmTensor> & _dev_trial_stress;
88  const MaterialProperty<SymmTensor> & _dev_trial_stress_old;
89  MaterialProperty<Real> & _ets;
90  const MaterialProperty<Real> & _ets_old;
91  MaterialProperty<SymmTensor> & _stress;
92  const MaterialProperty<SymmTensor> & _stress_old;
93  MaterialProperty<Real> & _creep_inc;
94  const MaterialProperty<Real> & _creep_inc_old;
95  MaterialProperty<Real> & _total_creep;
96  const MaterialProperty<Real> & _total_creep_old;
97  MaterialProperty<Real> & _swell_inc;
98  const MaterialProperty<Real> & _swell_inc_old;
99  MaterialProperty<Real> & _total_swell;
100  const MaterialProperty<Real> & _total_swell_old;
101 };
102 
103 #endif // ABAQUSCREEPMATERIAL_H
MaterialProperty< SymmTensor > & _trial_stress
InputParameters validParams< AbaqusCreepMaterial >()
MaterialProperty< Real > & _ets
MaterialProperty< std::vector< Real > > & _state_var
MaterialProperty< SymmTensor > & _stress
const MaterialProperty< SymmTensor > & _stress_old
virtual void initStatefulProperties(unsigned n_points)
SolidModel is the base class for all this module&#39;s solid mechanics material models.
Definition: SolidModel.h:31
const MaterialProperty< Real > & _creep_inc_old
MaterialProperty< Real > & _swell_inc
const MaterialProperty< Real > & _total_swell_old
AbaqusCreepMaterial(const InputParameters &parameters)
const MaterialProperty< Real > & _ets_old
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)
MaterialProperty< Real > & _total_creep
const MaterialProperty< Real > & _swell_inc_old
const MaterialProperty< SymmTensor > & _trial_stress_old
MaterialProperty< Real > & _total_swell
MaterialProperty< Real > & _creep_inc
unsigned int _num_state_vars
const MaterialProperty< std::vector< Real > > & _state_var_old
const MaterialProperty< SymmTensor > & _dev_trial_stress_old
unsigned int _integration_flag
unsigned int _solve_definition
void computeStress()
Compute the stress (sigma += deltaSigma)
const MaterialProperty< Real > & _total_creep_old
MaterialProperty< SymmTensor > & _dev_trial_stress