fixedTrim.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) 2012-2014 OpenFOAM Foundation
9  Copyright (C) 2020 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::fixedTrim
29 
30 Description
31  Trim model where the operating characteristics of rotor
32  (e.g. blade pitch angle) are fixed, hence the possibility
33  of varying thrust and torque.
34 
35 Usage
36  Minimal example by using \c constant/fvOptions:
37  rotorDiskSource1
38  {
39  // Mandatory/Optional (inherited) entries
40  ...
41 
42  // Mandatory entries (runtime modifiable)
43  trimModel fixedTrim;
44 
45  fixedTrimCoeffs
46  {
47  // Conditional mandatory entries (runtime modifiable)
48 
49  // when trimModel=fixedTrim
50  theta0 5.0;
51  theta1c 1.0;
52  theta1s 4.0;
53  }
54  }
55 
56 See also
57  - Foam::fv::rotorDiskSource
58  - Foam::trimModel
59  - Foam::targetCoeffTrim
60 
61 SourceFiles
62  fixedTrim.C
63 
64 \*---------------------------------------------------------------------------*/
65 
66 #ifndef fixedTrim_H
67 #define fixedTrim_H
68 
69 #include "trimModel.H"
70 
71 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
72 
73 namespace Foam
74 {
75 
76 /*---------------------------------------------------------------------------*\
77  Class fixedTrim Declaration
78 \*---------------------------------------------------------------------------*/
79 
80 class fixedTrim
81 :
82  public trimModel
83 {
84 protected:
85 
86  // Protected Data
87 
88  //- Geometric angle of attack [rad]
90 
91 
92 public:
93 
94  //- Run-time type information
95  TypeName("fixedTrim");
96 
97 
98  // Constructors
99 
100  //- Constructor from rotor and dictionary
101  fixedTrim(const fv::rotorDiskSource& rotor, const dictionary& dict);
102 
103  //- No copy construct
104  fixedTrim(const fixedTrim&) = delete;
105 
106  //- No copy assignment
107  void operator=(const fixedTrim&) = delete;
108 
109 
110  //- Destructor
111  virtual ~fixedTrim() = default;
112 
113 
114  // Member Functions
115 
116  //- Read
117  void read(const dictionary& dict);
118 
119  //- Return the geometric angle of attack [rad]
120  virtual tmp<scalarField> thetag() const;
121 
122  //- Correct the model
123  virtual void correct
124  (
125  const vectorField& U,
126  vectorField& force
127  );
128 
129  //- Correct the model for compressible flow
130  virtual void correct
131  (
132  const volScalarField rho,
133  const vectorField& U,
134  vectorField& force
135  );
136 };
137 
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 } // End namespace Foam
142 
143 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 
145 #endif
146 
147 // ************************************************************************* //
Foam::fixedTrim::operator=
void operator=(const fixedTrim &)=delete
No copy assignment.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
rho
rho
Definition: readInitialConditions.H:88
Foam::fixedTrim::fixedTrim
fixedTrim(const fv::rotorDiskSource &rotor, const dictionary &dict)
Constructor from rotor and dictionary.
Definition: fixedTrim.C:48
Foam::fixedTrim::correct
virtual void correct(const vectorField &U, vectorField &force)
Correct the model.
Definition: fixedTrim.C:86
Foam::fixedTrim::read
void read(const dictionary &dict)
Read.
Definition: fixedTrim.C:62
Foam::Field< scalar >
Foam::fixedTrim
Trim model where the operating characteristics of rotor (e.g. blade pitch angle) are fixed,...
Definition: fixedTrim.H:79
Foam::fv::rotorDiskSource
Applies cell-based momentum sources on velocity (i.e. U) within a specified cylindrical region to app...
Definition: rotorDiskSource.H:330
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::fixedTrim::~fixedTrim
virtual ~fixedTrim()=default
Destructor.
trimModel.H
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::fixedTrim::TypeName
TypeName("fixedTrim")
Run-time type information.
Foam::trimModel
Base class for trim models for handling blade characteristics and thrust-torque relations.
Definition: trimModel.H:111
U
U
Definition: pEqn.H:72
Foam::fixedTrim::thetag
virtual tmp< scalarField > thetag() const
Return the geometric angle of attack [rad].
Definition: fixedTrim.C:79
Foam::fixedTrim::thetag_
scalarField thetag_
Geometric angle of attack [rad].
Definition: fixedTrim.H:88
Foam::GeometricField< scalar, fvPatchField, volMesh >