movingMesh.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) 2023 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::solvers::movingMesh
26 
27 Description
28  Solver module to move the mesh.
29 
30  Executes the mover, topoChanger and distributor specified in the
31  dynamicMeshDict.
32 
33 SourceFiles
34  movingMesh.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef movingMesh_H
39 #define movingMesh_H
40 
41 #include "solver.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 namespace solvers
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class movingMesh Declaration
52 \*---------------------------------------------------------------------------*/
53 
54 class movingMesh
55 :
56  public solver
57 {
58  // Control parameters
59 
60  //- Maximum time-step
61  scalar maxDeltaT_;
62 
63 
64 public:
65 
66  //- Runtime type information
67  TypeName("movingMesh");
68 
69 
70  // Constructors
71 
72  //- Construct from region mesh
74 
75  //- Disallow default bitwise copy construction
76  movingMesh(const movingMesh&) = delete;
77 
78 
79  //- Destructor
80  virtual ~movingMesh();
81 
82 
83  // Member Functions
84 
85  //- Return the current maximum time-step for stable solution
86  virtual scalar maxDeltaT() const;
87 
88  //- Called at the start of the time-step, before the PIMPLE loop
89  virtual void preSolve();
90 
91  //- Called at the start of the PIMPLE loop to move the mesh
92  virtual void moveMesh();
93 
94  //- Called at the beginning of the PIMPLE loop
95  virtual void prePredictor();
96 
97  //- Construct and optionally solve the momentum equation
98  virtual void momentumPredictor();
99 
100  //- Construct and solve the energy equation,
101  // convert to temperature
102  // and update thermophysical and transport properties
103  virtual void thermophysicalPredictor();
104 
105  //- Construct and solve the pressure equation in the PISO loop
106  virtual void pressureCorrector();
107 
108  //- Correct the thermophysical transport modelling
109  virtual void postCorrector();
110 
111  //- Called after the PIMPLE loop at the end of the time-step
112  virtual void postSolve();
113 
114 
115  // Member Operators
116 
117  //- Disallow default bitwise assignment
118  void operator=(const movingMesh&) = delete;
119 };
120 
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 } // End namespace solvers
125 } // End namespace Foam
126 
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 
129 #endif
130 
131 // ************************************************************************* //
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:101
Abstract base class for run-time selectable region solvers.
Definition: solver.H:55
const fvMesh & mesh
Region mesh.
Definition: solver.H:94
Solver module to move the mesh.
Definition: movingMesh.H:56
virtual void thermophysicalPredictor()
Construct and solve the energy equation,.
Definition: movingMesh.C:91
movingMesh(fvMesh &mesh)
Construct from region mesh.
Definition: movingMesh.C:43
virtual void prePredictor()
Called at the beginning of the PIMPLE loop.
Definition: movingMesh.C:83
void operator=(const movingMesh &)=delete
Disallow default bitwise assignment.
virtual void postSolve()
Called after the PIMPLE loop at the end of the time-step.
Definition: movingMesh.C:103
virtual void moveMesh()
Called at the start of the PIMPLE loop to move the mesh.
Definition: movingMesh.C:74
virtual scalar maxDeltaT() const
Return the current maximum time-step for stable solution.
Definition: movingMesh.C:61
virtual void pressureCorrector()
Construct and solve the pressure equation in the PISO loop.
Definition: movingMesh.C:95
virtual void postCorrector()
Correct the thermophysical transport modelling.
Definition: movingMesh.C:99
virtual ~movingMesh()
Destructor.
Definition: movingMesh.C:55
virtual void momentumPredictor()
Construct and optionally solve the momentum equation.
Definition: movingMesh.C:87
TypeName("movingMesh")
Runtime type information.
virtual void preSolve()
Called at the start of the time-step, before the PIMPLE loop.
Definition: movingMesh.C:67
Namespace for OpenFOAM.