![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#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 |