Skip to content
Snippets Groups Projects

Mohamed vevp

18 files
+ 740
912
Compare changes
  • Side-by-side
  • Inline

Files

//
// Description: storing class for non local damage
//
//
// Author: <L. Noels>, (C) 2011
//
// Copyright: See COPYING file that comes with this distribution
//
//
/*********************************************************************************************/
/** Copyright (C) 2022 - See COPYING file that comes with this distribution **/
/** Author: Mohamed HADDAD (MEMA-iMMC-UCLouvain) **/
/** Contact: mohamed.haddad@uclouvain.be **/
/** **/
/** Description: storing class of IP variabales for VE-VP material law (small strains) **/
/** VE-VP material law : See B.Miled et I.Doghri 2011 **/
/**********************************************************************************************/
#include "ipVEVPMFH.h"
#include "ipField.h"
#include "restartManager.h"
#include "fonctions_pratiques.h"
double IPVEVPMFH::defoEnergy() const{
return _elasticEne;
}
double IPVEVPMFH::plasticEnergy() const{
return _plasticEne;
}
double IPVEVPMFH::get(int comp) const{
if(comp == IPField::SIG_XX) // Cauchy stress field
// Cauchy stress
if(comp == IPField::SIG_XX)
return _state.strs[0];
else if(comp == IPField::SIG_YY)
return _state.strs[1];
@@ -41,14 +35,18 @@ double IPVEVPMFH::get(int comp) const{
else if(comp==IPField::SIG_YZ)
return (_state.strs[4] / sqrt(2));
else if(comp == IPField::SVM){ // von Mises
double svm= VEVPMFH_FP::vonmises(_state.strs);
// Von Mises equivelent stress
else if(comp == IPField::SVM){
double svm= VEVPMFHSPACE::vonmises(_state.strs);
return svm;
}
else if(comp == IPField::PLASTICSTRAIN) // Accumulated plasticity
// Plastic true strain
else if(comp == IPField::PLASTICSTRAIN)
return _state.p;
else if(comp == IPField::STRAIN_XX) // True strain field
// Total true strain
else if(comp == IPField::STRAIN_XX)
return _state.strn[0];
else if(comp == IPField::STRAIN_YY)
return _state.strn[1];
@@ -58,15 +56,12 @@ double IPVEVPMFH::get(int comp) const{
return _state.strn[3]/sqrt(2);
else if(comp == IPField::STRAIN_XZ)
return _state.strn[5]/sqrt(2);
else if(comp == IPField::STRAIN_XZ)
else if(comp == IPField::STRAIN_YZ)
return _state.strn[4]/sqrt(2);
else
return 0.;
}
void IPVEVPMFH::restart(){
IPVariableMechanics::restart();
@@ -86,4 +81,3 @@ void IPVEVPMFH::restart(){
return;
}
Loading