DAResidualRhoPimpleFoam.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 DARhoPimpleFoam
8 
9 \*---------------------------------------------------------------------------*/
10 
11 #ifndef DAResidualRhoPimpleFoam_H
12 #define DAResidualRhoPimpleFoam_H
13 
14 #include "DAResidual.H"
15 #include "addToRunTimeSelectionTable.H"
16 #include "pimpleControl.H"
17 #include "adjustPhi.H"
18 #include "thermodynamicConstants.H"
19 #include "pressureControl.H"
20 #include "constrainPressure.H"
21 
22 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
23 
24 namespace Foam
25 {
26 
27 /*---------------------------------------------------------------------------*\
28  Class DAResidualRhoPimpleFoam Declaration
29 \*---------------------------------------------------------------------------*/
30 
32  : public DAResidual
33 {
34 
35 protected:
37 
38  volVectorField& U_;
39  volVectorField URes_;
40 
41  volScalarField& p_;
42  volScalarField pRes_;
43 
44  volScalarField& T_;
45  volScalarField TRes_;
46 
47  surfaceScalarField& phi_;
48  surfaceScalarField phiRes_;
50 
52  volVectorField& fvSource_;
53 
55  volScalarField& fvSourceEnergy_;
56 
58  fluidThermo& thermo_;
59 
61 
62  volScalarField& he_;
63  volScalarField& rho_;
64  volScalarField& alphat_;
65  volScalarField& psi_;
66  volScalarField& dpdt_;
67  volScalarField& K_;
69 
72 
74  pimpleControl pimple_;
75 
77 
78  scalar molWeight_;
79  scalar Cp_;
81 
83  label hasFvSource_ = 0;
84 
85 public:
86  TypeName("DARhoPimpleFoam");
87  // Constructors
88 
89  //- Construct from components
91  const word modelType,
92  const fvMesh& mesh,
93  const DAOption& daOption,
94  const DAModel& daModel,
95  const DAIndex& daIndex);
96 
97  //- Destructor
99  {
100  }
101 
102  // Members
103 
105  virtual void clear();
106 
108  virtual void calcResiduals(const dictionary& options);
109 
111  virtual void updateIntermediateVariables();
112 
114  virtual void correctBoundaryConditions();
115 
116  virtual void calcPCMatWithFvMatrix(Mat PCMat);
117 };
118 
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 
121 } // End namespace Foam
122 
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 
125 #endif
126 
127 // ************************************************************************* //
Foam::DAResidualRhoPimpleFoam::U_
volVectorField & U_
Definition: DAResidualRhoPimpleFoam.H:38
Foam::DAResidualRhoPimpleFoam::alphat_
volScalarField & alphat_
Definition: DAResidualRhoPimpleFoam.H:64
Foam::DAResidualRhoPimpleFoam::Cp_
scalar Cp_
Definition: DAResidualRhoPimpleFoam.H:79
Foam::DAResidualRhoPimpleFoam
Definition: DAResidualRhoPimpleFoam.H:31
Foam::DAResidualRhoPimpleFoam::psi_
volScalarField & psi_
Definition: DAResidualRhoPimpleFoam.H:65
Foam::DAResidualRhoPimpleFoam::URes_
volVectorField URes_
Definition: DAResidualRhoPimpleFoam.H:39
Foam::DAResidualRhoPimpleFoam::daTurb_
DATurbulenceModel & daTurb_
DATurbulenceModel object.
Definition: DAResidualRhoPimpleFoam.H:71
Foam::DAResidualRhoPimpleFoam::~DAResidualRhoPimpleFoam
virtual ~DAResidualRhoPimpleFoam()
Definition: DAResidualRhoPimpleFoam.H:98
Foam::DAResidualRhoPimpleFoam::fvSource_
volVectorField & fvSource_
fvSource term
Definition: DAResidualRhoPimpleFoam.H:52
Foam::DAOption
Definition: DAOption.H:29
Foam::DAResidualRhoPimpleFoam::hasFvSource_
label hasFvSource_
whether to have fvSource term
Definition: DAResidualRhoPimpleFoam.H:83
Foam::DAResidualRhoPimpleFoam::thermo_
fluidThermo & thermo_
thermophysical property
Definition: DAResidualRhoPimpleFoam.H:58
Foam::DAResidualRhoPimpleFoam::clear
virtual void clear()
clear the members
Definition: DAResidualRhoPimpleFoam.C:76
Foam::DAResidualRhoPimpleFoam::K_
volScalarField & K_
Definition: DAResidualRhoPimpleFoam.H:67
Foam::DAResidualRhoPimpleFoam::fvSourceEnergy_
volScalarField & fvSourceEnergy_
fvSource term for the energy equation
Definition: DAResidualRhoPimpleFoam.H:55
Foam::DAResidualRhoPimpleFoam::updateIntermediateVariables
virtual void updateIntermediateVariables()
update any intermediate variables that are dependent on state variables and are used in calcResiduals
Definition: DAResidualRhoPimpleFoam.C:212
Foam::DAResidualRhoPimpleFoam::p_
volScalarField & p_
Definition: DAResidualRhoPimpleFoam.H:41
DAResidual.H
Foam::DAResidualRhoPimpleFoam::phiRes_
surfaceScalarField phiRes_
Definition: DAResidualRhoPimpleFoam.H:48
mesh
fvMesh & mesh
Definition: createRefsHeatTransfer.H:4
Foam::DAResidualRhoPimpleFoam::TRes_
volScalarField TRes_
Definition: DAResidualRhoPimpleFoam.H:45
Foam::DAResidualRhoPimpleFoam::calcPCMatWithFvMatrix
virtual void calcPCMatWithFvMatrix(Mat PCMat)
calculating the adjoint preconditioner matrix using fvMatrix
Definition: DAResidualRhoPimpleFoam.C:312
Foam::DAResidualRhoPimpleFoam::DAResidualRhoPimpleFoam
DAResidualRhoPimpleFoam(const word modelType, const fvMesh &mesh, const DAOption &daOption, const DAModel &daModel, const DAIndex &daIndex)
Definition: DAResidualRhoPimpleFoam.C:19
Foam::DAResidualRhoPimpleFoam::correctBoundaryConditions
virtual void correctBoundaryConditions()
update the boundary condition for all the states in the selected solver
Definition: DAResidualRhoPimpleFoam.C:300
Foam::DAIndex
Definition: DAIndex.H:32
Foam::DAResidualRhoPimpleFoam::molWeight_
scalar molWeight_
Definition: DAResidualRhoPimpleFoam.H:78
Foam::DAResidualRhoPimpleFoam::pRes_
volScalarField pRes_
Definition: DAResidualRhoPimpleFoam.H:42
Foam::DAModel
Definition: DAModel.H:57
Foam::DAResidualRhoPimpleFoam::T_
volScalarField & T_
Definition: DAResidualRhoPimpleFoam.H:44
Foam
Definition: checkGeometry.C:32
Foam::DAResidualRhoPimpleFoam::rho_
volScalarField & rho_
Definition: DAResidualRhoPimpleFoam.H:63
Foam::DAResidualRhoPimpleFoam::dpdt_
volScalarField & dpdt_
Definition: DAResidualRhoPimpleFoam.H:66
Foam::DAResidual
Definition: DAResidual.H:36
Foam::DAResidualRhoPimpleFoam::phi_
surfaceScalarField & phi_
Definition: DAResidualRhoPimpleFoam.H:47
Foam::DAResidualRhoPimpleFoam::pimple_
pimpleControl pimple_
pimpleControl object which will be initialized in this class
Definition: DAResidualRhoPimpleFoam.H:74
Foam::DATurbulenceModel
Definition: DATurbulenceModel.H:52
Foam::DAResidualRhoPimpleFoam::calcResiduals
virtual void calcResiduals(const dictionary &options)
compute residual
Definition: DAResidualRhoPimpleFoam.C:90
Foam::DAResidualRhoPimpleFoam::TypeName
TypeName("DARhoPimpleFoam")
Foam::DAResidualRhoPimpleFoam::he_
volScalarField & he_
Definition: DAResidualRhoPimpleFoam.H:62