    

 ## On this page

  

 

 # rocky\_sph\_element\_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 "rocky\_sph\_element.hpp"

<a id="l00006" name="l00006"></a> 6\#include "rocky\_sph\_element\_scalars.hpp"

<a id="l00007" name="l00007"></a> 7\#include &lt;rocky20/api/rocky\_particle\_api.hpp&gt;

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

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

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

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

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

<a id="l00020" name="l00020"></a>[ 20](structIRockySPHElement.xhtml)struct [IRockySPHElement](structIRockySPHElement.xhtml)

<a id="l00021" name="l00021"></a> 21{

<a id="l00024" name="l00024"></a> 24 RockySPHElement _impl;

<a id="l00025" name="l00025"></a> 25 double current_time;

<a id="l00026" name="l00026"></a> 26 

<a id="l00027" name="l00027"></a> 27 ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml)(RockySPHElement impl, const double current_time)

<a id="l00028" name="l00028"></a> 28 : _impl(impl)

<a id="l00029" name="l00029"></a> 29 , current_time(current_time)

<a id="l00030" name="l00030"></a> 30 {

<a id="l00031" name="l00031"></a> 31 }

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

<a id="l00037" name="l00037"></a> 37 [IRockyParticleHost](structIRockyParticleHost.xhtml) [get\_linked\_dem\_particle](structIRockySPHElement.xhtml#a82b39eaf0e1f5b9f09367fcb994af3d9)([IRockyModel](structIRockyModel.xhtml)&amp; model) const

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

<a id="l00039" name="l00039"></a> 39 return { this-&gt;_impl.get_linked_dem_index(), model._impl };

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

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

<a id="l00048" name="l00048"></a>[ 48](structIRockySPHElement.xhtml#a82b39eaf0e1f5b9f09367fcb994af3d9) ROCKY_FUNCTIONS [IRockyParticle](structIRockyParticle.xhtml) [get\_linked\_dem\_particle](structIRockySPHElement.xhtml#a82b39eaf0e1f5b9f09367fcb994af3d9)([IRockyDeviceModel](structIRockyDeviceModel.xhtml)&amp; model) const

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

<a id="l00050" name="l00050"></a> 50 return { this-&gt;_impl.get_linked_dem_index(), model._impl.model };

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



<a id="l00052" name="l00052"></a> 52 

<a id="l00058" name="l00058"></a>[ 58](structIRockySPHElement.xhtml#a0d51cf017a85bd175db6d18538c9d2e0) ROCKY_FUNCTIONS void [add\_force](structIRockySPHElement.xhtml#a0d51cf017a85bd175db6d18538c9d2e0)(const float3&amp; force)

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

<a id="l00060" name="l00060"></a> 60 this-&gt;_impl.add_force(force);

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



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

<a id="l00069" name="l00069"></a>[ 69](structIRockySPHElement.xhtml#a2f90b3a2980c2fa73cd53e72ea277f76) ROCKY_FUNCTIONS void [add\_acceleration](structIRockySPHElement.xhtml#a2f90b3a2980c2fa73cd53e72ea277f76)(const float3&amp; acceleration)

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

<a id="l00071" name="l00071"></a> 71 this-&gt;_impl.add_acceleration(acceleration);

<a id="l00072" name="l00072"></a> 72 }



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

<a id="l00077" name="l00077"></a>[ 77](structIRockySPHElement.xhtml#af514a8db990dff91c80abef70c29d604) ROCKY_FUNCTIONS bool [is\_enabled](structIRockySPHElement.xhtml#af514a8db990dff91c80abef70c29d604)() const

<a id="l00078" name="l00078"></a> 78 {

<a id="l00079" name="l00079"></a> 79 return this-&gt;_impl.is_enabled();

<a id="l00080" name="l00080"></a> 80 }



<a id="l00081" name="l00081"></a> 81 

<a id="l00088" name="l00088"></a>[ 88](structIRockySPHElement.xhtml#a258ae430ddd628d1b3375680774fd748) ROCKY_FUNCTIONS void [set\_frozen](structIRockySPHElement.xhtml#a258ae430ddd628d1b3375680774fd748)(bool frozen)

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

<a id="l00090" name="l00090"></a> 90 this-&gt;_impl.set_frozen(frozen);

<a id="l00091" name="l00091"></a> 91 }



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

<a id="l00096" name="l00096"></a>[ 96](structIRockySPHElement.xhtml#a8a513f4cacbb94a272332beb8c8a371c) ROCKY_FUNCTIONS bool [is\_frozen](structIRockySPHElement.xhtml#a8a513f4cacbb94a272332beb8c8a371c)() const

<a id="l00097" name="l00097"></a> 97 {

<a id="l00098" name="l00098"></a> 98 return this-&gt;_impl.is_frozen();

<a id="l00099" name="l00099"></a> 99 }



<a id="l00100" name="l00100"></a> 100 

<a id="l00105" name="l00105"></a>[ 105](structIRockySPHElement.xhtml#a3cd85ecace2e2784572a2e01397237f3) ROCKY_FUNCTIONS bool [is\_dem\_coupled](structIRockySPHElement.xhtml#a3cd85ecace2e2784572a2e01397237f3)() const

<a id="l00106" name="l00106"></a> 106 {

<a id="l00107" name="l00107"></a> 107 return this-&gt;_impl.is_dem_coupled();

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



<a id="l00109" name="l00109"></a> 109 

<a id="l00113" name="l00113"></a>[ 113](structIRockySPHElement.xhtml#a630d5e1aaea6b7c2f8f51c30089e07cd) ROCKY_FUNCTIONS float [get\_density](structIRockySPHElement.xhtml#a630d5e1aaea6b7c2f8f51c30089e07cd)() const

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

<a id="l00115" name="l00115"></a> 115 return this-&gt;_impl.get_density();

<a id="l00116" name="l00116"></a> 116 }



<a id="l00117" name="l00117"></a> 117 

<a id="l00121" name="l00121"></a>[ 121](structIRockySPHElement.xhtml#a52f9c9ca275229c97e0fee6c2962e65f) ROCKY_FUNCTIONS float [get\_pressure](structIRockySPHElement.xhtml#a52f9c9ca275229c97e0fee6c2962e65f)() const

<a id="l00122" name="l00122"></a> 122 {

<a id="l00123" name="l00123"></a> 123 return this-&gt;_impl.get_pressure();

<a id="l00124" name="l00124"></a> 124 }



<a id="l00128" name="l00128"></a>[ 128](structIRockySPHElement.xhtml#ae7191bebe8d701047d69b8bc9f590b16) ROCKY_FUNCTIONS float [get\_temperature](structIRockySPHElement.xhtml#ae7191bebe8d701047d69b8bc9f590b16)() const

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

<a id="l00130" name="l00130"></a> 130 return this-&gt;_impl.get_temperature();

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



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

<a id="l00136" name="l00136"></a>[ 136](structIRockySPHElement.xhtml#a9be557e2ec8056dd05338a651f5da171) ROCKY_FUNCTIONS float [get\_release\_time](structIRockySPHElement.xhtml#a9be557e2ec8056dd05338a651f5da171)() const

<a id="l00137" name="l00137"></a> 137 {

<a id="l00138" name="l00138"></a> 138 return this-&gt;_impl.get_release_time();

<a id="l00139" name="l00139"></a> 139 }



<a id="l00140" name="l00140"></a> 140 

<a id="l00144" name="l00144"></a>[ 144](structIRockySPHElement.xhtml#a7bd5a61c05ac4a77a61d3a0fc09597c5) ROCKY_FUNCTIONS float3 [get\_position](structIRockySPHElement.xhtml#a7bd5a61c05ac4a77a61d3a0fc09597c5)() const

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

<a id="l00146" name="l00146"></a> 146 return this-&gt;_impl.get_adjusted_coordinates(this-&gt;current_time);

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



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

<a id="l00153" name="l00153"></a>[ 153](structIRockySPHElement.xhtml#ab57e961ebc05e415bacc7c2236749428) ROCKY_FUNCTIONS float3 [get\_velocity](structIRockySPHElement.xhtml#ab57e961ebc05e415bacc7c2236749428)() const

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

<a id="l00155" name="l00155"></a> 155 return this-&gt;_impl.get_velocity();

<a id="l00156" name="l00156"></a> 156 }



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

<a id="l00171" name="l00171"></a>[ 171](structIRockySPHElement.xhtml#af2f5b34f666646f5d1f19207bac5cb2d) ROCKY_FUNCTIONS float3 [get\_normal](structIRockySPHElement.xhtml#af2f5b34f666646f5d1f19207bac5cb2d)() const

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

<a id="l00173" name="l00173"></a> 173 return this-&gt;_impl.get_normal();

<a id="l00174" name="l00174"></a> 174 }



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

<a id="l00181" name="l00181"></a>[ 181](structIRockySPHElement.xhtml#ab81b9afbefc503f46027274878703a3c) ROCKY_FUNCTIONS float3 [get\_force](structIRockySPHElement.xhtml#ab81b9afbefc503f46027274878703a3c)() const

<a id="l00182" name="l00182"></a> 182 {

<a id="l00183" name="l00183"></a> 183 return this-&gt;_impl.get_force();

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



<a id="l00185" name="l00185"></a> 185 

<a id="l00191" name="l00191"></a>[ 191](structIRockySPHElement.xhtml#a9bbac7594cfc7a8dd14fee220a59cc0d) ROCKY_FUNCTIONS float3 [get\_acceleration](structIRockySPHElement.xhtml#a9bbac7594cfc7a8dd14fee220a59cc0d)() const

<a id="l00192" name="l00192"></a> 192 {

<a id="l00193" name="l00193"></a> 193 return this-&gt;_impl.get_acceleration();

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



<a id="l00206" name="l00206"></a>[ 206](structIRockySPHElement.xhtml#a0d1898e6d543bbe3af9cb951646491ee) ROCKY_FUNCTIONS float [get\_kernel](structIRockySPHElement.xhtml#a0d1898e6d543bbe3af9cb951646491ee)

<a id="l00207" name="l00207"></a> 207 (const float distance, const [IRockySPHElement](structIRockySPHElement.xhtml)&amp; near_element) const

<a id="l00208" name="l00208"></a> 208 {

<a id="l00209" name="l00209"></a> 209 return this-&gt;_impl.get_kernel(distance,near_element._impl);

<a id="l00210" name="l00210"></a> 210 }



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

<a id="l00223" name="l00223"></a>[ 223](structIRockySPHElement.xhtml#a480a6f0abe070040e11affa55f24c43f) ROCKY_FUNCTIONS float [get\_kernel\_derivative](structIRockySPHElement.xhtml#a480a6f0abe070040e11affa55f24c43f)

<a id="l00224" name="l00224"></a> 224 (const float distance, const [IRockySPHElement](structIRockySPHElement.xhtml)&amp; near_element) const

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

<a id="l00226" name="l00226"></a> 226 return this-&gt;_impl.get_kernel_derivative(distance,near_element._impl);

<a id="l00227" name="l00227"></a> 227 }



<a id="l00228" name="l00228"></a> 228 

<a id="l00232" name="l00232"></a>[ 232](structIRockySPHElement.xhtml#ac3520dd9ddfb74c066ba7aef4737a455) ROCKY_FUNCTIONS float [get\_mass](structIRockySPHElement.xhtml#ac3520dd9ddfb74c066ba7aef4737a455)() const

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

<a id="l00234" name="l00234"></a> 234 return this-&gt;_impl.get_mass();

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



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

<a id="l00242" name="l00242"></a>[ 242](structIRockySPHElement.xhtml#a040d1e15607c23a673614e3506a2e971) inline ROCKY_FUNCTIONS float [get\_smoothing\_length](structIRockySPHElement.xhtml#a040d1e15607c23a673614e3506a2e971)() const

<a id="l00243" name="l00243"></a> 243 {

<a id="l00244" name="l00244"></a> 244 return this-&gt;_impl.get_kernel_base();

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



<a id="l00246" name="l00246"></a> 246 

<a id="l00251" name="l00251"></a>[ 251](structIRockySPHElement.xhtml#a38068aa228cc70686e89149e9aa4edb8) inline ROCKY_FUNCTIONS float [get\_size](structIRockySPHElement.xhtml#a38068aa228cc70686e89149e9aa4edb8)() const

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

<a id="l00253" name="l00253"></a> 253 return this-&gt;_impl.get_size();

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



<a id="l00255" name="l00255"></a> 255 

<a id="l00260" name="l00260"></a>[ 260](structIRockySPHElement.xhtml#a326bd60795936f9c4b77a9e000b1fa99) ROCKY_FUNCTIONS [IRockySPHElementScalars](structIRockySPHElementScalars.xhtml) [get\_scalars](structIRockySPHElement.xhtml#a326bd60795936f9c4b77a9e000b1fa99)()

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

<a id="l00262" name="l00262"></a> 262 return { *this-&gt;_impl.get_scalars(), this-&gt;_impl.element_index };

<a id="l00263" name="l00263"></a> 263 }



<a id="l00264" name="l00264"></a> 264 

<a id="l00270" name="l00270"></a>[ 270](structIRockySPHElement.xhtml#ac28f2f31caf98235f3281c9c9f417474) ROCKY_FUNCTIONS SymmetricTensor&lt;float&gt; [get\_strain\_rate\_tensor](structIRockySPHElement.xhtml#ac28f2f31caf98235f3281c9c9f417474)()

<a id="l00271" name="l00271"></a> 271 {

<a id="l00272" name="l00272"></a> 272 return this-&gt;_impl.get_strain_rate_tensor();

<a id="l00273" name="l00273"></a> 273 }



<a id="l00277" name="l00277"></a>[ 277](structIRockySPHElement.xhtml#ac526f6d9758c69d4d7270317c327546a) ROCKY_FUNCTIONS float [get\_molecular\_viscosity](structIRockySPHElement.xhtml#ac526f6d9758c69d4d7270317c327546a)() const

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

<a id="l00279" name="l00279"></a> 279 return this-&gt;_impl.get_molecular_viscosity();

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



<a id="l00284" name="l00284"></a>[ 284](structIRockySPHElement.xhtml#abc6efc9b72adc7c3b487e760a2c53534) ROCKY_FUNCTIONS void [set\_molecular\_viscosity](structIRockySPHElement.xhtml#abc6efc9b72adc7c3b487e760a2c53534)(const float molecular_viscosity)

<a id="l00285" name="l00285"></a> 285 {

<a id="l00286" name="l00286"></a> 286 this-&gt;_impl.set_molecular_viscosity(molecular_viscosity);

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



<a id="l00288" name="l00288"></a> 288};



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

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

<a id="l00291" name="l00291"></a> 291// IRockySPHElementHost

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

<a id="l00293" name="l00293"></a> 293 

<a id="l00294" name="l00294"></a> 294\#ifdef ONLY\_FOR\_DOXYGEN

<a id="l00304" name="l00304"></a>[ 304](structIRockySPHElementHost.xhtml)struct [IRockySPHElementHost](structIRockySPHElementHost.xhtml) : public [IRockySPHElement](structIRockySPHElement.xhtml)

<a id="l00305" name="l00305"></a> 305{

<a id="l00310" name="l00310"></a>[ 310](structIRockySPHElementHost.xhtml#ac189516559b776a629f56aead8ac886b) [IRockyParticleHost](structIRockyParticleHost.xhtml) [get\_linked\_dem\_particle](structIRockySPHElementHost.xhtml#ac189516559b776a629f56aead8ac886b)([IRockyModel](structIRockyModel.xhtml)&amp; model) const;

<a id="l00311" name="l00311"></a> 311 

<a id="l00313" name="l00313"></a>[ 313](structIRockySPHElementHost.xhtml#abe5925c0999262fc7128da90d3a3f401) bool [is\_dem\_coupled](structIRockySPHElementHost.xhtml#abe5925c0999262fc7128da90d3a3f401)() const;

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

<a id="l00316" name="l00316"></a>[ 316](structIRockySPHElementHost.xhtml#a246b2e85d4b1568d8db488e0f212a358) float [get\_density](structIRockySPHElementHost.xhtml#a246b2e85d4b1568d8db488e0f212a358)() const;

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

<a id="l00319" name="l00319"></a>[ 319](structIRockySPHElementHost.xhtml#a1e02d98c42706aad00a15f84090046b7) float [get\_pressure](structIRockySPHElementHost.xhtml#a1e02d98c42706aad00a15f84090046b7)() const;

<a id="l00320" name="l00320"></a> 320 

<a id="l00322" name="l00322"></a>[ 322](structIRockySPHElementHost.xhtml#a300c46b79175d050ec9e96c736732b98) float [get\_release\_time](structIRockySPHElementHost.xhtml#a300c46b79175d050ec9e96c736732b98)() const;

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

<a id="l00325" name="l00325"></a>[ 325](structIRockySPHElementHost.xhtml#a518652c4c9aaba36c6e2137c3ff60f70) float3 [get\_position](structIRockySPHElementHost.xhtml#a518652c4c9aaba36c6e2137c3ff60f70)() const;

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

<a id="l00328" name="l00328"></a>[ 328](structIRockySPHElementHost.xhtml#a1d9f8648a1c0ac0b575c9361ca5b9b96) float3 [get\_velocity](structIRockySPHElementHost.xhtml#a1d9f8648a1c0ac0b575c9361ca5b9b96)() const;

<a id="l00329" name="l00329"></a> 329 

<a id="l00331" name="l00331"></a>[ 331](structIRockySPHElementHost.xhtml#a9cae6ab2f89fc02fd3e944a5f1059d2d) float3 [get\_normal](structIRockySPHElementHost.xhtml#a9cae6ab2f89fc02fd3e944a5f1059d2d)() const;

<a id="l00332" name="l00332"></a> 332 

<a id="l00334" name="l00334"></a>[ 334](structIRockySPHElementHost.xhtml#aa1c7a1c2190108886098cf3918d29588) float3 [get\_force](structIRockySPHElementHost.xhtml#aa1c7a1c2190108886098cf3918d29588)() const;

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

<a id="l00337" name="l00337"></a>[ 337](structIRockySPHElementHost.xhtml#a9118b2d9c4e8d7f185d453503bfbb04f) float3 [get\_acceleration](structIRockySPHElementHost.xhtml#a9118b2d9c4e8d7f185d453503bfbb04f)() const;

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

<a id="l00340" name="l00340"></a>[ 340](structIRockySPHElementHost.xhtml#a333bb7196556fbe6da90abe079747071) [IRockySPHElementScalars](structIRockySPHElementScalars.xhtml) [get\_scalars](structIRockySPHElementHost.xhtml#a333bb7196556fbe6da90abe079747071)();

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

<a id="l00343" name="l00343"></a>[ 343](structIRockySPHElementHost.xhtml#a0540a21d1483e3848494d71a7145d8ff) ROCKY_FUNCTIONS SymmetricTensor&lt;float&gt; [get\_strain\_rate\_tensor](structIRockySPHElementHost.xhtml#a0540a21d1483e3848494d71a7145d8ff)();

<a id="l00344" name="l00344"></a> 344};



<a id="l00345" name="l00345"></a> 345\#else

<a id="l00346" name="l00346"></a> 346using [IRockySPHElementHost](structIRockySPHElementHost.xhtml) = [IRockySPHElement](structIRockySPHElement.xhtml);

<a id="l00347" name="l00347"></a> 347\#endif

[IRockyDeviceModel](structIRockyDeviceModel.xhtml)

**Definition** rocky_model_api.hpp:20



[IRockyModel](structIRockyModel.xhtml)

**Definition** rocky_api.h:58



[IRockyParticleHost](structIRockyParticleHost.xhtml)

**Definition** rocky_particle_api.hpp:766



[IRockyParticle](structIRockyParticle.xhtml)

**Definition** rocky_particle_api.hpp:28



[IRockySPHElementHost](structIRockySPHElementHost.xhtml)

**Definition** rocky_sph_element_api.hpp:305



[IRockySPHElementHost::get\_strain\_rate\_tensor](structIRockySPHElementHost.xhtml#a0540a21d1483e3848494d71a7145d8ff)

ROCKY_FUNCTIONS SymmetricTensor&lt; float &gt; get_strain_rate_tensor()



[IRockySPHElementHost::get\_velocity](structIRockySPHElementHost.xhtml#a1d9f8648a1c0ac0b575c9361ca5b9b96)

float3 get_velocity() const



[IRockySPHElementHost::get\_pressure](structIRockySPHElementHost.xhtml#a1e02d98c42706aad00a15f84090046b7)

float get_pressure() const



[IRockySPHElementHost::get\_density](structIRockySPHElementHost.xhtml#a246b2e85d4b1568d8db488e0f212a358)

float get_density() const



[IRockySPHElementHost::get\_release\_time](structIRockySPHElementHost.xhtml#a300c46b79175d050ec9e96c736732b98)

float get_release_time() const



[IRockySPHElementHost::get\_scalars](structIRockySPHElementHost.xhtml#a333bb7196556fbe6da90abe079747071)

IRockySPHElementScalars get_scalars()



[IRockySPHElementHost::get\_position](structIRockySPHElementHost.xhtml#a518652c4c9aaba36c6e2137c3ff60f70)

float3 get_position() const



[IRockySPHElementHost::get\_acceleration](structIRockySPHElementHost.xhtml#a9118b2d9c4e8d7f185d453503bfbb04f)

float3 get_acceleration() const



[IRockySPHElementHost::get\_normal](structIRockySPHElementHost.xhtml#a9cae6ab2f89fc02fd3e944a5f1059d2d)

float3 get_normal() const



[IRockySPHElementHost::get\_force](structIRockySPHElementHost.xhtml#aa1c7a1c2190108886098cf3918d29588)

float3 get_force() const



[IRockySPHElementHost::is\_dem\_coupled](structIRockySPHElementHost.xhtml#abe5925c0999262fc7128da90d3a3f401)

bool is_dem_coupled() const



[IRockySPHElementHost::get\_linked\_dem\_particle](structIRockySPHElementHost.xhtml#ac189516559b776a629f56aead8ac886b)

IRockyParticleHost get_linked_dem_particle(IRockyModel &amp;model) const



[IRockySPHElementScalars](structIRockySPHElementScalars.xhtml)

**Definition** rocky_sph_element_scalars.hpp:136



[IRockySPHElement](structIRockySPHElement.xhtml)

**Definition** rocky_sph_element_api.hpp:21



[IRockySPHElement::get\_smoothing\_length](structIRockySPHElement.xhtml#a040d1e15607c23a673614e3506a2e971)

ROCKY_FUNCTIONS float get_smoothing_length() const

**Definition** rocky_sph_element_api.hpp:242



[IRockySPHElement::get\_kernel](structIRockySPHElement.xhtml#a0d1898e6d543bbe3af9cb951646491ee)

ROCKY_FUNCTIONS float get_kernel(const float distance, const IRockySPHElement &amp;near_element) const

**Definition** rocky_sph_element_api.hpp:207



[IRockySPHElement::add\_force](structIRockySPHElement.xhtml#a0d51cf017a85bd175db6d18538c9d2e0)

ROCKY_FUNCTIONS void add_force(const float3 &amp;force)

**Definition** rocky_sph_element_api.hpp:58



[IRockySPHElement::set\_frozen](structIRockySPHElement.xhtml#a258ae430ddd628d1b3375680774fd748)

ROCKY_FUNCTIONS void set_frozen(bool frozen)

**Definition** rocky_sph_element_api.hpp:88



[IRockySPHElement::add\_acceleration](structIRockySPHElement.xhtml#a2f90b3a2980c2fa73cd53e72ea277f76)

ROCKY_FUNCTIONS void add_acceleration(const float3 &amp;acceleration)

**Definition** rocky_sph_element_api.hpp:69



[IRockySPHElement::get\_scalars](structIRockySPHElement.xhtml#a326bd60795936f9c4b77a9e000b1fa99)

ROCKY_FUNCTIONS IRockySPHElementScalars get_scalars()

**Definition** rocky_sph_element_api.hpp:260



[IRockySPHElement::get\_size](structIRockySPHElement.xhtml#a38068aa228cc70686e89149e9aa4edb8)

ROCKY_FUNCTIONS float get_size() const

**Definition** rocky_sph_element_api.hpp:251



[IRockySPHElement::is\_dem\_coupled](structIRockySPHElement.xhtml#a3cd85ecace2e2784572a2e01397237f3)

ROCKY_FUNCTIONS bool is_dem_coupled() const

**Definition** rocky_sph_element_api.hpp:105



[IRockySPHElement::get\_kernel\_derivative](structIRockySPHElement.xhtml#a480a6f0abe070040e11affa55f24c43f)

ROCKY_FUNCTIONS float get_kernel_derivative(const float distance, const IRockySPHElement &amp;near_element) const

**Definition** rocky_sph_element_api.hpp:224



[IRockySPHElement::get\_pressure](structIRockySPHElement.xhtml#a52f9c9ca275229c97e0fee6c2962e65f)

ROCKY_FUNCTIONS float get_pressure() const

**Definition** rocky_sph_element_api.hpp:121



[IRockySPHElement::get\_density](structIRockySPHElement.xhtml#a630d5e1aaea6b7c2f8f51c30089e07cd)

ROCKY_FUNCTIONS float get_density() const

**Definition** rocky_sph_element_api.hpp:113



[IRockySPHElement::get\_position](structIRockySPHElement.xhtml#a7bd5a61c05ac4a77a61d3a0fc09597c5)

ROCKY_FUNCTIONS float3 get_position() const

**Definition** rocky_sph_element_api.hpp:144



[IRockySPHElement::get\_linked\_dem\_particle](structIRockySPHElement.xhtml#a82b39eaf0e1f5b9f09367fcb994af3d9)

ROCKY_FUNCTIONS IRockyParticle get_linked_dem_particle(IRockyDeviceModel &amp;model) const

**Definition** rocky_sph_element_api.hpp:48



[IRockySPHElement::is\_frozen](structIRockySPHElement.xhtml#a8a513f4cacbb94a272332beb8c8a371c)

ROCKY_FUNCTIONS bool is_frozen() const

**Definition** rocky_sph_element_api.hpp:96



[IRockySPHElement::get\_acceleration](structIRockySPHElement.xhtml#a9bbac7594cfc7a8dd14fee220a59cc0d)

ROCKY_FUNCTIONS float3 get_acceleration() const

**Definition** rocky_sph_element_api.hpp:191



[IRockySPHElement::get\_release\_time](structIRockySPHElement.xhtml#a9be557e2ec8056dd05338a651f5da171)

ROCKY_FUNCTIONS float get_release_time() const

**Definition** rocky_sph_element_api.hpp:136



[IRockySPHElement::get\_velocity](structIRockySPHElement.xhtml#ab57e961ebc05e415bacc7c2236749428)

ROCKY_FUNCTIONS float3 get_velocity() const

**Definition** rocky_sph_element_api.hpp:153



[IRockySPHElement::get\_force](structIRockySPHElement.xhtml#ab81b9afbefc503f46027274878703a3c)

ROCKY_FUNCTIONS float3 get_force() const

**Definition** rocky_sph_element_api.hpp:181



[IRockySPHElement::set\_molecular\_viscosity](structIRockySPHElement.xhtml#abc6efc9b72adc7c3b487e760a2c53534)

ROCKY_FUNCTIONS void set_molecular_viscosity(const float molecular_viscosity)

**Definition** rocky_sph_element_api.hpp:284



[IRockySPHElement::get\_strain\_rate\_tensor](structIRockySPHElement.xhtml#ac28f2f31caf98235f3281c9c9f417474)

ROCKY_FUNCTIONS SymmetricTensor&lt; float &gt; get_strain_rate_tensor()

**Definition** rocky_sph_element_api.hpp:270



[IRockySPHElement::get\_mass](structIRockySPHElement.xhtml#ac3520dd9ddfb74c066ba7aef4737a455)

ROCKY_FUNCTIONS float get_mass() const

**Definition** rocky_sph_element_api.hpp:232



[IRockySPHElement::get\_molecular\_viscosity](structIRockySPHElement.xhtml#ac526f6d9758c69d4d7270317c327546a)

ROCKY_FUNCTIONS float get_molecular_viscosity() const

**Definition** rocky_sph_element_api.hpp:277



[IRockySPHElement::get\_temperature](structIRockySPHElement.xhtml#ae7191bebe8d701047d69b8bc9f590b16)

ROCKY_FUNCTIONS float get_temperature() const

**Definition** rocky_sph_element_api.hpp:128



[IRockySPHElement::get\_normal](structIRockySPHElement.xhtml#af2f5b34f666646f5d1f19207bac5cb2d)

ROCKY_FUNCTIONS float3 get_normal() const

**Definition** rocky_sph_element_api.hpp:171



[IRockySPHElement::is\_enabled](structIRockySPHElement.xhtml#af514a8db990dff91c80abef70c29d604)

ROCKY_FUNCTIONS bool is_enabled() const

**Definition** rocky_sph_element_api.hpp:77