    

 ## On this page

  

 

 # rocky\_api

 Last update: 17.07.2025 

<a id="l00001" name="l00001"></a> 1\#pragma once

<a id="l00002" name="l00002"></a> 2 

<a id="l00003" name="l00003"></a> 3// Includes =======================================================================================

<a id="l00004" name="l00004"></a> 4\#include "dll\_export.h"

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6\#ifdef ROCKY\_CUDA\_API

<a id="l00007" name="l00007"></a> 7 

<a id="l00008" name="l00008"></a> 8\#include &lt;cuda.h&gt;

<a id="l00009" name="l00009"></a> 9\#include &lt;cuda\_runtime.h&gt;

<a id="l00010" name="l00010"></a> 10 

<a id="l00011" name="l00011"></a> 11\#define ROCKY\_FUNCTIONS \_\_host\_\_ \_\_device\_\_

<a id="l00012" name="l00012"></a> 12 

<a id="l00013" name="l00013"></a> 13\#else

<a id="l00014" name="l00014"></a> 14 

<a id="l00015" name="l00015"></a> 15//#define ROCKY\_FUNCTIONS

<a id="l00016" name="l00016"></a> 16 

<a id="l00017" name="l00017"></a> 17\#endif

<a id="l00018" name="l00018"></a> 18 

<a id="l00019" name="l00019"></a> 19\#include "rocky\_contact\_api.hpp"

<a id="l00020" name="l00020"></a> 20\#include "rocky\_contact\_scalars.hpp"

<a id="l00021" name="l00021"></a> 21\#include "rocky\_fluid\_scalars.hpp"

<a id="l00022" name="l00022"></a> 22\#include "rocky\_joint\_api.hpp"

<a id="l00023" name="l00023"></a> 23\#include "rocky\_model\_api.hpp"

<a id="l00024" name="l00024"></a> 24\#include "rocky\_particle\_api.hpp"

<a id="l00025" name="l00025"></a> 25\#include "rocky\_particle\_scalars.hpp"

<a id="l00026" name="l00026"></a> 26\#include "rocky\_joint\_scalars.hpp"

<a id="l00027" name="l00027"></a> 27\#include "rocky\_pair\_scalars.hpp"

<a id="l00028" name="l00028"></a> 28\#include "rocky\_boundary\_scalars.hpp"

<a id="l00029" name="l00029"></a> 29\#include "rocky\_triangle\_scalars.hpp"

<a id="l00030" name="l00030"></a> 30\#include "rocky\_plugin\_data.h"

<a id="l00031" name="l00031"></a> 31\#include "rocky\_output\_collections\_api.hpp"

<a id="l00032" name="l00032"></a> 32\#include "rocky\_timestep\_api.h"

<a id="l00033" name="l00033"></a> 33\#include "rocky\_contact\_data\_recorder\_api.h"

<a id="l00034" name="l00034"></a> 34\#include "rocky\_statistics\_data.hpp"

<a id="l00035" name="l00035"></a> 35 

<a id="l00036" name="l00036"></a> 36// Forward declarations ===========================================================================

<a id="l00037" name="l00037"></a> 37class cuda_host;

<a id="l00038" name="l00038"></a> 38typedef cuda_host RockyModel;

<a id="l00039" name="l00039"></a> 39struct RockyParticle;

<a id="l00040" name="l00040"></a> 40struct RockyContact;

<a id="l00041" name="l00041"></a> 41 

<a id="l00042" name="l00042"></a> 42struct SDeviceModel;

<a id="l00043" name="l00043"></a> 43 

<a id="l00044" name="l00044"></a> 44struct cuda_material;

<a id="l00045" name="l00045"></a> 45struct MaterialInteraction;

<a id="l00046" name="l00046"></a> 46 

<a id="l00047" name="l00047"></a> 47// ================================================================================================

<a id="l00048" name="l00048"></a> 48// IRockyModel

<a id="l00049" name="l00049"></a> 49// ================================================================================================

<a id="l00050" name="l00050"></a> 50 

<a id="l00051" name="l00051"></a> 51 

