Contact model that evaluates forces and moments based on volume overlap and relative velocity.
More...
#include <model_volume_based.hpp>
|
| | VolumeBased () |
| | Default constructor for VolumeBased.
|
| |
| | VolumeBased (double kn, double kt, double mu, double beta) |
| | Constructor for VolumeBased.
|
| |
| nlohmann::json | PackJson () override |
| | Packs the contact model properties into a JSON object.
|
| |
| void | InitFromJson (nlohmann::json const &js) override |
| | Initializes the contact model from a JSON object.
|
| |
| void | SetProperty (nlohmann::json const &js) override |
| | Sets the contact model properties.
|
| |
| ContactModel * | Clone () const override |
| | Creates a copy of this contact model.
|
| |
| void | EvaluateForces (ContactForces *const cnt_forces, CollisionGeometries &cnt_geoms, ContactPP *const cnt, double dt) const override |
| | Evaluates the forces and moments between two particles.
|
| |
| void | EvaluateForces (ContactForces *const cnt_forces, CollisionGeometries &cnt_geoms, ContactPW *const cnt, double dt) const override |
| | Evaluates the forces and moments between a particle and a wall.
|
| |
| void | Print () const override |
| | Prints the contact model properties.
|
| |
| virtual void | SetProperty (std::string const &name, double value) |
| | Set a property of this contact model by name and value.
|
| |
| virtual void | EvaluateForces (ContactForces *const cnt_forces, BondGeometries &cnt_geoms, ContactPP *const cnt, double dt) const |
| | Calculate the contact forces and moments due to this model.
|
| |
| virtual void | EvaluateForces (ContactForces *const cnt_forces, BondGeometries &cnt_geoms, ContactPW *const cnt, double dt) const |
| | Calculate the contact forces and moments due to this model.
|
| |
| virtual | ~ContactModel () |
| |
|
| int | order {2} |
| | Parameters used to calculate contact forces.
|
| |
| double | kn {2e6} |
| |
| double | kt {1e6} |
| |
| double | beta {0.7} |
| |
| double | mu {0.5} |
| |
| int | id {0} |
| |
| std::string | label {"default"} |
| |
| int | model_type {0} |
| |
| std::string | model_name {"contact_model"} |
| |
◆ VolumeBased() [1/2]
| netdem::VolumeBased::VolumeBased |
( |
| ) |
|
◆ VolumeBased() [2/2]
| netdem::VolumeBased::VolumeBased |
( |
double | kn, |
|
|
double | kt, |
|
|
double | mu, |
|
|
double | beta ) |
Constructor for VolumeBased.
- Parameters
-
| kn | Normal stiffness parameter used to calculate contact forces. |
| kt | Tangential stiffness parameter used to calculate contact forces. |
| mu | Coefficient of friction used to calculate contact forces. |
| beta | Coefficient of restitution used to calculate contact forces. |
◆ Clone()
Creates a copy of this contact model.
- Returns
- A new instance of the contact model.
Reimplemented from netdem::ContactModel.
◆ EvaluateForces() [1/2]
Evaluates the forces and moments between two particles.
- Parameters
-
| cnt_forces | The contact forces data structure to store the results. |
| cnt_geoms | The collision geometries data structure containing the contact information. |
| cnt | The contact point between the two particles. |
| dt | The simulation timestep. |
Reimplemented from netdem::ContactModel.
◆ EvaluateForces() [2/2]
Evaluates the forces and moments between a particle and a wall.
- Parameters
-
| cnt_forces | The contact forces data structure to store the results. |
| cnt_geoms | The collision geometries data structure containing the contact information. |
| cnt | The contact point between the particle and the wall. |
| dt | The simulation timestep. |
Reimplemented from netdem::ContactModel.
◆ InitFromJson()
| void netdem::VolumeBased::InitFromJson |
( |
nlohmann::json const & | js | ) |
|
|
overridevirtual |
Initializes the contact model from a JSON object.
- Parameters
-
| js | A JSON object containing the contact model properties. |
Reimplemented from netdem::ContactModel.
◆ PackJson()
| nlohmann::json netdem::VolumeBased::PackJson |
( |
| ) |
|
|
overridevirtual |
Packs the contact model properties into a JSON object.
- Returns
- A JSON object containing the contact model properties.
Reimplemented from netdem::ContactModel.
◆ Print()
| void netdem::VolumeBased::Print |
( |
| ) |
const |
|
overridevirtual |
◆ SetProperty()
| void netdem::VolumeBased::SetProperty |
( |
nlohmann::json const & | js | ) |
|
|
overridevirtual |
Sets the contact model properties.
- Parameters
-
| js | A JSON object containing the contact model properties. |
Reimplemented from netdem::ContactModel.
◆ beta
| double netdem::VolumeBased::beta {0.7} |
◆ kn
| double netdem::VolumeBased::kn {2e6} |
◆ kt
| double netdem::VolumeBased::kt {1e6} |
◆ mu
| double netdem::VolumeBased::mu {0.5} |
◆ order
| int netdem::VolumeBased::order {2} |
Parameters used to calculate contact forces.
< The order of the polynomial kernel function used to evaluate contact forces.
The documentation for this class was generated from the following files: