File numerics/src/FrictionContact/fc3d_AlartCurnier_functions.h#
Go to the source code of this file
Typedef and functions declarations related to Alart-Curnier formulation for 3 dimension frictional contact problems.
Subroutines used when the friction-contact 3D problem is written using Alart-Curnier formulation:
F(reaction)=\left[\begin{array}{c}
velocity - M.reaction - q \\
1/rn*[velocity_N - (velocity_N - rn*reaction_N)^+]
1/rt*[velocity_T - proj(velocity_T - rt*reaction_T)]
\end{array}\right]
where M is an n by n matrix, q an n-dimensional vector, reaction an n-dimensional vector and velocity an n-dimensional vector.
We consider a “global” (ie for several contacts) problem, used to initialize the static global variables. Then a “local” (ie for one contact => size = 3) problem is built (update function) and solved (solve function).
Two different storages are available for M: dense and sparse block.
Functions
-
void compute_rho_split_spectral_norm_cond(FrictionContactProblem *localproblem, double *rho)#
-
void compute_rho_split_spectral_norm(FrictionContactProblem *localproblem, double *rho)#
-
void compute_rho_spectral_norm(FrictionContactProblem *localproblem, double *rho)#
-
void computeAlartCurnierSTD(double reaction[3], double velocity[3], double mu, double rho[3], double result[3], double A[9], double B[9])#
-
void computeAlartCurnierJeanMoreau(double reaction[3], double velocity[3], double mu, double rho[3], double result[3], double A[9], double B[9])#