    

 ## On this page

  

 

 # IRockyBreakableParticle Struct Reference

 Last update: 16.07.2025 

`#include <<a class="el" href="rocky__particle__api_8hpp_source.xhtml">rocky_particle_api.hpp</a>>`

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

double [get\_minimum\_fragment\_size](#a39311189362162e429f060557815729c) () const double [get\_original\_volume](#a22690da66add12be7a332bc4a0e596cc) () const int [get\_particle\_group\_index](#a6c9870ef714ee07eeb24bef485dac1b9) () const double [get\_strength](#abaff8573c455f7cf3793fefd8c43a793) () const double [get\_original\_size](#aca4e9c89438f779e191757c12103c65f) () const void [set\_as\_unbreakable](#a685c12928a91ee0fe62a243f35167d42) () const [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [get\_scalars](#a624157a56984db93a967eb5cad75fa83) () [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) [get\_breakage\_scalars](#a5ccd372c25b095a9739c11dae8f02ab7) () <a id="details" name="details"></a>## Detailed Description

`<a class="el" href="structIRockyBreakableParticle.xhtml">IRockyBreakableParticle</a>` is an interface for particles enabled to break through instantaneous breakage during a simulation. It may used for the initialization of `<a class="el" href="structIRockyParticleBreakageScalars.xhtml">IRockyParticleBreakageScalars</a>` that custom instantaneous breakage and/or fragment size distribution models may need.



## Member Function Documentation

<a id="a5ccd372c25b095a9739c11dae8f02ab7" name="a5ccd372c25b095a9739c11dae8f02ab7"></a>## [◆ ](#a5ccd372c25b095a9739c11dae8f02ab7)get\_breakage\_scalars()

 [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) IRockyBreakableParticle::get\_breakage\_scalars  ( ) 

ReturnsAn `<a class="el" href="structIRockyParticleBreakageScalars.xhtml">IRockyParticleBreakageScalars</a>` object, that gives access to all particle breakage scalars variables defined in the project. 



<a id="a39311189362162e429f060557815729c" name="a39311189362162e429f060557815729c"></a>## [◆ ](#a39311189362162e429f060557815729c)get\_minimum\_fragment\_size()

 double IRockyBreakableParticle::get\_minimum\_fragment\_size  ( )  const

ReturnsThe minimum size that a fragment generated at a breakage event of the particle can have. Please refer to the DEM Technical Manual for more information about how this parameter is defined. 



<a id="aca4e9c89438f779e191757c12103c65f" name="aca4e9c89438f779e191757c12103c65f"></a>## [◆ ](#aca4e9c89438f779e191757c12103c65f)get\_original\_size()

 double IRockyBreakableParticle::get\_original\_size  ( )  const

ReturnsThe value of the particle's size at the moment it enters a simulation. 



<a id="a22690da66add12be7a332bc4a0e596cc" name="a22690da66add12be7a332bc4a0e596cc"></a>## [◆ ](#a22690da66add12be7a332bc4a0e596cc)get\_original\_volume()

 double IRockyBreakableParticle::get\_original\_volume  ( )  const

ReturnsThe volume of the particle at the moment it enters a simulation. 



<a id="a6c9870ef714ee07eeb24bef485dac1b9" name="a6c9870ef714ee07eeb24bef485dac1b9"></a>## [◆ ](#a6c9870ef714ee07eeb24bef485dac1b9)get\_particle\_group\_index()

 int IRockyBreakableParticle::get\_particle\_group\_index  ( )  const

ReturnsThe index that identifies internally the particle group to which the particle belongs. 



<a id="a624157a56984db93a967eb5cad75fa83" name="a624157a56984db93a967eb5cad75fa83"></a>## [◆ ](#a624157a56984db93a967eb5cad75fa83)get\_scalars()

 [IRockyParticleScalars](structIRockyParticleScalars.xhtml) IRockyBreakableParticle::get\_scalars  ( ) 

ReturnsAn `<a class="el" href="structIRockyParticleScalars.xhtml">IRockyParticleScalars</a>` object, that gives access to all particle scalars variables defined in the project. 



<a id="abaff8573c455f7cf3793fefd8c43a793" name="abaff8573c455f7cf3793fefd8c43a793"></a>## [◆ ](#abaff8573c455f7cf3793fefd8c43a793)get\_strength()

 double IRockyBreakableParticle::get\_strength  ( )  const

ReturnsA random value between 0 and 1 assigned to a particle at the time of generation. This value can be related to the breakage probability in a custom instantaneous breakage model. 



<a id="a685c12928a91ee0fe62a243f35167d42" name="a685c12928a91ee0fe62a243f35167d42"></a>## [◆ ](#a685c12928a91ee0fe62a243f35167d42)set\_as\_unbreakable()

 void IRockyBreakableParticle::set\_as\_unbreakable  ( )  const

If this method is called during breakage initialization, the particlewill be marked to be ignored at all instantaneous breakage-related procedures during the simulation.