    

 ## On this page

  

 

 # rocky\_api

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1// (C) 2024 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00002" name="l00002"></a> 2\#pragma once

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

<a id="l00004" name="l00004"></a> 4// Includes =======================================================================================

<a id="l00005" name="l00005"></a> 5\#include "dll\_export.h"

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7\#ifdef ROCKY\_CUDA\_API

<a id="l00008" name="l00008"></a> 8 

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

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

<a id="l00011" name="l00011"></a> 11\#else

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

<a id="l00013" name="l00013"></a> 13//#define ROCKY\_FUNCTIONS

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

<a id="l00015" name="l00015"></a> 15\#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00033" name="l00033"></a> 33 

<a id="l00034" name="l00034"></a> 34// Forward declarations ===========================================================================

<a id="l00035" name="l00035"></a> 35class cuda_host;

<a id="l00036" name="l00036"></a> 36typedef cuda_host RockyModel;

<a id="l00037" name="l00037"></a> 37struct RockyParticle;

<a id="l00038" name="l00038"></a> 38struct RockyContact;

<a id="l00039" name="l00039"></a> 39 

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

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

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

<a id="l00043" name="l00043"></a> 43struct MaterialInteraction;

<a id="l00044" name="l00044"></a> 44 

<a id="l00045" name="l00045"></a> 45// ================================================================================================

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

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

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

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

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

