externalDisplacement_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) 2013-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::externalDisplacement
26 
27 Description
28  Mesh motion solver for an fvMesh. Based on solving the cell-centre
29  Laplacian for the motion displacement.
30 
31 SourceFiles
32  externalDisplacement_pointMeshMover.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef externalDisplacement_pointMeshMover_H
37 #define externalDisplacement_pointMeshMover_H
38 
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 namespace pointMeshMovers
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Class externalDisplacement Declaration
51 \*---------------------------------------------------------------------------*/
52 
54 :
56 {
57  // Private Data
58 
59  dictionary dict_;
60 
61  mutable autoPtr<externalDisplacementMeshMover> meshMoverPtr_;
62 
63 
64 public:
65 
66  //- Runtime type information
67  TypeName("externalDisplacement");
68 
69 
70  // Constructors
71 
72  //- Construct from polyMesh and dictionary
74 
75  //- Disallow default bitwise copy construction
77 
78 
79  //- Destructor
81 
82 
83  // Member Functions
84 
86 
87  //- Return point location obtained from the current motion field
88  virtual tmp<pointField> newPoints();
89 
90  //- Update local data for geometry changes
91  virtual void movePoints(const pointField&);
92 
93  //- Update topology
94  virtual void topoChange(const polyTopoChangeMap&);
95 
96 
97  // Member Operators
98 
99  //- Disallow default bitwise assignment
100  void operator=(const externalDisplacement&) = delete;
101 };
102 
103 
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
105 
106 } // End namespace pointMeshMovers
107 } // End namespace Foam
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 #endif
112 
113 // ************************************************************************* //
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
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 mesh movers with externally provided displacement field giving the boundary c...
Abstract base class for displacement pointMesh movers.
Mesh motion solver for an fvMesh. Based on solving the cell-centre Laplacian for the motion displacem...
virtual void topoChange(const polyTopoChangeMap &)
Update topology.
virtual tmp< pointField > newPoints()
Return point location obtained from the current motion field.
virtual void movePoints(const pointField &)
Update local data for geometry changes.
TypeName("externalDisplacement")
Runtime type information.
externalDisplacement(const polyMesh &, const dictionary &)
Construct from polyMesh and dictionary.
void operator=(const externalDisplacement &)=delete
Disallow default bitwise assignment.
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.