MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes | Static Public Attributes
MPM::MPoints2D Class Reference

#include <mpoints2d.h>

List of all members.

Public Types

typedef std::map< int, Model * > Models_t
 Map tag to model pointer.

Public Member Functions

 MPoints2D (size_t nPcell, Grid2D *G, ptIsPointInGeom pIsPointInGeom, ptDensity pDensity, ptModelData pModelData, ptIniVelocity pIniVelocity, ptHasTraction pHasTraction, ptHasAppDisp pHasAppDisp, ptAppDisp pAppDisp=NULL)
 ~MPoints2D ()
size_t nPoints () const
 Return the number of material points.
size_t nPointsOnBry () const
 Return the number of material points on boundary.
void SetGrid (Grid2D *G)
 Set access (read/write) to the grid.
void ReInit ()
 Reinitialize points (during initial refinement)
bool TimeUpdate (bool FwEuler, double Dt, ptB pB, ptLdM pLdM, double &t, double &DsE)
 Advance one step in time, considering new b-body forces. Returns DsE, the increment of strain Energy.
void SetCPDI (bool UseCPDI=true)
 Use CPDI ?
void SetMPM (bool UseMPM=true)
 Use (original) MPM instead of the generalized MPM (GMPM) ?
void SetUSF (bool DoUSF=true)
 Do update stress first (USF) instead of updating stress last (USL) ?
Array< ATensor2 > const & Fs () const
 Returns access to all deformation gradients.
Array< Vector3D > const & Ps () const
 Returns access to all mat points positions.
Array< Vector3D > const & v () const
 Returns access to all mat points velocities.
Array< Vector3D > const & u () const
 Returns access to all mat points displacements.
Vector3D const & P (size_t i) const
 Returns access to a material point (read)
Vector3D const & B (size_t i) const
 Returns access to a material point which is on boundary (read)
double const & m (size_t i) const
 Mass of the point/particle.
Vector3D const & f (size_t i) const
 Force on the point/particle.
Vector3D const & t (size_t i) const
 Tractions on point/particle.
Vector3D const & fu (size_t i) const
 Applied displacements on point/particle.
Vector3D const & u (size_t i) const
 Displacement of the point/particle.
Vector3D const & v (size_t i) const
 Velocity of the point/particle.
Vec_t const & s (size_t i) const
 Stress on the point/particle.
Vec_t const & e (size_t i) const
 Strain on the point/particle.
bool HasT (size_t i) const
 Is mat point on boundary with applied tractions ?
bool HasU (size_t i) const
 Is mat point on boundary with applied displacements ?
int Clr (size_t i) const
 Color index.
Array< EquilibState * > const & Sta () const
void CalcC (size_t p) const
 < calculate corners (must be called before accessing C)
void MinMaxS (int iComp, double &MinS, double &MaxS) const
 limits: stresses
void MinMaxE (int iComp, double &MinE, double &MaxE) const
 limits: strains
void MinMaxCamp (double &Minp, double &Maxp) const
 limits: mean stress
void MinMaxCamq (double &Minq, double &Maxq) const
 limits: deviatoric stress
void MinMaxVelN (double &MinNv, double &MaxNv) const
 limits: norm of velocity

Public Attributes

Array< Vector3DC
 4 corners
double MINMASS
 Minimum mass of the point/particle.
Models_t Mdls
 All models.

Static Public Attributes

static const int NDIM = 2

Member Typedef Documentation

typedef std::map<int,Model*> MPM::MPoints2D::Models_t

Map tag to model pointer.


Constructor & Destructor Documentation

MPM::MPoints2D::MPoints2D ( size_t  nPcell,
Grid2D G,
ptIsPointInGeom  pIsPointInGeom,
ptDensity  pDensity,
ptModelData  pModelData,
ptIniVelocity  pIniVelocity,
ptHasTraction  pHasTraction,
ptHasAppDisp  pHasAppDisp,
ptAppDisp  pAppDisp = NULL 
) [inline]

Alternative constructor. nPCell=number of points per cell


Member Function Documentation

Vector3D const& MPM::MPoints2D::B ( size_t  i) const [inline]

