Structure IRockyParticleHost
Last update: 09.03.2026
#include <rocky_particle_api.hpp>
IRockyParticleHost is an interface for the internal particle object in Rocky. A particle object is the code representation of an individual particle in a Rocky simulation. It has several access methods to particle-related properties, as well as particle scalars, which are special variables that store values per particle that are preserved between time iterations. The main difference in relation to IRockyParticle is that all IRockyParticleHost's property and variable values have their original dimensions as defined within the project, and its data resides within host memory (DRAM).
Members
- get_assembly_part_material
- get_centroid_position
- get_cgm_scale_factor
- get_equivalent_diameter
- get_material
- get_material_index
- get_number_of_assembly_parts
- get_original_mass
- get_original_solid_volume
- get_original_volume
- get_particle_group_index
- get_release_time
- get_scalars
- get_size
- get_tag
- is_assembly
- is_element
- is_released
Public functions
Function get_original_volume
double IRockyParticleHost::get_original_volume() const
Returns:
The original value of the particle's volume. If the particle is porous, this function will return the original total volume of the particle, that is, the sum of the volumes of the solid matrix and the porous space.
Return type: double
Function get_original_solid_volume
double IRockyParticleHost::get_original_solid_volume() const
Returns:
The original value of the particle's solid volume, which is the volume of the solid matrix if the particle is porous. Otherwise, this function will return the same value that the get_original_volume function.
Return type: double
Function get_material_index
int IRockyParticleHost::get_material_index() const
Returns:
The material index associated to the particle
Return type: int
Function get_equivalent_diameter
double IRockyParticleHost::get_equivalent_diameter() const
Returns:
The equivalent diameter of the particle, which is defined as the diameter of a sphere of volume equal to the particle's volume.
Return type: double
Function get_material
IRockyMaterial IRockyParticleHost::get_material() const
Returns:
An IRockyMaterial object that gives access to the values of physical properties associated to the material from which the particle is made.
Return type: IRockyMaterial
Function get_centroid_position
double3 IRockyParticleHost::get_centroid_position() const
Returns:
The Cartesian coordinates of the current position of the particle's centroid.
Return type: double3
Function get_original_mass
double IRockyParticleHost::get_original_mass() const
Returns:
The original value of the particle's mass.
Return type: double
Function get_size
double IRockyParticleHost::get_size() const
Returns:
The current value of the particle's size.
Return type: double
Function get_release_time
double IRockyParticleHost::get_release_time() const
Returns:
The time particle was released.
Return type: double
Function get_cgm_scale_factor
double IRockyParticleHost::get_cgm_scale_factor() const
Returns:
The particle's Coarse-grain Modeling (CGM) scale factor.
Return type: double
Function get_tag
int IRockyParticleHost::get_tag() const
Returns:
The tag value inherited from the tags assigned to the segments of a custom fiber, if the IRockyParticleHost object represents an element of a custom fiber. The values of those tags must be specified in the column labeled "tag" in the csv file that defines the geometry of a custom fiber. All elements that arise from the subdivision of a given segment inherit the tag value assigned to that segment. If tags are not defined for a custom fiber or if this function is used with particles which are not elements of a custom fiber, this function will return -1.
Return type: int
Function is_released
bool IRockyParticleHost::is_released() const
Returns:
A true value if the particle was released into the simulation domain, false otherwise.
Return type: bool
Function is_element
bool IRockyParticleHost::is_element() const
Returns:
True if the given particle is an element within a flexible particle, false otherwise.
Return type: bool
Function is_assembly
bool IRockyParticleHost::is_assembly() const
Returns:
True if the given particle is an assembly, false otherwise.
Return type: bool
Function get_number_of_assembly_parts
size_t IRockyParticleHost::get_number_of_assembly_parts() const
Returns:
The number of parts that compose the assembly.
Return type: size_t
Function get_assembly_part_material
IRockyMaterial IRockyParticleHost::get_assembly_part_material(size_t part_id) const
Parameters:
- part_id: The index of an assembly part.
Returns:
An IRockyMaterial object that gives access to the values of physical properties associated to the material from which the assembly part referent to part_id is made.
Parameters:
- size_t part_id
Return type: IRockyMaterial
Function get_scalars
IRockyParticleScalars IRockyParticleHost::get_scalars() const
Returns:
An IRockyParticleScalars object, that gives access to all particle scalars variables defined in the project.
Return type: IRockyParticleScalars
Function get_particle_group_index
int IRockyParticleHost::get_particle_group_index() const
Returns:
The index that uniquely identifies the particle group to which the particle belongs.
Return type: int