From f7fe9134128a5ebc2f45fc4ba8969c9f244166a7 Mon Sep 17 00:00:00 2001
From: Van Dung Nguyen <vdg.nguyen@gmail.com>
Date: Thu, 24 Aug 2017 13:41:28 +0200
Subject: [PATCH] correct

---
 .../ipNonLocalDamageHyperelastic.cpp          | 21 +++++--------
 .../ipNonLocalDamageHyperelastic.h            | 31 ++-----------------
 .../mlawNonLocalDamageHyperelastic.cpp        |  8 ++---
 3 files changed, 12 insertions(+), 48 deletions(-)

diff --git a/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.cpp b/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.cpp
index 730580323..97ee4fffc 100644
--- a/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.cpp
+++ b/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.cpp
@@ -13,9 +13,8 @@
 
 IPHyperViscoElastoPlasticNonLocalDamage::IPHyperViscoElastoPlasticNonLocalDamage(const J2IsotropicHardening* comp,
                     const J2IsotropicHardening* trac,const J2IsotropicHardening* shear, const kinematicHardening* kin, const int N,
-                    const CLengthLaw *cll, const DamageLaw *daml): IPHyperViscoElastoPlastic(comp,trac,shear,kin,N),_nldJ2HyperDLocalPlasticStrainDStrain(0),
-						_nldJ2HyperEffectivePlasticStrain (0),
-						_nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain(0), _Dc(1.),_damageBlocked(false)
+                    const CLengthLaw *cll, const DamageLaw *daml): IPHyperViscoElastoPlastic(comp,trac,shear,kin,N),
+                    _nonlocalPlasticStrain (0), _Dc(1.),_damageBlocked(false)
 {
   ipvCL=NULL;
   if(cll ==NULL) Msg::Error("IPHyperViscoElastoPlasticNonLocalDamage::IPHyperViscoElastoPlasticNonLocalDamage has no cll");
@@ -39,10 +38,9 @@ IPHyperViscoElastoPlasticNonLocalDamage::~IPHyperViscoElastoPlasticNonLocalDamag
 };
 
 
