59 #include "utility/matrix/nDarray/stresst.h" 60 #include "utility/matrix/nDarray/straint.h" 61 #include "utility/matrix/nDarray/BJtensor.h" 62 #include "utility/kernel/CommandEntity.h" 65 const size_t MaxNScalarVar= 4;
66 const size_t MaxNTensorVar= 4;
80 state_vars(
const std::vector<double> &Scalarp,
const std::vector<stresstensor> &Tensorp);
87 const std::vector<double> &Scalar,
88 const std::vector<stresstensor> &Tensor,
93 const std::vector<double> &Scalarp,
94 const std::vector<stresstensor> &Tensorp);
101 inline size_t getNScalarVar()
const 102 {
return ScalarVar.size(); }
103 const std::vector<double> &getScalarVar(
void)
const;
104 const double &getScalarVar(
size_t WhichOne)
const;
105 boost::python::list getScalarVarPy(
void)
const;
106 void setScalarVar(
const std::vector<double> &);
107 void setScalarVarPy(
const boost::python::list &);
108 void setScalarVar(
size_t WhichOne,
const double &rval);
109 inline size_t getNTensorVar()
const 110 {
return TensorVar.size(); }
111 const std::vector<stresstensor> &getTensorVar(
void)
const;
112 const stresstensor &getTensorVar(
size_t WhichOne)
const;
113 boost::python::list getTensorVarPy(
void)
const;
114 void setTensorVar(
const std::vector<stresstensor> &);
115 void setTensorVarPy(
const boost::python::list &);
116 void setTensorVar(
size_t WhichOne,
const stresstensor &);
127 trial_state_vars(
const std::vector<double> &Scalarp,
const std::vector<stresstensor> &Tensorp);
138 const std::vector<double> &Scalar,
139 const std::vector<stresstensor> &Tensor,
299 EPState(
const std::vector<double> &Scalarp,
300 const std::vector<stresstensor> &Tensorp );
314 size_t getNScalarVar()
const;
315 size_t getNTensorVar()
const;
316 bool getConverged()
const;
323 double getpsi()
const;
324 int getIntegratorFlag()
const;
341 const std::vector<double> &getScalarVar_commit()
const;
342 double getScalarVar_commit(
int i)
const;
343 const std::vector<stresstensor> &getTensorVar_commit()
const;
345 const BJtensor &getEep_commit()
const;
350 const std::vector<double> & getScalarVar_init()
const;
351 double getScalarVar_init(
int i)
const;
352 const std::vector<stresstensor> &getTensorVar_init()
const;
354 const BJtensor &getEep_init()
const;
366 void setIterativeStress(
const stresstensor &newstress );
371 void setElasticStrain_commit(
const straintensor &newstrain );
378 void setdElasticStrain(
const straintensor &newstrain );
379 void setdPlasticStrain(
const straintensor &newstrain );
381 void setConverged(
bool b);
387 void sete(
double ed );
388 void setpsi(
double psid );
393 const double &getScalarVar(
size_t WhichOne)
const;
394 const stresstensor &getTensorVar(
size_t WhichOne)
const;
397 const std::vector<double> &getScalarVar(
void)
const;
398 boost::python::list getScalarVarPy(
void)
const;
399 const std::vector<stresstensor> &getTensorVar()
const;
400 boost::python::list getTensorVarPy(
void)
const;
403 void setScalarVar(
size_t WhichOne,
const double &rval);
404 void setScalarVar_commit(
size_t WhichOne,
const double &rval);
405 void setScalarVar_init(
size_t WhichOne,
const double &rval);
407 void setTensorVar(
size_t WhichOne,
const stresstensor &rval);
408 void setTensorVar_commit(
size_t WhichOne,
const stresstensor &rval);
409 void setTensorVar_init(
size_t WhichOne,
const stresstensor &rval);
411 void setScalarVar(
const std::vector<double> &);
412 void setScalarVarPy(
const boost::python::list &);
413 void setTensorVar(
const std::vector<stresstensor> &rval);
414 void setTensorVarPy(
const boost::python::list &);
418 int commitState(
void);
419 int revertToLastCommit(
void);
420 int revertToStart(
void);
422 void print(std::ostream &)
const;
424 std::ostream & operator<<(std::ostream &,
const EPState &);
std::vector< double > ScalarVar
scalar variable array for scalar hardening vars
Definition: EPState.h:76
Stress tensor.
Definition: stresst.h:70
Definition: EPState.h:120
straintensor dPlasticStrain
Current plastic strain increment.
Definition: EPState.h:125
double Delta_lambda
Guanzhou Mar2005.
Definition: EPState.h:167
Boris Jeremic tensor class.
Definition: BJtensor.h:112
state_vars initStateVars
Initial state.
Definition: EPState.h:163
state_vars(void)
Default constructor.
Definition: EPState.cpp:58
state_vars commitStateVars
Committed state.
Definition: EPState.h:162
Base class for all elasto-plastic states.
Definition: EPState.h:151
Objet that can execute python scripts.
Definition: CommandEntity.h:40
BJtensor Eep
Elastic plastic stifness tensor.
Definition: EPState.h:78
straintensor PlasticStrain
Current cumulative plastic strain.
Definition: EPState.h:123
stresstensor IterativeStress
Iterative Stress.
Definition: EPState.h:122
straintensor ElasticStrain
GZ Mar2005.
Definition: EPState.h:74
std::vector< stresstensor > TensorVar
tensor variable array for tensor hardening vars
Definition: EPState.h:77
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
straintensor dElasticStrain
Current elastic strain increment.
Definition: EPState.h:124
straintensor Strain
strain –total
Definition: EPState.h:73
bool Converged
Bool to indicate whether this is the converged EPState by current CDriver.
Definition: EPState.h:165
Strain tensor.
Definition: straint.h:68
trial_state_vars trialStateVars
Trial state.
Definition: EPState.h:161
stresstensor Stress
stress –total
Definition: EPState.h:72