75 void Init(std::string
const &classifier_file,
76 std::string
const ®ressor_file);
225 Shape *shape_1{
nullptr};
228 Shape *shape_2{
nullptr};
231 double bound_sphere_radius_1;
234 double bound_sphere_radius_2;
A class representing the geometries associated with a collision.
Definition collision_geometries.hpp:15
An abstract base class for particle-particle collision solvers.
Definition collision_solver_pp.hpp:18
A class representing a general neural network.
Definition general_net.hpp:19
Definition particle.hpp:26
A class that represents a feedforward neural network for regression.
Definition regression_net.hpp:21
This class represents different types of shapes and performs various calculations on them.
Definition shape.hpp:15
A class that represents a collision solver using artificial neural networks.
Definition solver_ann_pp.hpp:28
void Init(std::string const &classifier_file, std::string const ®ressor_file)
Initializes the collision solver with neural network models from disk.
void ResolveUpdate(ContactPP *const cnt, double timestep) override
Resolves the collision during update time.
Definition solver_ann_pp.cpp:96
netdem::GeneralNet classifier
The neural network model used for classification.
Definition solver_ann_pp.hpp:31
void ResolveUpdate_PotentialBased(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a potential-based method during update time.
Definition solver_ann_pp.cpp:247
SolverANNPP()
Default constructor for the SolverANNPP class.
Definition solver_ann_pp.cpp:10
std::tuple< Vec3d, Vec3d, Vec3d > EvaluateContactForces()
Evaluates the contact forces for the collision.
Definition solver_ann_pp.cpp:292
void ResolveInit_PotentialBased(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a potential-based method at initialization time.
Definition solver_ann_pp.cpp:226
netdem::RegressionNet regressor
The neural network model used for regression.
Definition solver_ann_pp.hpp:34
void ResolveInit_LinearSpring(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a linear spring model at initialization time.
Definition solver_ann_pp.cpp:112
void ResolveInit(ContactPP *const cnt, double timestep) override
Resolves the collision at initialization time.
Definition solver_ann_pp.cpp:76
void ResolveUpdate_LinearSpring(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a linear spring model during update time.
Definition solver_ann_pp.cpp:139
bool Detect() override
Detects collisions between the particles.
Definition solver_ann_pp.cpp:42
void ResolveUpdate_VolumeBased(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a volume-based method during update time.
Definition solver_ann_pp.cpp:196
CollisionSolverPP * Clone() const override
Creates a copy of the SolverANNPP object.
Definition solver_ann_pp.cpp:16
void ResolveInit_VolumeBased(CollisionGeometries *const cnt_geoms, double timestep)
Resolves the collision using a volume-based method at initialization time.
Definition solver_ann_pp.cpp:167
std::tuple< double, Vec3d > GetPotential(Vec3d const &pos, Vec4d const &quat)
Calculates the potential energy and contact position for the collision.
Definition solver_ann_pp.cpp:270
Definition bond_entry.hpp:7
pos
Definition json_serilization.hpp:19
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18
std::array< double, 4 > Vec4d
Definition utils_macros.hpp:19