DATurboFoam.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2 
3  DAFoam : Discrete Adjoint with OpenFOAM
4  Version : v4
5 
6  Description:
7  Child class for DATurboFoam
8  A steady-state compressible solver for turbomachinery
9  This class is modified based on TCFD redSolver (www.cfdsupport.com)
10 
11 \*---------------------------------------------------------------------------*/
12 
13 #ifndef DATurboFoam_H
14 #define DATurboFoam_H
15 
16 #include "DASolver.H"
17 #include "addToRunTimeSelectionTable.H"
18 #include "fluidThermo.H"
19 #include "turbulentFluidThermoModel.H"
20 #include "simpleControl.H"
21 #include "pressureControl.H"
22 
23 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
24 
25 namespace Foam
26 {
27 
28 /*---------------------------------------------------------------------------*\
29  Class DATurboFoam Declaration
30 \*---------------------------------------------------------------------------*/
31 
33  : public DASolver
34 {
35 
36 protected:
38  autoPtr<simpleControl> simplePtr_;
39 
41  autoPtr<fluidThermo> pThermoPtr_;
42 
44  autoPtr<volScalarField> pPtr_;
45 
47  autoPtr<volScalarField> rhoPtr_;
48 
50  autoPtr<volVectorField> UPtr_;
51 
53  autoPtr<volVectorField> URelPtr_;
54 
56  autoPtr<surfaceScalarField> phiPtr_;
57 
59  autoPtr<pressureControl> pressureControlPtr_;
60 
62  autoPtr<compressible::turbulenceModel> turbulencePtr_;
63 
65  autoPtr<DATurbulenceModel> daTurbulenceModelPtr_;
66 
68  autoPtr<IOMRFZoneListDF> MRFPtr_;
69 
71  dimensionedScalar initialMass_;
72 
74  scalar cumulativeContErr_ = 0.0;
75 
76 public:
77  TypeName("DATurboFoam");
78  // Constructors
79 
80  //- Construct from components
82  char* argsAll,
83  PyObject* pyOptions);
84 
85  //- Destructor
86  virtual ~DATurboFoam()
87  {
88  }
89 
91  virtual void initSolver();
92 
94  virtual label solvePrimal();
95 };
96 
97 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
98 
99 } // End namespace Foam
100 
101 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102 
103 #endif
104 
105 // ************************************************************************* //
Foam::DATurboFoam::rhoPtr_
autoPtr< volScalarField > rhoPtr_
density field pointer
Definition: DATurboFoam.H:47
Foam::DATurboFoam::UPtr_
autoPtr< volVectorField > UPtr_
velocity field pointer
Definition: DATurboFoam.H:50
Foam::DATurboFoam::TypeName
TypeName("DATurboFoam")
Foam::DATurboFoam::turbulencePtr_
autoPtr< compressible::turbulenceModel > turbulencePtr_
turbulence pointer
Definition: DATurboFoam.H:62
Foam::DASolver
Definition: DASolver.H:54
Foam::DATurboFoam::pThermoPtr_
autoPtr< fluidThermo > pThermoPtr_
thermal model
Definition: DATurboFoam.H:41
Foam::DATurboFoam::pressureControlPtr_
autoPtr< pressureControl > pressureControlPtr_
pressure control pointer
Definition: DATurboFoam.H:59
Foam::DATurboFoam::~DATurboFoam
virtual ~DATurboFoam()
Definition: DATurboFoam.H:86
Foam::DATurboFoam
Definition: DATurboFoam.H:32
Foam::DATurboFoam::daTurbulenceModelPtr_
autoPtr< DATurbulenceModel > daTurbulenceModelPtr_
DATurbulenceModel pointer.
Definition: DATurboFoam.H:65
Foam::DATurboFoam::phiPtr_
autoPtr< surfaceScalarField > phiPtr_
surface flux field pointer
Definition: DATurboFoam.H:56
Foam
Definition: checkGeometry.C:32
Foam::DATurboFoam::MRFPtr_
autoPtr< IOMRFZoneListDF > MRFPtr_
MRF pointer.
Definition: DATurboFoam.H:68
Foam::DATurboFoam::solvePrimal
virtual label solvePrimal()
solve the primal equations
Definition: DATurboFoam.C:70
Foam::DATurboFoam::initialMass_
dimensionedScalar initialMass_
initial mass
Definition: DATurboFoam.H:71
Foam::DATurboFoam::initSolver
virtual void initSolver()
initialize fields and variables
Definition: DATurboFoam.C:39
Foam::DATurboFoam::cumulativeContErr_
scalar cumulativeContErr_
continuity error
Definition: DATurboFoam.H:74
Foam::DATurboFoam::URelPtr_
autoPtr< volVectorField > URelPtr_
relative velocity field pointer
Definition: DATurboFoam.H:53
DASolver.H
Foam::DATurboFoam::DATurboFoam
DATurboFoam(char *argsAll, PyObject *pyOptions)
Definition: DATurboFoam.C:19
Foam::DATurboFoam::simplePtr_
autoPtr< simpleControl > simplePtr_
simple pointer
Definition: DATurboFoam.H:38
Foam::DATurboFoam::pPtr_
autoPtr< volScalarField > pPtr_
pressure field pointer
Definition: DATurboFoam.H:44