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