OpenFOAM
10
The OpenFOAM Foundation
rigid.C
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) 2018 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
\*---------------------------------------------------------------------------*/
25
26
#include "
rigid.H
"
27
#include "
rigidBodyModel.H
"
28
#include "
addToRunTimeSelectionTable.H
"
29
30
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
31
32
namespace
Foam
33
{
34
namespace
RBD
35
{
36
namespace
joints
37
{
38
defineTypeNameAndDebug
(rigid, 0);
39
40
addToRunTimeSelectionTable
41
(
42
joint,
43
rigid,
44
dictionary
45
);
46
}
47
}
48
}
49
50
51
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
52
53
Foam::RBD::joints::rigid::rigid
(
const
rigidBodyModel
& model)
54
:
55
joint
(model, 0)
56
{}
57
58
59
Foam::RBD::joints::rigid::rigid
60
(
61
const
rigidBodyModel
& model,
62
const
dictionary
& dict
63
)
64
:
65
joint
(model, 0)
66
{}
67
68
69
Foam::autoPtr<Foam::RBD::joint>
Foam::RBD::joints::rigid::clone
()
const
70
{
71
return
autoPtr<joint>
(
new
rigid
(*
this
));
72
}
73
74
75
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
76
77
Foam::RBD::joints::rigid::~rigid
()
78
{}
79
80
81
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
82
83
void
Foam::RBD::joints::rigid::jcalc
84
(
85
joint::XSvc
& J,
86
const
rigidBodyModelState
& state
87
)
const
88
{
89
J.
X
=
spatialTransform
();
90
J.
S
=
Zero
;
91
J.
S1
=
Zero
;
92
J.
v
=
Zero
;
93
J.
c
=
Zero
;
94
}
95
96
97
// ************************************************************************* //
Foam::RBD::joint
Abstract base-class for all rigid-body joints.
Definition:
joint.H:80
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition:
dictionary.H:156
Foam::RBD::joint::XSvc::v
spatialVector v
The constrained joint velocity.
Definition:
joint.H:137
Foam::RBD::joints::rigid::clone
virtual autoPtr< joint > clone() const
Clone this joint.
Definition:
rigid.C:69
Foam::RBD::joint::XSvc::S1
spatialVector S1
The joint motion sub-space (1-DoF)
Definition:
joint.H:134
Foam::RBD::joint::XSvc::S
compactSpatialTensor S
The joint motion sub-space (3-DoF)
Definition:
joint.H:131
Foam::RBD::joints::defineTypeNameAndDebug
defineTypeNameAndDebug(composite, 0)
Foam::RBD::joints::rigid::jcalc
virtual void jcalc(joint::XSvc &J, const rigidBodyModelState &state) const
Update the model state for this joint.
Definition:
rigid.C:84
Foam::RBD::joints::addToRunTimeSelectionTable
addToRunTimeSelectionTable(joint, composite, dictionary)
Foam::RBD::joint::XSvc::c
spatialVector c
The constrained joint acceleration correction.
Definition:
joint.H:141
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam::RBD::rigidBodyModelState
Holds the motion state of rigid-body model.
Definition:
rigidBodyModelState.H:65
Foam::RBD::joints::rigid::rigid
rigid(const rigidBodyModel &model)
Construct for given model.
Definition:
rigid.C:53
Foam::RBD::joint::XSvc
Joint state returned by jcalc.
Definition:
joint.H:123
Foam::Zero
static const zero Zero
Definition:
zero.H:97
Foam::RBD::joints::rigid::~rigid
virtual ~rigid()
Destructor.
Definition:
rigid.C:77
Foam::RBD::joint::joint
joint(const rigidBodyModel &model, const label nDoF)
Construct joint setting the size of the motion sub-space.
Definition:
jointI.H:28
Foam::RBD::joint::XSvc::X
spatialTransform X
The joint transformation.
Definition:
joint.H:128
Foam::spatialTransform
Compact representation of the Plücker spatial transformation tensor in terms of the rotation tensor E...
Definition:
spatialTransform.H:68
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition:
PtrList.H:52
Foam::RBD::rigidBodyModel
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints...
Definition:
rigidBodyModel.H:76
rigidBodyModel.H
rigid.H
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.H:213
src
rigidBodyDynamics
joints
rigid
rigid.C
Generated by
1.8.13