File numerics/src/FrictionContact/GlobalRollingFrictionContactProblem.h

Go to the source code of this file

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

Functions

GlobalRollingFrictionContactProblem *globalRollingFrictionContactProblem_new(void)
GlobalRollingFrictionContactProblem *globalRollingFrictionContactProblem_new_with_data(int dim, int nc, NumericsMatrix *M, double *q, double *mu, double *mu_r)

new GlobalRollingFrictionContactProblem from minimal set of data

Parameters
  • dim[in] the problem dimension

  • nc[in] the number of contact

  • M[in] the NumericsMatrix

  • q[in] the q vector

  • mu[in] the mu vector

Returns

a pointer to a GlobalRollingFrictionContactProblem structure

void globalRollingFrictionContactProblem_free(GlobalRollingFrictionContactProblem *problem)

free a GlobalRollingFrictionContactProblem

Parameters

problem – the problem to free

void globalRollingFrictionContact_display(GlobalRollingFrictionContactProblem *problem)

display a GlobalRollingFrictionContactProblem

Parameters

problem – the problem to display

int globalRollingFrictionContact_printInFile(GlobalRollingFrictionContactProblem *problem, FILE *file)

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

Parameters
  • problem – the problem to print out

  • file – the dest file

Returns

0 if successfull

int globalRollingFrictionContact_printInFilename(GlobalRollingFrictionContactProblem *problem, char *filename)

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

Parameters
  • problem – the problem to print out

  • filename – the dest file

Returns

0 if successfull

GlobalRollingFrictionContactProblem *globalRollingFrictionContact_newFromFile(FILE *file)

read a GlobalRollingFrictionContactProblem from a file descriptor

Parameters

file – descriptor

Returns

problem the problem to read

GlobalRollingFrictionContactProblem *globalRollingFrictionContact_new_from_filename(const char *filename)

read a GlobalRollingFrictionContactProblem from a file (.dat or hdf5 if fclib is on) from its filename

Parameters

filename – the name of the input file

Returns

problem the problem to read

int globalRollingFrictionContact_computeGlobalVelocity(GlobalRollingFrictionContactProblem *problem, double *reaction, double *globalVelocity)

Compute the global velocity given the reaction.

Parameters
  • problem[in] to be considered

  • reaction[in] the reaction, if there is no contacts reaction can be NULL

  • globalVelocity[out] the global velocity computed by inverting the system.

RollingFrictionContactProblem *globalRollingFrictionContact_reformulation_RollingFrictionContact(GlobalRollingFrictionContactProblem *problem)
struct GlobalRollingFrictionContactProblem
#include <>

GlobalRollingFrictionContactProblem.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 )

int numberOfContacts

the number of contacts \( n_c \)

NumericsMatrix *M

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

NumericsMatrix *H

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

double *q

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

double *b

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

double *mu

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

double *mu_r

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