<a id="l00059" name="l00059"></a>[ 59](structIRockyModel.xhtml)struct [IRockyModel](structIRockyModel.xhtml)

<a id="l00060" name="l00060"></a> 60{

<a id="l00061" name="l00061"></a> 61 

<a id="l00062" name="l00062"></a> 62 // Physics--------------------------------------------------------------

<a id="l00063" name="l00063"></a> 63 

<a id="l00070" name="l00070"></a> 70 double [get\_softening\_factor](structIRockyModel.xhtml#a3caea658ae1557e11ed4e72dc80fb0a2)() const;

<a id="l00071" name="l00071"></a> 71 

<a id="l00075" name="l00075"></a> 75 double [get\_timestep](structIRockyModel.xhtml#a6c0be64519ddd583f26570ece5a4aee1)() const;

<a id="l00076" name="l00076"></a> 76 

<a id="l00086" name="l00086"></a> 86 void [trigger\_update\_timestep](structIRockyModel.xhtml#ada3d1d7b6e1de1d7e4ef0739a1f4dd8a)() const;

<a id="l00087" name="l00087"></a> 87 

<a id="l00091" name="l00091"></a> 91 bool [is\_thermal\_simulation](structIRockyModel.xhtml#ac1f146615e6b930769ff4008c4a0bb6c)() const;

<a id="l00092" name="l00092"></a> 92 

<a id="l00097" name="l00097"></a> 97 bool [has\_adhesion](structIRockyModel.xhtml#a021623b1b816354c3fe778f6de07c2e5)() const;

<a id="l00098" name="l00098"></a> 98 

<a id="l00112" name="l00112"></a> 112 void [set\_adhesive\_distance](structIRockyModel.xhtml#ac9dd7ca3cdad5289325c080a10bf2ad7)(int home_index, int near_index, double adhesive_distance);

<a id="l00113" name="l00113"></a> 113 

<a id="l00130" name="l00130"></a> 130 void [set\_minimum\_restitution\_coefficient](structIRockyModel.xhtml#a8c30579eb47a2e20abd0fc393b3b2532)(int home_index, int near_index, double minimum_restitution);

<a id="l00131" name="l00131"></a> 131 

<a id="l00132" name="l00132"></a> 132 

<a id="l00133" name="l00133"></a> 133 // Auxiliary objects --------------------------------------------------------------

<a id="l00134" name="l00134"></a> 134 

<a id="l00140" name="l00140"></a> 140 [IRockyInteractionCalculationsData](classIRockyInteractionCalculationsData.xhtml) [get\_interactions\_data](structIRockyModel.xhtml#ac9a1e9a6ac20f978dd08f6fc67fd0904)() const;

<a id="l00141" name="l00141"></a> 141 

<a id="l00147" name="l00147"></a> 147 [IRockyContactDataRecorder](structIRockyContactDataRecorder.xhtml) [get\_contact\_data\_recorder](structIRockyModel.xhtml#a4f71066b464f74b32fb560c8a58dd030)() const;

<a id="l00148" name="l00148"></a> 148 

<a id="l00149" name="l00149"></a> 149 

<a id="l00150" name="l00150"></a> 150 // Entities ------------------------------------------------------------

<a id="l00151" name="l00151"></a> 151 

<a id="l00156" name="l00156"></a> 156 int [get\_number\_of\_particle\_groups](structIRockyModel.xhtml#a1b8fe53d49b68f6097261e884fa769c5)() const;

<a id="l00157" name="l00157"></a> 157 

<a id="l00161" name="l00161"></a> 161 int [get\_number\_of\_particles](structIRockyModel.xhtml#a1c6cf48153d8b8278bcc67c3f31eff7b)() const;

<a id="l00162" name="l00162"></a> 162 

<a id="l00166" name="l00166"></a> 166 int [get\_number\_of\_geometries](structIRockyModel.xhtml#a54b2c41da7a4f9f719ac76fb83f0eb0a)() const;

<a id="l00167" name="l00167"></a> 167 

<a id="l00171" name="l00171"></a> 171 int [get\_number\_of\_materials](structIRockyModel.xhtml#a56c275ba379255adc3b2fc2af8ea83d7)() const;

<a id="l00172" name="l00172"></a> 172 

<a id="l00177" name="l00177"></a> 177 int [get\_number\_of\_material\_interactions](structIRockyModel.xhtml#a59425e7004ad5636d9a6dc06e31e288d)() const;

<a id="l00178" name="l00178"></a> 178 

<a id="l00183" name="l00183"></a> 183 std::string [get\_geometry\_name](structIRockyModel.xhtml#a7fb2a67e2e5126c5140ce80ede04b713)(int geometry_index) const;

<a id="l00184" name="l00184"></a> 184 

<a id="l00189" name="l00189"></a> 189 std::string [get\_particle\_group\_name](structIRockyModel.xhtml#a04e185eee0bdd70cc84ad48459584823)(int particle_group_index) const;

<a id="l00190" name="l00190"></a> 190 

<a id="l00202" name="l00202"></a> 202 EBoundaryType [get\_geometry\_type](structIRockyModel.xhtml#afa6751b1d56262ace6eab52f3bdcee42)(int geometry_index) const;

<a id="l00203" name="l00203"></a> 203 

<a id="l00204" name="l00204"></a> 204 // Scalars ------------------------------------------------------------

<a id="l00205" name="l00205"></a> 205 

<a id="l00213" name="l00213"></a> 213 [IRockyParticleScalarsModel](structIRockyParticleScalarsModel.xhtml) [get\_particle\_scalars](structIRockyModel.xhtml#a4788543c01a10a60e17c3623a6847708)() const;

<a id="l00214" name="l00214"></a> 214 

<a id="l00215" name="l00215"></a> 215 

<a id="l00224" name="l00224"></a> 224 [IRockyParticleTransferScalarsModel](structIRockyParticleTransferScalarsModel.xhtml) [get\_particle\_transfer\_scalars](structIRockyModel.xhtml#a9c78ff441fc0220adf389ae4b733c808)() const;

<a id="l00225" name="l00225"></a> 225 

<a id="l00226" name="l00226"></a> 226 

<a id="l00234" name="l00234"></a> 234 [IRockyParticleBreakageScalarsModel](structIRockyParticleBreakageScalarsModel.xhtml) [get\_particle\_breakage\_scalars](structIRockyModel.xhtml#a1076a0e1ada498f29c18caf6840e520a)() const;

<a id="l00235" name="l00235"></a> 235 

<a id="l00236" name="l00236"></a> 236 

<a id="l00244" name="l00244"></a> 244 [IRockyJointScalarsModel](structIRockyJointScalarsModel.xhtml) [get\_joint\_scalars](structIRockyModel.xhtml#ac6b0ba79dc72914434cfce14b9807e22)() const;

<a id="l00245" name="l00245"></a> 245 

<a id="l00253" name="l00253"></a> 253 [IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml) [get\_pair\_scalars](structIRockyModel.xhtml#a2fe828d3fb961280069bb549d49a52bc)() const;

<a id="l00254" name="l00254"></a> 254 

<a id="l00261" name="l00261"></a> 261 [IRockyGeometryScalarsModel](structIRockyGeometryScalarsModel.xhtml) [get\_geometry\_scalars](structIRockyModel.xhtml#a43441eb2d02d3dc9c691328eef5e99b5)() const;

<a id="l00262" name="l00262"></a> 262 

<a id="l00269" name="l00269"></a> 269 [IRockyTriangleScalarsModel](structIRockyTriangleScalarsModel.xhtml) [get\_triangle\_scalars](structIRockyModel.xhtml#a8a3d81fcb670ecba5ab7ca97e520f0a7)() const;

<a id="l00270" name="l00270"></a> 270 

<a id="l00279" name="l00279"></a> 279 [IRockyContactScalarsModel](structIRockyContactScalarsModel.xhtml) [get\_particle\_contact\_scalars](structIRockyModel.xhtml#a552edce9a8cb94fc20d5286f43f2185b)() const;

<a id="l00280" name="l00280"></a> 280 

<a id="l00289" name="l00289"></a> 289 [IRockyContactScalarsModel](structIRockyContactScalarsModel.xhtml) [get\_triangle\_contact\_scalars](structIRockyModel.xhtml#a5d2028ca0b20101281cf8124a54509f1)() const;

<a id="l00290" name="l00290"></a> 290 

<a id="l00291" name="l00291"></a> 291 // Transient --------------------------------------------------------------

<a id="l00292" name="l00292"></a> 292 

<a id="l00296" name="l00296"></a> 296 double [get\_current\_time](structIRockyModel.xhtml#a93ef35ae1eb9cf50ca77ab2070a769ab)() const;

<a id="l00297" name="l00297"></a> 297 

<a id="l00301" name="l00301"></a> 301 double [get\_output\_interval](structIRockyModel.xhtml#ae98c232add53267e07db794e37304a25)() const;

<a id="l00302" name="l00302"></a> 302 

<a id="l00308" name="l00308"></a> 308 int [get\_number\_of\_active\_particles](structIRockyModel.xhtml#a38a15145f4f2bb47b79ab785f50d8277)() const;

<a id="l00309" name="l00309"></a> 309 

<a id="l00316" name="l00316"></a> 316 int [get\_number\_of\_active\_triangles](structIRockyModel.xhtml#a4bfb9f69ea26364b55aaad33463de669)();

<a id="l00317" name="l00317"></a> 317 

<a id="l00318" name="l00318"></a> 318 // OMP --------------------------------------------------------------

<a id="l00319" name="l00319"></a> 319 

<a id="l00324" name="l00324"></a> 324 int [get\_number\_of\_processes](structIRockyModel.xhtml#a5e03d46944ec6e42596ee5f2d5f8aaeb)() const;

<a id="l00325" name="l00325"></a> 325 

<a id="l00326" name="l00326"></a> 326 // CUDA --------------------------------------------------------------

<a id="l00327" name="l00327"></a> 327 

<a id="l00332" name="l00332"></a> 332 int [get\_number\_of\_devices](structIRockyModel.xhtml#a1fd1011aa809fe64647e9cacf1956a11)() const;

<a id="l00333" name="l00333"></a> 333 

<a id="l00338" name="l00338"></a> 338 int [get\_device\_id](structIRockyModel.xhtml#ae8f8865c809a31988291f9180d7cda2b)(int device_index) const;

<a id="l00339" name="l00339"></a> 339 

<a id="l00340" name="l00340"></a> 340 // Point Cloud --------------------------------------------------------------

<a id="l00341" name="l00341"></a> 341 

<a id="l00350" name="l00350"></a> 350 int [find\_point\_cloud](structIRockyModel.xhtml#ae4797d71a2b43ae408fe83e317f818b7)(const std::string &amp;name);

<a id="l00351" name="l00351"></a> 351 

<a id="l00364" name="l00364"></a> 364 int [find\_point\_cloud\_property](structIRockyModel.xhtml#aabdba4a3eee5c51c75c45345f6cf6839)(int point_cloud_index, const std::string &amp;property_name);

<a id="l00365" name="l00365"></a> 365 

<a id="l00380" name="l00380"></a> 380 void [set\_point\_cloud\_property\_dimension](structIRockyModel.xhtml#a8c57d2cafc46d41dd8477e2521d62b12)(int point_cloud_index, int property_index, double dimension);

<a id="l00381" name="l00381"></a> 381 

<a id="l00382" name="l00382"></a> 382 // Curves and datasets -------------------------------------------------------------------------

<a id="l00383" name="l00383"></a> 383 

<a id="l00388" name="l00388"></a> 388 [IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml) [get\_curve\_collections](structIRockyModel.xhtml#a65411ff4a85f74e96457979f8158eccd)() const;

<a id="l00389" name="l00389"></a> 389 

<a id="l00390" name="l00390"></a> 390 // Nondimensionalization -----------------------------------------------------------------------

<a id="l00391" name="l00391"></a> 391 

<a id="l00395" name="l00395"></a> 395 double [get\_length\_factor](structIRockyModel.xhtml#acdec4e25234fe0304e441d82ccfc3192)() const;

<a id="l00396" name="l00396"></a> 396 

<a id="l00400" name="l00400"></a> 400 double [get\_mass\_factor](structIRockyModel.xhtml#ae8c9acf215323ada8de9ff9344b1db94)() const;

<a id="l00401" name="l00401"></a> 401 

<a id="l00405" name="l00405"></a> 405 double [get\_time\_factor](structIRockyModel.xhtml#aadaee25a53bade557d45bf633e995690)() const;

<a id="l00406" name="l00406"></a> 406 

<a id="l00410" name="l00410"></a> 410 double [get\_temperature\_factor](structIRockyModel.xhtml#afdf327f827860b500a82c511492d2f1e)() const;

<a id="l00411" name="l00411"></a> 411 

<a id="l00415" name="l00415"></a> 415 double [get\_force\_factor](structIRockyModel.xhtml#a8800430b5e336d3fd04d0fce83f83883)() const;

<a id="l00416" name="l00416"></a> 416 

<a id="l00420" name="l00420"></a> 420 double [get\_pressure\_factor](structIRockyModel.xhtml#abb53bd424c9e2d61065410a0b2d53b8b)() const;

<a id="l00421" name="l00421"></a> 421 

<a id="l00425" name="l00425"></a> 425 double [get\_energy\_factor](structIRockyModel.xhtml#a9fba76aa437dad8ff9674eedb0b6acc0)() const;

<a id="l00426" name="l00426"></a> 426 

<a id="l00427" name="l00427"></a> 427 

<a id="l00429" name="l00429"></a> 429 [[deprecated("Use IRockyCFDModel::get\_coupling\_mode() instead.")]]

<a id="l00430" name="l00430"></a> 430 ECFDCouplingMode get_coupling_mode() const;

<a id="l00431" name="l00431"></a> 431 

<a id="l00432" name="l00432"></a> 432 [[deprecated("Use IRockyCFDModel::get\_fluid\_scalars() instead.")]]

<a id="l00433" name="l00433"></a> 433 [IRockyFluidScalarsModel](structIRockyFluidScalarsModel.xhtml) get_fluid_scalars() const;

<a id="l00434" name="l00434"></a> 434 

<a id="l00435" name="l00435"></a> 435 SDeviceModel *get_device_data(int device_index);

<a id="l00436" name="l00436"></a> 436 RockyModel *_impl;

<a id="l00437" name="l00437"></a> 437 [~IRockyModel](structIRockyModel.xhtml)();

<a id="l00438" name="l00438"></a> 438 bool update_device_data = false;

<a id="l00440" name="l00440"></a> 440};



<a id="l00441" name="l00441"></a> 441 

<a id="l00442" name="l00442"></a> 442\#include "rocky\_api\_functions.h"

<a id="l00443" name="l00443"></a> 443\#include "rocky\_timestep\_api.h"

<a id="l00444" name="l00444"></a> 444\#include "device/api\_backend.hpp"

<a id="l00445" name="l00445"></a> 445 

<a id="l00446" name="l00446"></a> 446// Implementation ==================================================================================

<a id="l00447" name="l00447"></a> 447\#include &lt;rocky20/api/device/api\_omp\_contacts.hpp&gt;

<a id="l00448" name="l00448"></a> 448 

<a id="l00449" name="l00449"></a> 449\#ifdef ROCKY\_CUDA\_API

<a id="l00450" name="l00450"></a> 450 

<a id="l00451" name="l00451"></a> 451\#include &lt;rocky20/api/device/api\_cuda\_particles.hpp&gt;

<a id="l00452" name="l00452"></a> 452\#include &lt;rocky20/api/device/api\_cuda\_triangles.hpp&gt;

<a id="l00453" name="l00453"></a> 453\#include &lt;rocky20/api/device/api\_cuda\_contacts.hpp&gt;

<a id="l00454" name="l00454"></a> 454\#include &lt;rocky20/api/device/api\_cuda\_joints.hpp&gt;

<a id="l00455" name="l00455"></a> 455 

<a id="l00456" name="l00456"></a> 456\#else

<a id="l00457" name="l00457"></a> 457 

<a id="l00458" name="l00458"></a> 458\#include &lt;rocky20/api/device/api\_device\_contacts.hpp&gt;

<a id="l00459" name="l00459"></a> 459 

<a id="l00460" name="l00460"></a> 460\#endif

[IRockyInteractionCalculationsData](classIRockyInteractionCalculationsData.xhtml)

**Definition** rocky_timestep_api.h:31



[IRockyContactDataRecorder](structIRockyContactDataRecorder.xhtml)

**Definition** rocky_contact_data_recorder_api.h:18



[IRockyContactScalarsModel](structIRockyContactScalarsModel.xhtml)

**Definition** rocky_contact_scalars.hpp:20



[IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml)

**Definition** rocky_output_collections_api.hpp:30



[IRockyFluidScalarsModel](structIRockyFluidScalarsModel.xhtml)

**Definition** rocky_fluid_scalars.hpp:17



[IRockyGeometryScalarsModel](structIRockyGeometryScalarsModel.xhtml)

**Definition** rocky_boundary_scalars.hpp:17



[IRockyJointScalarsModel](structIRockyJointScalarsModel.xhtml)

**Definition** rocky_joint_scalars.hpp:19



[IRockyModel](structIRockyModel.xhtml)

**Definition** rocky_api.h:60



[IRockyModel::has\_adhesion](structIRockyModel.xhtml#a021623b1b816354c3fe778f6de07c2e5)

bool has_adhesion() const

**Definition** rocky_api.cpp:245



[IRockyModel::get\_particle\_group\_name](structIRockyModel.xhtml#a04e185eee0bdd70cc84ad48459584823)

std::string get_particle_group_name(int particle_group_index) const

**Definition** rocky_api.cpp:57



[IRockyModel::get\_particle\_breakage\_scalars](structIRockyModel.xhtml#a1076a0e1ada498f29c18caf6840e520a)

IRockyParticleBreakageScalarsModel get_particle_breakage_scalars() const

**Definition** rocky_api.cpp:79



[IRockyModel::get\_number\_of\_particle\_groups](structIRockyModel.xhtml#a1b8fe53d49b68f6097261e884fa769c5)

int get_number_of_particle_groups() const

**Definition** rocky_api.cpp:27



[IRockyModel::get\_number\_of\_particles](structIRockyModel.xhtml#a1c6cf48153d8b8278bcc67c3f31eff7b)

int get_number_of_particles() const

**Definition** rocky_api.cpp:32



[IRockyModel::get\_number\_of\_devices](structIRockyModel.xhtml#a1fd1011aa809fe64647e9cacf1956a11)

int get_number_of_devices() const

**Definition** rocky_api.cpp:159



[IRockyModel::get\_pair\_scalars](structIRockyModel.xhtml#a2fe828d3fb961280069bb549d49a52bc)

IRockyPairScalarsModel get_pair_scalars() const

**Definition** rocky_api.cpp:97



[IRockyModel::get\_number\_of\_active\_particles](structIRockyModel.xhtml#a38a15145f4f2bb47b79ab785f50d8277)

int get_number_of_active_particles() const

**Definition** rocky_api.cpp:139



[IRockyModel::get\_softening\_factor](structIRockyModel.xhtml#a3caea658ae1557e11ed4e72dc80fb0a2)

double get_softening_factor() const

**Definition** rocky_api.cpp:12



[IRockyModel::get\_geometry\_scalars](structIRockyModel.xhtml#a43441eb2d02d3dc9c691328eef5e99b5)

IRockyGeometryScalarsModel get_geometry_scalars() const

**Definition** rocky_api.cpp:103



[IRockyModel::get\_particle\_scalars](structIRockyModel.xhtml#a4788543c01a10a60e17c3623a6847708)

IRockyParticleScalarsModel get_particle_scalars() const

**Definition** rocky_api.cpp:69



[IRockyModel::get\_number\_of\_active\_triangles](structIRockyModel.xhtml#a4bfb9f69ea26364b55aaad33463de669)

int get_number_of_active_triangles()

**Definition** rocky_api.cpp:144



[IRockyModel::get\_contact\_data\_recorder](structIRockyModel.xhtml#a4f71066b464f74b32fb560c8a58dd030)

IRockyContactDataRecorder get_contact_data_recorder() const

**Definition** rocky_api.cpp:310



[IRockyModel::get\_number\_of\_geometries](structIRockyModel.xhtml#a54b2c41da7a4f9f719ac76fb83f0eb0a)

int get_number_of_geometries() const

**Definition** rocky_api.cpp:37



[IRockyModel::get\_particle\_contact\_scalars](structIRockyModel.xhtml#a552edce9a8cb94fc20d5286f43f2185b)

IRockyContactScalarsModel get_particle_contact_scalars() const

**Definition** rocky_api.cpp:116



[IRockyModel::get\_number\_of\_materials](structIRockyModel.xhtml#a56c275ba379255adc3b2fc2af8ea83d7)

int get_number_of_materials() const

**Definition** rocky_api.cpp:47



[IRockyModel::get\_number\_of\_material\_interactions](structIRockyModel.xhtml#a59425e7004ad5636d9a6dc06e31e288d)

int get_number_of_material_interactions() const

**Definition** rocky_api.cpp:42



[IRockyModel::get\_triangle\_contact\_scalars](structIRockyModel.xhtml#a5d2028ca0b20101281cf8124a54509f1)

IRockyContactScalarsModel get_triangle_contact_scalars() const

**Definition** rocky_api.cpp:121



[IRockyModel::get\_number\_of\_processes](structIRockyModel.xhtml#a5e03d46944ec6e42596ee5f2d5f8aaeb)

int get_number_of_processes() const

**Definition** rocky_api.cpp:151



[IRockyModel::get\_curve\_collections](structIRockyModel.xhtml#a65411ff4a85f74e96457979f8158eccd)

IRockyCurveCollectionData get_curve_collections() const

**Definition** rocky_api.cpp:197



[IRockyModel::get\_timestep](structIRockyModel.xhtml#a6c0be64519ddd583f26570ece5a4aee1)

double get_timestep() const

**Definition** rocky_api.cpp:17



[IRockyModel::get\_geometry\_name](structIRockyModel.xhtml#a7fb2a67e2e5126c5140ce80ede04b713)

std::string get_geometry_name(int geometry_index) const

**Definition** rocky_api.cpp:52



[IRockyModel::get\_force\_factor](structIRockyModel.xhtml#a8800430b5e336d3fd04d0fce83f83883)

double get_force_factor() const

**Definition** rocky_api.cpp:225



[IRockyModel::get\_triangle\_scalars](structIRockyModel.xhtml#a8a3d81fcb670ecba5ab7ca97e520f0a7)

IRockyTriangleScalarsModel get_triangle_scalars() const

**Definition** rocky_api.cpp:109



[IRockyModel::set\_minimum\_restitution\_coefficient](structIRockyModel.xhtml#a8c30579eb47a2e20abd0fc393b3b2532)

void set_minimum_restitution_coefficient(int home_index, int near_index, double minimum_restitution)

**Definition** rocky_api.cpp:287



[IRockyModel::set\_point\_cloud\_property\_dimension](structIRockyModel.xhtml#a8c57d2cafc46d41dd8477e2521d62b12)

void set_point_cloud_property_dimension(int point_cloud_index, int property_index, double dimension)

**Definition** rocky_api.cpp:188



[IRockyModel::get\_current\_time](structIRockyModel.xhtml#a93ef35ae1eb9cf50ca77ab2070a769ab)

double get_current_time() const

**Definition** rocky_api.cpp:129



[IRockyModel::get\_particle\_transfer\_scalars](structIRockyModel.xhtml#a9c78ff441fc0220adf389ae4b733c808)

IRockyParticleTransferScalarsModel get_particle_transfer_scalars() const

**Definition** rocky_api.cpp:74



[IRockyModel::get\_energy\_factor](structIRockyModel.xhtml#a9fba76aa437dad8ff9674eedb0b6acc0)

double get_energy_factor() const

**Definition** rocky_api.cpp:235



[IRockyModel::find\_point\_cloud\_property](structIRockyModel.xhtml#aabdba4a3eee5c51c75c45345f6cf6839)

int find_point_cloud_property(int point_cloud_index, const std::string &amp;property_name)

**Definition** rocky_api.cpp:182



[IRockyModel::get\_time\_factor](structIRockyModel.xhtml#aadaee25a53bade557d45bf633e995690)

double get_time_factor() const

**Definition** rocky_api.cpp:215



[IRockyModel::get\_pressure\_factor](structIRockyModel.xhtml#abb53bd424c9e2d61065410a0b2d53b8b)

double get_pressure_factor() const

**Definition** rocky_api.cpp:230



[IRockyModel::is\_thermal\_simulation](structIRockyModel.xhtml#ac1f146615e6b930769ff4008c4a0bb6c)

bool is_thermal_simulation() const

**Definition** rocky_api.cpp:240



[IRockyModel::get\_joint\_scalars](structIRockyModel.xhtml#ac6b0ba79dc72914434cfce14b9807e22)

IRockyJointScalarsModel get_joint_scalars() const

**Definition** rocky_api.cpp:91



[IRockyModel::get\_interactions\_data](structIRockyModel.xhtml#ac9a1e9a6ac20f978dd08f6fc67fd0904)

IRockyInteractionCalculationsData get_interactions_data() const

**Definition** rocky_api.cpp:305



[IRockyModel::set\_adhesive\_distance](structIRockyModel.xhtml#ac9dd7ca3cdad5289325c080a10bf2ad7)

void set_adhesive_distance(int home_index, int near_index, double adhesive_distance)

**Definition** rocky_api.cpp:250



[IRockyModel::get\_length\_factor](structIRockyModel.xhtml#acdec4e25234fe0304e441d82ccfc3192)

double get_length_factor() const

**Definition** rocky_api.cpp:205



[IRockyModel::trigger\_update\_timestep](structIRockyModel.xhtml#ada3d1d7b6e1de1d7e4ef0739a1f4dd8a)

void trigger_update_timestep() const

**Definition** rocky_api.cpp:22



[IRockyModel::find\_point\_cloud](structIRockyModel.xhtml#ae4797d71a2b43ae408fe83e317f818b7)

int find_point_cloud(const std::string &amp;name)

**Definition** rocky_api.cpp:176



[IRockyModel::get\_mass\_factor](structIRockyModel.xhtml#ae8c9acf215323ada8de9ff9344b1db94)

double get_mass_factor() const

**Definition** rocky_api.cpp:210



[IRockyModel::get\_device\_id](structIRockyModel.xhtml#ae8f8865c809a31988291f9180d7cda2b)

int get_device_id(int device_index) const

**Definition** rocky_api.cpp:164



[IRockyModel::get\_output\_interval](structIRockyModel.xhtml#ae98c232add53267e07db794e37304a25)

double get_output_interval() const

**Definition** rocky_api.cpp:134



[IRockyModel::get\_geometry\_type](structIRockyModel.xhtml#afa6751b1d56262ace6eab52f3bdcee42)

EBoundaryType get_geometry_type(int geometry_index) const

**Definition** rocky_api.cpp:63



[IRockyModel::get\_temperature\_factor](structIRockyModel.xhtml#afdf327f827860b500a82c511492d2f1e)

double get_temperature_factor() const

**Definition** rocky_api.cpp:220



[IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml)

**Definition** rocky_pair_scalars.hpp:20



[IRockyParticleBreakageScalarsModel](structIRockyParticleBreakageScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:498



[IRockyParticleScalarsModel](structIRockyParticleScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:26



[IRockyParticleTransferScalarsModel](structIRockyParticleTransferScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:371



[IRockyTriangleScalarsModel](structIRockyTriangleScalarsModel.xhtml)

**Definition** rocky_triangle_scalars.hpp:25