    

 ## On this page

  

 

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

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

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

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

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

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

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

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

<a id="l00018" name="l00018"></a>[ 18](structIRockySPHElementInteraction.xhtml)struct [IRockySPHElementInteraction](structIRockySPHElementInteraction.xhtml)

<a id="l00019" name="l00019"></a> 19{

<a id="l00023" name="l00023"></a> 23 ROCKY_FUNCTIONS float3 [calculate\_elements\_distance](structIRockySPHElementInteraction.xhtml#a72569f88c7d9a22615a3287ab7df33db)() const;

<a id="l00024" name="l00024"></a> 24 

<a id="l00028" name="l00028"></a> 28 ROCKY_FUNCTIONS float3 [calculate\_elements\_relative\_velocity](structIRockySPHElementInteraction.xhtml#a14f9867d6104ce395f3a1d48a03fd9c8)() const;

<a id="l00029" name="l00029"></a> 29 

<a id="l00033" name="l00033"></a> 33 ROCKY_FUNCTIONS float3 [get\_home\_element\_velocity](structIRockySPHElementInteraction.xhtml#acec345cb590d324b9729b8842b777906)() const;

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

<a id="l00038" name="l00038"></a> 38 ROCKY_FUNCTIONS float3 [get\_near\_element\_velocity](structIRockySPHElementInteraction.xhtml#aa71223f8afaf50df1e511041157ba890)() const;

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

<a id="l00044" name="l00044"></a> 44 ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [get\_home\_element](structIRockySPHElementInteraction.xhtml#a7eb0236ba9b25b58b0ca258b1e79976b)() const;

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

<a id="l00050" name="l00050"></a> 50 ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [get\_near\_element](structIRockySPHElementInteraction.xhtml#a0e9d2687e1c8a66357730003f850fe26)() const;

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

<a id="l00059" name="l00059"></a> 59 ROCKY_FUNCTIONS void [add\_force](structIRockySPHElementInteraction.xhtml#a1ee1b8234e2660a09b7b1a7fe3ba0e07)(float3 force);

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

<a id="l00069" name="l00069"></a> 69 ROCKY_FUNCTIONS void [add\_acceleration](structIRockySPHElementInteraction.xhtml#a713381036ee74bb8476435037c14124b)(float3 acceleration);

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

<a id="l00073" name="l00073"></a> 73 ROCKY_FUNCTIONS explicit [IRockySPHElementInteraction](structIRockySPHElementInteraction.xhtml)(

<a id="l00074" name="l00074"></a> 74 RockySPHElementInteraction* interaction_impl);

<a id="l00075" name="l00075"></a> 75 

<a id="l00076" name="l00076"></a> 76 RockySPHElementInteraction* _impl;

<a id="l00077" name="l00077"></a> 77 

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



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

<a id="l00081" name="l00081"></a> 81inline ROCKY_FUNCTIONS IRockySPHElementInteraction::IRockySPHElementInteraction(

<a id="l00082" name="l00082"></a> 82 RockySPHElementInteraction* interaction_impl)

<a id="l00083" name="l00083"></a> 83 : _impl(interaction_impl)

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

<a id="l00085" name="l00085"></a> 85}

<a id="l00086" name="l00086"></a> 86 

<a id="l00087" name="l00087"></a>[ 87](structIRockySPHElementInteraction.xhtml#a72569f88c7d9a22615a3287ab7df33db)inline ROCKY_FUNCTIONS float3 [IRockySPHElementInteraction::calculate\_elements\_distance](structIRockySPHElementInteraction.xhtml#a72569f88c7d9a22615a3287ab7df33db)() const

<a id="l00088" name="l00088"></a> 88{

<a id="l00089" name="l00089"></a> 89 return this-&gt;_impl-&gt;get_distance_vector();

<a id="l00090" name="l00090"></a> 90}



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

<a id="l00092" name="l00092"></a> 92inline ROCKY_FUNCTIONS float3

<a id="l00093" name="l00093"></a>[ 93](structIRockySPHElementInteraction.xhtml#a14f9867d6104ce395f3a1d48a03fd9c8)[IRockySPHElementInteraction::calculate\_elements\_relative\_velocity](structIRockySPHElementInteraction.xhtml#a14f9867d6104ce395f3a1d48a03fd9c8)() const

<a id="l00094" name="l00094"></a> 94{

<a id="l00095" name="l00095"></a> 95 return this-&gt;_impl-&gt;calculate_elements_relative_velocity();

<a id="l00096" name="l00096"></a> 96}



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

<a id="l00098" name="l00098"></a>[ 98](structIRockySPHElementInteraction.xhtml#acec345cb590d324b9729b8842b777906)inline ROCKY_FUNCTIONS float3 [IRockySPHElementInteraction::get\_home\_element\_velocity](structIRockySPHElementInteraction.xhtml#acec345cb590d324b9729b8842b777906)() const

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

<a id="l00100" name="l00100"></a> 100 return this-&gt;_impl-&gt;get_home_velocity();

<a id="l00101" name="l00101"></a> 101}



<a id="l00102" name="l00102"></a> 102 

<a id="l00103" name="l00103"></a>[ 103](structIRockySPHElementInteraction.xhtml#aa71223f8afaf50df1e511041157ba890)inline ROCKY_FUNCTIONS float3 [IRockySPHElementInteraction::get\_near\_element\_velocity](structIRockySPHElementInteraction.xhtml#aa71223f8afaf50df1e511041157ba890)() const

<a id="l00104" name="l00104"></a> 104{

<a id="l00105" name="l00105"></a> 105 return this-&gt;_impl-&gt;get_near_velocity();

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



<a id="l00107" name="l00107"></a> 107 

<a id="l00108" name="l00108"></a>[ 108](structIRockySPHElementInteraction.xhtml#a7eb0236ba9b25b58b0ca258b1e79976b)inline ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [IRockySPHElementInteraction::get\_home\_element](structIRockySPHElementInteraction.xhtml#a7eb0236ba9b25b58b0ca258b1e79976b)() const

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

<a id="l00110" name="l00110"></a> 110 return [IRockySPHElement](structIRockySPHElement.xhtml) { this-&gt;_impl-&gt;get_home_element(), this-&gt;_impl-&gt;current_time };

<a id="l00111" name="l00111"></a> 111}



<a id="l00112" name="l00112"></a> 112 

<a id="l00113" name="l00113"></a>[ 113](structIRockySPHElementInteraction.xhtml#a0e9d2687e1c8a66357730003f850fe26)inline ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [IRockySPHElementInteraction::get\_near\_element](structIRockySPHElementInteraction.xhtml#a0e9d2687e1c8a66357730003f850fe26)() const

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

<a id="l00115" name="l00115"></a> 115 return [IRockySPHElement](structIRockySPHElement.xhtml) { this-&gt;_impl-&gt;get_near_element(), this-&gt;_impl-&gt;current_time };

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



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

<a id="l00118" name="l00118"></a>[ 118](structIRockySPHElementInteraction.xhtml#a1ee1b8234e2660a09b7b1a7fe3ba0e07)inline ROCKY_FUNCTIONS void [IRockySPHElementInteraction::add\_force](structIRockySPHElementInteraction.xhtml#a1ee1b8234e2660a09b7b1a7fe3ba0e07)(float3 force)

<a id="l00119" name="l00119"></a> 119{

<a id="l00120" name="l00120"></a> 120 this-&gt;_impl-&gt;[add\_force](structIRockySPHElement.xhtml#a0d51cf017a85bd175db6d18538c9d2e0)(force);

<a id="l00121" name="l00121"></a> 121}



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

<a id="l00123" name="l00123"></a>[ 123](structIRockySPHElementInteraction.xhtml#a713381036ee74bb8476435037c14124b)inline ROCKY_FUNCTIONS void [IRockySPHElementInteraction::add\_acceleration](structIRockySPHElementInteraction.xhtml#a713381036ee74bb8476435037c14124b)(float3 acceleration)

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

<a id="l00125" name="l00125"></a> 125 this-&gt;_impl-&gt;add_acceleration(acceleration);

<a id="l00126" name="l00126"></a> 126}



<a id="l00127" name="l00127"></a> 127 

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

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

<a id="l00130" name="l00130"></a> 130// ================================================================================================

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

<a id="l00137" name="l00137"></a>[ 137](structIRockySPHTriangleInteraction.xhtml)struct [IRockySPHTriangleInteraction](structIRockySPHTriangleInteraction.xhtml)

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

<a id="l00143" name="l00143"></a> 143 ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [get\_home\_element](structIRockySPHTriangleInteraction.xhtml#ae83d8750e222b2a46e6f901fd20b80d5)() const;

<a id="l00144" name="l00144"></a> 144 

<a id="l00149" name="l00149"></a> 149 ROCKY_FUNCTIONS [IRockyGeometryTriangle](structIRockyGeometryTriangle.xhtml) [get\_near\_triangle](structIRockySPHTriangleInteraction.xhtml#a469b4ac53234c9e707fee62725b0470a)() const;

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

<a id="l00155" name="l00155"></a> 155 ROCKY_FUNCTIONS float [calculate\_element\_triangle\_distance](structIRockySPHTriangleInteraction.xhtml#a6bfc347dab63cdbb89a8045f878ba16f)() const;

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

<a id="l00161" name="l00161"></a> 161 ROCKY_FUNCTIONS float3 [get\_orthogonal\_projection](structIRockySPHTriangleInteraction.xhtml#a665a945d4045772b3a4759b76daf697b)() const;

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

<a id="l00167" name="l00167"></a> 167 ROCKY_FUNCTIONS float3 [get\_unit\_vector](structIRockySPHTriangleInteraction.xhtml#a23aa813897c50610e3989dc625f1993a)() const;

<a id="l00168" name="l00168"></a> 168 

<a id="l00172" name="l00172"></a> 172 ROCKY_FUNCTIONS float3 [get\_home\_element\_velocity](structIRockySPHTriangleInteraction.xhtml#afc2786e2e46e3b025371c17290a88f45)() const;

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

<a id="l00178" name="l00178"></a> 178 ROCKY_FUNCTIONS float3 [get\_boundary\_velocity](structIRockySPHTriangleInteraction.xhtml#ab240320819db1ece083e25b69f305e12)() const;

<a id="l00179" name="l00179"></a> 179 

<a id="l00184" name="l00184"></a> 184 ROCKY_FUNCTIONS real_sph [get\_normal\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a9df83c2a83bd932798eba6a099398ce4)() const;

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

<a id="l00190" name="l00190"></a> 190 ROCKY_FUNCTIONS real_sph [get\_tangential\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a5ff11979743a9bd389afbc153b7124d9)() const;

<a id="l00191" name="l00191"></a> 191 

<a id="l00203" name="l00203"></a> 203 ROCKY_FUNCTIONS float [get\_wall\_turbulent\_thermal\_conductance](structIRockySPHTriangleInteraction.xhtml#aaae7a8fe9a92cdcd25f7f4d84a21a9f8)(

<a id="l00204" name="l00204"></a> 204 const float &amp;v_tang,const float &amp;dst_wall) const;

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

<a id="l00214" name="l00214"></a> 214 ROCKY_FUNCTIONS void [add\_force](structIRockySPHTriangleInteraction.xhtml#a749ae0224b1bd279d33404b3d0b84010)(float3 force);

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

<a id="l00224" name="l00224"></a> 224 ROCKY_FUNCTIONS void [add\_acceleration](structIRockySPHTriangleInteraction.xhtml#a1578dfd6da083096eb169fe24913dd5b)(float3 acceleration);

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

<a id="l00228" name="l00228"></a> 228 ROCKY_FUNCTIONS explicit [IRockySPHTriangleInteraction](structIRockySPHTriangleInteraction.xhtml)(

<a id="l00229" name="l00229"></a> 229 RockySPHTriangleInteraction* interaction_impl);

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

<a id="l00231" name="l00231"></a> 231 RockySPHTriangleInteraction* _impl;

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

<a id="l00233" name="l00233"></a> 233 [[deprecated]]

<a id="l00234" name="l00234"></a> 234 ROCKY_FUNCTIONS float3 get_distance_to_home_vector() const;

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

<a id="l00236" name="l00236"></a> 236 [[deprecated("Use IRockySPHTriangleInteraction::get\_orthogonal\_projection() instead.")]]

<a id="l00237" name="l00237"></a> 237 ROCKY_FUNCTIONS float3 get_nearest_point_to_home() const;

<a id="l00238" name="l00238"></a> 238 

<a id="l00239" name="l00239"></a> 239 [[deprecated("Use IRockySPHTriangleInteraction::calculate\_element\_triangle\_distance() instead.")]]

<a id="l00240" name="l00240"></a> 240 ROCKY_FUNCTIONS float get_distance_to_home() const;

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

<a id="l00243" name="l00243"></a> 243};



<a id="l00244" name="l00244"></a> 244 

<a id="l00245" name="l00245"></a> 245inline ROCKY_FUNCTIONS IRockySPHTriangleInteraction::IRockySPHTriangleInteraction(

<a id="l00246" name="l00246"></a> 246 RockySPHTriangleInteraction* interaction_impl)

<a id="l00247" name="l00247"></a> 247 : _impl(interaction_impl)

<a id="l00248" name="l00248"></a> 248{

<a id="l00249" name="l00249"></a> 249}

<a id="l00250" name="l00250"></a> 250 

<a id="l00251" name="l00251"></a>[ 251](structIRockySPHTriangleInteraction.xhtml#afc2786e2e46e3b025371c17290a88f45)inline ROCKY_FUNCTIONS float3 [IRockySPHTriangleInteraction::get\_home\_element\_velocity](structIRockySPHTriangleInteraction.xhtml#afc2786e2e46e3b025371c17290a88f45)() const

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

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

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



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

<a id="l00256" name="l00256"></a>[ 256](structIRockySPHTriangleInteraction.xhtml#ae83d8750e222b2a46e6f901fd20b80d5)inline ROCKY_FUNCTIONS [IRockySPHElement](structIRockySPHElement.xhtml) [IRockySPHTriangleInteraction::get\_home\_element](structIRockySPHTriangleInteraction.xhtml#ae83d8750e222b2a46e6f901fd20b80d5)() const

<a id="l00257" name="l00257"></a> 257{

<a id="l00258" name="l00258"></a> 258 return [IRockySPHElement](structIRockySPHElement.xhtml) { this-&gt;_impl-&gt;get_home_element(), this-&gt;_impl-&gt;current_time };

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



<a id="l00260" name="l00260"></a> 260 

<a id="l00261" name="l00261"></a>[ 261](structIRockySPHTriangleInteraction.xhtml#a749ae0224b1bd279d33404b3d0b84010)inline ROCKY_FUNCTIONS void [IRockySPHTriangleInteraction::add\_force](structIRockySPHTriangleInteraction.xhtml#a749ae0224b1bd279d33404b3d0b84010)(float3 force)

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

<a id="l00263" name="l00263"></a> 263 this-&gt;_impl-&gt;[add\_force](structIRockySPHElement.xhtml#a0d51cf017a85bd175db6d18538c9d2e0)(force);

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



<a id="l00265" name="l00265"></a> 265 

<a id="l00266" name="l00266"></a>[ 266](structIRockySPHTriangleInteraction.xhtml#a1578dfd6da083096eb169fe24913dd5b)inline ROCKY_FUNCTIONS void [IRockySPHTriangleInteraction::add\_acceleration](structIRockySPHTriangleInteraction.xhtml#a1578dfd6da083096eb169fe24913dd5b)(float3 acceleration)

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

<a id="l00268" name="l00268"></a> 268 this-&gt;_impl-&gt;add_acceleration(acceleration);

<a id="l00269" name="l00269"></a> 269}



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

<a id="l00271" name="l00271"></a>[ 271](structIRockySPHTriangleInteraction.xhtml#aaae7a8fe9a92cdcd25f7f4d84a21a9f8)inline ROCKY_FUNCTIONS float [IRockySPHTriangleInteraction::get\_wall\_turbulent\_thermal\_conductance](structIRockySPHTriangleInteraction.xhtml#aaae7a8fe9a92cdcd25f7f4d84a21a9f8)(

<a id="l00272" name="l00272"></a> 272 const float &amp;tangential_velocity ,const float &amp;wall_distance) const

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

<a id="l00274" name="l00274"></a> 274 return this-&gt;_impl-&gt;get_wall_turbulent_thermal_conductance(

<a id="l00275" name="l00275"></a> 275 tangential_velocity, wall_distance, this-&gt;[get\_home\_element](structIRockySPHTriangleInteraction.xhtml#ae83d8750e222b2a46e6f901fd20b80d5)().get_molecular_viscosity());

<a id="l00276" name="l00276"></a> 276}



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

<a id="l00278" name="l00278"></a> 278inline ROCKY_FUNCTIONS [IRockyGeometryTriangle](structIRockyGeometryTriangle.xhtml)

<a id="l00279" name="l00279"></a>[ 279](structIRockySPHTriangleInteraction.xhtml#a469b4ac53234c9e707fee62725b0470a)[IRockySPHTriangleInteraction::get\_near\_triangle](structIRockySPHTriangleInteraction.xhtml#a469b4ac53234c9e707fee62725b0470a)() const

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

<a id="l00281" name="l00281"></a> 281 return { this-&gt;_impl-&gt;near_index, this-&gt;_impl-&gt;rocky_model };

<a id="l00282" name="l00282"></a> 282}



<a id="l00283" name="l00283"></a> 283 

<a id="l00284" name="l00284"></a>[ 284](structIRockySPHTriangleInteraction.xhtml#a6bfc347dab63cdbb89a8045f878ba16f)inline ROCKY_FUNCTIONS float [IRockySPHTriangleInteraction::calculate\_element\_triangle\_distance](structIRockySPHTriangleInteraction.xhtml#a6bfc347dab63cdbb89a8045f878ba16f)() const

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

<a id="l00286" name="l00286"></a> 286 return this-&gt;_impl-&gt;get_distance();

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



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

<a id="l00289" name="l00289"></a>[ 289](structIRockySPHTriangleInteraction.xhtml#a665a945d4045772b3a4759b76daf697b)inline ROCKY_FUNCTIONS float3 [IRockySPHTriangleInteraction::get\_orthogonal\_projection](structIRockySPHTriangleInteraction.xhtml#a665a945d4045772b3a4759b76daf697b)() const

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

<a id="l00291" name="l00291"></a> 291 return this-&gt;_impl-&gt;get_nearest_point_to_home();

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



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

<a id="l00294" name="l00294"></a>[ 294](structIRockySPHTriangleInteraction.xhtml#ab240320819db1ece083e25b69f305e12)inline ROCKY_FUNCTIONS float3 [IRockySPHTriangleInteraction::get\_boundary\_velocity](structIRockySPHTriangleInteraction.xhtml#ab240320819db1ece083e25b69f305e12)() const

<a id="l00295" name="l00295"></a> 295{

<a id="l00296" name="l00296"></a> 296 return this-&gt;_impl-&gt;get_near_velocity();

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



<a id="l00298" name="l00298"></a> 298 

<a id="l00299" name="l00299"></a>[ 299](structIRockySPHTriangleInteraction.xhtml#a23aa813897c50610e3989dc625f1993a)inline ROCKY_FUNCTIONS float3 [IRockySPHTriangleInteraction::get\_unit\_vector](structIRockySPHTriangleInteraction.xhtml#a23aa813897c50610e3989dc625f1993a)() const

<a id="l00300" name="l00300"></a> 300{

<a id="l00301" name="l00301"></a> 301 return this-&gt;_impl-&gt;get_unit_vector();

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



<a id="l00303" name="l00303"></a> 303 

<a id="l00304" name="l00304"></a>[ 304](structIRockySPHTriangleInteraction.xhtml#a9df83c2a83bd932798eba6a099398ce4)inline ROCKY_FUNCTIONS real_sph [IRockySPHTriangleInteraction::get\_normal\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a9df83c2a83bd932798eba6a099398ce4)() const

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

<a id="l00306" name="l00306"></a> 306 return this-&gt;_impl-&gt;normal_velocity;

<a id="l00307" name="l00307"></a> 307}



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

<a id="l00309" name="l00309"></a>[ 309](structIRockySPHTriangleInteraction.xhtml#a5ff11979743a9bd389afbc153b7124d9)inline ROCKY_FUNCTIONS real_sph [IRockySPHTriangleInteraction::get\_tangential\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a5ff11979743a9bd389afbc153b7124d9)() const

<a id="l00310" name="l00310"></a> 310{

<a id="l00311" name="l00311"></a> 311 return this-&gt;_impl-&gt;tangential_velocity;

<a id="l00312" name="l00312"></a> 312}



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

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

<a id="l00315" name="l00315"></a> 315inline ROCKY_FUNCTIONS float3 IRockySPHTriangleInteraction::get_distance_to_home_vector() const

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

<a id="l00317" name="l00317"></a> 317 return this-&gt;_impl-&gt;get_unit_vector() * this-&gt;_impl-&gt;get_distance();

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

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

<a id="l00320" name="l00320"></a> 320inline ROCKY_FUNCTIONS float IRockySPHTriangleInteraction::get_distance_to_home() const

<a id="l00321" name="l00321"></a> 321{

<a id="l00322" name="l00322"></a> 322 return this-&gt;_impl-&gt;get_distance();

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

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

<a id="l00325" name="l00325"></a> 325inline ROCKY_FUNCTIONS float3 IRockySPHTriangleInteraction::get_nearest_point_to_home() const

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

<a id="l00327" name="l00327"></a> 327 return this-&gt;_impl-&gt;get_nearest_point_to_home();

<a id="l00328" name="l00328"></a> 328}

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

[IRockyGeometryTriangle](structIRockyGeometryTriangle.xhtml)

**Definition** rocky_boundary_api.hpp:146



[IRockySPHElementInteraction](structIRockySPHElementInteraction.xhtml)

**Definition** rocky_sph_interaction_api.hpp:19



[IRockySPHElementInteraction::get\_near\_element](structIRockySPHElementInteraction.xhtml#a0e9d2687e1c8a66357730003f850fe26)

ROCKY_FUNCTIONS IRockySPHElement get_near_element() const

**Definition** rocky_sph_interaction_api.hpp:113



[IRockySPHElementInteraction::calculate\_elements\_relative\_velocity](structIRockySPHElementInteraction.xhtml#a14f9867d6104ce395f3a1d48a03fd9c8)

ROCKY_FUNCTIONS float3 calculate_elements_relative_velocity() const

**Definition** rocky_sph_interaction_api.hpp:93



[IRockySPHElementInteraction::add\_force](structIRockySPHElementInteraction.xhtml#a1ee1b8234e2660a09b7b1a7fe3ba0e07)

ROCKY_FUNCTIONS void add_force(float3 force)

**Definition** rocky_sph_interaction_api.hpp:118



[IRockySPHElementInteraction::add\_acceleration](structIRockySPHElementInteraction.xhtml#a713381036ee74bb8476435037c14124b)

ROCKY_FUNCTIONS void add_acceleration(float3 acceleration)

**Definition** rocky_sph_interaction_api.hpp:123



[IRockySPHElementInteraction::calculate\_elements\_distance](structIRockySPHElementInteraction.xhtml#a72569f88c7d9a22615a3287ab7df33db)

ROCKY_FUNCTIONS float3 calculate_elements_distance() const

**Definition** rocky_sph_interaction_api.hpp:87



[IRockySPHElementInteraction::get\_home\_element](structIRockySPHElementInteraction.xhtml#a7eb0236ba9b25b58b0ca258b1e79976b)

ROCKY_FUNCTIONS IRockySPHElement get_home_element() const

**Definition** rocky_sph_interaction_api.hpp:108



[IRockySPHElementInteraction::get\_near\_element\_velocity](structIRockySPHElementInteraction.xhtml#aa71223f8afaf50df1e511041157ba890)

ROCKY_FUNCTIONS float3 get_near_element_velocity() const

**Definition** rocky_sph_interaction_api.hpp:103



[IRockySPHElementInteraction::get\_home\_element\_velocity](structIRockySPHElementInteraction.xhtml#acec345cb590d324b9729b8842b777906)

ROCKY_FUNCTIONS float3 get_home_element_velocity() const

**Definition** rocky_sph_interaction_api.hpp:98



[IRockySPHElement](structIRockySPHElement.xhtml)

**Definition** rocky_sph_element_api.hpp:21



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

ROCKY_FUNCTIONS void add_force(const float3 &amp;force)

**Definition** rocky_sph_element_api.hpp:58



[IRockySPHTriangleInteraction](structIRockySPHTriangleInteraction.xhtml)

**Definition** rocky_sph_interaction_api.hpp:138



[IRockySPHTriangleInteraction::add\_acceleration](structIRockySPHTriangleInteraction.xhtml#a1578dfd6da083096eb169fe24913dd5b)

ROCKY_FUNCTIONS void add_acceleration(float3 acceleration)

**Definition** rocky_sph_interaction_api.hpp:266



[IRockySPHTriangleInteraction::get\_unit\_vector](structIRockySPHTriangleInteraction.xhtml#a23aa813897c50610e3989dc625f1993a)

ROCKY_FUNCTIONS float3 get_unit_vector() const

**Definition** rocky_sph_interaction_api.hpp:299



[IRockySPHTriangleInteraction::get\_near\_triangle](structIRockySPHTriangleInteraction.xhtml#a469b4ac53234c9e707fee62725b0470a)

ROCKY_FUNCTIONS IRockyGeometryTriangle get_near_triangle() const

**Definition** rocky_sph_interaction_api.hpp:279



[IRockySPHTriangleInteraction::get\_tangential\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a5ff11979743a9bd389afbc153b7124d9)

ROCKY_FUNCTIONS real_sph get_tangential_relative_velocity() const

**Definition** rocky_sph_interaction_api.hpp:309



[IRockySPHTriangleInteraction::get\_orthogonal\_projection](structIRockySPHTriangleInteraction.xhtml#a665a945d4045772b3a4759b76daf697b)

ROCKY_FUNCTIONS float3 get_orthogonal_projection() const

**Definition** rocky_sph_interaction_api.hpp:289



[IRockySPHTriangleInteraction::calculate\_element\_triangle\_distance](structIRockySPHTriangleInteraction.xhtml#a6bfc347dab63cdbb89a8045f878ba16f)

ROCKY_FUNCTIONS float calculate_element_triangle_distance() const

**Definition** rocky_sph_interaction_api.hpp:284



[IRockySPHTriangleInteraction::add\_force](structIRockySPHTriangleInteraction.xhtml#a749ae0224b1bd279d33404b3d0b84010)

ROCKY_FUNCTIONS void add_force(float3 force)

**Definition** rocky_sph_interaction_api.hpp:261



[IRockySPHTriangleInteraction::get\_normal\_relative\_velocity](structIRockySPHTriangleInteraction.xhtml#a9df83c2a83bd932798eba6a099398ce4)

ROCKY_FUNCTIONS real_sph get_normal_relative_velocity() const

**Definition** rocky_sph_interaction_api.hpp:304



[IRockySPHTriangleInteraction::get\_wall\_turbulent\_thermal\_conductance](structIRockySPHTriangleInteraction.xhtml#aaae7a8fe9a92cdcd25f7f4d84a21a9f8)

ROCKY_FUNCTIONS float get_wall_turbulent_thermal_conductance(const float &amp;v_tang, const float &amp;dst_wall) const

**Definition** rocky_sph_interaction_api.hpp:271



[IRockySPHTriangleInteraction::get\_boundary\_velocity](structIRockySPHTriangleInteraction.xhtml#ab240320819db1ece083e25b69f305e12)

ROCKY_FUNCTIONS float3 get_boundary_velocity() const

**Definition** rocky_sph_interaction_api.hpp:294



[IRockySPHTriangleInteraction::get\_home\_element](structIRockySPHTriangleInteraction.xhtml#ae83d8750e222b2a46e6f901fd20b80d5)

ROCKY_FUNCTIONS IRockySPHElement get_home_element() const

**Definition** rocky_sph_interaction_api.hpp:256



[IRockySPHTriangleInteraction::get\_home\_element\_velocity](structIRockySPHTriangleInteraction.xhtml#afc2786e2e46e3b025371c17290a88f45)

ROCKY_FUNCTIONS float3 get_home_element_velocity() const

**Definition** rocky_sph_interaction_api.hpp:251