File numerics/src/FrictionContact/gfc3d_ipm.h#
Go to the source code of this file
Typedefs
-
typedef long double float_type
Functions
-
float_type dnrm2l(const unsigned int n, const double *x)
-
double getNewtonStepLength(const double *const x, const double *const dx, const unsigned int vecSize, const unsigned int varsCount, const double gamma)#
-
double getStepLength(const double *const x, const double *const dx, const unsigned int vecSize, const unsigned int varsCount, const double gamma)#
-
void primalResidual(const double *velocity, NumericsMatrix *H, const double *globalVelocity, const double *w, double *out, double *rnorm, const double tol)#
Returns the primal constraint vector for global fricprob ( velocity - H @ globalVelocity - w )
- Parameters:
velocity – is the vector of relative velocities.
H – is the constraint matrix.
globalVelocity – is the vector of generalized velocities.
w – is the constraint vector.
out – is the result velocity - H x globalVelocity - w vector.
rnorm – is the relative norm of out = |out|/max{|velocity|, |H x globalVelocity|, |w|}
-
void dualResidual(NumericsMatrix *M, const double *globalVelocity, NumericsMatrix *H, const double *reaction, const double *f, double *out, double *rnorm, const double tol)#
Returns the dual constraint vector for global fricprob ( M @ globalVelocity + f - H @ reaction )
- Parameters:
M – is the mass matrix.
globalVelocity – is the vector of generalized velocities.
H – is the constraint matrix.
reaction – is the vector of reaction forces at each contact point.
f – is the constraint vector (vector of internal and external forces).
out – os the result M x globalVelocity + f - H’ x reaction vector.
rnorm – is the relative 2-norm of out = |out| / max{|M x globalVelocity|, |f|, |H’ x r|}
-
double complemResidualNorm(const double *const velocity, const double *const reaction, const unsigned int vecSize, const unsigned int varsCount)#
Returns the Inf-norm of primal residual vecor ( velocity - H @ globalVelocity - w )
- Parameters:
velocity – is the vector of relative velocities.
H – is the constraint matrix.
globalVelocity – is the vector of generalized velocities.
w – is the constraint vector. Returns the Inf-norm of the dual residual vector ( M @ globalVelocity + f - H @ reaction )
M – is the mass matrix.
globalVelocity – is the vector of generalized velocities.
H – is the constraint matrix.
reaction – is the vector of reaction forces at each contact point.
f – is the constraint vector (vector of internal and external forces). Returns the Inf-norm of the cemplementarity residual vector ( velocity o reaction )
velocity – is the vector of relative velocities at each contact point.
reaction – is the vector of reaction forces at each contact point.
vecSize – is the size of reaction and velocity vector.
varsCount – is a count of variables concatenated into vectors reaction and velocity.
-
double complemResidualNorm_p(const double *const velocity, const double *const reaction, const unsigned int vecSize, const unsigned int varsCount)#
-
double complemResidualNorm_p_F(NumericsMatrix *Qp, NumericsMatrix *Qpinv, const double *const velocity, const double *const reaction, const unsigned int vecSize, const unsigned int varsCount)#
-
double dualGap(NumericsMatrix *M, const double *f, const double *w, const double *globalVelocity, const double *reaction, const unsigned int nd, const unsigned int m)#
-
double relGap(NumericsMatrix *M, const double *f, const double *w, const double *globalVelocity, const double *reaction, const unsigned int nd, const unsigned int m, const double gapVal)#
-
void setErrorArray(double *error, const double pinfeas, const double dinfeas, const double dualgap, const double complem, const double complem_p, const double projerr)#
-
double norm2VecDiff(const double *vec1, const double *vec2, const unsigned int vecSize)#