Skip to content
Snippets Groups Projects

Mohamed vevp

Merged Ludovic Noels requested to merge mohamed_vevp into master
18 files
+ 740
912
Compare changes
  • Side-by-side
  • Inline

Files

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