Computational fluid dynamics class#
- 
struct grid_type#
- #include <openfdem_MPM.h>Public Functions - 
grid_type() = default#
 
- 
grid_type() = default#
- 
class GridModule#
- #include <MPM_grid_module.h>Subclassed by ns_MPM::MPMModule Public Static Functions - 
static double N(double x)#
 - 
static double dN(double x)#
 - 
static Eigen::Matrix2d Project(point_type &P, Eigen::Matrix2d S, Solidmat solidmat)#
 
- 
static double N(double x)#
- 
struct gridpoint#
- #include <openfdem_MPM.h>Public Functions - 
gridpoint() = default#
 
- 
gridpoint() = default#
- 
struct MaterialPoint_structure#
- #include <openfdem_MPM.h>Public Members - 
std::vector<point_type> points#
 - 
std::vector<mpmcontact_type> contact#
 - 
std::vector<MPMparticleContact_type> pcontact#
 
- 
std::vector<point_type> points#
- 
struct mpmcontact_type#
- #include <openfdem_MPM.h>Public Functions - 
mpmcontact_type() = default#
 - 
void resize(UInt ielem, UInt jelem, MaterialPoint_structure *mpm, Element_structure *element, Solid_mat_structure *solidmat)#
 - 
void clear()#
 
- 
mpmcontact_type() = default#
- 
class MPMFEMcontactModule : public OpenFdemAbstract, public OpenFDEMmessage, public Contact_utils#
- #include <MPMFEMcontact_module.h>Public Static Functions - 
static void MPMcontact_detection(MPM mpm, General general, Element element, Particle particle, Contact contact, Nodal nodal, Solidmat solidmat)#
 - 
static void MPMcontactForceupdate(General general, MPM mpm, Element element, Nodal nodal, Solidmat solidmat)#
 - 
static void MPMparticleContactForceupdate(General general, MPM mpm, Particle particle, Solidmat solidmat)#
 - 
static inline Vector3 p2wContactforce(const Int point, const Int ele, const Int edge, const Int con, const UInt umat, MPM mpm, Element element, Solidmat solidmat)#
 - 
static inline Real getP2WNormal(const Int point, const Int ele, const Int con, const Int edge, Element element, Nodal nodal, MPM mpm)#
 - 
static inline void getP2Wdis(const Int point, const Int ele, const Int con, const Int edge, MPM mpm, Element element, General general)#
 - 
static inline void getP2Wvel(const Int point, const Int ele, const Int con, const Int edge, Real rot, MPM mpm, Nodal nodal, Element element)#
 - 
static inline void getP2PNormal(const Int point, const Int ball, const Int con, Particle particle, MPM mpm)#
 - 
static inline void getP2Pvel(const Int point, const Int ball, const Int con, Particle particle, MPM mpm)#
 - 
static inline void getP2Pdis(const Int point, const Int ball, const Int con, Particle particle, MPM mpm, General general)#
 
- 
static void MPMcontact_detection(MPM mpm, General general, Element element, Particle particle, Contact contact, Nodal nodal, Solidmat solidmat)#
- 
class MPMModule : public OpenFdemAbstract, public ns_MPM::GridModule, public ns_MPM::PointsModule#
- #include <openfdem_MPM_module.h>Public Static Functions 
- 
struct MPMparticleContact_type#
- #include <openfdem_MPM.h>Public Functions - 
MPMparticleContact_type() = default#
 - 
void resize(UInt ielem, UInt jelem, MaterialPoint_structure *mpm, Particle_structure *particle, Solid_mat_structure *solidmat)#
 - 
void clear()#
 
- 
MPMparticleContact_type() = default#
- 
struct point_type#
- #include <openfdem_MPM.h>Public Functions - 
point_type() = default#
 Public Members - 
bool isfluid = false#
 - 
Eigen::Vector2d pseudo_position = {0, 0}#
 - 
Eigen::Vector2i int_position = {0, 0}#
 - 
Eigen::Vector2d position = {0, 0}#
 - 
Eigen::Vector2d initialposition = {0, 0}#
 - 
Eigen::Vector2d velocity = {0, 0}#
 - 
Eigen::Vector2d contactforce = {0, 0}#
 - 
Eigen::Vector2d momentum = {0, 0}#
 - 
Eigen::Matrix2d Deformation_Gradient#
 - 
Eigen::Matrix2d plasticDeformation_Gradient#
 - 
Eigen::Matrix4d weight#
 - 
Eigen::Matrix2d Energy_Derivative#
 - 
Eigen::Matrix2d Velocity_Gradient#
 - 
Eigen::Vector2d Weight_Gradient[4][4]#
 - 
Eigen::Matrix2d B#
 
- 
point_type() = default#
- 
class PointsModule#
- #include <MPM_point_module.h>Subclassed by ns_MPM::MPMModule Public Static Functions - 
static point_type createPoints(Eigen::Vector2d Pos, Eigen::Vector2d Vel, double Mass, Int mat)#
 
- 
static point_type createPoints(Eigen::Vector2d Pos, Eigen::Vector2d Vel, double Mass, Int mat)#
- 
namespace ns_common
- 
namespace ns_contact
- 
namespace ns_io
- 
namespace ns_MPM#
- file MPM_grid_module.h
- #include <Eigen/Dense>#include <vector>#include “common/openfdem_common.h”#include “solver/openfdem.h”
- file MPM_point_module.h
- #include <eigen3/Eigen/Dense>#include <vector>#include “common/openfdem_common.h”#include “solver/openfdem.h”
- file MPMFEMcontact_module.h
- #include “common/openfdem_abstract.h”#include “common/openfdem_message.h”#include “contact/contact_utils/contact_utils.h”#include “external/gsl/gsl_randist.h”#include “external/gsl/gsl_rng.h”#include “solver/openfdem.h”
- file openfdem_MPM.h
- #include <eigen3/Eigen/Dense>#include <vector>#include “common/openfdem_common.h”Typedefs - 
typedef struct MaterialPoint_structure *MPM#
 
- 
typedef struct MaterialPoint_structure *MPM#
- file openfdem_MPM_module.h
- #include <iohelper/parser/parser_utils.h>#include “common/openfdem_abstract.h”#include “common/openfdem_message.h”#include “mpm/MPMFEMcontact_module.h”#include “mpm/MPM_grid_module.h”#include “mpm/MPM_point_module.h”#include “solver/openfdem.h”
- dir mpm
- dir src