sixDoFSolver Class Referenceabstract
Inheritance diagram for sixDoFSolver:
Collaboration diagram for sixDoFSolver:

Public Member Functions

 TypeName ("sixDoFSolver")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body))
 
 sixDoFSolver (sixDoFRigidBodyMotion &body)
 
virtual ~sixDoFSolver ()
 Destructor. More...
 
virtual void solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)=0
 Drag coefficient. More...
 

Static Public Member Functions

static autoPtr< sixDoFSolverNew (const dictionary &dict, sixDoFRigidBodyMotion &body)
 

Protected Member Functions

pointcentreOfRotation ()
 Return the current centre of rotation. More...
 
tensorQ ()
 Return the orientation. More...
 
vectorv ()
 Return non-const access to vector. More...
 
vectora ()
 Return non-const access to acceleration. More...
 
vectorpi ()
 Return non-const access to angular momentum. More...
 
vectortau ()
 Return non-const access to torque. More...
 
const pointcentreOfRotation0 () const
 Return the centre of rotation at previous time-step. More...
 
const tensorQ0 () const
 Return the orientation at previous time-step. More...
 
const vectorv0 () const
 Return the velocity at previous time-step. More...
 
const vectora0 () const
 Return the acceleration at previous time-step. More...
 
const vectorpi0 () const
 Return the angular momentum at previous time-step. More...
 
const vectortau0 () const
 Return the torque at previous time-step. More...
 
scalar aDamp () const
 Acceleration damping coefficient (for steady-state simulations) More...
 
tensor tConstraints () const
 Translational constraint tensor. More...
 
tensor rConstraints () const
 Rotational constraint tensor. More...
 
Tuple2< tensor, vectorrotate (const tensor &Q0, const vector &pi, const scalar deltaT) const
 Apply rotation tensors to Q0 for the given torque (pi) and deltaT. More...
 
void updateAcceleration (const vector &fGlobal, const vector &tauGlobal)
 Update and relax accelerations from the force and torque. More...
 

Protected Attributes

sixDoFRigidBodyMotionbody_
 The rigid body. More...
 

Detailed Description

Source files

Definition at line 49 of file sixDoFSolver.H.

Constructor & Destructor Documentation

◆ sixDoFSolver()

Definition at line 39 of file sixDoFSolver.C.

◆ ~sixDoFSolver()

~sixDoFSolver ( )
virtual

Destructor.

Definition at line 47 of file sixDoFSolver.C.

Member Function Documentation

◆ centreOfRotation()

Foam::point & centreOfRotation ( )
inlineprotected

Return the current centre of rotation.

Definition at line 28 of file sixDoFSolverI.H.

References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::centreOfRotation().

Here is the call graph for this function:

◆ Q()

Foam::tensor & Q ( )
inlineprotected

Return the orientation.

Definition at line 33 of file sixDoFSolverI.H.

◆ v()

Foam::vector & v ( )
inlineprotected

Return non-const access to vector.

Definition at line 38 of file sixDoFSolverI.H.

◆ a()

Foam::vector & a ( )
inlineprotected

Return non-const access to acceleration.

Definition at line 43 of file sixDoFSolverI.H.

◆ pi()

Foam::vector & pi ( )
inlineprotected

Return non-const access to angular momentum.

Definition at line 48 of file sixDoFSolverI.H.

◆ tau()

Foam::vector & tau ( )
inlineprotected

Return non-const access to torque.

Definition at line 53 of file sixDoFSolverI.H.

◆ centreOfRotation0()

const Foam::point & centreOfRotation0 ( ) const
inlineprotected

Return the centre of rotation at previous time-step.

Definition at line 59 of file sixDoFSolverI.H.

◆ Q0()

const Foam::tensor & Q0 ( ) const
inlineprotected

Return the orientation at previous time-step.

Definition at line 64 of file sixDoFSolverI.H.

◆ v0()

const Foam::vector & v0 ( ) const
inlineprotected

Return the velocity at previous time-step.

Definition at line 70 of file sixDoFSolverI.H.

◆ a0()

const Foam::vector & a0 ( ) const
inlineprotected

Return the acceleration at previous time-step.

Definition at line 76 of file sixDoFSolverI.H.

◆ pi0()

const Foam::vector & pi0 ( ) const
inlineprotected

Return the angular momentum at previous time-step.

Definition at line 82 of file sixDoFSolverI.H.

◆ tau0()

const Foam::vector & tau0 ( ) const
inlineprotected

Return the torque at previous time-step.

Definition at line 88 of file sixDoFSolverI.H.

◆ aDamp()

Foam::scalar aDamp ( ) const
inlineprotected

Acceleration damping coefficient (for steady-state simulations)

Definition at line 93 of file sixDoFSolverI.H.

◆ tConstraints()

Foam::tensor tConstraints ( ) const
inlineprotected

Translational constraint tensor.

Definition at line 98 of file sixDoFSolverI.H.

◆ rConstraints()

Foam::tensor rConstraints ( ) const
inlineprotected

Rotational constraint tensor.

Definition at line 103 of file sixDoFSolverI.H.

◆ rotate()

Foam::Tuple2< Foam::tensor, Foam::vector > rotate ( const tensor Q0,
const vector pi,
const scalar  deltaT 
) const
inlineprotected

Apply rotation tensors to Q0 for the given torque (pi) and deltaT.

and return the rotated Q and pi as a tuple

Definition at line 110 of file sixDoFSolverI.H.

◆ updateAcceleration()

void updateAcceleration ( const vector fGlobal,
const vector tauGlobal 
)
inlineprotected

Update and relax accelerations from the force and torque.

Definition at line 121 of file sixDoFSolverI.H.

◆ TypeName()

TypeName ( "sixDoFSolver"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
sixDoFSolver  ,
dictionary  ,
(const dictionary &dict, sixDoFRigidBodyMotion &body)  ,
(dict, body)   
)

◆ New()

Foam::autoPtr< Foam::sixDoFSolver > New ( const dictionary dict,
sixDoFRigidBodyMotion body 
)
static

Definition at line 30 of file sixDoFSolverNew.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::Info.

Here is the call graph for this function:

◆ solve()

virtual void solve ( bool  firstIter,
const vector fGlobal,
const vector tauGlobal,
scalar  deltaT,
scalar  deltaT0 
)
pure virtual

Drag coefficient.

Implemented in symplectic, Newmark, and CrankNicolson.

Member Data Documentation

◆ body_

sixDoFRigidBodyMotion& body_
protected

The rigid body.

Definition at line 56 of file sixDoFSolver.H.

Referenced by sixDoFSolver::centreOfRotation().


The documentation for this class was generated from the following files: