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