diff --git a/NonLinearSolver/internalPoints/ipField.cpp b/NonLinearSolver/internalPoints/ipField.cpp index cc2444f8953a2a6413287c0a18267a864147d0a7..c6c8c87134c59889a57167d8c401619cead1dc51 100644 --- a/NonLinearSolver/internalPoints/ipField.cpp +++ b/NonLinearSolver/internalPoints/ipField.cpp @@ -209,6 +209,12 @@ std::string IPField::ToString(const int i){ else if (i == EXTRAFIELD_NORM) return "EXTRAFIELD_NORM"; else if (i == DELETED) return "DELETED"; else if (i == LOST_ELLIPTICITY) return "LOST_ELLIPTICITY"; + else if (i == LOCAL_0) return "LOCAL_0"; + else if (i == LOCAL_1) return "LOCAL_1"; + else if (i == LOCAL_2) return "LOCAL_2"; + else if (i == NONLOCAL_0) return "NONLOCAL_0"; + else if (i == NONLOCAL_1) return "NONLOCAL_1"; + else if (i == NONLOCAL_2) return "NONLOCAL_2"; else{ Msg::Warning("This IP field %d is not defined in IPField::ToString(%d)",i,i); return "UNDEFINED"; diff --git a/NonLinearSolver/internalPoints/ipField.h b/NonLinearSolver/internalPoints/ipField.h index 88b06e28350769f2c7604544fea7958787b3cc2b..f611cafe1b5c7eee0a399e5920e1d755a2d06e11 100644 --- a/NonLinearSolver/internalPoints/ipField.h +++ b/NonLinearSolver/internalPoints/ipField.h @@ -85,7 +85,9 @@ class IPField : public elementsField { MTX_STRAIN_XX,MTX_STRAIN_YY,MTX_STRAIN_ZZ,MTX_STRAIN_XY,MTX_STRAIN_YZ,MTX_STRAIN_XZ, INC_STRAIN_XX,INC_STRAIN_YY,INC_STRAIN_ZZ,INC_STRAIN_XY,INC_STRAIN_YZ,INC_STRAIN_XZ, EXTRAFIELD_1,EXTRAFIELD_2,EXTRAFIELD_3,EXTRAFIELD_4,EXTRAFIELD_5,EXTRAFIELD_6,EXTRAFIELD_7,EXTRAFIELD_8,EXTRAFIELD_9, - EXTRAFIELD_NORM, DELETED,LOST_ELLIPTICITY}; + EXTRAFIELD_NORM, DELETED,LOST_ELLIPTICITY, + LOCAL_0,LOCAL_1, LOCAL_2, + NONLOCAL_0, NONLOCAL_1, NONLOCAL_2}; enum Operator { MEAN_VALUE=1, MIN_VALUE, MAX_VALUE, CRUDE_VALUE}; #ifndef SWIG // Struct for archiving diff --git a/dG3D/src/dG3DIPVariable.cpp b/dG3D/src/dG3DIPVariable.cpp index 5f5a3f02428b108b73c0a472615981dd4878afba..8dfb384f896385ce00c28bfe05e43df565bac798 100644 --- a/dG3D/src/dG3DIPVariable.cpp +++ b/dG3D/src/dG3DIPVariable.cpp @@ -256,6 +256,41 @@ double dG3DIPVariable::get(const int comp) const if (this->isDeleted()) return 1.; else return 0.; } + else if (comp == IPField::LOCAL_0){ + if (getNumberNonLocalVariable()>0){ + return getConstRefToLocalVariable(0); + } + else return 0.; + } + else if (comp == IPField::LOCAL_1){ + if (getNumberNonLocalVariable()>1){ + return getConstRefToLocalVariable(1); + } + else return 0.; + } + else if (comp == IPField::LOCAL_2){ + if (getNumberNonLocalVariable() > 2){ + return getConstRefToLocalVariable(2); + } + else return 0.; + } + else if (comp == IPField::NONLOCAL_0){ + if (getNumberNonLocalVariable() > 0){ + return getConstRefToNonLocalVariable(0); + } + else return 0.; + } + else if (comp == IPField::NONLOCAL_1){ + if (getNumberNonLocalVariable()> 1){ + return getConstRefToNonLocalVariable(0); + } + else return 0.; + } + else if (comp == IPField::NONLOCAL_2){ + if (getNumberNonLocalVariable() > 2) + return getConstRefToNonLocalVariable(0); + else return 0.; + } else return 0.;