File contactForce.h
-
class contactForce : public baseForce
Public Functions
-
virtual void computeForce(double dt) override
-
virtual void computeForceAndJacobian(double dt) override
-
void broadPhaseCollisionDetection() const
-
int getNumCollisions() const
-
double getMinDist() const
Private Functions
-
void setupContactVariables(const Vector<int, 8> &contact_id)
-
void prepContactInput()
-
void prepFrictionInput(double dt)
-
void computeFriction(double dt)
Private Members
-
unique_ptr<symbolicEquations> sym_eqs
-
double K1
-
double K2
-
double delta
-
double k_scaler
-
bool friction
-
double mu
-
double nu
-
double surface_limit
-
int idx1
-
int idx2
-
int idx3
-
int idx4
-
int idx5
-
int idx6
-
Vector3d x1s
-
Vector3d x1e
-
Vector3d x2s
-
Vector3d x2e
-
Vector3d x1s0
-
Vector3d x1e0
-
Vector3d x2s0
-
Vector3d x2e0
-
ConstraintType constraint_type
-
FrictionType friction_type
-
ContactPiecewise contact_type
-
Vector<double, 8> p2p_input
-
Vector<double, 11> e2p_input
-
Vector<double, 14> e2e_input
-
Vector<double, 6> p2p_gradient
-
Vector<double, 9> e2p_gradient
-
Vector<double, 12> e2e_gradient
-
Matrix<double, 6, 6> p2p_hessian
-
Matrix<double, 9, 9> e2p_hessian
-
Matrix<double, 12, 12> e2e_hessian
-
Vector<double, 39> friction_input
-
Vector<double, 12> contact_gradient
-
Vector<double, 12> friction_forces
-
Matrix<double, 12, 12> contact_hessian
-
Matrix<double, 12, 12> friction_partials_dfr_dx
-
Matrix<double, 12, 12> friction_partials_dfr_dfc
-
Matrix<double, 12, 12> friction_jacobian
-
virtual void computeForce(double dt) override