OpenFOAM
12
The OpenFOAM Foundation
Rs.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration | Website: https://openfoam.org
5
\\ / A nd | Copyright (C) 2016-2024 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
Class
25
Foam::RBD::joints::Rs
26
27
Description
28
Spherical joint for rotation about the x/y/z-axes using a quaternion
29
(Euler parameters) to avoid gimble-lock.
30
31
Reference:
32
\verbatim
33
Featherstone, R. (2008).
34
Rigid body dynamics algorithms.
35
Springer.
36
Chapter 4.
37
\endverbatim
38
39
SourceFiles
40
Rs.C
41
42
\*---------------------------------------------------------------------------*/
43
44
#ifndef RBD_joints_Rs_H
45
#define RBD_joints_Rs_H
46
47
#include "
joint.H
"
48
49
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51
namespace
Foam
52
{
53
namespace
RBD
54
{
55
namespace
joints
56
{
57
58
/*---------------------------------------------------------------------------*\
59
Class Rs Declaration
60
\*---------------------------------------------------------------------------*/
61
62
class
Rs
63
:
64
public
joint
65
{
66
67
public
:
68
69
//- Runtime type information
70
TypeName
(
"Rs"
);
71
72
73
// Constructors
74
75
//- Construct for given model
76
Rs
(
const
rigidBodyModel
& model);
77
78
//- Construct for given model from dictionary
79
Rs
(
const
rigidBodyModel
& model,
const
dictionary
&
dict
);
80
81
//- Clone this joint
82
virtual
autoPtr<joint>
clone
()
const
;
83
84
85
//- Destructor
86
virtual
~Rs
();
87
88
89
// Member Functions
90
91
//- Return true as this joint describes rotation using a quaternion
92
virtual
bool
unitQuaternion
()
const
;
93
94
//- Update the model state for this joint
95
virtual
void
jcalc
96
(
97
joint::XSvc
& J,
98
const
rigidBodyModelState
& state
99
)
const
;
100
};
101
102
103
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104
105
}
// End namespace joints
106
}
// End namespace RBD
107
}
// End namespace Foam
108
109
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110
111
#endif
112
113
// ************************************************************************* //
Foam::RBD::joint::XSvc
Joint state returned by jcalc.
Definition:
joint.H:124
Foam::RBD::joint
Abstract base-class for all rigid-body joints.
Definition:
joint.H:81
Foam::RBD::joints::Rs
Spherical joint for rotation about the x/y/z-axes using a quaternion (Euler parameters) to avoid gimb...
Definition:
Rs.H:64
Foam::RBD::joints::Rs::clone
virtual autoPtr< joint > clone() const
Clone this joint.
Definition:
Rs.C:73
Foam::RBD::joints::Rs::TypeName
TypeName("Rs")
Runtime type information.
Foam::RBD::joints::Rs::~Rs
virtual ~Rs()
Destructor.
Definition:
Rs.C:81
Foam::RBD::joints::Rs::jcalc
virtual void jcalc(joint::XSvc &J, const rigidBodyModelState &state) const
Update the model state for this joint.
Definition:
Rs.C:94
Foam::RBD::joints::Rs::unitQuaternion
virtual bool unitQuaternion() const
Return true as this joint describes rotation using a quaternion.
Definition:
Rs.C:87
Foam::RBD::joints::Rs::Rs
Rs(const rigidBodyModel &model)
Construct for given model.
Definition:
Rs.C:53
Foam::RBD::rigidBodyModelState
Holds the motion state of rigid-body model.
Definition:
rigidBodyModelState.H:66
Foam::RBD::rigidBodyModel
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints.
Definition:
rigidBodyModel.H:77
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition:
autoPtr.H:51
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition:
dictionary.H:162
joint.H
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.H:214
dict
dictionary dict
Definition:
searchingEngine.H:14
src
rigidBodyMotion
rigidBodyDynamics
joints
Rs
Rs.H
Generated by
1.9.1