# Non-Smooth Mechanics Framework

The theoretical framework of RAMMS::ROCKFALL is described in full detail in Lu et al, 2019 and Leine et al, 2014. Below, the most important features are highlighted.

To model rockfall trajectories in general, three-dimensional terrain, we apply non-smooth mechanics coupled with hard contact laws. The non-smooth approach requires two coordinate systems to model non-spherical (polyhedral) rockfalls on a three-dimensional terrain. The first one is the global, inertial-frame I, which is anchored at the origin O of the simulated system, usually given by coordinate system of the digital elevation model.

The equation of motion can be summarised as follows:

$$\begin{cases} M \dot u – h(q,u,t) & = & W(q) \lambda \\

M & = & \begin{bmatrix} M_\Lambda I_{3×3} & 0_{3×3} \\ 0_{3×3} & \Theta^K_S \end{bmatrix} \\

h(q,u,t) & = & (F^I_g + F^I_g – \Omega^K \times \Theta^K_S \Omega^K)^T

\end{cases}$$

where $\lambda$ is the contact force vector applying at the rock’s geometrical boundary, $W(q)$ is the so-called matrix of generalised force directions transferring all the $\lambda$ elements from the rock boundary to the force and torque at the rock centre of mass, and $h(q,u,t)$ is the term containing the external damping force and the gyroscopic force generated by the non-spherical rock rotation. The above equation needs to be solved iteratively using time-stepping schemes (Studer et al. 2008).

Numerically, a contact is detected when at least one boundary point (vertex) of the rock ‘penetrates’ into the surface of terrain defined by the digital elevation model (Leine et al., 2014), generating an effective overlap or a negative gap $G$ measured along $e^I_Z$ every contact point, a local contact frame $C$ constructed within the frame specifying the contact normal and tangential directions, such that the contact forces are decomposed onto these directions. In the contact normal direction, the Signorini condition correlates the normal contact force $\lambda_N$ and the gap function $G$ following:

$$0 \leq \lambda_N \bot G \geq 0$$

This formula indicates $\lambda_N \geq 0$ for a closed contact characterised by $G=0$ (actually $G \leq 0$ is allowed in the modelling only for the contact detection purpose), and $\lambda_N = 0$ for a case of no contact with $G \geq 0$.

Contact detection. Definition of gap length $g_N$.