    

 ## On this page

  

 

 # rocky\_boundary\_deformation

 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\#include &lt;string&gt;

<a id="l00004" name="l00004"></a> 4\#include &lt;vector\_types.h&gt;

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6class cuda_host;

<a id="l00007" name="l00007"></a> 7typedef cuda_host RockyModel;

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

<a id="l00009" name="l00009"></a> 9template&lt;class Model&gt;

<a id="l00010" name="l00010"></a> 10struct RockyBoundaryTriangle;

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

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

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

<a id="l00018" name="l00018"></a> 18 explicit RockyDeformableWallsModel(RockyModel&amp; model);

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

<a id="l00025" name="l00025"></a> 25 void set_displacement_timestep(double time);

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

<a id="l00031" name="l00031"></a> 31 double get_displacement_timestep() const;

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

<a id="l00036" name="l00036"></a> 36 bool is_displacement_timestep_completed() const;

<a id="l00037" name="l00037"></a> 37 

<a id="l00042" name="l00042"></a> 42 void pull_triangles_impulses_from_devices();

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

<a id="l00047" name="l00047"></a> 47 void reset_triangles_impulses();

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

<a id="l00055" name="l00055"></a> 55 const double3&amp; get_triangle_impulse(const RockyBoundaryTriangle&lt;RockyModel&gt;&amp; triangle) const;

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

<a id="l00063" name="l00063"></a> 63 void set_vertex_incremental_displacements(

<a id="l00064" name="l00064"></a> 64 int wall_index, int vertex_index, const double3&amp; displacement);

<a id="l00065" name="l00065"></a> 65 

<a id="l00066" name="l00066"></a> 66 RockyModel&amp; _model;

<a id="l00067" name="l00067"></a> 67 const int _impulse_scalar_idx;

<a id="l00068" name="l00068"></a> 68 static const std::string IMPULSE_SCALAR_NAME;

<a id="l00069" name="l00069"></a> 69};