<a id="l00058" name="l00058"></a> 58{

<a id="l00059" name="l00059"></a> 59 

<a id="l00060" name="l00060"></a> 60 // Physics--------------------------------------------------------------

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

<a id="l00069" name="l00069"></a> 69 double3 [get\_gravity](structIRockyModel.xhtml#a5dcfa443dbca79a9c34001fca9873b93)() const;

<a id="l00070" name="l00070"></a> 70 

<a id="l00078" name="l00078"></a> 78 void [set\_gravity](structIRockyModel.xhtml#a4ae85b1a5081581bd5c758d347d7e31c)(const double3&amp; gravity);

<a id="l00079" name="l00079"></a> 79 

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

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

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

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

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

<a id="l00103" name="l00103"></a> 103 

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

<a id="l00108" name="l00108"></a> 108 

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

<a id="l00114" name="l00114"></a> 114 

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

<a id="l00129" name="l00129"></a> 129 

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

<a id="l00147" name="l00147"></a> 147 

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

<a id="l00149" name="l00149"></a> 149 // Auxiliary objects --------------------------------------------------------------

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

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

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

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

<a id="l00164" name="l00164"></a> 164 

<a id="l00165" name="l00165"></a> 165 

<a id="l00166" name="l00166"></a> 166 // Entities ------------------------------------------------------------

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

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

<a id="l00173" name="l00173"></a> 173 

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

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

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

<a id="l00183" name="l00183"></a> 183 

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

<a id="l00188" name="l00188"></a> 188 

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

<a id="l00194" name="l00194"></a> 194 

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

<a id="l00200" name="l00200"></a> 200 

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

<a id="l00206" name="l00206"></a> 206 

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

<a id="l00219" name="l00219"></a> 219 

<a id="l00220" name="l00220"></a> 220 // Scalars ------------------------------------------------------------

<a id="l00221" name="l00221"></a> 221 

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

<a id="l00230" name="l00230"></a> 230 

<a id="l00231" name="l00231"></a> 231 

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

<a id="l00241" name="l00241"></a> 241 

<a id="l00242" name="l00242"></a> 242 

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

<a id="l00251" name="l00251"></a> 251 

<a id="l00252" name="l00252"></a> 252 

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

<a id="l00261" name="l00261"></a> 261 

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

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

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

<a id="l00278" name="l00278"></a> 278 

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

<a id="l00286" name="l00286"></a> 286 

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

<a id="l00296" name="l00296"></a> 296 

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

<a id="l00306" name="l00306"></a> 306 

<a id="l00307" name="l00307"></a> 307 // Transient --------------------------------------------------------------

<a id="l00308" name="l00308"></a> 308 

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

<a id="l00313" name="l00313"></a> 313 

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

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

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

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

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

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

<a id="l00334" name="l00334"></a> 334 // OMP --------------------------------------------------------------

<a id="l00335" name="l00335"></a> 335 

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

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

<a id="l00342" name="l00342"></a> 342 // CUDA --------------------------------------------------------------

<a id="l00343" name="l00343"></a> 343 

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

<a id="l00349" name="l00349"></a> 349 

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

<a id="l00355" name="l00355"></a> 355 

<a id="l00356" name="l00356"></a> 356 // Point Cloud --------------------------------------------------------------

<a id="l00357" name="l00357"></a> 357 

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

<a id="l00367" name="l00367"></a> 367 

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

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

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

<a id="l00397" name="l00397"></a> 397 

<a id="l00398" name="l00398"></a> 398 // Curves and datasets -------------------------------------------------------------------------

<a id="l00399" name="l00399"></a> 399 

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

<a id="l00405" name="l00405"></a> 405 

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

<a id="l00407" name="l00407"></a> 407 

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

<a id="l00412" name="l00412"></a> 412 

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

<a id="l00417" name="l00417"></a> 417 

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

<a id="l00422" name="l00422"></a> 422 

<a id="l00426" name="l00426"></a> 426 double [get\_viscosity\_factor](structIRockyModel.xhtml#aa12e90812c32e8092c0a67c28b5cc21b)() const;

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

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

<a id="l00432" name="l00432"></a> 432 

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

<a id="l00437" name="l00437"></a> 437 

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

<a id="l00442" name="l00442"></a> 442 

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

<a id="l00447" name="l00447"></a> 447 

<a id="l00451" name="l00451"></a> 451 double [get\_power\_factor](structIRockyModel.xhtml#a33a082f281ae2ca159cdb420d2fabbb8)() const;

<a id="l00452" name="l00452"></a> 452 

<a id="l00453" name="l00453"></a> 453 

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

<a id="l00456" name="l00456"></a> 456 ECFDCouplingMode get_coupling_mode() const;

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

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

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

<a id="l00460" name="l00460"></a> 460 

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

<a id="l00462" name="l00462"></a> 462 RockyModel *_impl;

<a id="l00463" name="l00463"></a> 463 rocky20::addins::RockyAddinsController* addins;

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

<a id="l00465" name="l00465"></a> 465 bool update_device_data = false;

<a id="l00467" name="l00467"></a> 467};



<a id="l00468" name="l00468"></a> 468 

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

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

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

<a id="l00472" name="l00472"></a> 472 

<a id="l00473" name="l00473"></a> 473// Implementation ==================================================================================

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

<a id="l00475" name="l00475"></a> 475 

<a id="l00476" name="l00476"></a> 476\#ifdef ROCKY\_CUDA\_API

<a id="l00477" name="l00477"></a> 477 

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

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

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

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

<a id="l00482" name="l00482"></a> 482 

<a id="l00483" name="l00483"></a> 483\#else

<a id="l00484" name="l00484"></a> 484 

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

<a id="l00486" name="l00486"></a> 486 

<a id="l00487" name="l00487"></a> 487\#endif

[IRockyInteractionCalculationsData](classIRockyInteractionCalculationsData.xhtml)

**Definition** rocky_timestep_api.h:32



[IRockyContactDataRecorder](structIRockyContactDataRecorder.xhtml)

**Definition** rocky_contact_data_recorder_api.h:19



[IRockyContactScalarsModel](structIRockyContactScalarsModel.xhtml)

**Definition** rocky_contact_scalars.hpp:21



[IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml)

**Definition** rocky_output_collections_api.hpp:31



[IRockyFluidScalarsModel](structIRockyFluidScalarsModel.xhtml)

**Definition** rocky_fluid_scalars.hpp:18



[IRockyGeometryScalarsModel](structIRockyGeometryScalarsModel.xhtml)

**Definition** rocky_boundary_scalars.hpp:18



[IRockyJointScalarsModel](structIRockyJointScalarsModel.xhtml)

**Definition** rocky_joint_scalars.hpp:20



[IRockyModel](structIRockyModel.xhtml)

**Definition** rocky_api.h:58



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

bool has_adhesion() const

**Definition** rocky_api.cpp:269



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

std::string get_particle_group_name(int particle_group_index) const

**Definition** rocky_api.cpp:71



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

IRockyParticleBreakageScalarsModel get_particle_breakage_scalars() const

**Definition** rocky_api.cpp:93



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

int get_number_of_particle_groups() const

**Definition** rocky_api.cpp:41



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

int get_number_of_particles() const

**Definition** rocky_api.cpp:46



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

int get_number_of_devices() const

**Definition** rocky_api.cpp:173



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

IRockyPairScalarsModel get_pair_scalars() const

**Definition** rocky_api.cpp:111



[IRockyModel::get\_power\_factor](structIRockyModel.xhtml#a33a082f281ae2ca159cdb420d2fabbb8)

double get_power_factor() const

**Definition** rocky_api.cpp:258



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

int get_number_of_active_particles() const

**Definition** rocky_api.cpp:153



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

double get_softening_factor() const

**Definition** rocky_api.cpp:18



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

IRockyGeometryScalarsModel get_geometry_scalars() const

**Definition** rocky_api.cpp:117



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

IRockyParticleScalarsModel get_particle_scalars() const

**Definition** rocky_api.cpp:83



[IRockyModel::set\_gravity](structIRockyModel.xhtml#a4ae85b1a5081581bd5c758d347d7e31c)

void set_gravity(const double3 &amp;gravity)

**Definition** rocky_api.cpp:28



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

int get_number_of_active_triangles()

**Definition** rocky_api.cpp:158



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

IRockyContactDataRecorder get_contact_data_recorder() const

**Definition** rocky_api.cpp:334



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

int get_number_of_geometries() const

**Definition** rocky_api.cpp:51



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

IRockyContactScalarsModel get_particle_contact_scalars() const

**Definition** rocky_api.cpp:130



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

int get_number_of_materials() const

**Definition** rocky_api.cpp:61



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

int get_number_of_material_interactions() const

**Definition** rocky_api.cpp:56



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

IRockyContactScalarsModel get_triangle_contact_scalars() const

**Definition** rocky_api.cpp:135



[IRockyModel::get\_gravity](structIRockyModel.xhtml#a5dcfa443dbca79a9c34001fca9873b93)

double3 get_gravity() const

**Definition** rocky_api.cpp:23



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

int get_number_of_processes() const

**Definition** rocky_api.cpp:165



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

IRockyCurveCollectionData get_curve_collections() const

**Definition** rocky_api.cpp:211



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

double get_timestep() const

**Definition** rocky_api.cpp:13



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

std::string get_geometry_name(int geometry_index) const

**Definition** rocky_api.cpp:66



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

double get_force_factor() const

**Definition** rocky_api.cpp:244



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

IRockyTriangleScalarsModel get_triangle_scalars() const

**Definition** rocky_api.cpp:123



[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:311



[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:202



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

double get_current_time() const

**Definition** rocky_api.cpp:143



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

IRockyParticleTransferScalarsModel get_particle_transfer_scalars() const

**Definition** rocky_api.cpp:88



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

double get_energy_factor() const

**Definition** rocky_api.cpp:254



[IRockyModel::get\_viscosity\_factor](structIRockyModel.xhtml#aa12e90812c32e8092c0a67c28b5cc21b)

double get_viscosity_factor() const

**Definition** rocky_api.cpp:234



[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:196



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

double get_time_factor() const

**Definition** rocky_api.cpp:229



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

double get_pressure_factor() const

**Definition** rocky_api.cpp:249



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

bool is_thermal_simulation() const

**Definition** rocky_api.cpp:264



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

IRockyJointScalarsModel get_joint_scalars() const

**Definition** rocky_api.cpp:105



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

IRockyInteractionCalculationsData get_interactions_data() const

**Definition** rocky_api.cpp:329



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

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

**Definition** rocky_api.cpp:274



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

double get_length_factor() const

**Definition** rocky_api.cpp:219



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

void trigger_update_timestep() const

**Definition** rocky_api.cpp:36



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

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

**Definition** rocky_api.cpp:190



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

double get_mass_factor() const

**Definition** rocky_api.cpp:224



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

int get_device_id(int device_index) const

**Definition** rocky_api.cpp:178



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

double get_output_interval() const

**Definition** rocky_api.cpp:148



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

EBoundaryType get_geometry_type(int geometry_index) const

**Definition** rocky_api.cpp:77



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

double get_temperature_factor() const

**Definition** rocky_api.cpp:239



[IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml)

**Definition** rocky_pair_scalars.hpp:21



[IRockyParticleBreakageScalarsModel](structIRockyParticleBreakageScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:499



[IRockyParticleScalarsModel](structIRockyParticleScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:27



[IRockyParticleTransferScalarsModel](structIRockyParticleTransferScalarsModel.xhtml)

**Definition** rocky_particle_scalars.hpp:372



[IRockyTriangleScalarsModel](structIRockyTriangleScalarsModel.xhtml)

**Definition** rocky_triangle_scalars.hpp:26