list_pointMeshMover.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) 2019-2026 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::pointMeshMovers::List
26 
27 Description
28  Motion of the mesh specified as a list of pointMeshMovers.
29 
30  The motion solvers are executed in order and the resulting displacements
31  accumulated into an overall displacement and the displaced point positions
32  returned.
33 
34 SourceFiles
35  list_pointMeshMover.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef list_pointMeshMover_H
40 #define list_pointMeshMover_H
41 
42 #include "pointMeshMover.H"
43 #include "PtrListDictionary.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 namespace pointMeshMovers
50 {
51 
52 /*---------------------------------------------------------------------------*\
53  Class list Declaration
54 \*---------------------------------------------------------------------------*/
55 
56 class list
57 :
58  public pointMeshMover
59 {
60  // Private Data
61 
63 
64 
65 public:
66 
67  //- Runtime type information
68  TypeName("list");
69 
70 
71  // Constructors
72 
73  //- Construct from mesh and dictionary
74  list(const polyMesh&, const dictionary&);
75 
76  //- Disallow default bitwise copy construction
77  list(const list&) = delete;
78 
79 
80  //- Destructor
81  virtual ~list();
82 
83 
84  // Member Functions
85 
86  //- Provide current points for motion. Uses current motion field
87  virtual tmp<pointField> newPoints();
88 
89  //- Update local data for geometry changes
90  virtual void movePoints(const pointField&);
91 
92  //- Update local data for topology changes
93  virtual void topoChange(const polyTopoChangeMap&);
94 
95  //- Update from another mesh using the given map
96  virtual void mapMesh(const polyMeshMap&);
97 
98  //- Update corresponding to the given distribution map
99  virtual void distribute(const polyDistributionMap&);
100 
101 
102  // Member Operators
103 
104  //- Disallow default bitwise assignment
105  void operator=(const list&) = delete;
106 };
107 
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 } // End namespace pointMeshMovers
112 } // End namespace Foam
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #endif
117 
118 // ************************************************************************* //
Template dictionary class which manages the storage associated with it.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Abstract base class for pointMesh movers.
list(const polyMesh &, const dictionary &)
Construct from mesh and dictionary.
TypeName("list")
Runtime type information.
virtual void topoChange(const polyTopoChangeMap &)
Update local data for topology changes.
virtual void distribute(const polyDistributionMap &)
Update corresponding to the given distribution map.
virtual tmp< pointField > newPoints()
Provide current points for motion. Uses current motion field.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual void movePoints(const pointField &)
Update local data for geometry changes.
void operator=(const list &)=delete
Disallow default bitwise assignment.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Definition: polyMeshMap.H:51
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:78
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.