BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / postProcessing / functionObjects / forces / forceCoeffs / forceCoeffs.H
blob59c064c407615a3855e37bfcfc6416c5e47d04d7
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::forceCoeffs
27 Description
28     Derived from the forces function object, creates a specialisation to
29     calculate lift and drag forces.
31 SourceFiles
32     forceCoeffs.C
33     IOforceCoeffs.H
35 \*---------------------------------------------------------------------------*/
37 #ifndef forceCoeffs_H
38 #define forceCoeffs_H
40 #include "forces.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48                         Class forceCoeffs Declaration
49 \*---------------------------------------------------------------------------*/
51 class forceCoeffs
53     public forces
55     // Private data
57         // Force coefficient geometry
59             //- Lift
60             vector liftDir_;
62             //- Drag
63             vector  dragDir_;
65             //- Pitch
66             vector pitchAxis_;
69         // Free-stream conditions
71             //- Velocity magnitude
72             scalar magUInf_;
75         // Reference scales
77             //- Length
78             scalar lRef_;
80             //- Area
81             scalar Aref_;
84     // Private Member Functions
86         //- Disallow default bitwise copy construct
87         forceCoeffs(const forceCoeffs&);
89         //- Disallow default bitwise assignment
90         void operator=(const forceCoeffs&);
93 protected:
95     //- Output file header information
96     virtual void writeFileHeader();
99 public:
101     //- Runtime type information
102     TypeName("forceCoeffs");
105     // Constructors
107         //- Construct for given objectRegistry and dictionary.
108         //  Allow the possibility to load fields from files
109         forceCoeffs
110         (
111             const word& name,
112             const objectRegistry&,
113             const dictionary&,
114             const bool loadFromFiles = false
115         );
118     //- Destructor
119     virtual ~forceCoeffs();
122     // Member Functions
124         //- Read the forces data
125         virtual void read(const dictionary&);
127         //- Execute, currently does nothing
128         virtual void execute();
130         //- Execute at the final time-loop, currently does nothing
131         virtual void end();
133         //- Write the forces
134         virtual void write();
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 } // End namespace Foam
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 #endif
146 // ************************************************************************* //