Skip to main content

Rocky Solver SDK 2026 R1

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

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

Connect with Ansys