![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
Material Point Method. More...
Namespaces | |
namespace | VTU |
Paraview vtu files generation. | |
Classes | |
struct | CurveProps |
struct | ShapeAndGrads2D |
class | DrawArea2D |
struct | FmtNum |
class | Grid2D |
class | MPoints2D |
class | PlotXY |
struct | Problem2D |
class | TwoTiledVert |
class | TwoTiledHorz |
class | FourTiled |
Typedefs | |
typedef blitz::TinyVector < size_t, 4 > | Connec2D |
for quadrilateral connectivities | |
typedef blitz::TinyVector < double, 3 > | Vector3D |
for position, veloc, accel, etc. | |
typedef blitz::TinyVector < double, 6 > | STensor2 |
Symmetric 2nd order tensors: for stress, strain, ... | |
typedef blitz::TinyVector < double, 9 > | ATensor2 |
Assymmetric 2nd order tensors: for deformation gradient, ... | |
typedef blitz::TinyMatrix < double, 6, 6 > | STensor4 |
Symmetric 4th order tensors: for stiffness ... | |
typedef blitz::TinyMatrix < double, 9, 9 > | ATensor4 |
Assymmetric 4th order tensors: for stiffness ... | |
typedef blitz::TinyVector < size_t, 6 > | ConnecW6 |
Connectivities for wedge with 6 nodes. | |
typedef blitz::TinyVector < size_t, 8 > | ConnecH8 |
Connectivities for hexahedra with 8 nodes. | |
typedef std::map< int, int > ::const_iterator | n2i_it |
typedef bool(* | ptIsFixed )(Vector3D const &N, FixType &FType) |
Callback for applying boundary conditions. | |
typedef bool(* | ptIsPointInGeom )(Vector3D const &P, int &ClrIdx) |
Pointer to a function which checks if a mat point is inside the geometry. | |
typedef double(* | ptDensity )(Vector3D const &P) |
Density function. | |
typedef void(* | ptModelData )(Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
Get model data. | |
typedef void(* | ptIniVelocity )(Vector3D const &P, Vector3D &v) |
Initialize velocities. | |
typedef bool(* | 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(* | 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(* | ptAppDisp )(Vector3D const &P, STensor2 const &s, Vector3D const &u, Vector3D const &L, int nPCell, Vector3D &fu) |
typedef void(* | ptB )(double t, Vector3D &B) |
Body force. | |
typedef void(* | ptLdM )(double t, double &M) |
Multiplier for applied external forces. | |
typedef void(* | ptVeloc )(double t, Vector3D const &XY, Vector3D &Vel) |
Correct velocity at time t and position XY. | |
typedef void(* | ptStress )(double t, Vector3D const &XY, STensor2 &Sig) |
Correct stress at time t and position XY. | |
typedef Fl_Group *(* | pAllocGroup )(int X, int Y, int W, int H, void *Extra) |
Enumerations | |
enum | CurveType { CT_POINTS, CT_LINES, CT_BOTH } |
enum | ClrMapType { CMT_BWP = 0, CMT_HOT = 1, CMT_JET = 2 } |
enum | FieldType { FLD_EPSXX, FLD_EPSYY, FLD_EPSZZ, FLD_EPSXY, FLD_SIGXX, FLD_SIGYY, FLD_SIGZZ, FLD_SIGXY, FLD_CAMP, FLD_CAMQ, FLD_VELN, FLD_TAG } |
enum | FixType { FIX_X, FIX_Y, FIX_Z, FIX_XY, FIX_YZ, FIX_ZX, FIX_XYZ } |
Functions | |
bool | CompareVec2D (Vector3D const &A, Vector3D const &B) |
double | Cross2D (Vector3D const &O, Vector3D const &A, Vector3D const &B) |
void | CHull2D (Array< Vector3D > &P, Array< size_t > &H) |
std::ostream & | operator<< (std::ostream &os, FmtNum const &FN) |
void | HideInfoBox (Fl_Widget *IB, void *Win) |
void | InfoBox (char const *Message) |
int | JacobiRot (STensor2 const &T, double L[3]) |
int | JacobiRot (STensor2 const &T, double V0[3], double V1[3], double V2[3], double L[3]) |
void | SeparatedLine (std::string const &Line, std::string const &Separator, Array< std::string > &Res) |
bool | MkdirP (char const *Path) |
bool | CbIsFixed1 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed2 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed3 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed4 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed5 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed6 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed7 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed8 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed10 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed11 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed12 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed13 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed14 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed15 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed16 (Vector3D const &N, FixType &FType) |
bool | CbIsFixed17 (Vector3D const &N, FixType &FType) |
bool | CbIsPointInGeom1 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom2 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom3 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom4 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom5 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom6 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom7 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom8 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom10 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom11 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom12 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom13 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom14 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom15 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom16 (Vector3D const &P, int &ClrIdx) |
bool | CbIsPointInGeom17 (Vector3D const &P, int &ClrIdx) |
double | CbDensity1 (Vector3D const &P) |
double | CbDensity2 (Vector3D const &P) |
double | CbDensity3 (Vector3D const &P) |
double | CbDensity4 (Vector3D const &P) |
double | CbDensity5 (Vector3D const &P) |
double | CbDensity6 (Vector3D const &P) |
double | CbDensity7 (Vector3D const &P) |
double | CbDensity8 (Vector3D const &P) |
double | CbDensity10 (Vector3D const &P) |
double | CbDensity11 (Vector3D const &P) |
double | CbDensity12 (Vector3D const &P) |
double | CbDensity13 (Vector3D const &P) |
double | CbDensity14 (Vector3D const &P) |
double | CbDensity15 (Vector3D const &P) |
double | CbDensity16 (Vector3D const &P) |
double | CbDensity17 (Vector3D const &P) |
void | CbAllocMdl1 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl2 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl3 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl4 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl5 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl6 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl7 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl7b (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl8 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl10 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl11 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl12 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl13 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl14 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl15 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl16 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbAllocMdl17 (Vector3D const &P, String &Name, int &Tag, int NDim, SDPair &Prms, SDPair &Inis, String &Scheme) |
void | CbIniVeloc1 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc2 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc3 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc4 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc5 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc6 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc7 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc8 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc10 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc11 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc12 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc13 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc14 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc15 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc16 (Vector3D const &P, Vector3D &v) |
void | CbIniVeloc17 (Vector3D const &P, Vector3D &v) |
bool | CbHasTraction1 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction2 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction3 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction4 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction5 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction6 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction7 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction8 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction10 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction11 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction12 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction13 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction14 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction15 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction16 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasTraction17 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp1 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp2 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp3 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp4 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp5 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp6 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp7 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp8 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp10 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp11 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp12 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp13 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp14 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp15 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp16 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
bool | CbHasAppDisp17 (Vector3D const &P, Array< Vector3D > const &N, Vector3D const &L, int nPCell, Vector3D &t) |
void | ReSetOutputArrays (Problem2D &Prob) |
void | SetProblem (Problem2D &Prob) |
double | NormV (Vector3D const &v) |
double | NormT (STensor2 const &T) |
void | AddScaled (double const &a, STensor4 const &X, double const &b, STensor4 const &Y, STensor4 &Z) |
void | Sym (double a, ATensor2 const &T, STensor2 &S) |
double | Det (ATensor2 const &B) |
double | Det (STensor2 const &T) |
double | Cam_p (STensor2 const &S) |
double | Cam_q (STensor2 const &S) |
void | Stress_p_q (STensor2 const &Sig, double &p, double &q) |
void | Eigenvals (STensor2 const &T, double L[3]) |
void | Eigenvp (STensor2 const &T, double L[3], STensor2 P[3]) |
void | Stress_psmp_qsmp (STensor2 const &Sig, double &psmp, double &qsmp) |
void | Derivs_psmp_qsmp (STensor2 const &Sig, double &psmp, double &qsmp, double DpsmpDs[3], double DqsmpDs[3], STensor2 Proj[3]) |
void | Stress_ssmp_tsmp (STensor2 const &Sig, double &ssmp, double &tsmp) |
void | Derivs_ssmp_tsmp (STensor2 const &Sig, double &ssmp, double &tsmp, double DssmpDs[3], double DtsmpDs[3], STensor2 Proj[3]) |
void | Derivs_p_q (STensor2 const &Sig, double &p, double &q, double DpDs[3], double DqDs[3], STensor2 Proj[3]) |
void | Stress_p_q_t (STensor2 const &Sig, double &p, double &q, double &t) |
void | Derivs_p_q_t (STensor2 const &Sig, double &p, double &q, double &t, double DpDs[3], double DqDs[3], double DtDs[3], STensor2 Proj[3]) |
void | Strain_Ev_Ed (STensor2 const &Eps, double &Ev, double &Ed) |
void | OutputHeader (std::ostream &Os, bool NewLine=true) |
void | Output (STensor2 const &Sig, STensor2 const &Eps, std::ostream &Os, bool NewLine=true) |
void | Hid2Sig (Vector3D const &RAZ, Vector3D &XYZ) |
void | Dot (ATensor2 const &A, Vector3D const &u, Vector3D &v) |
void | Dot (Vector3D const &u, ATensor2 const &A, Vector3D &v) |
void | Dot (ATensor4 const &T, ATensor2 const &x, ATensor2 &y) |
void | Dot (ATensor2 const &A, ATensor2 const &B, ATensor2 &C) |
void | Dyad (Vector3D const &u, Vector3D const &v, ATensor2 &A) |
void | DyadDot (Vector3D const &v, ATensor2 const &F, Vector3D const &u, ATensor2 &R) |
void | DyadDot (Vector3D const &v, Vector3D const &u, ATensor2 const &F, ATensor2 &R) |
void | DotUp (ATensor2 const &A, Vector3D const &u, Vector3D &v) |
void | DotUp (Vector3D const &u, ATensor2 const &A, Vector3D &v) |
void | DotUp (ATensor4 const &T, ATensor2 const &x, ATensor2 &y) |
void | DyadUp (Vector3D const &u, Vector3D const &v, ATensor2 &A) |
void | ScDyadUp (double s, Vector3D const &u, Vector3D const &v, ATensor2 &A) |
void | DyadDotUp (Vector3D const &v, ATensor2 const &F, Vector3D const &u, ATensor2 &R) |
void | DyadDotUp (Vector3D const &v, Vector3D const &u, ATensor2 const &F, ATensor2 &R) |
void | Dot (STensor2 const &A, Vector3D const &u, Vector3D &v) |
void | Dot (Vector3D const &u, STensor2 const &A, Vector3D &v) |
void | Dot (STensor4 const &T, STensor2 const &x, STensor2 &y) |
void | ScDot (double s, STensor2 const &x, STensor4 const &T, STensor2 &y) |
void | DotUp (STensor2 const &A, Vector3D const &u, Vector3D &v) |
void | ScDotUp (double s, STensor2 const &A, Vector3D const &u, Vector3D &v) |
void | ScDotUp (double s, Vec_t const &A, Vector3D const &u, Vector3D &v) |
void | DotUp (Vector3D const &u, STensor2 const &A, Vector3D &v) |
void | ScDotUp (double s, Vector3D const &u, STensor2 const &A, Vector3D &v) |
void | DotUp (STensor4 const &T, STensor2 const &x, STensor2 &y) |
void | DotAdd (STensor2 const &r, STensor4 const &T, STensor2 const &x, STensor2 &y) |
double | Reduce (STensor2 const &x, STensor4 const &A, STensor2 const &y) |
void | Generate (double const &a, STensor4 const &A, STensor2 const &x, STensor2 const &y, STensor4 const &B, STensor4 const &C, STensor4 &D) |
int | __initialize_tensors () |
Variables | |
const double | SQ2 = sqrt(2.0) |
const double | SQ3 = sqrt(3.0) |
const double | SQ6 = sqrt(6.0) |
const double | SQ2BY3 = sqrt(2.0/3.0) |
const double | PI = 4.0*atan(1.0) |
const size_t | NRVEC = 2 |
Fl_Menu_Item | FldItems [] |
Fl_Menu_Item | PtType [] |
FmtNum | _a = { true, false, false, 0, 0 } |
Boolean. | |
FmtNum | _3 = { false, true, false, 3, 0 } |
Integer. | |
FmtNum | _4 = { false, true, false, 4, 0 } |
Integer. | |
FmtNum | _6 = { false, true, false, 6, 0 } |
Integer. | |
FmtNum | _8 = { false, true, false, 8, 0 } |
Integer. | |
FmtNum | _3s = { false, false, true, 0, 3 } |
Scientific. | |
FmtNum | _8s = { false, false, true, 0, 8 } |
Scientific. | |
FmtNum | _4_2 = { false, false, false, 4, 2 } |
General. | |
FmtNum | _6_3 = { false, false, false, 6, 3 } |
General. | |
FmtNum | _12_6 = { false, false, false, 12, 6 } |
General. | |
FmtNum | _20_15 = { false, false, false, 20, 15 } |
General. | |
const double | DTRUE = 1.0 |
Fl_Menu_Item | Problems [] |
size_t | DefaultProblem = 3 |
STensor2 | SymI |
STensor4 | SymII |
STensor4 | SymIdyI |
STensor4 | SymPsd |
STensor4 | SymPiso |
int | __dummy_initialize_tensors = __initialize_tensors () |
Material Point Method.
MPM: Material Point Method.
typedef blitz::TinyVector<double,9> MPM::ATensor2 |
Assymmetric 2nd order tensors: for deformation gradient, ...
typedef blitz::TinyMatrix<double,9,9> MPM::ATensor4 |
Assymmetric 4th order tensors: for stiffness ...
typedef blitz::TinyVector<size_t,4> MPM::Connec2D |
for quadrilateral connectivities
typedef blitz::TinyVector<size_t,8> MPM::ConnecH8 |
Connectivities for hexahedra with 8 nodes.
typedef blitz::TinyVector<size_t,6> MPM::ConnecW6 |
Connectivities for wedge with 6 nodes.
typedef std::map<int,int>::const_iterator MPM::n2i_it |
typedef Fl_Group*(* MPM::pAllocGroup)(int X, int Y, int W, int H, void *Extra) |
typedef void(* MPM::ptAppDisp)(Vector3D const &P, STensor2 const &s, Vector3D const &u, Vector3D const &L, int nPCell, Vector3D &fu) |
typedef double(* MPM::ptDensity)(Vector3D const &P) |
Density function.
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 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 void(* MPM::ptIniVelocity)(Vector3D const &P, Vector3D &v) |
Initialize velocities.
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 void(* MPM::ptLdM)(double t, double &M) |
Multiplier for applied external forces.
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::ptStress)(double t, Vector3D const &XY, STensor2 &Sig) |
Correct stress at time t and position XY.
typedef void(* MPM::ptVeloc)(double t, Vector3D const &XY, Vector3D &Vel) |
Correct velocity at time t and position XY.
typedef blitz::TinyVector<double,6> MPM::STensor2 |
Symmetric 2nd order tensors: for stress, strain, ...
typedef blitz::TinyMatrix<double,6,6> MPM::STensor4 |
Symmetric 4th order tensors: for stiffness ...
typedef blitz::TinyVector<double,3> MPM::Vector3D |
for position, veloc, accel, etc.
enum MPM::ClrMapType |
enum MPM::CurveType |
enum MPM::FieldType |
enum MPM::FixType |
int MPM::__initialize_tensors | ( | ) |
Initialize (global) tensors.
void MPM::AddScaled | ( | double const & | a, |
STensor4 const & | X, | ||
double const & | b, | ||
STensor4 const & | Y, | ||
STensor4 & | Z | ||
) | [inline] |
Add scaled tensors Z = a*X + b*Y.
double MPM::Cam_p | ( | STensor2 const & | S | ) | [inline] |
Cambridge's p mean stress invariant.
double MPM::Cam_q | ( | STensor2 const & | S | ) | [inline] |
Cambridge's q deviatoric stress invariant.
void MPM::CbAllocMdl1 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl10 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl11 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl12 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl13 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl14 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl15 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl16 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl17 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl2 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl3 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl4 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl5 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl6 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl7 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl7b | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
void MPM::CbAllocMdl8 | ( | Vector3D const & | P, |
String & | Name, | ||
int & | Tag, | ||
int | NDim, | ||
SDPair & | Prms, | ||
SDPair & | Inis, | ||
String & | Scheme | ||
) |
double MPM::CbDensity1 | ( | Vector3D const & | P | ) |
double MPM::CbDensity10 | ( | Vector3D const & | P | ) |
double MPM::CbDensity11 | ( | Vector3D const & | P | ) |
double MPM::CbDensity12 | ( | Vector3D const & | P | ) |
double MPM::CbDensity13 | ( | Vector3D const & | P | ) |
double MPM::CbDensity14 | ( | Vector3D const & | P | ) |
double MPM::CbDensity15 | ( | Vector3D const & | P | ) |
double MPM::CbDensity16 | ( | Vector3D const & | P | ) |
double MPM::CbDensity17 | ( | Vector3D const & | P | ) |
double MPM::CbDensity2 | ( | Vector3D const & | P | ) |
double MPM::CbDensity3 | ( | Vector3D const & | P | ) |
double MPM::CbDensity4 | ( | Vector3D const & | P | ) |
double MPM::CbDensity5 | ( | Vector3D const & | P | ) |
double MPM::CbDensity6 | ( | Vector3D const & | P | ) |
double MPM::CbDensity7 | ( | Vector3D const & | P | ) |
double MPM::CbDensity8 | ( | Vector3D const & | P | ) |
bool MPM::CbHasAppDisp1 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp10 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp11 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp12 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp13 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp14 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp15 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp16 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp17 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp2 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp3 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp4 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp5 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp6 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp7 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasAppDisp8 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction1 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction10 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction11 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction12 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction13 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction14 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction15 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction16 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction17 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction2 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction3 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction4 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction5 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction6 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction7 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
bool MPM::CbHasTraction8 | ( | Vector3D const & | P, |
Array< Vector3D > const & | N, | ||
Vector3D const & | L, | ||
int | nPCell, | ||
Vector3D & | t | ||
) |
void MPM::CbIniVeloc1 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc10 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc11 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc12 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc13 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc14 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc15 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc16 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc17 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc2 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc3 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc4 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc5 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc6 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc7 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
void MPM::CbIniVeloc8 | ( | Vector3D const & | P, |
Vector3D & | v | ||
) |
bool MPM::CbIsFixed1 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed10 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed11 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed12 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed13 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed14 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed15 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed16 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed17 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed2 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed3 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed4 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed5 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed6 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed7 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsFixed8 | ( | Vector3D const & | N, |
FixType & | FType | ||
) |
bool MPM::CbIsPointInGeom1 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom10 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom11 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom12 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom13 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom14 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom15 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom16 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom17 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom2 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom3 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom4 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom5 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom6 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom7 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
bool MPM::CbIsPointInGeom8 | ( | Vector3D const & | P, |
int & | ClrIdx | ||
) |
void MPM::CHull2D | ( | Array< Vector3D > & | P, |
Array< size_t > & | H | ||
) | [inline] |
Convex hull using Andrew's monotone chain 2D algorithm. Returns a list of points on the convex hull in counter-clockwise order.
bool MPM::CompareVec2D | ( | Vector3D const & | A, |
Vector3D const & | B | ||
) | [inline] |
Lexicographically comparision between points.
double MPM::Cross2D | ( | Vector3D const & | O, |
Vector3D const & | A, | ||
Vector3D const & | B | ||
) | [inline] |
2D cross product. Return a positive value, if OAB makes a counter-clockwise turn, negative for clockwise turn, and zero if the points are collinear.
void MPM::Derivs_p_q | ( | STensor2 const & | Sig, |
double & | p, | ||
double & | q, | ||
double | DpDs[3], | ||
double | DqDs[3], | ||
STensor2 | Proj[3] | ||
) | [inline] |
void MPM::Derivs_p_q_t | ( | STensor2 const & | Sig, |
double & | p, | ||
double & | q, | ||
double & | t, | ||
double | DpDs[3], | ||
double | DqDs[3], | ||
double | DtDs[3], | ||
STensor2 | Proj[3] | ||
) | [inline] |
void MPM::Derivs_psmp_qsmp | ( | STensor2 const & | Sig, |
double & | psmp, | ||
double & | qsmp, | ||
double | DpsmpDs[3], | ||
double | DqsmpDs[3], | ||
STensor2 | Proj[3] | ||
) | [inline] |
void MPM::Derivs_ssmp_tsmp | ( | STensor2 const & | Sig, |
double & | ssmp, | ||
double & | tsmp, | ||
double | DssmpDs[3], | ||
double | DtsmpDs[3], | ||
STensor2 | Proj[3] | ||
) | [inline] |
double MPM::Det | ( | STensor2 const & | T | ) | [inline] |
Determinant.
1) Dot product: v=A*u => v(i)=A(i,k)*u(k)
2) Dot product: v=u*A => v(i)=u(k)*A(k,i)
3) Dot product: y = T*x => y = T:x => y(i,j)=T(i,j,k,l)*x(k,l)
4) Dot product: C=A*B => C(i,j)=A(i,k)*B(k,j)
void MPM::Dot | ( | STensor2 const & | A, |
Vector3D const & | u, | ||
Vector3D & | v | ||
) | [inline] |
7) Dot product: v = A*u => v(i)=A(i,k)*u(k)
void MPM::Dot | ( | Vector3D const & | u, |
STensor2 const & | A, | ||
Vector3D & | v | ||
) | [inline] |
8) Dot product: v = u*A => v(i)=u(k)*A(k,i)
void MPM::Dot | ( | STensor4 const & | T, |
STensor2 const & | x, | ||
STensor2 & | y | ||
) | [inline] |
9) Dot product: y = T*x => y = T:x => y(i,j)=T(i,j,k,l)*x(k,l)
void MPM::DotAdd | ( | STensor2 const & | r, |
STensor4 const & | T, | ||
STensor2 const & | x, | ||
STensor2 & | y | ||
) | [inline] |
13) Dot product with addition: y = r + T*x => y += T:x => y(i,j)+=T(i,j,k,l)*x(k,l)
void MPM::DotUp | ( | ATensor2 const & | A, |
Vector3D const & | u, | ||
Vector3D & | v | ||
) | [inline] |
4) Dot product (with update): v += A*u => v(i)+=A(i,k)*u(k)
void MPM::DotUp | ( | Vector3D const & | u, |
ATensor2 const & | A, | ||
Vector3D & | v | ||
) | [inline] |
5) Dot product (with update): v += u*A => v(i)+=u(k)*A(k,i)
void MPM::DotUp | ( | ATensor4 const & | T, |
ATensor2 const & | x, | ||
ATensor2 & | y | ||
) | [inline] |
6) Dot product (with update): y += T*x => y = T:x => y(i,j)+=T(i,j,k,l)*x(k,l)
void MPM::DotUp | ( | STensor2 const & | A, |
Vector3D const & | u, | ||
Vector3D & | v | ||
) | [inline] |
10) Dot product (with update): v += A*u => v(i)+=A(i,k)*u(k)
void MPM::DotUp | ( | Vector3D const & | u, |
STensor2 const & | A, | ||
Vector3D & | v | ||
) | [inline] |
11) Dot product (with update): v += u*A => v(i)+=u(k)*A(k,i)
void MPM::DotUp | ( | STensor4 const & | T, |
STensor2 const & | x, | ||
STensor2 & | y | ||
) | [inline] |
12) Dot product: y += T*x => y += T:x => y(i,j)+=T(i,j,k,l)*x(k,l)
a) Dyadic product: A = u dyad v => A(i,j)=u(i)*v(j)
void MPM::DyadDot | ( | Vector3D const & | v, |
ATensor2 const & | F, | ||
Vector3D const & | u, | ||
ATensor2 & | R | ||
) | [inline] |
b) Dyadic with Dot: R=v dyad (F*u) => R(i,j)=v(i)*F(j,k)*u(k)
void MPM::DyadDot | ( | Vector3D const & | v, |
Vector3D const & | u, | ||
ATensor2 const & | F, | ||
ATensor2 & | R | ||
) | [inline] |
c) Dyadic with Dot: R=(v dyad u)*F => R(i,j)=v(i)*u(k)*F(k,j)
void MPM::DyadDotUp | ( | Vector3D const & | v, |
ATensor2 const & | F, | ||
Vector3D const & | u, | ||
ATensor2 & | R | ||
) | [inline] |
e) Dyadic with Dot (with update): R += v dyad (F*u) => R(i,j)+=v(i)*F(j,k)*u(k)
void MPM::DyadDotUp | ( | Vector3D const & | v, |
Vector3D const & | u, | ||
ATensor2 const & | F, | ||
ATensor2 & | R | ||
) | [inline] |
f) Dyadic with Dot (with update): R += (v dyad u)*F => R(i,j)+=v(i)*u(k)*F(k,j)
void MPM::DyadUp | ( | Vector3D const & | u, |
Vector3D const & | v, | ||
ATensor2 & | A | ||
) | [inline] |
d) Dyadic product (with update): A += u dyad v => A(i,j)+=u(i)*v(j)
void MPM::Eigenvals | ( | STensor2 const & | T, |
double | L[3] | ||
) | [inline] |
void MPM::Eigenvp | ( | STensor2 const & | T, |
double | L[3], | ||
STensor2 | P[3] | ||
) | [inline] |
void MPM::Generate | ( | double const & | a, |
STensor4 const & | A, | ||
STensor2 const & | x, | ||
STensor2 const & | y, | ||
STensor4 const & | B, | ||
STensor4 const & | C, | ||
STensor4 & | D | ||
) | [inline] |
void MPM::Hid2Sig | ( | Vector3D const & | RAZ, |
Vector3D & | XYZ | ||
) | [inline] |
Converts hydrostatic coordinates to sigma (principal) coord (A in radians).
void MPM::HideInfoBox | ( | Fl_Widget * | IB, |
void * | Win | ||
) |
void MPM::InfoBox | ( | char const * | Message | ) |
int MPM::JacobiRot | ( | STensor2 const & | T, |
double | L[3] | ||
) | [inline] |
int MPM::JacobiRot | ( | STensor2 const & | T, |
double | V0[3], | ||
double | V1[3], | ||
double | V2[3], | ||
double | L[3] | ||
) | [inline] |
bool MPM::MkdirP | ( | char const * | Path | ) |
Create directory (recursively).
double MPM::NormT | ( | STensor2 const & | T | ) | [inline] |
double MPM::NormV | ( | Vector3D const & | v | ) | [inline] |
Euclidian norm
std::ostream& MPM::operator<< | ( | std::ostream & | os, |
FmtNum const & | FN | ||
) |
Format the output.
void MPM::Output | ( | STensor2 const & | Sig, |
STensor2 const & | Eps, | ||
std::ostream & | Os, | ||
bool | NewLine = true |
||
) | [inline] |
Output stress and strain values and invariants for use with plotn in plot.R.
void MPM::OutputHeader | ( | std::ostream & | Os, |
bool | NewLine = true |
||
) | [inline] |
Output stress and strain values and invariants for use with plotn in plot.R - HEADER.
double MPM::Reduce | ( | STensor2 const & | x, |
STensor4 const & | A, | ||
STensor2 const & | y | ||
) | [inline] |
void MPM::ReSetOutputArrays | ( | Problem2D & | Prob | ) |
(Re)set output arrays.
void MPM::ScDot | ( | double | s, |
STensor2 const & | x, | ||
STensor4 const & | T, | ||
STensor2 & | y | ||
) | [inline] |
9x) Scaled Dot product: y = s*x*T => y = s*x:T => y(i,j)=s*x(k,l)*T(k,l,i,j)
void MPM::ScDotUp | ( | double | s, |
STensor2 const & | A, | ||
Vector3D const & | u, | ||
Vector3D & | v | ||
) | [inline] |
10x) Scaled Dot product (with update): v += s*A*u => v(i)+=s*A(i,k)*u(k)
void MPM::ScDotUp | ( | double | s, |
Vec_t const & | A, | ||
Vector3D const & | u, | ||
Vector3D & | v | ||
) | [inline] |
10xx) Scaled Dot product (with update): v += s*A*u => v(i)+=s*A(i,k)*u(k)
void MPM::ScDotUp | ( | double | s, |
Vector3D const & | u, | ||
STensor2 const & | A, | ||
Vector3D & | v | ||
) | [inline] |
11x) Scaled Dot product (with update): v += s*u*A => v(i)+=u(k)*A(k,i)
void MPM::ScDyadUp | ( | double | s, |
Vector3D const & | u, | ||
Vector3D const & | v, | ||
ATensor2 & | A | ||
) | [inline] |
da) Scaled Dyadic product (with update): A += s *(u dyad v) => A(i,j)+=s*u(i)*v(j)
void MPM::SeparatedLine | ( | std::string const & | Line, |
std::string const & | Separator, | ||
Array< std::string > & | Res | ||
) | [inline] |
Break down a line using separators.
void MPM::SetProblem | ( | Problem2D & | Prob | ) |
Set problem.
void MPM::Strain_Ev_Ed | ( | STensor2 const & | Eps, |
double & | Ev, | ||
double & | Ed | ||
) | [inline] |
void MPM::Stress_p_q | ( | STensor2 const & | Sig, |
double & | p, | ||
double & | q | ||
) | [inline] |
void MPM::Stress_p_q_t | ( | STensor2 const & | Sig, |
double & | p, | ||
double & | q, | ||
double & | t | ||
) | [inline] |
void MPM::Stress_psmp_qsmp | ( | STensor2 const & | Sig, |
double & | psmp, | ||
double & | qsmp | ||
) | [inline] |
void MPM::Stress_ssmp_tsmp | ( | STensor2 const & | Sig, |
double & | ssmp, | ||
double & | tsmp | ||
) | [inline] |
Symmetric of a tensor S = a*sym(T) = a * 0.5*(T + trn(T)).
FmtNum MPM::_12_6 = { false, false, false, 12, 6 } |
General.
FmtNum MPM::_20_15 = { false, false, false, 20, 15 } |
General.
Dummy variable used only for tensors initialization.
size_t MPM::DefaultProblem = 3 |
const double MPM::DTRUE = 1.0 |
Fl_Menu_Item MPM::FldItems[] |
{ {"Strain-xx" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Strain-yy" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Strain-zz" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Strain-xy" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Stress-xx" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Stress-yy" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Stress-zz" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Stress-xy" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Cam-p" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Cam-q" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Vel-norm" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"ClrIdx" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {0,0,0,0,0,0,0,0,0} }
const size_t MPM::NRVEC = 2 |
const double MPM::PI = 4.0*atan(1.0) |
Fl_Menu_Item MPM::Problems[] |
{ {"1. Linear vibration" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"2. Indentation (WCCM8)" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"3. Bouncing disks" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"4. 2D vibration - small" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"5. Particle separation problem" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"6. Explosion" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"7. Cantilever" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"8. Column (buckling)" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"9. Cantilever (plastic)" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"10.Linear vibration (continuum)" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"11.Cylindrical Hole" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"12.Spoil pile" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"13.Footing penetration" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"14.Comet impact" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"15.Rotating disk" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"16. SBB-02a: gravity" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"17. SBB-02b: gravity" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {0,0,0,0,0,0,0,0,0} }
Fl_Menu_Item MPM::PtType[] |
{ {"BoxBord" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Box" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {"Circles" , 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 0, 0}, {0,0,0,0,0,0,0,0,0} }
const double MPM::SQ2 = sqrt(2.0) |
const double MPM::SQ2BY3 = sqrt(2.0/3.0) |
const double MPM::SQ3 = sqrt(3.0) |
const double MPM::SQ6 = sqrt(6.0) |
Forth order tensor (symmetric/Mandel's basis).
Forth order identity tensor (symmetric/Mandel's basis).
Forth order isotropic tensor (symmetric/Mandel's basis).
Forth order symmetric-deviatoric tensor (symmetric/Mandel's basis).