OpenFOAM: API Guide
v2112
The open source CFD toolbox
cuboidI.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2016 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
\*---------------------------------------------------------------------------*/
27
28
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
29
30
inline
Foam::symmTensor
Foam::RBD::cuboid::I
31
(
32
const
scalar m,
33
const
vector
&
L
34
)
const
35
{
36
const
scalar mBy12 =
m
/12.0;
37
const
scalar mSqrLx = mBy12*
sqr
(
L
.x());
38
const
scalar mSqrLy = mBy12*
sqr
(
L
.y());
39
const
scalar mSqrLz = mBy12*
sqr
(
L
.z());
40
41
return
symmTensor
42
(
43
mSqrLy + mSqrLz, 0, 0,
44
mSqrLx + mSqrLz, 0,
45
mSqrLx + mSqrLy
46
);
47
}
48
49
50
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
51
52
inline
Foam::RBD::cuboid::cuboid
53
(
54
const
word
&
name
,
55
const
scalar m,
56
const
vector
& c,
57
const
vector
&
L
58
)
59
:
60
rigidBody
(
name
, m, c,
I
(m,
L
)),
61
L_(
L
)
62
{}
63
64
65
inline
Foam::RBD::cuboid::cuboid
66
(
67
const
word
&
name
,
68
const
dictionary
&
dict
69
)
70
:
71
rigidBody
(
name
,
rigidBodyInertia
()),
72
L_(
dict
.get<
vector
>(
"L"
))
73
{
74
const
scalar
m
(
dict
.
get
<scalar>(
"mass"
));
75
const
vector
c
(
dict
.
get
<
vector
>(
"centreOfMass"
));
76
rigidBodyInertia::operator=
(
rigidBodyInertia
(
m
,
c
,
I
(
m
, L_)));
77
}
78
79
80
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
81
82
inline
const
Foam::vector
&
Foam::RBD::cuboid::L
()
const
83
{
84
return
L_;
85
}
86
87
88
// ************************************************************************* //
Foam::RBD::cuboid
Definition:
cuboid.H:60
Foam::RBD::cuboid::L
const vector & L() const
Return the lengths of the sides of the cuboid.
Definition:
cuboidI.H:82
Foam::RBD::rigidBodyInertia
Definition:
rigidBodyInertia.H:78
Foam::RBD::rigidBodyInertia::c
const vector & c() const
Return the centre of mass of the rigid-body.
Definition:
rigidBodyInertiaI.H:99
Foam::RBD::rigidBodyInertia::m
scalar m() const
Return the mass of the rigid-body.
Definition:
rigidBodyInertiaI.H:94
Foam::RBD::rigidBody
Definition:
rigidBody.H:68
Foam::SymmTensor< scalar >
Foam::Vector< scalar >
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition:
dictionary.H:126
Foam::dictionary::get
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Definition:
dictionaryTemplates.C:107
Foam::functionObjects::ObukhovLength::operator=
void operator=(const ObukhovLength &)=delete
No copy assignment.
Foam::vectorTensorTransform::I
static const vectorTensorTransform I
Definition:
vectorTensorTransform.H:87
vector
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:68
Foam::sqr
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Definition:
dimensionedSymmTensor.C:51
Foam::symmTensor
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
Definition:
symmTensor.H:59
Foam::I
static const Identity< scalar > I
Definition:
Identity.H:94
Foam::name
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Definition:
exprTraits.C:59
dict
dictionary dict
Definition:
searchingEngine.H:14
L
const vector L(dict.get< vector >("L"))
src
rigidBodyDynamics
bodies
cuboid
cuboidI.H
Generated by
1.9.5
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.