Loading...
Searching...
No Matches
sixDoFSolver Class Referenceabstract

#include <sixDoFSolver.H>

Inheritance diagram for sixDoFSolver:
Collaboration diagram for sixDoFSolver:

Public Member Functions

 TypeName ("sixDoFSolver")
 Runtime type information.
 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.
virtual ~sixDoFSolver ()
 Destructor.
virtual void solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)=0
 Drag coefficient.
void write (Ostream &) const
 Write.

Static Public Member Functions

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

Protected Member Functions

pointcentreOfRotation ()
 Return the current centre of rotation.
tensorQ ()
 Return the orientation.
vectorv ()
 Return non-const access to vector.
vectora ()
 Return non-const access to acceleration.
vectorpi ()
 Return non-const access to angular momentum.
vectortau ()
 Return non-const access to torque.
const pointcentreOfRotation0 () const
 Return the centre of rotation at previous time-step.
const tensorQ0 () const
 Return the orientation at previous time-step.
const vectorv0 () const
 Return the velocity at previous time-step.
const vectora0 () const
 Return the acceleration at previous time-step.
const vectorpi0 () const
 Return the angular momentum at previous time-step.
const vectortau0 () const
 Return the torque at previous time-step.
scalar aDamp () const
 Acceleration damping coefficient (for steady-state simulations).
tensor tConstraints () const
 Translational constraint tensor.
tensor rConstraints () const
 Rotational constraint tensor.
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.
void updateAcceleration (const vector &fGlobal, const vector &tauGlobal)
 Update and relax accelerations from the force and torque.
void updateConstraints ()
 Update the constraints to the object.

Protected Attributes

sixDoFRigidBodyMotionbody_
 The rigid body.
dictionary dict_
 Model dictionary.

Detailed Description

Source files

Definition at line 51 of file sixDoFSolver.H.

Constructor & Destructor Documentation

◆ sixDoFSolver()

sixDoFSolver ( const dictionary & dict,
sixDoFRigidBodyMotion & body )

Definition at line 35 of file sixDoFSolver.C.

References body_, dict, and dict_.

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

Here is the caller graph for this function:

◆ ~sixDoFSolver()

~sixDoFSolver ( )
virtual

Destructor.

Definition at line 53 of file sixDoFSolver.C.

Member Function Documentation

◆ centreOfRotation()

Foam::point & centreOfRotation ( )
inlineprotected

Return the current centre of rotation.

Definition at line 24 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ Q()

Foam::tensor & Q ( )
inlineprotected

Return the orientation.

Definition at line 29 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ v()

Foam::vector & v ( )
inlineprotected

Return non-const access to vector.

Definition at line 34 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ a()

Foam::vector & a ( )
inlineprotected

Return non-const access to acceleration.

Definition at line 39 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ pi()

Foam::vector & pi ( )
inlineprotected

Return non-const access to angular momentum.

Definition at line 44 of file sixDoFSolverI.H.

References body_.

Referenced by rotate().

Here is the caller graph for this function:

◆ tau()

Foam::vector & tau ( )
inlineprotected

Return non-const access to torque.

Definition at line 49 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ centreOfRotation0()

const Foam::point & centreOfRotation0 ( ) const
inlineprotected

Return the centre of rotation at previous time-step.

Definition at line 55 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ Q0()

const Foam::tensor & Q0 ( ) const
inlineprotected

Return the orientation at previous time-step.

Definition at line 60 of file sixDoFSolverI.H.

References body_.

Referenced by rotate(), CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

Here is the caller graph for this function:

◆ v0()

const Foam::vector & v0 ( ) const
inlineprotected

Return the velocity at previous time-step.

Definition at line 66 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ a0()

const Foam::vector & a0 ( ) const
inlineprotected

Return the acceleration at previous time-step.

Definition at line 72 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ pi0()

const Foam::vector & pi0 ( ) const
inlineprotected

Return the angular momentum at previous time-step.

Definition at line 78 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ tau0()

const Foam::vector & tau0 ( ) const
inlineprotected

Return the torque at previous time-step.

Definition at line 84 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ aDamp()

Foam::scalar aDamp ( ) const
inlineprotected

Acceleration damping coefficient (for steady-state simulations).

Definition at line 89 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ tConstraints()

Foam::tensor tConstraints ( ) const
inlineprotected

Translational constraint tensor.

Definition at line 94 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ rConstraints()

Foam::tensor rConstraints ( ) const
inlineprotected

Rotational constraint tensor.

Definition at line 99 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ 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 109 of file sixDoFSolverI.H.

References body_, pi(), and Q0().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateAcceleration()

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

Update and relax accelerations from the force and torque.

Definition at line 122 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ updateConstraints()

void updateConstraints ( )
inlineprotected

Update the constraints to the object.

Definition at line 131 of file sixDoFSolverI.H.

References body_.

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

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "sixDoFSolver" )

Runtime type information.

◆ declareRunTimeSelectionTable()

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

References dict, and sixDoFSolver().

Here is the call graph for this function:

◆ clone()

virtual autoPtr< sixDoFSolver > clone ( ) const
pure virtual

Construct and return a clone.

Implemented in CrankNicolson, Newmark, and symplectic.

References dict.

◆ New()

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

Definition at line 26 of file sixDoFSolverNew.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, 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 46 of file sixDoFSolver.C.

References dict_, and os().

Here is the call graph for this function:

Member Data Documentation

◆ body_

◆ dict_

dictionary dict_
protected

Model dictionary.

Definition at line 65 of file sixDoFSolver.H.

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


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