MBDyn-1.7.3
|
#include <friction.h>
Public Member Functions | |
ModLugreFriction (const doublereal sigma0, const doublereal sigma1, const doublereal sigma2, const doublereal kappa, const BasicScalarFunction *const ff) | |
void | SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0, const unsigned int solution_startdof=0) |
unsigned int | iGetNumDof (void) const |
virtual std::ostream & | DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const |
virtual void | DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const |
virtual std::ostream & | DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const |
virtual void | DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const |
DofOrder::Order | GetDofType (unsigned int i) const |
DofOrder::Order | GetEqType (unsigned int i) const |
doublereal | fc (void) const |
void | AssRes (SubVectorHandler &WorkVec, const unsigned int startdof, const unsigned int solution_startdof, const doublereal F, const doublereal v, const VectorHandler &X, const VectorHandler &XP) throw (Elem::ChangedEquationStructure) |
void | AssJac (FullSubMatrixHandler &WorkMat, ExpandableRowVector &dfc, const unsigned int startdof, const unsigned int solution_startdof, const doublereal dCoef, const doublereal F, const doublereal v, const VectorHandler &X, const VectorHandler &XP, const ExpandableRowVector &dF, const ExpandableRowVector &dv) const |
Public Member Functions inherited from BasicFriction | |
virtual void | AfterConvergence (const doublereal F, const doublereal v, const VectorHandler &X, const VectorHandler &XP, const unsigned int solution_startdof) |
Public Member Functions inherited from SimulationEntity | |
SimulationEntity (void) | |
virtual | ~SimulationEntity (void) |
virtual bool | bIsValidIndex (unsigned int i) const |
virtual Hint * | ParseHint (DataManager *pDM, const char *s) const |
virtual void | BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const |
virtual void | AfterPredict (VectorHandler &X, VectorHandler &XP) |
virtual void | Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual void | DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual void | Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP) |
virtual unsigned int | iGetNumPrivData (void) const |
virtual unsigned int | iGetPrivDataIdx (const char *s) const |
virtual doublereal | dGetPrivData (unsigned int i) const |
virtual std::ostream & | OutputAppend (std::ostream &out) const |
virtual void | ReadInitialState (MBDynParser &HP) |
Private Member Functions | |
doublereal | alpha (const doublereal z, const doublereal v) const |
doublereal | alphad_v (const doublereal z, const doublereal v) const |
doublereal | alphad_z (const doublereal z, const doublereal v) const |
const doublereal | fs (const doublereal &v) const |
const doublereal | fsd (const doublereal &v) const |
Private Attributes | |
const doublereal | sigma0 |
const doublereal | sigma1 |
const doublereal | sigma2 |
const doublereal | kappa |
const DifferentiableScalarFunction & | fss |
doublereal | f |
Additional Inherited Members | |
Public Types inherited from SimulationEntity | |
typedef std::vector< Hint * > | Hints |
A friction model based on "Dupont Pierre, Hayward, Vincent, Armstrong Brian and Altpeter Friedhelm, Single state elasto-plastic friction models, IEEE Transactions on Automatic Control, scheduled for June 2002"
Definition at line 135 of file friction.h.
ModLugreFriction::ModLugreFriction | ( | const doublereal | sigma0, |
const doublereal | sigma1, | ||
const doublereal | sigma2, | ||
const doublereal | kappa, | ||
const BasicScalarFunction *const | ff | ||
) |
|
private |
Definition at line 138 of file friction.cc.
References fs(), kappa, M_PI, sigma0, sign(), and grad::sin().
Referenced by AssJac().
|
private |
Definition at line 157 of file friction.cc.
References grad::cos(), grad::fabs(), fs(), fsd(), kappa, M_PI, grad::pow(), sigma0, and sign().
Referenced by AssJac().
|
private |
Definition at line 182 of file friction.cc.
References grad::cos(), grad::fabs(), fs(), kappa, M_PI, sigma0, and sign().
Referenced by AssJac().
|
virtual |
Compute self jacobian and friction coefficient derivatives
Implements BasicFriction.
Definition at line 224 of file friction.cc.
References ExpandableRowVector::Add(), alpha(), alphad_v(), alphad_z(), fs(), fsd(), FullSubMatrixHandler::IncCoef(), ExpandableRowVector::Link(), ExpandableRowVector::ReDim(), ExpandableRowVector::Set(), sigma0, sigma1, and sigma2.
|
virtual |
Compute self residual and friction coefficient
Implements BasicFriction.
Definition at line 210 of file friction.cc.
|
virtual |
Implements SimulationEntity.
Definition at line 91 of file friction.cc.
|
virtual |
|
virtual |
Implements SimulationEntity.
Definition at line 106 of file friction.cc.
|
virtual |
|
virtual |
Return last computed friction coefficient
Implements BasicFriction.
Definition at line 206 of file friction.cc.
References f.
|
private |
Definition at line 130 of file friction.cc.
Referenced by alpha(), alphad_v(), alphad_z(), and AssJac().
|
private |
Definition at line 134 of file friction.cc.
References DifferentiableScalarFunction::ComputeDiff(), fss, and sign().
Referenced by alphad_v(), and AssJac().
|
virtual |
Implements SimulationEntity.
Definition at line 120 of file friction.cc.
References ASSERTMSGBREAK, DofOrder::DIFFERENTIAL, and iGetNumDof().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 125 of file friction.cc.
References ASSERTMSGBREAK, DofOrder::DIFFERENTIAL, and iGetNumDof().
|
virtual |
Implements SimulationEntity.
Definition at line 86 of file friction.cc.
Referenced by GetDofType(), and GetEqType().
|
virtual |
Set Initial Values
Reimplemented from BasicFriction.
Definition at line 77 of file friction.cc.
References f, VectorHandler::PutCoef(), and sigma0.
|
private |
Definition at line 142 of file friction.h.
Referenced by fc(), and SetValue().
|
private |
Definition at line 141 of file friction.h.
|
private |
Definition at line 140 of file friction.h.
Referenced by alpha(), alphad_v(), and alphad_z().
|
private |
Definition at line 137 of file friction.h.
Referenced by alpha(), alphad_v(), alphad_z(), AssJac(), and SetValue().
|
private |
Definition at line 138 of file friction.h.
Referenced by AssJac().
|
private |
Definition at line 139 of file friction.h.
Referenced by AssJac().