IRockyParticleBreakageScalarsModel Struct Reference
Last update: 08.07.2024
IRockyParticleBreakageScalarsModel Struct Reference
#include <rocky_particle_scalars.hpp>
Inherits ScalarsModel< rocky20::ParticleBreakageScalarsController >.
Public Member Functions | |
void | enable_t10 () |
int | find (const char *name) |
int | add (const char *name, const char *unit, bool output=true) |
void | reset (int scalar_index) |
void | set_dimension (int scalar_index, double dimension_factor) |
Detailed Description
An IRockyParticleBreakageScalarsModel
allows users to add new particle breakage scalars, find particle breakage scalars created in other modules or activate particle breakage scalars known to Rocky, during the setup stage of a module. Particle breakage scalars are special particle scalars which can be used to transfer data from the point where the instantaneous breakage criterion is evaluated (at the ROCKY_PLUGIN_COMPUTE_INSTANTANEOUS_BREAKAGE
hook) to the point where the fragment size distribution is calculated (at the ROCKY_PLUGIN_COMPUTE_FRAGMENTS_SIZE_DISTRIBUTION
hook). A typical use is to store the value of the \(t_{10}\) parameter, which is calculated at the moment a particle breaks and is used for calculating the resulting fragment size distribution. However, users can employ these scalars to store whichever parameter that links the breakage criterion with the fragment size distribution in their models.
Member Function Documentation
◆ add()
int IRockyParticleBreakageScalarsModel::add | ( | const char * | name, |
const char * | unit, | ||
bool | output = true |
||
) |
- This method creates a new scalar variable of type
double
- for storing custom values during a simulation, preserving them between time iterations.
- Parameters
-
name The name given to the scalar variable. The purpose of this name is twofold. First, it enables to find this scalar variable from other module, in order to share their values. Second, if the scalar variable can be displayed in a 3D window as a property, this name will identify it in the Rocky UI. unit A string specifying the unit in S.I. associated to the scalar variable. output Enables/disables the storage in disk at output times, for the visualization and post-processing of the scalar values.
- Returns
- The index that will uniquely identify the scalar variable during the execution of the simulation.
◆ enable_t10()
void IRockyParticleBreakageScalarsModel::enable_t10 | ( | ) |
- Enables a scalar known to Rocky that stores the t10 parameter value. A custom instantaneous
- breakage model that is intended to work along with built-in fragment size distribution models in Rocky must enable and calculate this scalar variable.
◆ find()
int IRockyParticleBreakageScalarsModel::find | ( | const char * | name | ) |
- This method searches for a scalar variable already created by other modules,
- in order to allow access to its values, or store new values on it, during the execution of the simulation.
- Parameters
-
name The name given to the scalar at the moment of its creation.
- Returns
- The index that uniquely identifies the wanted scalar if it was actually found. It returns -1 otherwise.
◆ reset()
void IRockyParticleBreakageScalarsModel::reset | ( | int | scalar_index | ) |
- This method resets to zero all values stored in a scalar variable.
- Parameters
-
scalar_index The index attributed to the scalar variable at the moment of its creation.
◆ set_dimension()
void IRockyParticleBreakageScalarsModel::set_dimension | ( | int | scalar_index, |
double | dimension_factor | ||
) |
- The purpose of this method is to associate a dimensional factor
- to a scalar variable. This factor will be used to nondimensionalize their values. For instance, if the scalar represents a force, a force dimensional factor must be associated through this method. Dimensional factors for the fundamental magnitudes are provided by functions of a
IRockyModel
object.
- Parameters
-
scalar_index The index attributed to the scalar variable at the moment of its creation. dimension_factor The appropriate dimensional factor for the scalar variable.