OpenFOAM
v2312
The open source CFD toolbox
dynamicMultiMotionSolverFvMesh.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2016-2022 OpenCFD Ltd.
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
Class
27
Foam::dynamicMultiMotionSolverFvMesh
28
29
Description
30
Mesh motion described per cellZone. Individual motion solvers solve
31
over whole domain but are only applied per cellZone.
32
33
SourceFiles
34
dynamicMultiMotionSolverFvMesh.C
35
36
\*---------------------------------------------------------------------------*/
37
38
#ifndef Foam_dynamicMultiMotionSolverFvMesh_H
39
#define Foam_dynamicMultiMotionSolverFvMesh_H
40
41
#include "
dynamicFvMesh.H
"
42
#include "
motionSolver.H
"
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
namespace
Foam
47
{
48
49
/*---------------------------------------------------------------------------*\
50
Class dynamicMultiMotionSolverFvMesh Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
dynamicMultiMotionSolverFvMesh
54
:
55
public
dynamicFvMesh
56
{
57
// Private Data
58
59
//- The motion control function
60
PtrList<motionSolver>
motionPtr_;
61
62
//- Points to move, per motion solver
63
labelListList
pointIDs_;
64
65
66
// Private Member Functions
67
68
//- No copy construct
69
dynamicMultiMotionSolverFvMesh
70
(
71
const
dynamicMultiMotionSolverFvMesh
&
72
) =
delete
;
73
74
//- No copy assignment
75
void
operator=(
const
dynamicMultiMotionSolverFvMesh
&) =
delete
;
76
77
78
public
:
79
80
//- Runtime type information
81
TypeName
(
"dynamicMultiMotionSolverFvMesh"
);
82
83
84
// Constructors
85
86
//- Construct from IOobject
87
explicit
dynamicMultiMotionSolverFvMesh
88
(
89
const
IOobject
&
io
,
90
const
bool
doInit=
true
91
);
92
93
94
//- Destructor
95
virtual
~dynamicMultiMotionSolverFvMesh
() =
default
;
96
97
98
// Member Functions
99
100
//- Initialise all non-demand-driven data
101
virtual
bool
init
(
const
bool
doInit);
102
103
//- Update the mesh for both mesh motion and topology change
104
virtual
bool
update
();
105
};
106
107
108
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109
110
}
// End namespace Foam
111
112
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113
114
#endif
115
116
// ************************************************************************* //
Foam::dynamicMultiMotionSolverFvMesh
Mesh motion described per cellZone. Individual motion solvers solve over whole domain but are only ap...
Definition:
dynamicMultiMotionSolverFvMesh.H:48
dynamicFvMesh.H
Foam::List< labelList >
Foam::dynamicMultiMotionSolverFvMesh::~dynamicMultiMotionSolverFvMesh
virtual ~dynamicMultiMotionSolverFvMesh()=default
Destructor.
motionSolver.H
Foam::dynamicMultiMotionSolverFvMesh::TypeName
TypeName("dynamicMultiMotionSolverFvMesh")
Runtime type information.
Foam::PtrList
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Definition:
List.H:55
Foam::dynamicFvMesh
Abstract base class for geometry and/or topology changing fvMesh.
Definition:
dynamicFvMesh.H:74
Foam::dynamicMultiMotionSolverFvMesh::update
virtual bool update()
Update the mesh for both mesh motion and topology change.
Definition:
dynamicMultiMotionSolverFvMesh.C:171
io
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Foam::dynamicMultiMotionSolverFvMesh::init
virtual bool init(const bool doInit)
Initialise all non-demand-driven data.
Definition:
dynamicMultiMotionSolverFvMesh.C:64
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported...
Definition:
IOobject.H:172
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:26
src
dynamicFvMesh
dynamicMultiMotionSolverFvMesh
dynamicMultiMotionSolverFvMesh.H
Generated by
1.8.14