sixDoFSolver Class Referenceabstract
Inheritance diagram for sixDoFSolver:
[legend]
Collaboration diagram for sixDoFSolver:
[legend]

Public Member Functions

 TypeName ("sixDoFSolver")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body))
 
 sixDoFSolver (const dictionary &dict, sixDoFRigidBodyMotion &body)
 
virtual autoPtr< sixDoFSolverclone () const =0
 Construct and return a clone. More...
 
virtual ~sixDoFSolver ()
 Destructor. More...
 
virtual void solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)=0
 Drag coefficient. More...
 
void write (Ostream &) const
 Write. 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...
 
dictionary dict_
 Model dictionary. More...
 

Detailed Description

Source files

Definition at line 54 of file sixDoFSolver.H.

Constructor & Destructor Documentation

◆ sixDoFSolver()

sixDoFSolver ( const dictionary dict,
sixDoFRigidBodyMotion body 
)

Definition at line 42 of file sixDoFSolver.C.

◆ ~sixDoFSolver()

~sixDoFSolver ( )
virtual

Destructor.

Definition at line 60 of file sixDoFSolver.C.

Member Function Documentation

◆ centreOfRotation()

Foam::point & centreOfRotation ( )
inlineprotected

Return the current centre of rotation.

Definition at line 30 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 35 of file sixDoFSolverI.H.

◆ v()

Foam::vector & v ( )
inlineprotected

Return non-const access to vector.

Definition at line 40 of file sixDoFSolverI.H.

◆ a()

Foam::vector & a ( )
inlineprotected

Return non-const access to acceleration.

Definition at line 45 of file sixDoFSolverI.H.

◆ pi()

Foam::vector & pi ( )
inlineprotected

Return non-const access to angular momentum.

Definition at line 50 of file sixDoFSolverI.H.

◆ tau()

Foam::vector & tau ( )
inlineprotected

Return non-const access to torque.

Definition at line 55 of file sixDoFSolverI.H.

◆ centreOfRotation0()

const Foam::point & centreOfRotation0 ( ) const
inlineprotected

Return the centre of rotation at previous time-step.

Definition at line 61 of file sixDoFSolverI.H.

◆ Q0()

const Foam::tensor & Q0 ( ) const
inlineprotected

Return the orientation at previous time-step.

Definition at line 66 of file sixDoFSolverI.H.

◆ v0()

const Foam::vector & v0 ( ) const
inlineprotected

Return the velocity at previous time-step.

Definition at line 72 of file sixDoFSolverI.H.

◆ a0()

const Foam::vector & a0 ( ) const
inlineprotected

Return the acceleration at previous time-step.

Definition at line 78 of file sixDoFSolverI.H.

◆ pi0()

const Foam::vector & pi0 ( ) const
inlineprotected

Return the angular momentum at previous time-step.

Definition at line 84 of file sixDoFSolverI.H.

◆ tau0()

const Foam::vector & tau0 ( ) const
inlineprotected

Return the torque at previous time-step.

Definition at line 90 of file sixDoFSolverI.H.

◆ aDamp()

Foam::scalar aDamp ( ) const
inlineprotected

Acceleration damping coefficient (for steady-state simulations)

Definition at line 95 of file sixDoFSolverI.H.

◆ tConstraints()

Foam::tensor tConstraints ( ) const
inlineprotected

Translational constraint tensor.

Definition at line 100 of file sixDoFSolverI.H.

◆ rConstraints()

Foam::tensor rConstraints ( ) const
inlineprotected

Rotational constraint tensor.

Definition at line 105 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 112 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 123 of file sixDoFSolverI.H.

◆ TypeName()

TypeName ( "sixDoFSolver"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

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

◆ clone()

virtual autoPtr< sixDoFSolver > clone ( ) const
pure virtual

Construct and return a clone.

Implemented in CrankNicolson, Newmark, and symplectic.

◆ New()

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

Definition at line 33 of file sixDoFSolverNew.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::get(), 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 CrankNicolson, Newmark, and symplectic.

◆ write()

void write ( Ostream os) const

Write.

Definition at line 53 of file sixDoFSolver.C.

References os().

Here is the call graph for this function:

Member Data Documentation

◆ body_

sixDoFRigidBodyMotion& body_
protected

The rigid body.

Definition at line 61 of file sixDoFSolver.H.

Referenced by sixDoFSolver::centreOfRotation(), CrankNicolson::clone(), Newmark::clone(), and symplectic::clone().

◆ dict_

dictionary dict_
protected

Model dictionary.

Definition at line 64 of file sixDoFSolver.H.

Referenced by CrankNicolson::clone(), Newmark::clone(), and symplectic::clone().


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