    

 ## On this page

  

 

 # IRockyJoint Struct Reference

 Last update: 17.07.2025 

`#include <<a class="el" href="rocky__joint__api_8hpp_source.xhtml">rocky_joint_api.hpp</a>>`

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

ROCKY\_FUNCTIONS double3 [get\_elastic\_force](structIRockyJoint.xhtml#ab006cbc3b38064611dfa5dae2cbdf672) () const ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double3 &gt; [get\_moments\_due\_to\_force](structIRockyJoint.xhtml#a3447c9a4ef194097e8c3898b25ebe942) (double3 force) const ROCKY\_FUNCTIONS double3 [get\_elastic\_moment](structIRockyJoint.xhtml#a8eeb46a9210aeaf532467ecb77c580e7) () const ROCKY\_FUNCTIONS double3 [get\_damping\_force](structIRockyJoint.xhtml#a7c2d0b63f577c279227b2df8daffbf5c) () const ROCKY\_FUNCTIONS double3 [get\_damping\_moment](structIRockyJoint.xhtml#a71de79fea3ed20ae451b5cb36d2b6349) () const ROCKY\_FUNCTIONS double3 [get\_normal\_deformation](structIRockyJoint.xhtml#add47e1c2a985abef3a9fef24c44902e2) () const ROCKY\_FUNCTIONS double3 [get\_tangential\_deformation](structIRockyJoint.xhtml#a3d324dbcee8a4366284a5fb84547dd9d) () const ROCKY\_FUNCTIONS double3 [get\_normal\_deformation\_velocity](structIRockyJoint.xhtml#abd22a485b99c59a2141dff07e6f9b9e0) () const ROCKY\_FUNCTIONS double3 [get\_tangential\_deformation\_velocity](structIRockyJoint.xhtml#a35e3299e0b5a35128aff0ca6f7604e38) () const ROCKY\_FUNCTIONS int [get\_number\_angular\_deformations](structIRockyJoint.xhtml#a7c84ef4dad6d9e1f38b2d227ac1f083a) () const ROCKY\_FUNCTIONS double [get\_angular\_deformation](structIRockyJoint.xhtml#a46c8b6ca5aa8e78f55cb6c0a70f1cc6d) (int deformation\_direction) const ROCKY\_FUNCTIONS double [get\_angular\_deformation\_velocity](structIRockyJoint.xhtml#a1be4ec6e88935d14a4b900d09fdbfadf) (int deformation\_direction) const ROCKY\_FUNCTIONS double3 [get\_angular\_deformation\_direction](structIRockyJoint.xhtml#ae4c1028eba2077ae552c21aba43ce638) (int deformation\_direction) const ROCKY\_FUNCTIONS double [get\_normal\_stiffness](structIRockyJoint.xhtml#a47718a93f4aa6bffe9ef0e03bfff3fa9) () const ROCKY\_FUNCTIONS double [get\_tangential\_stiffness](structIRockyJoint.xhtml#a48e95a4cc7245305980339ea8ddf43b3) () const ROCKY\_FUNCTIONS double [get\_angular\_stiffness](structIRockyJoint.xhtml#a299b8659e8bb2ddba28de92d18055e5b) (int deformation\_direction) const ROCKY\_FUNCTIONS double [get\_normal\_damping\_coefficient](structIRockyJoint.xhtml#ad55375a544cfd11a0c0fb52986b1fc74) () const ROCKY\_FUNCTIONS double [get\_tangential\_damping\_coefficient](structIRockyJoint.xhtml#a25c86f76033636ab37b3ff19ba60b41a) () const ROCKY\_FUNCTIONS double [get\_angular\_damping\_coefficient](structIRockyJoint.xhtml#a83db4989103e17e6158b6e96a030457d) (int deformation\_direction) const ROCKY\_FUNCTIONS double3 [get\_normal\_vector](structIRockyJoint.xhtml#af300e95bee5d2a332c3085e6fad91af2) () const ROCKY\_FUNCTIONS double [get\_area](structIRockyJoint.xhtml#af2ea637b5ce30f553c19f973411ef451) () const ROCKY\_FUNCTIONS double [get\_area\_moment\_of\_inertia](structIRockyJoint.xhtml#a22573a85d220d9db4afa1b0f67337196) (int deformation\_direction) const ROCKY\_FUNCTIONS double [get\_young\_modulus](structIRockyJoint.xhtml#a2d57d8f171e77be4e1de3f2eb2b10fb3) () const ROCKY\_FUNCTIONS double [get\_poisson\_ratio](structIRockyJoint.xhtml#a09693f2837c14dfb1a0fa4d40373553f) () const ROCKY\_FUNCTIONS double [get\_normal\_elastic\_ratio](structIRockyJoint.xhtml#a0912316f01b3785c5f711aad2a3ebde1) () const ROCKY\_FUNCTIONS double [get\_tangential\_elastic\_ratio](structIRockyJoint.xhtml#aeeae504e7d95c787e088c8dd5a55c83c) () const ROCKY\_FUNCTIONS double [get\_torsion\_elastic\_ratio](structIRockyJoint.xhtml#a23fa06ce00c95412142f49e82825bca1) () const ROCKY\_FUNCTIONS double [get\_bending\_elastic\_ratio](structIRockyJoint.xhtml#a83474e7ee11615ca201de8fec94c8c22) () const ROCKY\_FUNCTIONS double [get\_joint\_damping\_ratio](structIRockyJoint.xhtml#a997ad60ff60b99d485c1d3d2fce74ff2) () const ROCKY\_FUNCTIONS double [get\_angle\_scaling\_factor](structIRockyJoint.xhtml#a200f5da4324981ce63eeca693082ce3f) () const ROCKY\_FUNCTIONS double [get\_equivalent\_mass](structIRockyJoint.xhtml#a53d243061f43d6e0a291de65afec3b3c) () const ROCKY\_FUNCTIONS double [get\_normal\_stiffness\_per\_area](structIRockyJoint.xhtml#ad78b35364784e0ffe09508d99facd5a3) () const ROCKY\_FUNCTIONS double [get\_tangential\_stiffness\_per\_area](structIRockyJoint.xhtml#a1444e28a82d898d15775180373952ee1) () const ROCKY\_FUNCTIONS double [get\_young\_modulus\_multiplier](structIRockyJoint.xhtml#a2f87ef623553e934f8fdca19d163669a) () const ROCKY\_FUNCTIONS [IRockyJointScalars](structIRockyJointScalars.xhtml) [get\_scalars](structIRockyJoint.xhtml#af78ec40df8e4715343434772668bf70d) () ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double &gt; [get\_home\_element\_orientation](structIRockyJoint.xhtml#acd6105a244aacfbbc5a833760c7ca1b9) () const ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double &gt; [get\_near\_element\_orientation](structIRockyJoint.xhtml#addfb58409bb1dc5703d9d3ab64b3e458) () const ROCKY\_FUNCTIONS double3 [get\_home\_element\_centroid\_position](structIRockyJoint.xhtml#a4422c62fbad4e4f34c011d683fc0d859) () const ROCKY\_FUNCTIONS double3 [get\_near\_element\_centroid\_position](structIRockyJoint.xhtml#a3a804cfa90d13e065de6d983d7a35caf) () const ROCKY\_FUNCTIONS double3 [get\_home\_arm](structIRockyJoint.xhtml#a86a5ed840cdc8b276f3ff65ad8148a3c) () const ROCKY\_FUNCTIONS double3 [get\_near\_arm](structIRockyJoint.xhtml#a4129719851a851ff1ac7d0190d834ad3) () const ROCKY\_FUNCTIONS thrust::tuple&lt; int, int &gt; [get\_element\_tags](structIRockyJoint.xhtml#a37e1bd3fb20a03cf9be8a2d4dd317d22) () const <a id="details" name="details"></a>## Detailed Description

`<a class="el" href="structIRockyJoint.xhtml">IRockyJoint</a>` is an interface for the internal joint object in Rocky. It contains methods that give access to joint physical properties and geometric data, in order to implement a custom model for the response of a joint to deformations. All property and variable values made available through `<a class="el" href="structIRockyJoint.xhtml">IRockyJoint</a>` are dimensionless.

When it is necessary to distinguish between the two elements linked by a joint, one is referred to as *home element*, whereas the other is referred to as *near element*. The local coordinate framework associated to a joint has the normal unit vector always pointing from the home element to the near element. Whenever the name of a method or object associated to a joint includes the prefix *home* or *near*, that means the method or object is related to the home or near element.



## Member Function Documentation

<a id="a200f5da4324981ce63eeca693082ce3f" name="a200f5da4324981ce63eeca693082ce3f"></a>## [◆ ](#a200f5da4324981ce63eeca693082ce3f)get\_angle\_scaling\_factor()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_angle\_scaling\_factor  ( )  const

When the number of elements making up a flexible particle is increased,the bending deformation angles tend to decrease, for the same configuration of external forces acting on the particle. This is a side effect of the discretized representation of a flexible particle. In order to prevent the abnormal influence of this phenomenon on models that have a bending angle as a parameter (for instance a threshold angle for the change of regime), that angle can be multiplied by the scaling factor provided by this function. This scaling factor is defined as the inverse of the number of elements of the particle, when it is a fiber. For shells, it is defined as the inverse of the square root of the number of elements.ReturnsThe angle scaling factor defined above. 



<a id="a83db4989103e17e6158b6e96a030457d" name="a83db4989103e17e6158b6e96a030457d"></a>## [◆ ](#a83db4989103e17e6158b6e96a030457d)get\_angular\_damping\_coefficient()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_angular\_damping\_coefficient  ( int  *deformation\_direction*)  const

Calculates the damping coefficient for computing a viscous momentin one of the three orthogonal local directions.Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion, 1 – first bending direction, 2 – second bending direction.ReturnsA damping coefficient calculated with one of the following equations of the DEM Technical Manual: equation 3.25 if deformation\_direction = 0, equation 3.26 if deformation\_direction = 1, or equation 3.27 if deformation\_direction = 2. 



<a id="a46c8b6ca5aa8e78f55cb6c0a70f1cc6d" name="a46c8b6ca5aa8e78f55cb6c0a70f1cc6d"></a>## [◆ ](#a46c8b6ca5aa8e78f55cb6c0a70f1cc6d)get\_angular\_deformation()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_angular\_deformation  ( int  *deformation\_direction*)  const

Calculates the angular deformation of the joint in one of thepossible three mutually orthogonal directions. Figure 3.7 of the DEM Technical Manual illustrates those angles and directions for the shell case.Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion direction, 1 – first bending direction, 2 – second bending direction.ReturnsThe value of the angle for the given direction. 



<a id="ae4c1028eba2077ae552c21aba43ce638" name="ae4c1028eba2077ae552c21aba43ce638"></a>## [◆ ](#ae4c1028eba2077ae552c21aba43ce638)get\_angular\_deformation\_direction()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_angular\_deformation\_direction  ( int  *deformation\_direction*)  const

Returns the unit vector in one of the three mutually orthogonaldirections that define the joint local framework.Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion, 1 – first bending direction, 2 – second bending direction.ReturnsThe unit vector in Cartesian coordinates associated to for the given direction. 



<a id="a1be4ec6e88935d14a4b900d09fdbfadf" name="a1be4ec6e88935d14a4b900d09fdbfadf"></a>## [◆ ](#a1be4ec6e88935d14a4b900d09fdbfadf)get\_angular\_deformation\_velocity()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_angular\_deformation\_velocity  ( int  *deformation\_direction*)  const

Calculates the angular deformation velocity of the jointin one of the possible three mutually orthogonal directions.Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion, 1 – first bending direction, 2 – second bending direction.ReturnsThe magnitude of the angular deformation velocity for the given direction. 



<a id="a299b8659e8bb2ddba28de92d18055e5b" name="a299b8659e8bb2ddba28de92d18055e5b"></a>## [◆ ](#a299b8659e8bb2ddba28de92d18055e5b)get\_angular\_stiffness()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_angular\_stiffness  ( int  *deformation\_direction*)  const

Calculates the stiffness value for computing a joint momentin one of the three orthogonal local directions, according to the linear elastic model. This stiffness can be used as a reference stiffness value for calculating a joint moment with a custom joint model.Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion, 1 – first bending direction, 2 – second bending direction.ReturnsA stiffness value calculated with one of the following equations of the DEM Technical Manual: equation 3.10 if deformation\_direction = 0, equation 3.11 if deformation\_direction = 1, or equation 3.12 if deformation\_direction = 2. 



<a id="af2ea637b5ce30f553c19f973411ef451" name="af2ea637b5ce30f553c19f973411ef451"></a>## [◆ ](#af2ea637b5ce30f553c19f973411ef451)get\_area()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_area  ( )  const

ReturnsThe cross sectional area associated to the joint. For fibers, it will be the area of the circular section of the element with smaller diameter between the two connected by the joint. For shells, it will be the area of the rectangle whose dimensions are the shell thickness and the length of the corresponding triangle's edge. For polyhedra, it will be the area of the triangular face common to the two tetrahedral elements connected by the joint. 



<a id="a22573a85d220d9db4afa1b0f67337196" name="a22573a85d220d9db4afa1b0f67337196"></a>## [◆ ](#a22573a85d220d9db4afa1b0f67337196)get\_area\_moment\_of\_inertia()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_area\_moment\_of\_inertia  ( int  *deformation\_direction*)  const

Parameters deformation\_directionAn integer index that identifies the deformation direction. The three possible values for this parameter are: 0 – torsion, 1 – first bending direction, 2 – second bending direction.ReturnsThe area moment of inertia of the cross section of the joint associated to deformation\_direction. If deformation\_direction = 0, the polar area moment of inertia is returned. 



<a id="a83474e7ee11615ca201de8fec94c8c22" name="a83474e7ee11615ca201de8fec94c8c22"></a>## [◆ ](#a83474e7ee11615ca201de8fec94c8c22)get\_bending\_elastic\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_bending\_elastic\_ratio  ( )  const

The bending elastic ratio is defined as the ratio between the Young's modulusemployed for calculating the stiffness for bending deformations to the Young's modulus specified for the particle's material.ReturnsIf the \[Anisotropic\] option is enabled in the Rocky UI, it will return the value specified for the elastic ratio for bending deformations. Otherwise, it is assumed an isotropic behavior and it will return the value specified for the only elastic ratio that appears in the Rocky UI. 



<a id="a7c2d0b63f577c279227b2df8daffbf5c" name="a7c2d0b63f577c279227b2df8daffbf5c"></a>## [◆ ](#a7c2d0b63f577c279227b2df8daffbf5c)get\_damping\_force()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_damping\_force  ( )  const

Calculates a viscous force proportional to the linear deformationvelocity of the joint. The addition of this force introduces a mechanism of energy dissipation that may help to attenuate internal vibrations between elements in a flexible particle. The force provided by this method is defined as positive in relation to the home element, and negative in relation to the near element.ReturnsA vector in Cartesian coordinates, obtained as the vector sum of the forces defined in equations 3.18 and 3.19 of the DEM Technical Manual. 



<a id="a71de79fea3ed20ae451b5cb36d2b6349" name="a71de79fea3ed20ae451b5cb36d2b6349"></a>## [◆ ](#a71de79fea3ed20ae451b5cb36d2b6349)get\_damping\_moment()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_damping\_moment  ( )  const

Calculates a viscous moment proportional to the angular deformation velocityof the joint. The addition of this moment introduces a mechanism of energy dissipation that may help to attenuate internal angular oscillations between elements in a flexible particle.ReturnsA vector in Cartesian coordinates, obtained as the vector sum of the moments defined in equations 3.20, 3.21 and 3.22 of the DEM Technical Manual. When the flexible particle is a fiber, equation 3.22 is disregarded because bending occurs in only one direction in that case. The moment provided by this method is defined as positive in relation to the home element, and negative in relation to the near element. 



<a id="ab006cbc3b38064611dfa5dae2cbdf672" name="ab006cbc3b38064611dfa5dae2cbdf672"></a>## [◆ ](#ab006cbc3b38064611dfa5dae2cbdf672)get\_elastic\_force()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_elastic\_force  ( )  const

Calculates the resultant force according to the linear elastic modeldescribed in the DEM Technical Manual. This is useful when the custom module is going to implement a new model only for joint moments, while using the standard linear elastic model for the joint force. The force provided by this method is defined as positive in relation to the home element, and negative in relation to the near element.ReturnsA vector in Cartesian coordinates, obtained as the vector sum of the normal and tangential forces, as defined in the DEM Technical Manual. 



<a id="a8eeb46a9210aeaf532467ecb77c580e7" name="a8eeb46a9210aeaf532467ecb77c580e7"></a>## [◆ ](#a8eeb46a9210aeaf532467ecb77c580e7)get\_elastic\_moment()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_elastic\_moment  ( )  const

Calculates the resultant moment according to the linear elastic modeldescribed in section 3.2.1 of the DEM Technical Manual. This is useful when the custom module is going to implement a new model only for the joint forces, while using the standard linear elastic model for the joint moments. The moment provided by this method is defined as positive in relation to the home element, and negative in relation to the near element.ReturnsA vector in Cartesian coordinates, obtained as the vector sum of the moments defined in equations 3.5, 3.6 and 3.7 of the DEM Technical Manual. When the flexible particle is a fiber, equation 3.7 is disregarded, because only one bending moment exists in that case. 



<a id="a37e1bd3fb20a03cf9be8a2d4dd317d22" name="a37e1bd3fb20a03cf9be8a2d4dd317d22"></a>## [◆ ](#a37e1bd3fb20a03cf9be8a2d4dd317d22)get\_element\_tags()

 ROCKY\_FUNCTIONS thrust::tuple&lt; int, int &gt; IRockyJoint::get\_element\_tags  ( )  const

ReturnsThe values of custom tags (integer values) assigned to the two elements attached to the joint. These tags are inherited from tags assigned to the segments that define the center line of a custom fiber. The values of those tags must be specified in the column labeled "tag" in the csv file that defines the geometry of a custom fiber. If tags are not defined for a custom fiber or if this function is used with flexible particles other than custom fibers, this function will return two values equal to -1. 



<a id="a53d243061f43d6e0a291de65afec3b3c" name="a53d243061f43d6e0a291de65afec3b3c"></a>## [◆ ](#a53d243061f43d6e0a291de65afec3b3c)get\_equivalent\_mass()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_equivalent\_mass  ( )  const

ReturnsThe equivalent or effective mass used for calculating joint damping coefficients as indicated, for instance. For more details, please refer to the DEM Technical Manual. 



<a id="a86a5ed840cdc8b276f3ff65ad8148a3c" name="a86a5ed840cdc8b276f3ff65ad8148a3c"></a>## [◆ ](#a86a5ed840cdc8b276f3ff65ad8148a3c)get\_home\_arm()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_home\_arm  ( )  const

ReturnsThe vector that joins the *home element* center to the joint center. 



<a id="a4422c62fbad4e4f34c011d683fc0d859" name="a4422c62fbad4e4f34c011d683fc0d859"></a>## [◆ ](#a4422c62fbad4e4f34c011d683fc0d859)get\_home\_element\_centroid\_position()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_home\_element\_centroid\_position  ( )  const

ReturnsThe joint *home element* center point coordinates. 



<a id="acd6105a244aacfbbc5a833760c7ca1b9" name="acd6105a244aacfbbc5a833760c7ca1b9"></a>## [◆ ](#acd6105a244aacfbbc5a833760c7ca1b9)get\_home\_element\_orientation()

 ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double &gt; IRockyJoint::get\_home\_element\_orientation  ( )  const

ReturnsA tuple whose two components define the axis-angle *home* element orientation. The first one is a three dimensional vector representing the orientation axis, the second one is a single value representing the angle. 



<a id="a997ad60ff60b99d485c1d3d2fce74ff2" name="a997ad60ff60b99d485c1d3d2fce74ff2"></a>## [◆ ](#a997ad60ff60b99d485c1d3d2fce74ff2)get\_joint\_damping\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_joint\_damping\_ratio  ( )  const

ReturnsThe value of the damping ratio specified for the joint, used in the joint damping model. This is a user input parameter with values between 0 and 1, which specifies the intensity of the damping applied to the joints. For more details, please refer to the DEM Technical Manual. 



<a id="a3447c9a4ef194097e8c3898b25ebe942" name="a3447c9a4ef194097e8c3898b25ebe942"></a>## [◆ ](#a3447c9a4ef194097e8c3898b25ebe942)get\_moments\_due\_to\_force()

 ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double3 &gt; IRockyJoint::get\_moments\_due\_to\_force  ( double3  *force*)  const

Calculates the moments of the joint force on the two linked elements.As the lever arm of the joint force can be different for the two elements, the corresponding moment on each one of them can have different magnitude. This method must be called always after calculating the joint force.Parameters forceThe joint force as a vector in Cartesian coordinates.ReturnsA tuple of two vectors in Cartesian coordinates, the first one is the moment on the home element, the second one is the moment on the near element. 



<a id="a4129719851a851ff1ac7d0190d834ad3" name="a4129719851a851ff1ac7d0190d834ad3"></a>## [◆ ](#a4129719851a851ff1ac7d0190d834ad3)get\_near\_arm()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_near\_arm  ( )  const

ReturnsThe vector that joins the *near element* center to the joint center. 



<a id="a3a804cfa90d13e065de6d983d7a35caf" name="a3a804cfa90d13e065de6d983d7a35caf"></a>## [◆ ](#a3a804cfa90d13e065de6d983d7a35caf)get\_near\_element\_centroid\_position()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_near\_element\_centroid\_position  ( )  const

ReturnsThe joint *near element* center point coordinates. 



<a id="addfb58409bb1dc5703d9d3ab64b3e458" name="addfb58409bb1dc5703d9d3ab64b3e458"></a>## [◆ ](#addfb58409bb1dc5703d9d3ab64b3e458)get\_near\_element\_orientation()

 ROCKY\_FUNCTIONS thrust::tuple&lt; double3, double &gt; IRockyJoint::get\_near\_element\_orientation  ( )  const

ReturnsA tuple whose two components define the axis-angle *near* element orientation. The first one is a three dimensional vector representing the orientation axis, the second one is a single value representing the angle. 



<a id="ad55375a544cfd11a0c0fb52986b1fc74" name="ad55375a544cfd11a0c0fb52986b1fc74"></a>## [◆ ](#ad55375a544cfd11a0c0fb52986b1fc74)get\_normal\_damping\_coefficient()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_normal\_damping\_coefficient  ( )  const

Calculates the damping coefficient for computing the normalcomponent of the viscous force.ReturnsThe damping coefficient calculated. For more details, please refer to the DEM Technical Manual. 



<a id="add47e1c2a985abef3a9fef24c44902e2" name="add47e1c2a985abef3a9fef24c44902e2"></a>## [◆ ](#add47e1c2a985abef3a9fef24c44902e2)get\_normal\_deformation()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_normal\_deformation  ( )  const

Calculates the normal component of the linear deformation of the joint.The joint linear deformation is defined as the relative displacement vector between the joint center points in the two linked elements. This vector is oriented pointing from the home element to the near element.ReturnsA vector in Cartesian coordinates, calculated as the product of the magnitude given and the normal unit vector. For more details, please refer to the DEM Technical Manual. 



<a id="abd22a485b99c59a2141dff07e6f9b9e0" name="abd22a485b99c59a2141dff07e6f9b9e0"></a>## [◆ ](#abd22a485b99c59a2141dff07e6f9b9e0)get\_normal\_deformation\_velocity()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_normal\_deformation\_velocity  ( )  const

Calculates the normal component of the linear deformationvelocity of the joint. This velocity is the time derivative of the relative displacement vector between the center points associated to the joint in the two linked elements. The decomposition of this vector into normal and tangential directions is analogous to the one depicted in figure 3.3 of the DEM Technical Manual.ReturnsThe normal component of the linear deformation velocity, expressed in Cartesian coordinates. 



<a id="a0912316f01b3785c5f711aad2a3ebde1" name="a0912316f01b3785c5f711aad2a3ebde1"></a>## [◆ ](#a0912316f01b3785c5f711aad2a3ebde1)get\_normal\_elastic\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_normal\_elastic\_ratio  ( )  const

The normal elastic ratio is defined as the ratio between the Young's modulusemployed for calculating the stiffness in the normal direction to the Young's modulus specified for the particle's material.ReturnsIf the \[Anisotropic\] option is enabled in the Rocky UI, it will return the value specified for the elastic ratio in the normal direction. Otherwise, it is assumed an isotropic behavior and it will return the value specified for the only elastic ratio that appears in the Rocky UI. 



<a id="a47718a93f4aa6bffe9ef0e03bfff3fa9" name="a47718a93f4aa6bffe9ef0e03bfff3fa9"></a>## [◆ ](#a47718a93f4aa6bffe9ef0e03bfff3fa9)get\_normal\_stiffness()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_normal\_stiffness  ( )  const

Calculates the stiffness value for computing the joint normalforce according to the linear elastic model. This stiffness can be used as a reference stiffness value for calculating the joint normal force with a custom joint model.ReturnsThe stiffness value calculated. For more details, please refer to the DEM Technical Manual. 



<a id="ad78b35364784e0ffe09508d99facd5a3" name="ad78b35364784e0ffe09508d99facd5a3"></a>## [◆ ](#ad78b35364784e0ffe09508d99facd5a3)get\_normal\_stiffness\_per\_area()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_normal\_stiffness\_per\_area  ( )  const

ReturnsThe value of the normal stiffness per area unit associated to the joint. Please refer to the DEM Technical Manual for an explanation of how this parameter is calculated for different flexible particle shapes. 



<a id="af300e95bee5d2a332c3085e6fad91af2" name="af300e95bee5d2a332c3085e6fad91af2"></a>## [◆ ](#af300e95bee5d2a332c3085e6fad91af2)get\_normal\_vector()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_normal\_vector  ( )  const

ReturnsThe unit normal vector associated to the joint. This vector is defined as indicated in Figure 3.2. It is oriented pointing always to the home element. 



<a id="a7c84ef4dad6d9e1f38b2d227ac1f083a" name="a7c84ef4dad6d9e1f38b2d227ac1f083a"></a>## [◆ ](#a7c84ef4dad6d9e1f38b2d227ac1f083a)get\_number\_angular\_deformations()

 ROCKY\_FUNCTIONS int IRockyJoint::get\_number\_angular\_deformations  ( )  const

ReturnsAn integer representing the number of possible angular deformations. For joints in a flexible fiber, it will return 2 (torsion and bending), while for joints in the other particle types, it will return 3 (torsion and two bending directions). 



<a id="a09693f2837c14dfb1a0fa4d40373553f" name="a09693f2837c14dfb1a0fa4d40373553f"></a>## [◆ ](#a09693f2837c14dfb1a0fa4d40373553f)get\_poisson\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_poisson\_ratio  ( )  const

ReturnsThe value of the Poisson's ratio specified in the Rocky UI for the material associated to the particle. If Poisson's ratio is configured as a variable property (i.e. each particle have a Poisson's ratio value), then the ratio is the average between home and near elements ratios. 



<a id="af78ec40df8e4715343434772668bf70d" name="af78ec40df8e4715343434772668bf70d"></a>## [◆ ](#af78ec40df8e4715343434772668bf70d)get\_scalars()

 ROCKY\_FUNCTIONS [IRockyJointScalars](structIRockyJointScalars.xhtml) IRockyJoint::get\_scalars  ( ) 

If a scalar variable was defined during the setup of the module,this method can be used access such variables. Joint scalars are special variables that store custom values per joint, in order to preserve them between time iterations.ReturnsThe class to manipulate joint's scalars 



<a id="a25c86f76033636ab37b3ff19ba60b41a" name="a25c86f76033636ab37b3ff19ba60b41a"></a>## [◆ ](#a25c86f76033636ab37b3ff19ba60b41a)get\_tangential\_damping\_coefficient()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_tangential\_damping\_coefficient  ( )  const

Calculates the damping coefficient for computing the tangentialcomponent of the viscous force.ReturnsThe damping coefficient calculated. For more details, please refer to the DEM Technical Manual. 



<a id="a3d324dbcee8a4366284a5fb84547dd9d" name="a3d324dbcee8a4366284a5fb84547dd9d"></a>## [◆ ](#a3d324dbcee8a4366284a5fb84547dd9d)get\_tangential\_deformation()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_tangential\_deformation  ( )  const

Calculates the tangential component of the linear deformation of the joint.The joint linear deformation is defined as the relative displacement vector between the joint center points in the two linked elements.ReturnsA vector in Cartesian coordinates. For more details, please refer to the DEM Technical Manual. 



<a id="a35e3299e0b5a35128aff0ca6f7604e38" name="a35e3299e0b5a35128aff0ca6f7604e38"></a>## [◆ ](#a35e3299e0b5a35128aff0ca6f7604e38)get\_tangential\_deformation\_velocity()

 ROCKY\_FUNCTIONS double3 IRockyJoint::get\_tangential\_deformation\_velocity  ( )  const

Calculates the tangential component of the linear deformationvelocity of the joint. This velocity is the time derivative of the relative displacement vector between the center points associated to the joint in the two linked elements. The decomposition of this vector into normal and tangential directions is analogous to the one depicted in figure 3.3 of the DEM Technical Manual.ReturnsThe tangential component of the linear deformation velocity, expressed in Cartesian coordinates. 



<a id="aeeae504e7d95c787e088c8dd5a55c83c" name="aeeae504e7d95c787e088c8dd5a55c83c"></a>## [◆ ](#aeeae504e7d95c787e088c8dd5a55c83c)get\_tangential\_elastic\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_tangential\_elastic\_ratio  ( )  const

The tangential elastic ratio is defined as the ratio between the Young's modulusemployed for calculating the stiffness in the tangential direction to the Young's modulus specified for the particle's material.ReturnsIf the \[Anisotropic\] option is enabled in the Rocky UI, it will return the value specified for the elastic ratio in the tangential direction. Otherwise, it is assumed an isotropic behavior and it will return the value specified for the only elastic ratio that appears in the Rocky UI. 



<a id="a48e95a4cc7245305980339ea8ddf43b3" name="a48e95a4cc7245305980339ea8ddf43b3"></a>## [◆ ](#a48e95a4cc7245305980339ea8ddf43b3)get\_tangential\_stiffness()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_tangential\_stiffness  ( )  const

Calculates the stiffness value for computing the joint tangentialforce according to the linear elastic model. This stiffness can be used as a reference stiffness value for calculating the joint tangential force with a custom joint model.ReturnsThe stiffness value calculated. For more details, please refer to the DEM Technical Manual. 



<a id="a1444e28a82d898d15775180373952ee1" name="a1444e28a82d898d15775180373952ee1"></a>## [◆ ](#a1444e28a82d898d15775180373952ee1)get\_tangential\_stiffness\_per\_area()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_tangential\_stiffness\_per\_area  ( )  const

ReturnsThe value of the tangential stiffness per area unit associated to the joint. Please refer to the DEM Technical Manual for an explanation of how this parameter is calculated for different flexible particle shapes. 



<a id="a23fa06ce00c95412142f49e82825bca1" name="a23fa06ce00c95412142f49e82825bca1"></a>## [◆ ](#a23fa06ce00c95412142f49e82825bca1)get\_torsion\_elastic\_ratio()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_torsion\_elastic\_ratio  ( )  const

The torsion elastic ratio is defined as the ratio between the Young's modulusemployed for calculating the stiffness for torsional deformations to the Young's modulus specified for the particle's material.ReturnsIf the \[Anisotropic\] option is enabled in the Rocky UI, it will return the value specified for the elastic ratio for torsional deformations. Otherwise, it is assumed an isotropic behavior and it will return the value specified for the only elastic ratio that appears in the Rocky UI. 



<a id="a2d57d8f171e77be4e1de3f2eb2b10fb3" name="a2d57d8f171e77be4e1de3f2eb2b10fb3"></a>## [◆ ](#a2d57d8f171e77be4e1de3f2eb2b10fb3)get\_young\_modulus()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_young\_modulus  ( )  const

ReturnsThe value of the Young's modulus specified in the Rocky UI for the material associated to the particle. 



<a id="a2f87ef623553e934f8fdca19d163669a" name="a2f87ef623553e934f8fdca19d163669a"></a>## [◆ ](#a2f87ef623553e934f8fdca19d163669a)get\_young\_modulus\_multiplier()

 ROCKY\_FUNCTIONS double IRockyJoint::get\_young\_modulus\_multiplier  ( )  const

ReturnsFor custom fibers only, this will return the factor in the right-hand side of equation 3.15 in the DEM Technical Manual. For any other particle type, it will return 1.