Go to the documentation of this file.
71Steel1 :: computeJ2InvariantAt(
FloatArray *currentStress)
const
79 if ( currentStress == NULL ) {
83 v1 = ( ( currentStress->at(1) - currentStress->at(2) ) * ( currentStress->at(1) - currentStress->at(2) ) );
84 v2 = ( ( currentStress->at(2) - currentStress->at(3) ) * ( currentStress->at(2) - currentStress->at(3) ) );
85 v3 = ( ( currentStress->at(3) - currentStress->at(1) ) * ( currentStress->at(3) - currentStress->at(1) ) );
87 answer = ( 1. / 6. ) * ( v1 + v2 + v3 ) + currentStress->at(4) * currentStress->at(4) +
88 currentStress->at(5) * currentStress->at(5) + currentStress->at(6) * currentStress->at(6);
106 double f, sigx, sigy, sigz, sx, sy, sz;
109 if ( currentStress == NULL ) {
114 sigx = currentStress->at(1);
115 sigy = currentStress->at(2);
116 sigz = currentStress->at(3);
118 sx = ( 2. / 3. ) * sigx - ( 1. / 3. ) * sigy - ( 1. / 3. ) * sigz;
119 sy = ( 2. / 3. ) * sigy - ( 1. / 3. ) * sigx - ( 1. / 3. ) * sigz;
120 sz = ( 2. / 3. ) * sigz - ( 1. / 3. ) * sigy - ( 1. / 3. ) * sigx;
122 answer->
at(1) = 0.5 * sx / f;
123 answer->
at(2) = 0.5 * sy / f;
124 answer->
at(3) = 0.5 * sz / f;
125 answer->
at(4) = currentStress->at(4) / f;
126 answer->
at(5) = currentStress->at(5) / f;
127 answer->
at(6) = currentStress->at(6) / f;
178 PerfectlyPlasticMaterial :: initializeFrom(ir);
#define REGISTER_Material(class)
Dictionary propertyDictionary
LinearElasticMaterial * linearElasticMaterial
double give(int aProperty, GaussPoint *gp) const override
PerfectlyPlasticMaterial(int n, Domain *d)
FloatArray * GiveYCPlasticStrainGradient(GaussPoint *, FloatArray *, FloatArray *) const override
double computeJ2InvariantAt(FloatArray *) const
FloatArray * GiveYCStressGradient(GaussPoint *, FloatArray *, FloatArray *) const override
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011