pimpleNoLoopControl.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2018 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::pimpleNoLoopControl
26 
27 Description
28  Pimple no-loop control class. Implements various option flags, but leaves
29  loop controls to the derivation or owner. Can be derived into a "full"
30  pimple control or can be owned by a multi-region pimple class.
31 
32 SourceFiles
33  pimpleNoLoopControlI.H
34  pimpleNoLoopControl.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef pimpleNoLoopControl_H
39 #define pimpleNoLoopControl_H
40 
41 #include "pisoControl.H"
44 
45 #undef PISO_CONTROL
46 #define PIMPLE_CONTROL
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class pimpleNoLoopControl Declaration
55 \*---------------------------------------------------------------------------*/
56 
58 :
59  public pisoControl,
62 {
63 protected:
64 
65  // Protected data
66 
67  //- Flag to indicate whether to update the density in SIMPLE mode rather
68  // than PISO mode
69  bool simpleRho_;
70 
71  //- Flag to control whether turblence is solved just on the final pimple
72  // iteration, or on every pimple iteration
74 
75 
76 public:
77 
78  // Static data members
79 
80  //- Run-time type information
81  TypeName("pimpleNoLoopControl");
82 
83 
84  // Constructors
85 
86  //- Construct from a mesh and the name of the algorithm
88 
89 
90  //- Destructor
91  virtual ~pimpleNoLoopControl();
92 
93 
94  // Member Functions
95 
96  // IO
97 
98  //- Read controls
99  virtual bool read();
100 
101  // Access
102 
103  //- Flag to indicate whether to update the density in simple mode
104  inline bool simpleRho() const;
105 
106  //- Flag to indicate whether to solve the turbulence on the final
107  // pimple iteration only
108  inline bool turbOnFinalIterOnly() const;
109 };
110 
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 } // End namespace Foam
115 
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 
118 #include "pimpleNoLoopControlI.H"
119 
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 
122 #endif
123 
124 // ************************************************************************* //
virtual ~pimpleNoLoopControl()
Destructor.
virtual bool read()
Read controls.
TypeName("pimpleNoLoopControl")
Run-time type information.
bool turbOnFinalIterOnly_
Flag to control whether turblence is solved just on the final pimple.
pimpleNoLoopControl(fvMesh &mesh, const word &algorithmName)
Construct from a mesh and the name of the algorithm.
bool simpleRho() const
Flag to indicate whether to update the density in simple mode.
bool turbOnFinalIterOnly() const
Flag to indicate whether to solve the turbulence on the final.
A class for handling words, derived from string.
Definition: word.H:59
const fvMesh & mesh() const
Return the mesh.
PISO control class. Provides time-loop and PISO-loop control methods. No convergence checking is done...
Definition: pisoControl.H:52
bool simpleRho_
Flag to indicate whether to update the density in SIMPLE mode rather.
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Pimple no-loop control class. Implements various option flags, but leaves loop controls to the deriva...
Single-region-specific derivation of the convergence control class.
const word & algorithmName() const
Return the name of the algorithm.
Single-region-specific derivation of the corrector convergence control class.
Namespace for OpenFOAM.