File numerics/src/FrictionContact/FrictionContactProblem.h

Go to the source code of this file

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

Functions

void createSplittedFrictionContactProblem(FrictionContactProblem *problem, SplittedFrictionContactProblem *splitted_problem)
void frictionContact_display(FrictionContactProblem *problem)

display a FrictionContactProblem

Parameters
  • problem: the problem to display

int frictionContact_newFromFile(FrictionContactProblem *problem, FILE *file)

read a FrictionContactProblem in a file (numerics .dat format)

Return
0 if successfull
Parameters
  • problem: the problem to read
  • file: the target file

int frictionContact_newFromFilename(FrictionContactProblem *problem, char *filename)

read a FrictionContactProblem in a file (numerics .dat format) from its filename

Return
0 if successfull
Parameters
  • problem: the problem to read
  • filename: the name of the target file

int frictionContact_printInFile(FrictionContactProblem *problem, FILE *file)

print a FrictionContactProblem in a file (numerics .dat format)

Return
0 if successfull
Parameters
  • problem: the problem to print out
  • file: the dest file

int frictionContact_printInFilename(FrictionContactProblem *problem, char *filename)

print a FrictionContactProblem in a file (numerics .dat format) from its filename

Return
0 if successfull
Parameters
  • problem: the problem to print out
  • filename: the dest file

void frictionContactProblem_compute_statistics(FrictionContactProblem *problem, double *reaction, double *velocity, double tol, int do_print)
void frictionContactProblem_free(FrictionContactProblem *problem)

free a FrictionContactProblem

Parameters
  • problem: the problem to free

FrictionContactProblem *frictionContactProblem_new(void)
FrictionContactProblem *frictionContactProblem_new_with_data(int dim, int nc, NumericsMatrix *M, double *q, double *mu)

new FrictionContactProblem from minimal set of data

Return
a pointer to a FrictionContactProblem structure
Parameters
  • dim: the problem dimension
  • nc: the number of contact
  • M: the NumericsMatrix
  • q: the q vector
  • mu: the mu vector

struct FrictionContactProblem
#include <FrictionContactProblem.h>

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

Public Members

int dimension

dimension of the contact space (3D or 2D )

NumericsMatrix *M

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

double *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} \)

struct SplittedFrictionContactProblem

Public Members

FrictionContactProblem *fc3d
NumericsMatrix *M_nn
NumericsMatrix *M_nt
NumericsMatrix *M_tn
NumericsMatrix *M_tt
double *q_n
double *q_t