| MULTIBODY SIMULATION SOFTWARE - API documentation |
#include <CHlcpConstraintThreeBBShaft.h>


Public Member Functions | |
| ChLcpConstraintThreeBBShaft () | |
| ChLcpConstraintThreeBBShaft (ChLcpVariablesBody *mvariables_a, ChLcpVariablesBody *mvariables_b, ChLcpVariables *mvariables_c) | |
| ChLcpConstraintThreeBBShaft (const ChLcpConstraintThreeBBShaft &other) | |
| virtual ChLcpConstraint * | new_Duplicate () |
| ChLcpConstraintThreeBBShaft & | operator= (const ChLcpConstraintThreeBBShaft &other) |
| virtual ChMatrix< float > * | Get_Cq_a () |
| virtual ChMatrix< float > * | Get_Cq_b () |
| virtual ChMatrix< float > * | Get_Cq_c () |
| virtual ChMatrix< float > * | Get_Eq_a () |
| virtual ChMatrix< float > * | Get_Eq_b () |
| virtual ChMatrix< float > * | Get_Eq_c () |
| void | SetVariables (ChLcpVariables *mvariables_a, ChLcpVariables *mvariables_b, ChLcpVariables *mvariables_c) |
| virtual void | Update_auxiliary () |
| virtual double | Compute_Cq_q () |
| virtual void | Increment_q (const double deltal) |
| virtual void | Build_Cq (ChSparseMatrix &storage, int insrow) |
| virtual void | Build_CqT (ChSparseMatrix &storage, int inscol) |
| virtual void | StreamIN (ChStreamInBinary &mstream) |
| virtual void | StreamOUT (ChStreamOutBinary &mstream) |
Protected Attributes | |
| ChMatrixNM< float, 1, 6 > | Cq_a |
| ChMatrixNM< float, 1, 6 > | Cq_b |
| ChMatrixNM< float, 1, 1 > | Cq_c |
| ChMatrixNM< float, 6, 1 > | Eq_a |
| ChMatrixNM< float, 6, 1 > | Eq_b |
| ChMatrixNM< float, 1, 1 > | Eq_c |
A class for representing a constraint between two bodies (2x6dof in space) and a 1D dof (a shaft)
| virtual void chrono::ChLcpConstraintThreeBBShaft::Build_Cq | ( | ChSparseMatrix & | storage, |
| int | insrow | ||
| ) | [virtual] |
Puts the jacobian parts into the 'insrow' row of a sparse matrix, where both portions of the jacobian are shifted in order to match the offset of the corresponding ChLcpVariable. This is used only by the ChLcpSimplex solver (iterative solvers don't need to know jacobians explicitly)
Implements chrono::ChLcpConstraint.
| virtual void chrono::ChLcpConstraintThreeBBShaft::Build_CqT | ( | ChSparseMatrix & | storage, |
| int | inscol | ||
| ) | [virtual] |
Same as Build_Cq, but puts the _transposed_ jacobian row as a column. This function MUST BE OVERRIDDEN by specialized inherited classes!
Implements chrono::ChLcpConstraint.
| virtual double chrono::ChLcpConstraintThreeBBShaft::Compute_Cq_q | ( | ) | [virtual] |
This function must computes the product between the row-jacobian of this constraint '[Cq_i]' and the vector of variables, 'v'. that is CV=[Cq_i]*v This is used for some iterative LCP solvers.
Implements chrono::ChLcpConstraint.
| virtual void chrono::ChLcpConstraintThreeBBShaft::Increment_q | ( | const double | deltal | ) | [virtual] |
This function must increment the vector of variables 'v' with the quantity [invM]*[Cq_i]'*deltal,that is v+=[invM]*[Cq_i]'*deltal or better: v+=[Eq_i]*deltal This is used for some iterative LCP solvers.
Implements chrono::ChLcpConstraint.
| void chrono::ChLcpConstraintThreeBBShaft::SetVariables | ( | ChLcpVariables * | mvariables_a, |
| ChLcpVariables * | mvariables_b, | ||
| ChLcpVariables * | mvariables_c | ||
| ) | [virtual] |
Set references to the constrained objects, If first two variables aren't from ChLcpVariablesBody class, an assert failure happens.
Implements chrono::ChLcpConstraintThree.
| void chrono::ChLcpConstraintThreeBBShaft::StreamIN | ( | ChStreamInBinary & | mstream | ) | [virtual] |
Method to allow deserializing a persistent binary archive (ex: a file) into transient data.
Reimplemented from chrono::ChLcpConstraintThree.
| void chrono::ChLcpConstraintThreeBBShaft::StreamOUT | ( | ChStreamOutBinary & | mstream | ) | [virtual] |
Method to allow serializing transient data into a persistent binary archive (ex: a file).
Reimplemented from chrono::ChLcpConstraintThree.
| void chrono::ChLcpConstraintThreeBBShaft::Update_auxiliary | ( | ) | [virtual] |
This function updates the following auxiliary data:
Reimplemented from chrono::ChLcpConstraint.
CHRONO::ENGINE