File numerics/src/FrictionContact/GlobalFrictionContactProblem.h

Go to the source code of this file

Definition of a structure to handle with friction-contact (2D or 3D) problems.


void freeGlobalFrictionContactProblem(GlobalFrictionContactProblem *problem)
void globalFrictionContact_display(GlobalFrictionContactProblem *problem)
int globalFrictionContact_newFromFile(GlobalFrictionContactProblem *problem, FILE *file)
static void globalFrictionContact_null(GlobalFrictionContactProblem *problem)
int globalFrictionContact_printInFile(GlobalFrictionContactProblem *problem, FILE *file)
struct GlobalFrictionContactProblem
#include <GlobalFrictionContactProblem.h>

The structure that defines a Friction-Contact (3D or 2D ) problem.

Details in :ref:global_fc_problem

\(\mathrm{PFC}(M,H,q,b,\mu)\) such that


M v = q + H r \ u = H^top v + b \ hat u = u +left[ left[begin{array}{c}

mu^alpha |u^alpha_{T}|\

0 \ 0

end{array}right]^T, alpha = 1 ldots n_c

right]^T \ \

C^star_{mu} ni {hat u} perp r in C_{mu}


and the set \(C^{\alpha,\star}_{\mu^\alpha}\) is its dual.

Public Members

double *b

\({b} \in {{\mathrm{I\!R}}}^{m} \)

int dimension

dimension \(d=2\) or \(d=3\) of the contact space (3D or 2D )

void *env

opaque environment, solver specific

NumericsMatrix *H

\({H} \in {{\mathrm{I\!R}}}^{n \times m} \), a matrix with \( m = d n_c\) stored in NumericsMatrix structure

NumericsMatrix *M

\({M} \in {{\mathrm{I\!R}}}^{n \times n} \), a matrix with \( n\) stored in NumericsMatrix structure

double *mu

mu \({\mu} \in {{\mathrm{I\!R}}}^{n_c} \), vector of friction coefficients ( \( n_c =\) numberOfContacts)

int numberOfContacts

the number of contacts \( n_c \)

double *q

\({q} \in {{\mathrm{I\!R}}}^{n} \)