Loading...
Searching...
No Matches
displacementMethodpLaplacianMotionSolver.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) 2021 PCOpt/NTUA
9 Copyright (C) 2021 FOSS GP
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
28Class
29 Foam::displacementMethodpLaplacianMotionSolver
30
31Description
32 Wrapper class for the pLaplacian motion solver
33
34SourceFiles
35 displacementMethodpLaplacianMotionSolver.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef displacementMethodpLaplacianMotionSolver_H
40#define displacementMethodpLaplacianMotionSolver_H
41
42#include "displacementMethod.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
49/*---------------------------------------------------------------------------*\
50 Class displacementMethodpLaplacianMotionSolver Declaration
51\*---------------------------------------------------------------------------*/
52
53class displacementMethodpLaplacianMotionSolver
54:
55 public displacementMethod
57protected:
59 // Protected data
62
64
65 bool resetFields_;
66
67
68private:
69
70 // Private Member Functions
71
72 //- No copy construct
73 displacementMethodpLaplacianMotionSolver
74 (
75 const displacementMethodpLaplacianMotionSolver&
76 ) = delete;
77
78 //- No copy assignment
79 void operator=
80 (
81 const displacementMethodpLaplacianMotionSolver&
82 ) = delete;
83
84
85public:
86
87 //- Runtime type information
88 TypeName("pLaplacianMotionSolver");
90
91 // Constructors
92
93 //- Construct from components
94 displacementMethodpLaplacianMotionSolver
95 (
96 fvMesh& mesh,
97 const labelList& patchIDs
98 );
99
100
101 //- Destructor
103
104
105 // Member Functions
106
107 //- Whether the motion solver prefers a point of a vol field as input
108 virtual bool preferPointField() const;
109
110 //- Set motion filed related to model based on given motion
111 void setMotionField(const pointVectorField& pointMovement);
112
113 //- Set motion filed related to model based on given motion
114 void setMotionField(const volVectorField& cellMovement);
115
116 //- Set control field as a vectorField. For methods working with
117 //- parameters (RBF etc)
118 void setControlField(const vectorField& controlField);
119
120 //- Set control field as a vectorField. For methods working with
121 //- parameters (RBF etc)
122 void setControlField(const scalarField& controlField);
123};
124
125
126// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127
128} // End namespace Foam
129
130// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131
132#endif
133
134// ************************************************************************* //
labelList patchIDs
virtual ~displacementMethodpLaplacianMotionSolver()=default
Destructor.
TypeName("pLaplacianMotionSolver")
Runtime type information.
virtual bool preferPointField() const
Whether the motion solver prefers a point of a vol field as input.
void setMotionField(const pointVectorField &pointMovement)
Set motion filed related to model based on given motion.
void setControlField(const vectorField &controlField)
Set control field as a vectorField. For methods working with parameters (RBF etc).
Mesh data needed to do the Finite Volume discretisation.
Definition fvMesh.H:85
dynamicFvMesh & mesh
Namespace for OpenFOAM.
GeometricField< vector, fvPatchField, volMesh > volVectorField
List< label > labelList
A List of labels.
Definition List.H:62
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68