-IPHyperViscoElastoPlasticNonLocalDamage::IPHyperViscoElastoPlasticNonLocalDamage(const IPHyperViscoElastoPlasticNonLocalDamage &source):IPHyperViscoElastoPlastic(source){
-  _nldJ2HyperDLocalPlasticStrainDStrain=source._nldJ2HyperDLocalPlasticStrainDStrain;
-  _nldJ2HyperEffectivePlasticStrain=source._nldJ2HyperEffectivePlasticStrain;
-  _nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain=source._nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain;
+IPHyperViscoElastoPlasticNonLocalDamage::IPHyperViscoElastoPlasticNonLocalDamage(const IPHyperViscoElastoPlasticNonLocalDamage &source):
+      IPHyperViscoElastoPlastic(source){
+  _nonlocalPlasticStrain=source._nonlocalPlasticStrain;
   _Dc = source._Dc;
   _damageBlocked = source._damageBlocked;
   ipvCL = NULL;
@@ -61,10 +59,7 @@ IPHyperViscoElastoPlasticNonLocalDamage& IPHyperViscoElastoPlasticNonLocalDamage
   const IPHyperViscoElastoPlasticNonLocalDamage* src = dynamic_cast<const IPHyperViscoElastoPlasticNonLocalDamage*>(&source);
   if(src != NULL)
   {
-    _nldJ2HyperDLocalPlasticStrainDStrain=src->_nldJ2HyperDLocalPlasticStrainDStrain;
-
-    _nldJ2HyperEffectivePlasticStrain=src->_nldJ2HyperEffectivePlasticStrain;
-    _nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain=src->_nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain;
+    _nonlocalPlasticStrain=src->_nonlocalPlasticStrain;
     _Dc = src->_Dc;
     _damageBlocked = src->_damageBlocked;
 
@@ -101,9 +96,7 @@ void IPHyperViscoElastoPlasticNonLocalDamage::restart()
   IPHyperViscoElastoPlastic::restart();
   restartManager::restart(ipvCL);
   restartManager::restart(ipvDam);
-  restartManager::restart(_nldJ2HyperDLocalPlasticStrainDStrain);
-  restartManager::restart(_nldJ2HyperEffectivePlasticStrain);
-  restartManager::restart(_nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain);
+  restartManager::restart(_nonlocalPlasticStrain);
   restartManager::restart(_Dc);
   restartManager::restart(_damageBlocked);
   return;
diff --git a/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.h b/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.h
index b1a401dd1..a6cb6ccde 100644
--- a/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.h
+++ b/NonLinearSolver/internalPoints/ipNonLocalDamageHyperelastic.h
@@ -23,18 +23,11 @@ class IPHyperViscoElastoPlasticNonLocalDamage : public IPHyperViscoElastoPlastic
  protected:
   IPCLength* ipvCL;
   IPDamage*  ipvDam;
- protected: // All data public to avoid the creation of function to access
-
-  STensor3	_nldJ2HyperDLocalPlasticStrainDStrain;
-
-// bareps
-  double _nldJ2HyperEffectivePlasticStrain;
-  double _nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain;
 
+  double _nonlocalPlasticStrain;
   double _Dc; // critical damage
   bool _damageBlocked;
 
-
  public:
   IPHyperViscoElastoPlasticNonLocalDamage(const J2IsotropicHardening* comp,
                     const J2IsotropicHardening* trac,const J2IsotropicHardening* shear, const kinematicHardening* kin,
@@ -58,26 +51,8 @@ class IPHyperViscoElastoPlasticNonLocalDamage : public IPHyperViscoElastoPlastic
   virtual void restart();
   virtual double getCurrentPlasticStrain() const { return _epspbarre;}
   virtual double &getRefToCurrentPlasticStrain() { return _epspbarre;}
-  virtual double getEffectivePlasticStrain() const { return _nldJ2HyperEffectivePlasticStrain;}
-  virtual double &getRefToEffectivePlasticStrain() { return _nldJ2HyperEffectivePlasticStrain;}
-
-  virtual double &getRefToDLocalPlasticStrainDNonLocalPlasticStrain()
-  {
-    return _nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain;
-  }
-  virtual double getDLocalPlasticStrainDNonLocalPlasticStrain() const
-  {
-    return _nldJ2HyperDLocalPlasticStrainDNonLocalPlasticStrain;
-  }
-
-  virtual const STensor3 & getConstRefToDLocalPlasticStrainDStrain() const
-  {
-    return _nldJ2HyperDLocalPlasticStrainDStrain;
-  }
-  virtual STensor3 & getRefToDLocalPlasticStrainDStrain()
-  {
-    return _nldJ2HyperDLocalPlasticStrainDStrain;
-  }
+  virtual double getEffectivePlasticStrain() const { return _nonlocalPlasticStrain;}
+  virtual double &getRefToEffectivePlasticStrain() { return _nonlocalPlasticStrain;}
 
   virtual const IPCLength &getConstRefToIPCLength() const
   {
diff --git a/NonLinearSolver/materialLaw/mlawNonLocalDamageHyperelastic.cpp b/NonLinearSolver/materialLaw/mlawNonLocalDamageHyperelastic.cpp
index 2f47c6d5b..a1addc68e 100644
--- a/NonLinearSolver/materialLaw/mlawNonLocalDamageHyperelastic.cpp
+++ b/NonLinearSolver/materialLaw/mlawNonLocalDamageHyperelastic.cpp
@@ -115,9 +115,6 @@ void mlawNonLocalDamagePowerYieldHyper::constitutive(
 
   if(stiff)
   {
-    const STensor3 &Fp0  = ipvprev->getConstRefToFp();
-    ipvcur->getRefToDLocalPlasticStrainDStrain() = dgammadF;
-
     // we need to correct partial P/partial F: (1-D) partial P/partial F - Peff otimes partial D partial F
     Tangent*=(1.-D);
 
@@ -143,14 +140,13 @@ void mlawNonLocalDamagePowerYieldHyper::constitutive(
 
 
     // partial p/partial F
-    dLocalPlasticStrainDStrain = ipvcur->getConstRefToDLocalPlasticStrainDStrain();
+    dLocalPlasticStrainDStrain = dgammadF;
 
     // -hat{P} partial D/partial tilde p
     dStressDNonLocalPlasticStrain = Peff*(-1*ipvcur->getDDamageDp());
 
     // partial p partial tilde p (0 if no MFH)
-    ipvcur->getRefToDLocalPlasticStrainDNonLocalPlasticStrain()=0;
-    dLocalPlasticStrainDNonLocalPlasticStrain = ipvcur->getDLocalPlasticStrainDNonLocalPlasticStrain();
+    dLocalPlasticStrainDNonLocalPlasticStrain = 0.;
 
   }
 
-- 
GitLab