Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
dynamicFvMesh
solidBodyMotionFvMesh
solidBodyMotionFunctions
SDA
SDA.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
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::solidBodyMotionFunctions::SDA
26
27
Description
28
Ship design analysis (SDA) 3DoF motion function.
29
30
Comprising sinusoidal roll (rotation about x), heave (z-translation)
31
and sway (y-translation) motions with changing amplitude and phase.
32
33
See Also
34
SKA (Sea Keeping Analysis) for 6DoF motion.
35
36
SourceFiles
37
SDA.C
38
39
\*---------------------------------------------------------------------------*/
40
41
#ifndef SDA_H
42
#define SDA_H
43
44
#include <
dynamicFvMesh/solidBodyMotionFunction.H
>
45
46
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47
48
namespace
Foam
49
{
50
namespace
solidBodyMotionFunctions
51
{
52
53
/*---------------------------------------------------------------------------*\
54
Class SDA Declaration
55
\*---------------------------------------------------------------------------*/
56
57
class
SDA
58
:
59
public
solidBodyMotionFunction
60
{
61
// Private data
62
63
//- Center of gravity
64
vector
CofG_;
65
66
//- Model scale ratio
67
scalar lamda_;
68
69
//- Max roll amplitude [rad]
70
scalar rollAmax_;
71
72
//- Min roll amplitude [rad]
73
scalar rollAmin_;
74
75
//- Heave amplitude [m]
76
scalar heaveA_;
77
78
//- Sway amplitude [m]
79
scalar swayA_;
80
81
//- Damping Coefficient [-]
82
scalar Q_;
83
84
//- Time Period for liquid [sec]
85
scalar Tp_;
86
87
//- Natural Period of Ship [sec]
88
scalar Tpn_;
89
90
//- Reference time step [sec]
91
scalar dTi_;
92
93
//- Incr. in Tp/unit 'dTi'[-]
94
scalar dTp_;
95
96
97
// Private Member Functions
98
99
//- Disallow copy construct
100
SDA
(
const
SDA
&);
101
102
//- Disallow default bitwise assignment
103
void
operator=(
const
SDA
&);
104
105
106
public
:
107
108
//- Runtime type information
109
TypeName
(
"SDA"
);
110
111
112
// Constructors
113
114
//- Construct from components
115
SDA
116
(
117
const
dictionary
& SBMFCoeffs,
118
const
Time
& runTime
119
);
120
121
122
// Destructor
123
124
virtual
~SDA
();
125
126
127
// Member Functions
128
129
//- Return the solid-body motion transformation septernion
130
virtual
septernion
transformation
()
const
;
131
132
//- Update properties from given dictionary
133
virtual
bool
read
(
const
dictionary
& SBMFCoeffs);
134
};
135
136
137
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138
139
}
// End namespace solidBodyMotionFunctions
140
}
// End namespace Foam
141
142
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143
144
#endif
145
146
// ************************ vim: set sw=4 sts=4 et: ************************ //