Unilateral (contact) constraints.

#include <ChConstraintRigidRigid.h>

Collaboration diagram for chrono::ChConstraintRigidRigid:

Public Member Functions

void Setup (ChMulticoreDataManager *dm)
void Project (real *gamma)
void Project_Single (int index, real *gamma)
void host_Project_single (int index, vec2 *ids, real3 *friction, real *cohesion, real *gamma)
void func_Project_normal (int index, const vec2 *ids, const real *cohesion, real *gam)
void func_Project_sliding (int index, const vec2 *ids, const real3 *fric, const real *cohesion, real *gam)
void func_Project_spinning (int index, const vec2 *ids, const real3 *fric, real *gam)
void Dx (const DynamicVector< real > &x, DynamicVector< real > &output)
void D_Tx (const DynamicVector< real > &x, DynamicVector< real > &output)
void Build_b ()
 Compute the vector of corrections.
void Build_E ()
 Compute the diagonal compliance matrix.
void Build_D ()
 Compute the jacobian matrix, no allocation is performed here, GenerateSparsity should take care of that.
void Build_s ()
void GenerateSparsity ()
 Fill-in the non zero entries in the bilateral jacobian with ones. More...

Public Attributes

int offset

Protected Attributes

custom_vector< bool2 > contact_active_pairs
real inv_h
 reciprocal of time step, 1/h
real inv_hpa
 1 / (h+a)
real inv_hhpa
 1 / h*(h+a)
custom_vector< real3_int > rotated_point_a
custom_vector< real3_int > rotated_point_b
custom_vector< quaternionquat_a
custom_vector< quaternionquat_b
 Pointer to the system's data manager.

Member Function Documentation

◆ GenerateSparsity()

void ChConstraintRigidRigid::GenerateSparsity ( )

Fill-in the non zero entries in the bilateral jacobian with ones.

This operation is sequential.

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_multicore/constraints/ChConstraintRigidRigid.h
  • /builds/uwsbel/chrono/src/chrono_multicore/constraints/ChConstraintRigidRigid.cpp