MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
Classes | Namespaces | Typedefs | Enumerations | Variables
/home/dorival/mechsys/lib/mpm/defs.h File Reference
#include <map>
#include <blitz/tinyvec-et.h>
#include <blitz/tinymat.h>
#include <FL/Enumerations.H>
#include <mechsys/util/array.h>
#include <mechsys/util/maps.h>

Go to the source code of this file.

Classes

struct  MPM::CurveProps
struct  MPM::ShapeAndGrads2D

Namespaces

namespace  MPM
 

Material Point Method.


Typedefs

typedef blitz::TinyVector
< size_t, 4 > 
MPM::Connec2D
 for quadrilateral connectivities
typedef blitz::TinyVector
< double, 3 > 
MPM::Vector3D
 for position, veloc, accel, etc.
typedef blitz::TinyVector
< double, 6 > 
MPM::STensor2
 Symmetric 2nd order tensors: for stress, strain, ...
typedef blitz::TinyVector
< double, 9 > 
MPM::ATensor2
 Assymmetric 2nd order tensors: for deformation gradient, ...
typedef blitz::TinyMatrix
< double, 6, 6 > 
MPM::STensor4
 Symmetric 4th order tensors: for stiffness ...
typedef blitz::TinyMatrix
< double, 9, 9 > 
MPM::ATensor4
 Assymmetric 4th order tensors: for stiffness ...
typedef blitz::TinyVector
< size_t, 6 > 
MPM::ConnecW6
 Connectivities for wedge with 6 nodes.
typedef blitz::TinyVector
< size_t, 8 > 
MPM::ConnecH8
 Connectivities for hexahedra with 8 nodes.
typedef std::map< int, int >
::const_iterator 
MPM::n2i_it
typedef bool(* MPM::ptIsFixed )(Vector3D const &N, FixType &FType)
 Callback for applying boundary conditions.
typedef bool(* MPM::ptIsPointInGeom )(Vector3D const &P, int &ClrIdx)
 Pointer to a function which checks if a mat point is inside the geometry.
typedef double(* MPM::ptDensity )(Vector3D const &P)
 Density function.
typedef void(* MPM::ptModelData )(Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme)
 Get model data.
typedef void(* MPM::ptIniVelocity )(Vector3D const &P, Vector3D &v)
 Initialize velocities.
typedef bool(* MPM::ptHasTraction )(Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t)
 Apply traction to some points inside boundary cells.
typedef bool(* MPM::ptHasAppDisp )(Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &fu)
 Apply displacements to some points inside boundary cells.
typedef void(* MPM::ptAppDisp )(Vector3D const &P, STensor2 const &s, Vector3D const &u, Vector3D const &L, int nPCell, Vector3D &fu)
typedef void(* MPM::ptB )(double t, Vector3D &B)
 Body force.
typedef void(* MPM::ptLdM )(double t, double &M)
 Multiplier for applied external forces.
typedef void(* MPM::ptVeloc )(double t, Vector3D const &XY, Vector3D &Vel)
 Correct velocity at time t and position XY.
typedef void(* MPM::ptStress )(double t, Vector3D const &XY, STensor2 &Sig)
 Correct stress at time t and position XY.

Enumerations

enum  MPM::CurveType { MPM::CT_POINTS, MPM::CT_LINES, MPM::CT_BOTH }
enum  MPM::ClrMapType { MPM::CMT_BWP = 0, MPM::CMT_HOT = 1, MPM::CMT_JET = 2 }
enum  MPM::FieldType {
  MPM::FLD_EPSXX, MPM::FLD_EPSYY, MPM::FLD_EPSZZ, MPM::FLD_EPSXY,
  MPM::FLD_SIGXX, MPM::FLD_SIGYY, MPM::FLD_SIGZZ, MPM::FLD_SIGXY,
  MPM::FLD_CAMP, MPM::FLD_CAMQ, MPM::FLD_VELN, MPM::FLD_TAG
}
enum  MPM::FixType {
  MPM::FIX_X, MPM::FIX_Y, MPM::FIX_Z, MPM::FIX_XY,
  MPM::FIX_YZ, MPM::FIX_ZX, MPM::FIX_XYZ
}

Variables

const double MPM::SQ2 = sqrt(2.0)
const double MPM::SQ3 = sqrt(3.0)
const double MPM::SQ6 = sqrt(6.0)
const double MPM::SQ2BY3 = sqrt(2.0/3.0)
const double MPM::PI = 4.0*atan(1.0)
const size_t MPM::NRVEC = 2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines