OpenFOAM
6
The OpenFOAM Foundation
Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
+
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
v
w
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Related Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
+
Files
File List
+
File Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Typedefs
b
c
d
f
g
k
l
m
p
r
s
t
v
w
+
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
rigidBodyDynamics
joints
function
function.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) 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
Class
25
Foam::RBD::joints::function
26
27
Description
28
Joint in which the position is a function of the parent joint's position
29
30
Reference:
31
\verbatim
32
Featherstone, R. (2008).
33
Rigid body dynamics algorithms.
34
Springer.
35
Chapter 4.
36
\endverbatim
37
38
SourceFiles
39
function.C
40
41
\*---------------------------------------------------------------------------*/
42
43
#ifndef RBD_joints_function_H
44
#define RBD_joints_function_H
45
46
#include "
joint.H
"
47
#include "
Function1.H
"
48
49
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51
namespace
Foam
52
{
53
namespace
RBD
54
{
55
namespace
joints
56
{
57
58
/*---------------------------------------------------------------------------*\
59
Class function Declaration
60
\*---------------------------------------------------------------------------*/
61
62
class
function
63
:
64
public
joint
65
{
66
private
:
67
68
// Private data
69
70
//- Function
71
autoPtr<Function1<scalar>
> f_;
72
73
//- Difference used to calculate the gradient of the function
74
const
scalar delta_;
75
76
77
public
:
78
79
//- Runtime type information
80
TypeName
(
"function"
);
81
82
83
// Constructors
84
85
//- Construct for given model from dictionary
86
function
(
const
rigidBodyModel
& model,
const
dictionary
&
dict
);
87
88
//- Clone this joint
89
virtual
autoPtr<joint>
clone
()
const
;
90
91
92
//- Destructor
93
virtual
~function
();
94
95
96
// Member Functions
97
98
//- Update the model state for this joint
99
virtual
void
jcalc
100
(
101
joint::XSvc
& J,
102
const
rigidBodyModelState
& state
103
)
const
;
104
};
105
106
107
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108
109
}
// End namespace joints
110
}
// End namespace RBD
111
}
// End namespace Foam
112
113
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114
115
#endif
116
117
// ************************************************************************* //
Foam::RBD::joint
Abstract base-class for all rigid-body joints.
Definition:
joint.H:80
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::RBD::joints::function::clone
virtual autoPtr< joint > clone() const
Clone this joint.
Definition:
function.C:65
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition:
dictionary.H:137
Foam::RBD::joints::function::~function
virtual ~function()
Destructor.
Definition:
function.C:73
Foam::RBD::joints::function
Joint in which the position is a function of the parent joint's position.
Definition:
function.H:61
Foam::RBD::rigidBodyModelState
Holds the motion state of rigid-body model.
Definition:
rigidBodyModelState.H:65
Foam::RBD::joint::XSvc
Joint state returned by jcalc.
Definition:
joint.H:123
joint.H
Foam::RBD::joints::function::jcalc
virtual void jcalc(joint::XSvc &J, const rigidBodyModelState &state) const
Update the model state for this joint.
Definition:
function.C:80
Function1.H
Foam::RBD::joints::function::TypeName
TypeName("function")
Runtime type information.
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
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:30
Generated by
1.8.13