    

 ## On this page

  

 

 # rocky\_material\_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 &lt;rocky20/device/device\_model.hpp&gt;

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

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

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

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

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

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

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

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

<a id="l00029" name="l00029"></a> 29 inline ROCKY_FUNCTIONS double [get\_young\_modulus](structIRockyMaterial.xhtml#ac2296f9b2afe54b6660f584d5d937994)() const;

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

<a id="l00034" name="l00034"></a> 34 inline ROCKY_FUNCTIONS double [get\_poisson\_ratio](structIRockyMaterial.xhtml#a77ed523db8076cb87c69334481e0ad9b)() const;

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

<a id="l00039" name="l00039"></a> 39 inline ROCKY_FUNCTIONS double [get\_density](structIRockyMaterial.xhtml#ac4a3805a7f95f47fbd93761d1b2013fe)() const;

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

<a id="l00044" name="l00044"></a> 44 inline ROCKY_FUNCTIONS double [get\_specific\_heat](structIRockyMaterial.xhtml#ab0f6b6ddb2c899c76bad757864649a22)() const;

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

<a id="l00049" name="l00049"></a> 49 inline ROCKY_FUNCTIONS double [get\_thermal\_conductivity](structIRockyMaterial.xhtml#a35481246571a954fa8954efc49631ba5)() const;

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

<a id="l00053" name="l00053"></a> 53 ROCKY_FUNCTIONS [IRockyMaterial](structIRockyMaterial.xhtml)(const cuda_material &amp;__impl) : _impl(__impl) {}

<a id="l00054" name="l00054"></a> 54 

<a id="l00055" name="l00055"></a> 55 const cuda_material &amp;_impl;

<a id="l00056" name="l00056"></a> 56 

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



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

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

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

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

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

<a id="l00071" name="l00071"></a>[ 71](structIRockyMaterialInteraction.xhtml)struct [IRockyMaterialInteraction](structIRockyMaterialInteraction.xhtml)

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

<a id="l00081" name="l00081"></a> 81 inline ROCKY_FUNCTIONS double [get\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a83c3e5bc364c65dfc9ff275e345d369c)() const;

<a id="l00082" name="l00082"></a> 82 

<a id="l00090" name="l00090"></a> 90 inline ROCKY_FUNCTIONS double [get\_minimum\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a897ea40cf65b252af203bd1e9b9a3855)() const;

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

<a id="l00097" name="l00097"></a> 97 inline ROCKY_FUNCTIONS double [get\_static\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#a4daf7d4586429504ce237697b7a7659f)() const;

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

<a id="l00104" name="l00104"></a> 104 inline ROCKY_FUNCTIONS double [get\_dynamic\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#ae9ce701837e46ca374d260c7b828dac7)() const;

<a id="l00105" name="l00105"></a> 105 

<a id="l00110" name="l00110"></a> 110 inline ROCKY_FUNCTIONS double [get\_stiffness\_multiplier](structIRockyMaterialInteraction.xhtml#af0f10152e6cba7d896304a45ed822fa8)() const;

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

<a id="l00117" name="l00117"></a> 117 inline ROCKY_FUNCTIONS double [get\_tangential\_stiffness\_ratio](structIRockyMaterialInteraction.xhtml#a766d1bbd19828566927faadc683b4242)() const;

<a id="l00118" name="l00118"></a> 118 

<a id="l00121" name="l00121"></a> 121 ROCKY_FUNCTIONS [IRockyMaterialInteraction](structIRockyMaterialInteraction.xhtml)(const MaterialInteraction &amp;__impl) : _impl(__impl) {}

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

<a id="l00123" name="l00123"></a> 123 const MaterialInteraction &amp;_impl;

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

<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// ================================================================================================

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

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

<a id="l00132" name="l00132"></a>[ 132](structIRockyMaterial.xhtml#ac2296f9b2afe54b6660f584d5d937994)inline ROCKY_FUNCTIONS double [IRockyMaterial::get\_young\_modulus](structIRockyMaterial.xhtml#ac2296f9b2afe54b6660f584d5d937994)() const

<a id="l00133" name="l00133"></a> 133{

<a id="l00134" name="l00134"></a> 134 return this-&gt;_impl.kn_load;

<a id="l00135" name="l00135"></a> 135}



<a id="l00136" name="l00136"></a> 136 

<a id="l00137" name="l00137"></a>[ 137](structIRockyMaterial.xhtml#a77ed523db8076cb87c69334481e0ad9b)inline ROCKY_FUNCTIONS double [IRockyMaterial::get\_poisson\_ratio](structIRockyMaterial.xhtml#a77ed523db8076cb87c69334481e0ad9b)() const

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

<a id="l00139" name="l00139"></a> 139 return this-&gt;_impl.poisson_ratio;

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



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

<a id="l00142" name="l00142"></a>[ 142](structIRockyMaterial.xhtml#ac4a3805a7f95f47fbd93761d1b2013fe)inline ROCKY_FUNCTIONS double [IRockyMaterial::get\_density](structIRockyMaterial.xhtml#ac4a3805a7f95f47fbd93761d1b2013fe)() const

<a id="l00143" name="l00143"></a> 143{

<a id="l00144" name="l00144"></a> 144 return this-&gt;_impl.dens;

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



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

<a id="l00147" name="l00147"></a>[ 147](structIRockyMaterial.xhtml#ab0f6b6ddb2c899c76bad757864649a22)inline ROCKY_FUNCTIONS double [IRockyMaterial::get\_specific\_heat](structIRockyMaterial.xhtml#ab0f6b6ddb2c899c76bad757864649a22)() const

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

<a id="l00149" name="l00149"></a> 149 return this-&gt;_impl.specific_heat;

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



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

<a id="l00152" name="l00152"></a>[ 152](structIRockyMaterial.xhtml#a35481246571a954fa8954efc49631ba5)inline ROCKY_FUNCTIONS double [IRockyMaterial::get\_thermal\_conductivity](structIRockyMaterial.xhtml#a35481246571a954fa8954efc49631ba5)() const

<a id="l00153" name="l00153"></a> 153{

<a id="l00154" name="l00154"></a> 154 return this-&gt;_impl.thermal_conductivity;

<a id="l00155" name="l00155"></a> 155}



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

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

<a id="l00158" name="l00158"></a> 158// RockyMaterialInteraction

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

<a id="l00160" name="l00160"></a>[ 160](structIRockyMaterialInteraction.xhtml#a83c3e5bc364c65dfc9ff275e345d369c)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a83c3e5bc364c65dfc9ff275e345d369c)() const

<a id="l00161" name="l00161"></a> 161{

<a id="l00162" name="l00162"></a> 162 return this-&gt;_impl.rest;

<a id="l00163" name="l00163"></a> 163}



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

<a id="l00165" name="l00165"></a>[ 165](structIRockyMaterialInteraction.xhtml#a897ea40cf65b252af203bd1e9b9a3855)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_minimum\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a897ea40cf65b252af203bd1e9b9a3855)() const

<a id="l00166" name="l00166"></a> 166{

<a id="l00167" name="l00167"></a> 167 return this-&gt;_impl.minimum_rest;

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



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

<a id="l00170" name="l00170"></a>[ 170](structIRockyMaterialInteraction.xhtml#a4daf7d4586429504ce237697b7a7659f)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_static\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#a4daf7d4586429504ce237697b7a7659f)() const

<a id="l00171" name="l00171"></a> 171{

<a id="l00172" name="l00172"></a> 172 return this-&gt;_impl.mu_st;

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



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

<a id="l00175" name="l00175"></a>[ 175](structIRockyMaterialInteraction.xhtml#ae9ce701837e46ca374d260c7b828dac7)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_dynamic\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#ae9ce701837e46ca374d260c7b828dac7)() const

<a id="l00176" name="l00176"></a> 176{

<a id="l00177" name="l00177"></a> 177 return this-&gt;_impl.mu_dn;

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



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

<a id="l00180" name="l00180"></a>[ 180](structIRockyMaterialInteraction.xhtml#af0f10152e6cba7d896304a45ed822fa8)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_stiffness\_multiplier](structIRockyMaterialInteraction.xhtml#af0f10152e6cba7d896304a45ed822fa8)() const

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

<a id="l00182" name="l00182"></a> 182 return this-&gt;_impl.contact_stiff_ratio;

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



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

<a id="l00185" name="l00185"></a>[ 185](structIRockyMaterialInteraction.xhtml#a766d1bbd19828566927faadc683b4242)inline ROCKY_FUNCTIONS double [IRockyMaterialInteraction::get\_tangential\_stiffness\_ratio](structIRockyMaterialInteraction.xhtml#a766d1bbd19828566927faadc683b4242)() const

<a id="l00186" name="l00186"></a> 186{

<a id="l00187" name="l00187"></a> 187 return this-&gt;_impl.kt_kn;

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



<a id="l00189" name="l00189"></a> 189 

[IRockyMaterialInteraction](structIRockyMaterialInteraction.xhtml)

**Definition** rocky_material_api.hpp:72



[IRockyMaterialInteraction::get\_static\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#a4daf7d4586429504ce237697b7a7659f)

ROCKY_FUNCTIONS double get_static_friction_coefficient() const

**Definition** rocky_material_api.hpp:170



[IRockyMaterialInteraction::get\_tangential\_stiffness\_ratio](structIRockyMaterialInteraction.xhtml#a766d1bbd19828566927faadc683b4242)

ROCKY_FUNCTIONS double get_tangential_stiffness_ratio() const

**Definition** rocky_material_api.hpp:185



[IRockyMaterialInteraction::get\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a83c3e5bc364c65dfc9ff275e345d369c)

ROCKY_FUNCTIONS double get_restitution_coefficient() const

**Definition** rocky_material_api.hpp:160



[IRockyMaterialInteraction::get\_minimum\_restitution\_coefficient](structIRockyMaterialInteraction.xhtml#a897ea40cf65b252af203bd1e9b9a3855)

ROCKY_FUNCTIONS double get_minimum_restitution_coefficient() const

**Definition** rocky_material_api.hpp:165



[IRockyMaterialInteraction::get\_dynamic\_friction\_coefficient](structIRockyMaterialInteraction.xhtml#ae9ce701837e46ca374d260c7b828dac7)

ROCKY_FUNCTIONS double get_dynamic_friction_coefficient() const

**Definition** rocky_material_api.hpp:175



[IRockyMaterialInteraction::get\_stiffness\_multiplier](structIRockyMaterialInteraction.xhtml#af0f10152e6cba7d896304a45ed822fa8)

ROCKY_FUNCTIONS double get_stiffness_multiplier() const

**Definition** rocky_material_api.hpp:180



[IRockyMaterial](structIRockyMaterial.xhtml)

**Definition** rocky_material_api.hpp:21



[IRockyMaterial::get\_thermal\_conductivity](structIRockyMaterial.xhtml#a35481246571a954fa8954efc49631ba5)

ROCKY_FUNCTIONS double get_thermal_conductivity() const

**Definition** rocky_material_api.hpp:152



[IRockyMaterial::get\_poisson\_ratio](structIRockyMaterial.xhtml#a77ed523db8076cb87c69334481e0ad9b)

ROCKY_FUNCTIONS double get_poisson_ratio() const

**Definition** rocky_material_api.hpp:137



[IRockyMaterial::get\_specific\_heat](structIRockyMaterial.xhtml#ab0f6b6ddb2c899c76bad757864649a22)

ROCKY_FUNCTIONS double get_specific_heat() const

**Definition** rocky_material_api.hpp:147



[IRockyMaterial::get\_young\_modulus](structIRockyMaterial.xhtml#ac2296f9b2afe54b6660f584d5d937994)

ROCKY_FUNCTIONS double get_young_modulus() const

**Definition** rocky_material_api.hpp:132



[IRockyMaterial::get\_density](structIRockyMaterial.xhtml#ac4a3805a7f95f47fbd93761d1b2013fe)

ROCKY_FUNCTIONS double get_density() const

**Definition** rocky_material_api.hpp:142