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