|
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 |