MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Namespaces | Macros | Functions
gmpMechanicalMaterial.cpp File Reference

Implementation of the GmpMechanicalMaterial class. More...

#include "gmpMechanicalMaterial.h"
#include "gmpFemPhysicsCommon.h"
#include "gmpMaterialElastic.h"
#include "gmMathUtils.h"
#include <gmTrace.h>
#include <assert.h>
#include <math.h>
Include dependency graph for gmpMechanicalMaterial.cpp:

Namespaces

 GmpMechanicUtils
 Groups utilitary routines for working with stress.
 

Functions

double GmpMechanicUtils::shearModulus (double E, double nu)
 Returns the shear modulus (G) from Young's modulus (E) and Poisson's Coefficient (nu)
 
double GmpMechanicUtils::bulkModulus (double E, double nu)
 Returns the bulk modulus (K) from Young's modulus (E) and Poisson's Coefficient (nu)
 
double GmpMechanicUtils::lameModulus (double E, double nu)
 Returns the lame modulus (lame) from Young's modulus (E) and Poisson's Coefficient (nu)
 
void GmpMechanicUtils::setStressStateVector (const double vc[6], GmVector &vp, unsigned st, double p)
 
void GmpMechanicUtils::setStressStateMatrix (const double mc[6][6], GmMatrix &mp, unsigned st, double p)
 
double GmpMechanicUtils::stressInvariantI1 (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::stressInvariantI2 (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::stressInvariantI3 (const GmVector &s, unsigned st)
 
GmVector GmpMechanicUtils::stressInvariants (const GmVector &s, unsigned st)
 
void GmpMechanicUtils::stressGradientI1 (const GmVector &, unsigned st, GmVector &dI1)
 
void GmpMechanicUtils::stressGradientI2 (const GmVector &s, unsigned st, GmVector &dI2)
 
void GmpMechanicUtils::stressGradientI3 (const GmVector &s, unsigned st, GmVector &dI3)
 
void GmpMechanicUtils::stressHessianI2 (const GmVector &, unsigned st, GmMatrix &d2I2)
 
void GmpMechanicUtils::stressHessianI3 (const GmVector &s, unsigned st, GmMatrix &d2I3)
 
GmVector GmpMechanicUtils::stressPrincipal (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::hydrostaticStress (const GmVector &s, unsigned st)
 Returns the hydrostatic stress.
 
void GmpMechanicUtils::hydrostaticGradient (const GmVector &, unsigned st, GmVector &dsm)
 Returns the hydrostatic pressure gradient dP/ds.
 
GmVector GmpMechanicUtils::deviatoricTensor (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::deviatoricInvariantJ2 (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::deviatoricInvariantJ3 (const GmVector &s, unsigned st)
 
GmVector GmpMechanicUtils::deviatoricInvariants (const GmVector &s, unsigned st)
 
void GmpMechanicUtils::deviatoricGradientJ2 (const GmVector &s, unsigned st, GmVector &dJ2)
 
void GmpMechanicUtils::deviatoricGradientJ3 (const GmVector &s, unsigned st, GmVector &dJ3)
 
void GmpMechanicUtils::deviatoricHessianJ2 (const GmVector &, unsigned st, GmMatrix &d2J2)
 
void GmpMechanicUtils::deviatoricHessianJ3 (const GmVector &s, unsigned st, GmMatrix &d2J3)
 
GmVector GmpMechanicUtils::deviatoricPrincipal (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::vonMisesStress (const GmVector &s, unsigned st)
 
void GmpMechanicUtils::vonMisesGradient (const GmVector &s, unsigned st, GmVector &dse)
 
void GmpMechanicUtils::vonMisesHessian (const GmVector &s, unsigned st, GmMatrix &d2se)
 
double GmpMechanicUtils::lodeAngle (const GmVector &s, unsigned st)
 
GmVector GmpMechanicUtils::lodeCoordinates (const GmVector &s, unsigned st)
 
double GmpMechanicUtils::lodeAngleMC (const GmVector &s, unsigned st)
 
GmMatrix GmpMechanicUtils::isotropicDamageMatrix (double d)
 Fills the isotropic damage matrix in the local references which is aligned.
 
GmMatrix GmpMechanicUtils::anisotropicDamageMatrix (GmVector Sdv)
 Fills the anisotropic damage matrix in the local references which is aligned.
 
void GmpMechanicUtils::vectorialToTensorial (GmVector &Vec, GmMatrix &Tensor, unsigned sc, QString type, bool mode)
 
void GmpMechanicUtils::fillTransformationMatrix (GmMatrix R, GmMatrix &Te, GmMatrix &Ts, int ns)
 
GmVector GmpMechanicUtils::vectorialMacaulay (GmVector x)
 
double GmpMechanicUtils::macaulayFunction (double x)
 
void GmpMechanicUtils::fillRotationMatrixFromDip (GmMatrix &R, double dip, double strike)
 
void GmpMechanicUtils::fillRotationMatrixFromEulerAngle (GmMatrix &R, double phi, double theta, double psi)
 
void GmpMechanicUtils::pseudoInverse (GmMatrix &M, double tol)
 
void GmpMechanicUtils::elasticStiffness (GmMatrix &De, double E, double nu, unsigned sc, unsigned ips)
 Computes the elastic stiffness matrix using E and Nu.
 
void GmpMechanicUtils::elasticStiffnessLameG (GmMatrix &De, double lame, double G, unsigned sc, unsigned ips)
 Computes the elastic stiffness matrix using lame and G.
 
void GmpMechanicUtils::elasticStiffnessKG (GmMatrix &De, double K, double G, unsigned sc, unsigned ips)
 Computes the elastic stiffness matrix using K and G.
 
void GmpMechanicUtils::elasticFlexibility (GmMatrix &Ce, double E, double nu, unsigned sc, unsigned ips)
 Computes the elastic flexibility matrix using E and Nu.
 

Detailed Description

Implementation of the GmpMechanicalMaterial class.

Author
Murillo Vinícius Bento Santana
Date
September, 2015 \Update Nilthson Noreña V. and Cristian Mejia
August, 2017 \Update Francisco Corrêa Dias
July, 2019