tabulated6DoFAcceleration.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) 2015-2019 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::tabulated6DoFAcceleration
26 
27 Description
28  Tabulated 6DoF acceleration.
29 
30  Obtained by interpolating tabulated data for linear acceleration,
31  angular velocity and angular acceleration.
32 
33 SourceFiles
34  tabulated6DoFAcceleration.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef tabulated6DoFAcceleration_H
39 #define tabulated6DoFAcceleration_H
40 
41 #include "primitiveFields.H"
42 #include "Vector2D.H"
43 #include "Time.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class tabulated6DoFAcceleration Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 {
56  // Private Data
57 
58  const Time& time_;
59 
60  dictionary accelerationCoeffs_;
61 
62  //- Time data file name read from dictionary
63  fileName timeDataFileName_;
64 
65  //- Type used to read in the acceleration "vectors"
67 
68  //- Field of times
69  scalarField times_;
70 
71  //- Field of acceleration "vectors"
73 
74 
75 public:
76 
77  //- Runtime type information
78  TypeName("tabulated6DoFAcceleration");
79 
80 
81  // Constructors
82 
83  //- Construct from components
85  (
86  const dictionary& accelerationCoeffs,
87  const Time& runTime
88  );
89 
90  //- Disallow default bitwise copy construction
92 
93 
94  //- Destructor
96 
97 
98  // Member Functions
99 
100  //- Return the solid-body accelerations
101  virtual Vector<vector> acceleration() const;
102 
103  //- Update properties from given dictionary
104  virtual bool read(const dictionary& accelerationCoeffs);
105 
106 
107  // Member Operators
108 
109  //- Disallow default bitwise assignment
110  void operator=(const tabulated6DoFAcceleration&) = delete;
111 };
112 
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 } // End namespace Foam
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
A class for handling file names.
Definition: fileName.H:79
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
TypeName("tabulated6DoFAcceleration")
Runtime type information.
engineTime & runTime
tabulated6DoFAcceleration(const dictionary &accelerationCoeffs, const Time &runTime)
Construct from components.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:68
Tabulated 6DoF acceleration.
virtual Vector< vector > acceleration() const
Return the solid-body accelerations.
virtual ~tabulated6DoFAcceleration()
Destructor.
void operator=(const tabulated6DoFAcceleration &)=delete
Disallow default bitwise assignment.
Specialisations of Field<T> for scalar, vector and tensor.
virtual bool read(const dictionary &accelerationCoeffs)
Update properties from given dictionary.
Namespace for OpenFOAM.