File numerics/src/FrictionContact/GlobalFrictionContactProblem.h#
Go to the source code of this file
Definition of a structure to handle global friction-contact (2D or 3D) problems.
Functions
-
GlobalFrictionContactProblem *globalFrictionContactProblem_new(void)#
creates an empty GlobalFrictionContactProblem
- Returns:
a pointer to a GlobalFrictionContactProblem
-
void globalFrictionContact_display(GlobalFrictionContactProblem *problem)#
displays the problem onto screen
- Parameters:
problem – [in] to be displayed
-
int globalFrictionContact_printInFile(GlobalFrictionContactProblem *problem, FILE *file)#
Saves problem struct into a file.
- Parameters:
problem – [in] structure
file – [in] file descriptor
- Returns:
file status (1 if everything has worked properly)
-
int globalFrictionContact_printInFileName(GlobalFrictionContactProblem *problem, const char *filename)#
Saves problem struct into a file.
- Parameters:
problem – [in] structure
filename – [in] name of the input file
- Returns:
file status (1 if everything has worked properly)
-
GlobalFrictionContactProblem *globalFrictionContact_newFromFile(FILE *file)#
read a GlobalFrictionContactProblem from a file descriptor
- Parameters:
file – descriptor
- Returns:
problem the problem to read
-
GlobalFrictionContactProblem *globalFrictionContact_new_from_filename(const char *filename)#
read a GlobalFrictionContactProblem 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
-
void globalFrictionContact_free(GlobalFrictionContactProblem *problem)#
Release memory for the problem structure.
- Parameters:
problem – [inout] global-Friction problem structure to be freed
-
GlobalFrictionContactProblem *globalFrictionContact_copy(GlobalFrictionContactProblem *problem)#
-
int globalFrictionContact_computeGlobalVelocity(GlobalFrictionContactProblem *problem, double *reaction, double *globalVelocity)#
Compute the global velocity given the reaction.
- Parameters:
problem – [in] to be considered
reaction – [in] the reaction, can be null if there is no contacts
globalVelocity – [out] the global velocity computed by inverting the system.
-
FrictionContactProblem *globalFrictionContact_reformulation_FrictionContact(GlobalFrictionContactProblem *problem)#
Refomulation into local problem.
-
struct GlobalFrictionContactProblem#
- #include <GlobalFrictionContactProblem.h>
The structure that defines a Friction-Contact (3D or 2D ) problem.
Public Members
-
int dimension#
dimension \( d=2 \) or \( d=3 \) 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\) 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 norm_q#
norm-2 of q
-
double *b#
\( {b} \in {{\mathrm{I\!R}}}^{m} \)
-
double norm_b#
norm-2 of b
-
double *mu#
\( {\mu} \in {{\mathrm{I\!R}}}^{n_c} \), vector of friction coefficients ( \( n_c = \) numberOfContacts)
-
NumericsMatrix *M_inverse#
\( M^{-1} \in {\mathrm{I\!R}}^{n \times n} \), a matrix with \( n \) stored in NumericsMatrix structure
-
void *env#
opaque environment, solver specific
-
int dimension#