Returns access to a material point which is on boundary (read)

void MPM::MPoints2D::CalcC ( size_t  p) const [inline]

< calculate corners (must be called before accessing C)

int MPM::MPoints2D::Clr ( size_t  i) const [inline]

Color index.

Vec_t const& MPM::MPoints2D::e ( size_t  i) const [inline]

Strain on the point/particle.

Vector3D const& MPM::MPoints2D::f ( size_t  i) const [inline]

Force on the point/particle.

Array<ATensor2> const& MPM::MPoints2D::Fs ( ) const [inline]

Returns access to all deformation gradients.

Vector3D const& MPM::MPoints2D::fu ( size_t  i) const [inline]

Applied displacements on point/particle.

bool MPM::MPoints2D::HasT ( size_t  i) const [inline]

Is mat point on boundary with applied tractions ?

bool MPM::MPoints2D::HasU ( size_t  i) const [inline]

Is mat point on boundary with applied displacements ?

double const& MPM::MPoints2D::m ( size_t  i) const [inline]

Mass of the point/particle.

void MPM::MPoints2D::MinMaxCamp ( double &  Minp,
double &  Maxp 
) const [inline]

limits: mean stress

void MPM::MPoints2D::MinMaxCamq ( double &  Minq,
double &  Maxq 
) const [inline]

limits: deviatoric stress

void MPM::MPoints2D::MinMaxE ( int  iComp,
double &  MinE,
double &  MaxE 
) const [inline]

limits: strains

void MPM::MPoints2D::MinMaxS ( int  iComp,
double &  MinS,
double &  MaxS 
) const [inline]

limits: stresses

void MPM::MPoints2D::MinMaxVelN ( double &  MinNv,
double &  MaxNv 
) const [inline]

limits: norm of velocity

size_t MPM::MPoints2D::nPoints ( ) const [inline]

Return the number of material points.

size_t MPM::MPoints2D::nPointsOnBry ( ) const [inline]

Return the number of material points on boundary.

Vector3D const& MPM::MPoints2D::P ( size_t  i) const [inline]

Returns access to a material point (read)

Array<Vector3D> const& MPM::MPoints2D::Ps ( ) const [inline]

Returns access to all mat points positions.

void MPM::MPoints2D::ReInit ( ) [inline]

Reinitialize points (during initial refinement)

Vec_t const& MPM::MPoints2D::s ( size_t  i) const [inline]

Stress on the point/particle.

void MPM::MPoints2D::SetCPDI ( bool  UseCPDI = true) [inline]

Use CPDI ?

void MPM::MPoints2D::SetGrid ( Grid2D G) [inline]

Set access (read/write) to the grid.

void MPM::MPoints2D::SetMPM ( bool  UseMPM = true) [inline]

Use (original) MPM instead of the generalized MPM (GMPM) ?

void MPM::MPoints2D::SetUSF ( bool  DoUSF = true) [inline]

Do update stress first (USF) instead of updating stress last (USL) ?

Array<EquilibState*> const& MPM::MPoints2D::Sta ( ) const [inline]
Vector3D const& MPM::MPoints2D::t ( size_t  i) const [inline]

Tractions on point/particle.

bool MPM::MPoints2D::TimeUpdate ( bool  FwEuler,
double  Dt,
ptB  pB,
ptLdM  pLdM,
double &  t,
double &  DsE 
) [inline]

Advance one step in time, considering new b-body forces. Returns DsE, the increment of strain Energy.

Array<Vector3D> const& MPM::MPoints2D::u ( ) const [inline]

Returns access to all mat points displacements.

Vector3D const& MPM::MPoints2D::u ( size_t  i) const [inline]

Displacement of the point/particle.

Array<Vector3D> const& MPM::MPoints2D::v ( ) const [inline]

Returns access to all mat points velocities.

Vector3D const& MPM::MPoints2D::v ( size_t  i) const [inline]

Velocity of the point/particle.


Member Data Documentation

4 corners

All models.

Minimum mass of the point/particle.

const int MPM::MPoints2D::NDIM = 2 [static]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines