MBDyn-1.7.3
|
#include <friction.h>
Public Member Functions | |
DiscreteCoulombFriction (const BasicScalarFunction *const ff, const doublereal s2, const doublereal vr) | |
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 | AfterConvergence (const doublereal F, const doublereal v, const VectorHandler &X, const VectorHandler &XP, const unsigned int solution_startdof) |
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 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 Types | |
enum | tr_type { null, from_sticked_to_sliding, from_sticking_to_sliding, from_sliding_to_sticked, from_sliding_to_sticking } |
enum | status_type { sticked, sticking, sliding } |
Additional Inherited Members | |
Public Types inherited from SimulationEntity | |
typedef std::vector< Hint * > | Hints |
A Coulomb model based on Morandini's ideas
Definition at line 207 of file friction.h.
|
private |
Enumerator | |
---|---|
sticked | |
sticking | |
sliding |
Definition at line 215 of file friction.h.
|
private |
Enumerator | |
---|---|
null | |
from_sticked_to_sliding | |
from_sticking_to_sliding | |
from_sliding_to_sticked | |
from_sliding_to_sticking |
Definition at line 209 of file friction.h.
DiscreteCoulombFriction::DiscreteCoulombFriction | ( | const BasicScalarFunction *const | ff, |
const doublereal | s2, | ||
const doublereal | vr | ||
) |
Definition at line 267 of file friction.cc.
References NO_OP.
|
virtual |
Reimplemented from BasicFriction.
Definition at line 346 of file friction.cc.
References converged_v, current_velocity, f, first_iter, first_switch, null, previous_switch_v, sliding, status, sticked, sticking, and transition_type.
|
virtual |
Compute self jacobian and friction coefficient derivatives
Implements BasicFriction.
Definition at line 501 of file friction.cc.
References ExpandableRowVector::Add(), DifferentiableScalarFunction::ComputeDiff(), current_friction_force, fss, FullSubMatrixHandler::IncCoef(), ExpandableRowVector::Link(), ExpandableRowVector::ReDim(), ExpandableRowVector::Set(), sigma2, sign(), sliding, status, sticked, sticking, and ExpandableRowVector::Sub().
|
virtual |
Compute self residual and friction coefficient
Implements BasicFriction.
Definition at line 374 of file friction.cc.
References grad::fabs(), MBDYN_EXCEPT_ARGS, and sign().
|
virtual |
Implements SimulationEntity.
Definition at line 303 of file friction.cc.
|
virtual |
|
virtual |
Implements SimulationEntity.
Definition at line 318 of file friction.cc.
|
virtual |
|
virtual |
Return last computed friction coefficient
Implements BasicFriction.
Definition at line 342 of file friction.cc.
References current_friction_force.
|
virtual |
Implements SimulationEntity.
Definition at line 332 of file friction.cc.
References DofOrder::ALGEBRAIC, ASSERTMSGBREAK, and iGetNumDof().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 337 of file friction.cc.
References ASSERTMSGBREAK, DofOrder::DIFFERENTIAL, and iGetNumDof().
|
virtual |
Implements SimulationEntity.
Definition at line 298 of file friction.cc.
Referenced by GetDofType(), and GetEqType().
|
virtual |
Set Initial Values
Reimplemented from BasicFriction.
Definition at line 289 of file friction.cc.
References f, and VectorHandler::PutCoef().
|
private |
Definition at line 219 of file friction.h.
|
private |
Definition at line 222 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 231 of file friction.h.
|
private |
Definition at line 226 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 234 of file friction.h.
Referenced by AfterConvergence(), and SetValue().
|
private |
Definition at line 223 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 224 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 233 of file friction.h.
Referenced by AssJac().
|
private |
Definition at line 225 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 228 of file friction.h.
|
private |
Definition at line 227 of file friction.h.
|
private |
Definition at line 229 of file friction.h.
Referenced by AssJac().
|
private |
Definition at line 220 of file friction.h.
Referenced by AfterConvergence(), and AssJac().
|
private |
Definition at line 221 of file friction.h.
Referenced by AfterConvergence().
|
private |
Definition at line 230 of file friction.h.