10 #if !defined(KRATOS_NONLOCAL_V2_GENS_NOVA_MODEL_H_INCLUDED )
11 #define KRATOS_NONLOCAL_V2_GENS_NOVA_MODEL_H_INCLUDED
120 ConstitutiveModel::Pointer
Clone()
const override
154 virtual std::string
Info()
const override
156 std::stringstream buffer;
157 buffer <<
"NonlocalV2GensNovaModel" ;
162 virtual void PrintInfo(std::ostream& rOStream)
const override
164 rOStream <<
"NonlocalV2GensNovaModel";
168 virtual void PrintData(std::ostream& rOStream)
const override
170 rOStream <<
"NonlocalV2GensNovaModel Data";
207 double LocalPlasticVolStrain = mInternal.Variables[1];
208 double NonLocalPlasticVolStrain = mInternal.Variables[7];
209 mInternal.Variables[1] = mInternal.Variables[7];
211 double LocalPlasticDevStrain = mInternal.Variables[2];
212 double NonLocalPlasticDevStrain = mInternal.Variables[8];
213 mInternal.Variables[2] = mInternal.Variables[8];
215 double LocalPlasticVolStrainAbs = mInternal.Variables[6];
216 double NonLocalPlasticVolStrainAbs = mInternal.Variables[9];
217 mInternal.Variables[6] = mInternal.Variables[9];
227 const double & rPs0 = rMaterialProperties[PS];
228 const double & rPt0 = rMaterialProperties[PT];
229 const double & rChis = rMaterialProperties[CHIS];
230 const double & rChit = rMaterialProperties[CHIT];
231 const double & rhos = rMaterialProperties[RHOS];
232 const double & rhot = rMaterialProperties[RHOT];
233 const double &
k = rMaterialProperties[KSIM];
235 const double & rPlasticVolDef = Variables.Internal.Variables[1];
236 const double & rPlasticDevDef = Variables.Internal.Variables[2];
237 const double & rPlasticVolDefAbs = Variables.Internal.Variables[6];
239 double sq2_3 = sqrt(2.0/3.0);
242 ps = rPlasticVolDef + sq2_3 * rChis * rPlasticDevDef;
243 ps = (-rPs0) * std::exp( -rhos*ps);
246 pt = rPlasticVolDefAbs + sq2_3 * rChit * rPlasticDevDef;
247 pt = (-rPt0) * std::exp( rhot*pt);
250 pm = ps + (1.0+
k)*pt;
253 mInternal.Variables[3] = ps;
254 mInternal.Variables[4] = pt;
255 mInternal.Variables[5] = pm;
259 if ( rValues.
State.
Is(ConstitutiveModelData::UPDATE_INTERNAL_VARIABLES) ) {
261 mPreviousInternal.Variables[7] = mInternal.Variables[7];
262 mPreviousInternal.Variables[8] = mInternal.Variables[8];
263 mPreviousInternal.Variables[9] = mInternal.Variables[9];
265 mInternal.Variables[7] = mInternal.Variables[1];
266 mInternal.Variables[8] = mInternal.Variables[2];
267 mInternal.Variables[9] = mInternal.Variables[6];
269 mInternal.Variables[1] = LocalPlasticVolStrain + ( mInternal.Variables[1] - NonLocalPlasticVolStrain);
270 mInternal.Variables[2] = LocalPlasticDevStrain + ( mInternal.Variables[2] - NonLocalPlasticDevStrain);
271 mInternal.Variables[6] = LocalPlasticVolStrainAbs + ( mInternal.Variables[6] - NonLocalPlasticVolStrainAbs);
276 mInternal.Variables[1] = LocalPlasticVolStrain;
277 mInternal.Variables[2] = LocalPlasticDevStrain;
278 mInternal.Variables[6] = LocalPlasticVolStrainAbs;
337 virtual void save(
Serializer& rSerializer)
const override
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
bool Is(Flags const &rOther) const
Definition: flags.h:274
Short class definition.
Definition: gens_nova_hardening_rule.hpp:48
Short class definition.
Definition: gens_nova_yield_surface.hpp:51
Definition: amatrix_interface.h:41
void CalculateStressAndConstitutiveTensors(ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
Definition: non_associative_plasticity_model.hpp:222
BaseType::PlasticDataType PlasticDataType
Definition: non_associative_plasticity_model.hpp:86
Short class definition.
Definition: nonlocal_v2_gens_nova_model.hpp:69
BaseType::MatrixType MatrixType
Definition: nonlocal_v2_gens_nova_model.hpp:92
BaseType::PlasticDataType PlasticDataType
Definition: nonlocal_v2_gens_nova_model.hpp:95
virtual ~NonlocalV2GensNovaModel()
Destructor.
Definition: nonlocal_v2_gens_nova_model.hpp:126
BaseType::Pointer BaseTypePointer
Definition: nonlocal_v2_gens_nova_model.hpp:89
NonlocalV2GensNovaModel & operator=(NonlocalV2GensNovaModel const &rOther)
Assignment operator.
Definition: nonlocal_v2_gens_nova_model.hpp:113
void CalculateStressAndConstitutiveTensors(ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
Definition: nonlocal_v2_gens_nova_model.hpp:200
virtual std::string Info() const override
Turn back information as a string.
Definition: nonlocal_v2_gens_nova_model.hpp:154
NonlocalV2GensNovaModel()
Default constructor.
Definition: nonlocal_v2_gens_nova_model.hpp:107
ConstitutiveModel::Pointer Clone() const override
Clone.
Definition: nonlocal_v2_gens_nova_model.hpp:120
ElasticityModelType::Pointer ElasticityModelPointer
Definition: nonlocal_v2_gens_nova_model.hpp:78
BaseType::ModelDataType ModelDataType
Definition: nonlocal_v2_gens_nova_model.hpp:93
NonlocalV2GensNovaModel(NonlocalV2GensNovaModel const &rOther)
Copy constructor.
Definition: nonlocal_v2_gens_nova_model.hpp:110
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: nonlocal_v2_gens_nova_model.hpp:162
YieldSurfaceType::Pointer YieldSurfacePointer
Definition: nonlocal_v2_gens_nova_model.hpp:83
BaseType::InternalVariablesType InternalVariablesType
Definition: nonlocal_v2_gens_nova_model.hpp:96
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: nonlocal_v2_gens_nova_model.hpp:168
BaseType::MaterialDataType MaterialDataType
Definition: nonlocal_v2_gens_nova_model.hpp:94
KRATOS_CLASS_POINTER_DEFINITION(NonlocalV2GensNovaModel)
Pointer definition of NonlocalV2GensNovaModel.
BaseType::VoigtIndexType VoigtIndexType
Definition: nonlocal_v2_gens_nova_model.hpp:91
BaseType::SizeType SizeType
Definition: nonlocal_v2_gens_nova_model.hpp:90
StructuredSoilModel< ElasticityModelType, YieldSurfaceType > BaseType
Definition: nonlocal_v2_gens_nova_model.hpp:86
TamagniniModel ElasticityModelType
Definition: nonlocal_v2_gens_nova_model.hpp:77
GensNovaHardeningRule HardeningRuleType
Definition: nonlocal_v2_gens_nova_model.hpp:81
GensNovaYieldSurface< HardeningRuleType > YieldSurfaceType
Definition: nonlocal_v2_gens_nova_model.hpp:82
Short class definition.
Definition: plasticity_model.hpp:50
TYieldSurface::InternalVariablesType InternalVariablesType
Definition: plasticity_model.hpp:69
ConstitutiveModelData::SizeType SizeType
Definition: plasticity_model.hpp:63
ConstitutiveModelData::VoigtIndexType VoigtIndexType
Definition: plasticity_model.hpp:64
TYieldSurface::PlasticDataType PlasticDataType
Definition: plasticity_model.hpp:68
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: structured_soil_model.hpp:66
Short class definition.
Definition: tamagnini_model.hpp:48
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
void InitializeVariables(TContainerType &rContainer, const Variable< TDataType > &rOutputVariable, const Variable< TDataType > &rReferenceVariable)
Definition: temporal_method_utilities.h:36
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
int k
Definition: quadrature.py:595
Definition: constitutive_model_data.hpp:92
Definition: constitutive_model_data.hpp:383
const Properties & GetProperties() const
Definition: constitutive_model_data.hpp:431
Flags State
Definition: constitutive_model_data.hpp:399