    

 ## 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\#define ROCKY\_FUNCTIONS \_\_host\_\_ \_\_device\_\_

<a id="l00009" name="l00009"></a> 9 

<a id="l00010" name="l00010"></a> 10\#else

<a id="l00011" name="l00011"></a> 11 

<a id="l00012" name="l00012"></a> 12//#define ROCKY\_FUNCTIONS

<a id="l00013" name="l00013"></a> 13 

<a id="l00014" name="l00014"></a> 14\#endif

<a id="l00015" name="l00015"></a> 15 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00032" name="l00032"></a> 32 

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

<a id="l00034" name="l00034"></a> 34class cuda_host;

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

<a id="l00036" name="l00036"></a> 36struct RockyParticle;

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

<a id="l00038" name="l00038"></a> 38 

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

<a id="l00040" name="l00040"></a> 40 

<a id="l00041" name="l00041"></a> 41struct cuda_material;

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

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

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

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

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

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

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

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

<a id="l00057" name="l00057"></a> 57{

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

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

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

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

<a id="l00068" name="l00068"></a> 68 

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

<a id="l00073" name="l00073"></a> 73 

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

<a id="l00084" name="l00084"></a> 84 

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

<a id="l00089" name="l00089"></a> 89 

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

<a id="l00095" name="l00095"></a> 95 

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

<a id="l00110" name="l00110"></a> 110 

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

<a id="l00128" name="l00128"></a> 128 

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

<a id="l00130" name="l00130"></a> 130 // Auxiliary objects --------------------------------------------------------------

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

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

<a id="l00138" name="l00138"></a> 138 

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

<a id="l00145" name="l00145"></a> 145 

<a id="l00146" name="l00146"></a> 146 

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

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

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

<a id="l00154" name="l00154"></a> 154 

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

<a id="l00159" name="l00159"></a> 159 

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

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

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

<a id="l00169" name="l00169"></a> 169 

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

<a id="l00175" name="l00175"></a> 175 

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

<a id="l00181" name="l00181"></a> 181 

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

<a id="l00187" name="l00187"></a> 187 

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

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

<a id="l00201" name="l00201"></a> 201 // Scalars ------------------------------------------------------------

<a id="l00202" name="l00202"></a> 202 

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

<a id="l00211" name="l00211"></a> 211 

<a id="l00212" name="l00212"></a> 212 

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

<a id="l00222" name="l00222"></a> 222 

<a id="l00223" name="l00223"></a> 223 

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

<a id="l00232" name="l00232"></a> 232 

<a id="l00233" name="l00233"></a> 233 

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

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

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

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

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

<a id="l00259" name="l00259"></a> 259 

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

<a id="l00267" name="l00267"></a> 267 

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

<a id="l00277" name="l00277"></a> 277 

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

<a id="l00287" name="l00287"></a> 287 

<a id="l00288" name="l00288"></a> 288 // Transient --------------------------------------------------------------

<a id="l00289" name="l00289"></a> 289 

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

<a id="l00294" name="l00294"></a> 294 

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

<a id="l00299" name="l00299"></a> 299 

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

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

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

<a id="l00314" name="l00314"></a> 314 

<a id="l00315" name="l00315"></a> 315 // OMP --------------------------------------------------------------

<a id="l00316" name="l00316"></a> 316 

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

<a id="l00322" name="l00322"></a> 322 

<a id="l00323" name="l00323"></a> 323 // CUDA --------------------------------------------------------------

<a id="l00324" name="l00324"></a> 324 

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

<a id="l00330" name="l00330"></a> 330 

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

<a id="l00336" name="l00336"></a> 336 

<a id="l00337" name="l00337"></a> 337 // Point Cloud --------------------------------------------------------------

<a id="l00338" name="l00338"></a> 338 

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

<a id="l00348" name="l00348"></a> 348 

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

<a id="l00362" name="l00362"></a> 362 

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

<a id="l00378" name="l00378"></a> 378 

<a id="l00379" name="l00379"></a> 379 // Curves and datasets -------------------------------------------------------------------------

<a id="l00380" name="l00380"></a> 380 

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

<a id="l00386" name="l00386"></a> 386 

<a id="l00387" name="l00387"></a> 387 // Nondimensionalization -----------------------------------------------------------------------

<a id="l00388" name="l00388"></a> 388 

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

<a id="l00393" name="l00393"></a> 393 

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

<a id="l00398" name="l00398"></a> 398 

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

<a id="l00403" name="l00403"></a> 403 

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

<a id="l00408" name="l00408"></a> 408 

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

<a id="l00413" name="l00413"></a> 413 

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

<a id="l00418" name="l00418"></a> 418 

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

<a id="l00423" name="l00423"></a> 423 

<a id="l00424" name="l00424"></a> 424 

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

<a id="l00427" name="l00427"></a> 427 ECFDCouplingMode get_coupling_mode() const;

<a id="l00428" name="l00428"></a> 428 

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

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

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

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

<a id="l00433" name="l00433"></a> 433 RockyModel *_impl;

<a id="l00434" name="l00434"></a> 434 rocky20::addins::RockyAddinsController* addins;

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

<a id="l00436" name="l00436"></a> 436 bool update_device_data = false;

<a id="l00438" name="l00438"></a> 438};



<a id="l00439" name="l00439"></a> 439 

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

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

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

<a id="l00443" name="l00443"></a> 443 

<a id="l00444" name="l00444"></a> 444// Implementation ==================================================================================

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

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

<a id="l00447" name="l00447"></a> 447\#ifdef ROCKY\_CUDA\_API

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

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

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

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

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

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

<a id="l00454" name="l00454"></a> 454\#else

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

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

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

<a id="l00458" name="l00458"></a> 458\#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:57



[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