DAResidualSimpleFoam.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 DASimpleFoam
8 
9 \*---------------------------------------------------------------------------*/
10 
11 #ifndef DAResidualSimpleFoam_H
12 #define DAResidualSimpleFoam_H
13 
14 #include "DAResidual.H"
15 #include "addToRunTimeSelectionTable.H"
16 #include "simpleControl.H"
17 #include "adjustPhi.H"
18 #include "constrainPressure.H"
19 
20 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
21 
22 namespace Foam
23 {
24 
25 /*---------------------------------------------------------------------------*\
26  Class DAResidualSimpleFoam Declaration
27 \*---------------------------------------------------------------------------*/
28 
30  : public DAResidual
31 {
32 protected:
34 
35  volVectorField& U_;
36  volVectorField URes_;
37 
38  volScalarField& p_;
39  volScalarField pRes_;
40 
41  surfaceScalarField& phi_;
42  surfaceScalarField phiRes_;
43 
44  autoPtr<volScalarField> TResPtr_;
46 
48  volScalarField& alphaPorosity_;
49 
51  volVectorField& fvSource_;
52 
54  fv::options& fvOptions_;
55 
58 
60  simpleControl simple_;
61 
64 
66  label hasFvSource_ = 0;
67 
69  label hasTField_ = 0;
70 
71  scalar Pr_;
72 
73  scalar Prt_;
74 
75 public:
76  TypeName("DASimpleFoam");
77  // Constructors
78 
79  //- Construct from components
81  const word modelType,
82  const fvMesh& mesh,
83  const DAOption& daOption,
84  const DAModel& daModel,
85  const DAIndex& daIndex);
86 
87  //- Destructor
89  {
90  }
91 
92  // Members
93 
95  virtual void clear();
96 
98  virtual void calcResiduals(const dictionary& options);
99 
101  virtual void updateIntermediateVariables();
102 
104  virtual void correctBoundaryConditions();
105 };
106 
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 
109 } // End namespace Foam
110 
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 
113 #endif
114 
115 // ************************************************************************* //
Foam::DAResidualSimpleFoam::~DAResidualSimpleFoam
virtual ~DAResidualSimpleFoam()
Definition: DAResidualSimpleFoam.H:88
Foam::DAResidualSimpleFoam::calcResiduals
virtual void calcResiduals(const dictionary &options)
compute residual
Definition: DAResidualSimpleFoam.C:106
Foam::DAResidualSimpleFoam::alphaPorosity_
volScalarField & alphaPorosity_
alpha porosity term
Definition: DAResidualSimpleFoam.H:48
Foam::DAResidualSimpleFoam::updateIntermediateVariables
virtual void updateIntermediateVariables()
update any intermediate variables that are dependent on state variables and are used in calcResiduals
Definition: DAResidualSimpleFoam.C:239
Foam::DAResidualSimpleFoam::p_
volScalarField & p_
Definition: DAResidualSimpleFoam.H:38
Foam::DAResidualSimpleFoam::TypeName
TypeName("DASimpleFoam")
Foam::DAOption
Definition: DAOption.H:29
Foam::DAResidualSimpleFoam::correctBoundaryConditions
virtual void correctBoundaryConditions()
update the boundary condition for all the states in the selected solver
Definition: DAResidualSimpleFoam.C:250
Foam::DAResidualSimpleFoam::hasFvSource_
label hasFvSource_
whether to have fvSource term
Definition: DAResidualSimpleFoam.H:66
Foam::DAResidualSimpleFoam::URes_
volVectorField URes_
Definition: DAResidualSimpleFoam.H:36
Foam::DAResidualSimpleFoam::fvSource_
volVectorField & fvSource_
fvSource term
Definition: DAResidualSimpleFoam.H:51
Foam::DAResidualSimpleFoam::simple_
simpleControl simple_
simpleControl object which will be initialized in this class
Definition: DAResidualSimpleFoam.H:60
Foam::DAResidualSimpleFoam::hasTField_
label hasTField_
whether to include the temperature field
Definition: DAResidualSimpleFoam.H:69
DAResidual.H
mesh
fvMesh & mesh
Definition: createRefsHeatTransfer.H:4
Foam::DAIndex
Definition: DAIndex.H:32
Foam::DAResidualSimpleFoam::DAResidualSimpleFoam
DAResidualSimpleFoam(const word modelType, const fvMesh &mesh, const DAOption &daOption, const DAModel &daModel, const DAIndex &daIndex)
Definition: DAResidualSimpleFoam.C:19
Foam::DAResidualSimpleFoam::MRF_
IOMRFZoneListDF & MRF_
Multiple Reference Frame.
Definition: DAResidualSimpleFoam.H:63
Foam::DAResidualSimpleFoam::Prt_
scalar Prt_
Definition: DAResidualSimpleFoam.H:73
Foam::DAModel
Definition: DAModel.H:57
Foam::DAResidualSimpleFoam::TResPtr_
autoPtr< volScalarField > TResPtr_
Definition: DAResidualSimpleFoam.H:44
Foam
Definition: checkGeometry.C:32
Foam::IOMRFZoneListDF
Definition: IOMRFZoneListDF.H:49
Foam::DAResidual
Definition: DAResidual.H:36
Foam::DAResidualSimpleFoam::Pr_
scalar Pr_
Definition: DAResidualSimpleFoam.H:71
Foam::DAResidualSimpleFoam
Definition: DAResidualSimpleFoam.H:29
Foam::DATurbulenceModel
Definition: DATurbulenceModel.H:52
Foam::DAResidualSimpleFoam::clear
virtual void clear()
clear the members
Definition: DAResidualSimpleFoam.C:89
Foam::DAResidualSimpleFoam::daTurb_
DATurbulenceModel & daTurb_
DATurbulenceModel object.
Definition: DAResidualSimpleFoam.H:57
Foam::DAResidualSimpleFoam::phiRes_
surfaceScalarField phiRes_
Definition: DAResidualSimpleFoam.H:42
Foam::DAResidualSimpleFoam::U_
volVectorField & U_
Definition: DAResidualSimpleFoam.H:35
Foam::DAResidualSimpleFoam::fvOptions_
fv::options & fvOptions_
fvOptions term
Definition: DAResidualSimpleFoam.H:54
Foam::DAResidualSimpleFoam::phi_
surfaceScalarField & phi_
Definition: DAResidualSimpleFoam.H:41
Foam::DAResidualSimpleFoam::pRes_
volScalarField pRes_
Definition: DAResidualSimpleFoam.H:39