tabulated6DoFAcceleration.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) 2015 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  // Private Member Functions
76 
77  //- Disallow copy construct
79 
80  //- Disallow default bitwise assignment
81  void operator=(const tabulated6DoFAcceleration&);
82 
83 
84 public:
85 
86  //- Runtime type information
87  TypeName("tabulated6DoFAcceleration");
88 
89 
90  // Constructors
91 
92  //- Construct from components
94  (
95  const dictionary& accelerationCoeffs,
96  const Time& runTime
97  );
98 
99 
100  //- Destructor
101  virtual ~tabulated6DoFAcceleration();
102 
103 
104  // Member Functions
105 
106  //- Return the solid-body accelerations
107  virtual Vector<vector> acceleration() const;
108 
109  //- Update properties from given dictionary
110  virtual bool read(const dictionary& accelerationCoeffs);
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:69
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
virtual Vector< vector > acceleration() const
Return the solid-body accelerations.
TypeName("tabulated6DoFAcceleration")
Runtime type information.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:68
Tabulated 6DoF acceleration.
virtual ~tabulated6DoFAcceleration()
Destructor.
Specialisations of Field<T> for scalar, vector and tensor.
virtual bool read(const dictionary &accelerationCoeffs)
Update properties from given dictionary.
Namespace for OpenFOAM.