NetDEM v1.0
|
Namespaces | |
namespace | webgpu |
Classes | |
class | BondedSpheres |
A class representing a sphere bonded to other spheres through contact pairs. More... | |
class | BondedVoronois |
A class representing a set of bonded Voronoi cells generated from an STL file. More... | |
class | BondEntry |
The BondEntry class represents a collection of contact geometries and forces for one bond. More... | |
struct | BondEntryData |
A struct that represents data associated with a bond entry. More... | |
class | BondEntryParser |
A class that provides functions to convert bond entry data between a class and a struct format. More... | |
class | BondGeometries |
The BondGeometries class represents the geometrical properties of a bond. More... | |
class | BondSolverPP |
A class for solving point-point bonds between particles. More... | |
class | BondSolverPW |
A class for solving point-wall bonds between a particle and a wall. More... | |
class | BreakageAnalysis |
A modifier class for performing breakage analysis on particles. More... | |
class | BreakageAnalysisPD |
A modifier class for performing breakage analysis on particles. More... | |
class | Cell |
A class representing a cell in a simulation grid. More... | |
class | CellManager |
A class responsible for managing cells in a simulation grid. More... | |
class | CGALWrapper |
The CGAL class provides a wrapper for various CGAL mesh operations. More... | |
class | CodedNetSDF |
A class for representing a shape using a neural network-generated signed distance function and a latent code. More... | |
class | CollisionEntry |
A class representing a collision entry. More... | |
struct | CollisionEntryData |
A struct that represents data associated with a collision entry. More... | |
class | CollisionEntryParser |
A class that provides functions to convert collision entry data between a class and a struct format. More... | |
class | CollisionGeometries |
A class representing the geometries associated with a collision. More... | |
class | CollisionSolverPP |
An abstract base class for particle-particle collision solvers. More... | |
class | CollisionSolverPW |
An abstract class representing a collision solver for a particle and a wall. More... | |
class | Command |
A base class for commands that can modify a simulation based on provided JSON information. More... | |
class | CommandCreate |
A command class to create an object in the simulation. More... | |
class | ContactForces |
A class representing the contact forces and moments arising from a contact interaction. More... | |
class | ContactModel |
An abstract base class for contact models. More... | |
class | ContactModelFactory |
A factory class for creating contact models. More... | |
class | ContactPP |
A class representing a contact between two particles. More... | |
struct | ContactPPData |
A struct that represents data associated with pairwise particle contact. More... | |
class | ContactPPParser |
A class for converting between ContactPP objects and ContactPPData structs. More... | |
class | ContactPW |
A class representing a contact between a particle and a wall. More... | |
struct | ContactPWData |
Struct representing particle-wall contact data for MPI communication. More... | |
class | ContactPWParser |
A class for converting between ContactPW objects and ContactPWData structs. More... | |
class | ContactSolverFactory |
A factory class for creating and managing contact solvers. More... | |
class | ContactSolverSettings |
A container class for settings related to contact solvers. More... | |
class | CorkWrapper |
The Cork namespace contains various static methods for performing mesh operations. More... | |
class | Cylinder |
A class for representing a cylinder shape. More... | |
class | DataDumper |
A class used to dump particle data into vtk files. This is a post-modifier, which will be executed at the end of a DEM cycle. More... | |
class | DeformableParticle |
A class representing a deformable particle simulated using the Finite Element Method (FEM). More... | |
class | DeformationAnalysis |
A class used to perform deformation analysis on particles in a DEM simulation. This is a post-modifier, which will be executed at the end of a DEM cycle. More... | |
class | DEMFragment |
A class representing a fragment in a discrete element method simulation. More... | |
class | DEMObjectPool |
A class implementing object pooling for particles and contacts. More... | |
class | DEMProfiler |
A profiler class for measuring performance metrics in a DEM simulation. More... | |
class | DEMSolver |
A solver class for performing discrete element method (DEM) simulations. More... | |
class | Distribution |
class | Domain |
Class for managing the simulation domain and particles that belong to it. More... | |
class | DomainManager |
A class that manages the domain and sub-domains for a DEM simulation. More... | |
class | DomainSplittor |
An abstract base class for domain splitters used in discrete element method simulations. More... | |
class | EigenWrapper |
The EigenWrapper class provides a wrapper for various Eigen matrix operations. More... | |
class | Ellipsoid |
A class for representing an ellipsoid shape. More... | |
class | ExternalForce |
A class used to add external forces to particles in a DEM simulation. This is a pre-modifier, which will be executed at the beginning of a DEM cycle. More... | |
class | FEMSimulator |
A Finite Element Method (FEM) simulator used for simulating the deformation of objects. More... | |
class | GeneralNet |
A class representing a general neural network. More... | |
class | GoldenSpiralSampler |
A class for generating samples from a weighted spherical centroidal Voronoi tessellation. More... | |
class | Gravity |
A class used to apply gravity to particles in a DEM simulation. More... | |
class | HertzMindlin |
A contact model based on the Hertz-Mindlin theory of elastic-plastic contact. More... | |
class | IGLWrapper |
class | InputProcessor |
A class that processes input JSON files to modify a simulation. More... | |
class | IO |
class | LevelSet |
A class for representing a level set function as a Shape object. More... | |
class | LevelSetFunction |
Class for representing a level set function on a regular grid. More... | |
class | LevelSetSplittor |
A domain splitter that uses a level set function to define the domain. More... | |
class | LinearSpring |
Contact model that uses linear spring elements to evaluate contact forces and moments. More... | |
class | Math |
class | Membrane |
A class that simulates a membrane. More... | |
class | MembraneWall |
A class used to model a membrane wall in a DEM simulation. More... | |
class | MiniMap |
class | MLPackUtils |
A class that defines several utility methods for ANN. More... | |
class | Modifier |
An interface class used to modify a DEM simulation. More... | |
class | ModifierManager |
A class used to manage modifiers in a simulation. More... | |
class | MPIDataDefine |
A class for defining MPI datatypes for various data structures. More... | |
class | MPIManager |
Manages the data exchange in a DEM simulation. More... | |
class | NeighPofP |
A class representing a particle in contact with another particle or wall. More... | |
class | NeighPofW |
A class representing a particle in contact with a wall. More... | |
class | NeighWofP |
A class representing a wall in contact with a particle. More... | |
class | NetSDF |
A class for representing a shape using a neural network-based signed distance function (SDF). More... | |
class | PackGenerator |
A class for generating packs of particles. More... | |
struct | Pair |
struct | PairHash |
class | ParallelBond |
Contact model that evaluates forces and moments between two particles using parallel bond models. More... | |
class | Particle |
struct | ParticleData |
A struct defining the particle data for MPI communication. More... | |
struct | ParticleDataGPU |
A struct defining the particle data for MPI communication. More... | |
struct | ParticleEnergy |
A struct used to hold energy information about a particle. More... | |
class | ParticleEnergyEvaluator |
A class used to evaluate the energy of particles in a DEM simulation. More... | |
class | ParticleGroup |
A class used to group particles in a DEM simulation. More... | |
class | ParticleMotionControl |
A class used to add motion control to particles in a DEM simulation. More... | |
class | ParticleParser |
A class for converting between Particle objects and ParticleData structs. More... | |
class | ParticleParserGPU |
A class for converting between Particle objects and ParticleDataGPU structs. More... | |
class | ParticleStressEvaluator |
A class used to evaluate the stress of particles in a DEM simulation. More... | |
class | PeriDigmBlock |
A class that represents a Peridigm block. More... | |
class | PeriDigmBoundaryCondition |
A class that represents a boundary condition for Peridigm. More... | |
class | PeriDigmDamageModel |
A class representing a damage model. More... | |
class | PeriDigmDEMCoupler |
A class representing a coupling between a discrete element method (DEM) simulation and a peridynamic simulation. More... | |
class | PeriDigmDiscretization |
A class representing the discretization of a peridynamic simulation. More... | |
class | PeriDigmMaterial |
A class representing the material properties used in a peridynamic simulation. More... | |
class | PeriDigmSettings |
A class representing the settings used in a peridynamic simulation. More... | |
class | PeriDigmSimulator |
A class representing a simulator for peridynamic simulations. More... | |
class | PeriDigmStrength |
class | Plane |
A class for representing a plane with a center point and normal vector. More... | |
class | PointSphere |
A class representing a point sphere with a given diameter. More... | |
class | Polybezier |
A class representing a polybezier with variable orders and patches. More... | |
class | PolySuperEllipsoid |
A class representing a poly superellipsoid with two different orders and three different axes. More... | |
class | PolySuperQuadrics |
A class representing a poly superquadric with three different axes and orders. More... | |
class | RandomEngine |
A class for generating random numbers. More... | |
class | RegressionNet |
A class that represents a feedforward neural network for regression. More... | |
class | Scene |
A class for managing the elements in a DEM simulation. Scene behaves as a std container: More... | |
class | SDFCalculator |
Class for computing signed distance fields from triangle meshes. More... | |
class | Shape |
This class represents different types of shapes and performs various calculations on them. More... | |
class | ShapeFactory |
A class for creating Shape objects using a factory pattern. More... | |
class | Simplex |
A simplex class for representing a convex hull in n-dimensional space. More... | |
class | Simulation |
Class for managing a DEM simulation. More... | |
class | SolverANNPP |
A class that represents a collision solver using artificial neural networks. More... | |
class | SolverANNPPlane |
A class that represents a collision solver between a particle and a plane using artificial neural networks. More... | |
class | SolverANNPW |
A class that represents a collision solver between two particles using artificial neural networks. More... | |
class | SolverBooleanPP |
Solver for triangle mesh contacts between two particles using boolean operations. More... | |
class | SolverBooleanPW |
Solver for triangle mesh and wall contacts using boolean operations. More... | |
class | SolverGJKPP |
GJK solver for convex geometries. More... | |
class | SolverGJKPW |
GJK solver for convex geometries. More... | |
class | SolverSDFPP |
Signed distance field-based contact solver. More... | |
class | SolverSDFPW |
A class used to solve collisions between a particle and a wall using a signed distance field. More... | |
class | SolverSpherePlane |
A class used to solve collisions between a sphere and a plane. More... | |
class | SolverSphereSphere |
A class used to solve collisions between two spheres. More... | |
class | SolverSphereTriangle |
A class used to solve collisions between a particle and a triangle. More... | |
class | Sphere |
A class representing a sphere. More... | |
class | SphericalHarmonics |
A class representing a spherical harmonics object. More... | |
class | SphericalVoronoi |
Class for computing Voronoi diagrams on a sphere. More... | |
class | STLModel |
Class for working with STL models. More... | |
class | STLReader |
A class for reading STL files. More... | |
class | TetMesh |
A class that represents a tetrahedral mesh. More... | |
class | TetMeshSplittor |
A class representing a domain splitter for tetrahedral meshes. More... | |
class | Triangle |
A class representing a triangle in 3D space. More... | |
class | TriMesh |
A class representing a triangular mesh in 3D space. More... | |
class | UnbalancedForceRatioEvaluator |
A class used to evaluate the unbalanced force ratio of particles in a DEM simulation. More... | |
class | UniformDistribution |
Generates random numbers from a uniform distribution. More... | |
class | VolumeBased |
Contact model that evaluates forces and moments based on volume overlap and relative velocity. More... | |
class | Voronoi |
A class for computing Voronoi diagrams. More... | |
class | Wall |
A class representing a wall object in a physics simulation. More... | |
class | WallBoxPlane |
A class for generating a box of six walls. More... | |
class | WallBoxPlate |
A class for generating a box of six walls with plates. More... | |
class | WallGroup |
A class used to group walls in a DEM simulation. More... | |
class | WallMotionControl |
A class used to control the displacement of walls in a DEM simulation. More... | |
class | WallMotionIntegrator |
A class used to integrate the motion of walls in a DEM simulation. More... | |
class | WallServoControl |
A class used to control the pressure of walls in a DEM simulation. More... | |
class | WebGPUManager |
class | WebGPUWrapper |
class | WSCVTSampler |
A class for generating samples from a weighted spherical centroidal Voronoi tessellation. More... | |
Typedefs | |
using | size_t = std::size_t |
using | Vec2i = std::array<int, 2> |
using | Vec3i = std::array<int, 3> |
using | Vec4i = std::array<int, 4> |
using | Vec2d = std::array<double, 2> |
using | Vec3d = std::array<double, 3> |
using | Vec4d = std::array<double, 4> |
using | Mat2d = std::array<std::array<double, 2>, 2> |
using | Mat3d = std::array<std::array<double, 3>, 3> |
template<size_t N> | |
using | VecNi = std::array<int, N> |
template<size_t N> | |
using | VecNd = std::array<double, N> |
template<size_t Nr, size_t Nc> | |
using | MatNd = std::array<std::array<double, Nc>, Nr> |
using | VecXd = std::vector<double> |
template<typename T > | |
using | VecXT = std::vector<T> |
template<typename T , size_t N> | |
using | VecNT = std::array<T, N> |
template<typename T > | |
using | List = std::list<T> |
Functions | |
void | STDToEigen (const VecXT< VecXT< double > > &std_mat, Eigen::MatrixXd *eigen_mat) |
void | STDToEigen (const VecXT< Vec3d > &std_mat, Eigen::MatrixXd *eigen_mat) |
void | STDToEigen (const Mat3d &std_mat, Eigen::Matrix3d *eigen_mat) |
void | STDToEigen (const VecXT< Vec3i > &std_mat, Eigen::MatrixXi *eigen_mat) |
void | STDToEigen (const VecXT< Vec4i > &std_mat, Eigen::MatrixXi *eigen_mat) |
void | STDToEigen (const VecXT< double > &std_vec, Eigen::VectorXd *eigen_vec) |
void | STDToEigen (const Vec3d &std_vec, Eigen::Vector3d *eigen_vec) |
void | EigenToSTD (VecXT< VecXT< double > > *const std_mat, const Eigen::MatrixXd &eigen_mat) |
void | EigenToSTD (VecXT< Vec3d > *const std_mat, const Eigen::MatrixXd &eigen_mat) |
void | EigenToSTD (Mat3d *const std_mat, const Eigen::Matrix3d &eigen_mat) |
void | EigenToSTD (VecXT< Vec3i > *const std_mat, const Eigen::MatrixXi &eigen_mat) |
void | EigenToSTD (VecXT< Vec4i > *const std_mat, const Eigen::MatrixXi &eigen_mat) |
void | EigenToSTD (VecXT< int > *const std_vec, const Eigen::VectorXi &eigen_vec) |
void | EigenToSTD (VecXT< double > *const std_vec, const Eigen::VectorXd &eigen_vec) |
void | EigenToSTD (Vec3d *const std_vec, const Eigen::Vector3d &eigen_vec) |
void | to_json (nlohmann::json &js, const BondEntry &obj) |
void | from_json (const nlohmann::json &js, BondEntry &obj) |
void | to_json (nlohmann::json &js, const CollisionEntry &obj) |
void | from_json (const nlohmann::json &js, CollisionEntry &obj) |
void | to_json (nlohmann::json &js, const ContactPP &obj) |
void | from_json (const nlohmann::json &js, ContactPP &obj) |
void | to_json (nlohmann::json &js, const ContactPW &obj) |
void | from_json (const nlohmann::json &js, ContactPW &obj) |
void | to_json (nlohmann::json &js, const Particle &obj) |
void | from_json (const nlohmann::json &js, Particle &obj) |
void | to_json (nlohmann::json &js, const Wall &obj) |
void | from_json (const nlohmann::json &js, Wall &obj) |
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (BondGeometries, pos, dir_n, dir_s, dir_t, branch_1, branch_2, pos_ini, dir_n_ini, dir_s_ini, dir_t_ini, pos_1_ini, pos_2_ini, quat_1_ini, quat_2_ini, radius, len_n, len_s, len_t, dlen_n, dlen_s, dlen_t, theta_n, theta_s, theta_t, dtheta_n, dtheta_s, dtheta_t, active) NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(CollisionGeometries | |
std::ostream & | operator<< (std::ostream &os, Vec3i const &obj) |
std::ostream & | operator<< (std::ostream &os, Vec3d const &obj) |
std::ostream & | operator<< (std::ostream &os, VecXd const &obj) |
std::ostream & | operator<< (std::ostream &os, Vec4d const &obj) |
std::ostream & | operator<< (std::ostream &os, Mat3d const &obj) |
Vec3d | operator+ (Vec3d const &lhs, double rhs) |
Vec3d | operator+ (double lhs, Vec3d const &rhs) |
Vec3i | operator+ (Vec3i const &lhs, int rhs) |
Vec3i | operator+ (int lhs, Vec3i const &rhs) |
Vec3d | operator- (Vec3d const &lhs, double rhs) |
Vec3d | operator- (double lhs, Vec3d const &rhs) |
Vec3d | operator* (Vec3d const &lhs, double rhs) |
Vec3d | operator* (double lhs, Vec3d const &rhs) |
Vec3d | operator/ (Vec3d const &lhs, double rhs) |
Vec3d | operator/ (double lhs, Vec3d const &rhs) |
Vec3d | operator+ (Vec3d const &lhs, Vec3d const &rhs) |
Vec3d | operator- (Vec3d const &lhs, Vec3d const &rhs) |
Vec3d | operator* (Vec3d const &lhs, Vec3d const &rhs) |
Vec3d | operator/ (Vec3d const &lhs, Vec3d const &rhs) |
Mat3d | operator* (Mat3d const &lhs, double rhs) |
Mat3d | operator* (double lhs, Mat3d const &rhs) |
Mat3d | operator/ (Mat3d const &lhs, double rhs) |
Mat3d | operator/ (double lhs, Mat3d const &rhs) |
Mat3d | operator+ (Mat3d const &lhs, Mat3d const &rhs) |
Mat3d | operator- (Mat3d const &lhs, Mat3d const &rhs) |
template<size_t N> | |
std::ostream & | operator<< (std::ostream &os, VecNd< N > const &obj) |
Variables | |
pos | |
dir_n | |
dir_s | |
dir_t | |
branch_1 | |
branch_2 | |
len_n | |
dlen_n | |
dlen_s | |
dlen_t | |
dtheta_n | |
dtheta_s | |
dtheta_t | |
radius_1 | |
radius_2 | |
active | |
node_2to1 | |
node_id | |
node_dist | |
vol | |
Namespace containing classes and functions for the neural network-enabled discrete element simulation.
using netdem::List = std::list<T> |
using netdem::Mat2d = std::array<std::array<double, 2>, 2> |
using netdem::Mat3d = std::array<std::array<double, 3>, 3> |
using netdem::MatNd = std::array<std::array<double, Nc>, Nr> |
using netdem::size_t = std::size_t |
using netdem::Vec2d = std::array<double, 2> |
using netdem::Vec2i = std::array<int, 2> |
using netdem::Vec3d = std::array<double, 3> |
using netdem::Vec3i = std::array<int, 3> |
using netdem::Vec4d = std::array<double, 4> |
using netdem::Vec4i = std::array<int, 4> |
using netdem::VecNd = std::array<double, N> |
using netdem::VecNi = std::array<int, N> |
using netdem::VecNT = std::array<T, N> |
using netdem::VecXd = std::vector<double> |
using netdem::VecXT = std::vector<T> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void netdem::from_json | ( | const nlohmann::json & | js, |
BondEntry & | obj ) |
void netdem::from_json | ( | const nlohmann::json & | js, |
CollisionEntry & | obj ) |
void netdem::from_json | ( | const nlohmann::json & | js, |
ContactPP & | obj ) |
void netdem::from_json | ( | const nlohmann::json & | js, |
ContactPW & | obj ) |
void netdem::from_json | ( | const nlohmann::json & | js, |
Particle & | obj ) |
void netdem::from_json | ( | const nlohmann::json & | js, |
Wall & | obj ) |
netdem::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE | ( | BondGeometries | , |
pos | , | ||
dir_n | , | ||
dir_s | , | ||
dir_t | , | ||
branch_1 | , | ||
branch_2 | , | ||
pos_ini | , | ||
dir_n_ini | , | ||
dir_s_ini | , | ||
dir_t_ini | , | ||
pos_1_ini | , | ||
pos_2_ini | , | ||
quat_1_ini | , | ||
quat_2_ini | , | ||
radius | , | ||
len_n | , | ||
len_s | , | ||
len_t | , | ||
dlen_n | , | ||
dlen_s | , | ||
dlen_t | , | ||
theta_n | , | ||
theta_s | , | ||
theta_t | , | ||
dtheta_n | , | ||
dtheta_s | , | ||
dtheta_t | , | ||
active | ) |
std::ostream & netdem::operator<< | ( | std::ostream & | os, |
Mat3d const & | obj ) |
std::ostream & netdem::operator<< | ( | std::ostream & | os, |
Vec3d const & | obj ) |
std::ostream & netdem::operator<< | ( | std::ostream & | os, |
Vec3i const & | obj ) |
std::ostream & netdem::operator<< | ( | std::ostream & | os, |
Vec4d const & | obj ) |
std::ostream & netdem::operator<< | ( | std::ostream & | os, |
VecXd const & | obj ) |
|
inline |
|
inline |
|
inline |
|
inline |
void netdem::to_json | ( | nlohmann::json & | js, |
const BondEntry & | obj ) |
void netdem::to_json | ( | nlohmann::json & | js, |
const CollisionEntry & | obj ) |
void netdem::to_json | ( | nlohmann::json & | js, |
const ContactPP & | obj ) |
void netdem::to_json | ( | nlohmann::json & | js, |
const ContactPW & | obj ) |
void netdem::to_json | ( | nlohmann::json & | js, |
const Particle & | obj ) |
void netdem::to_json | ( | nlohmann::json & | js, |
const Wall & | obj ) |
netdem::active |
netdem::branch_1 |
netdem::branch_2 |
netdem::dir_n |
netdem::dir_s |
netdem::dir_t |
netdem::dlen_n |
netdem::dlen_s |
netdem::dlen_t |
netdem::dtheta_n |
netdem::dtheta_s |
netdem::dtheta_t |
netdem::len_n |
netdem::node_2to1 |
netdem::node_dist |
netdem::node_id |
netdem::pos |
netdem::radius_1 |
netdem::radius_2 |
netdem::vol |