DAMotion.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2 
3  DAFoam : Discrete Adjoint with OpenFOAM
4  Version : v3
5 
6  Description:
7  Compute the rigid body motion
8 
9 \*---------------------------------------------------------------------------*/
10 
11 #ifndef DAMotion_H
12 #define DAMotion_H
13 
14 #include "runTimeSelectionTables.H"
15 #include "fvOptions.H"
16 #include "DAOption.H"
17 #include "dynamicFvMesh.H"
18 #include "fvc.H"
19 
20 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
21 
22 namespace Foam
23 {
24 
25 /*---------------------------------------------------------------------------*\
26  Class DAMotion Declaration
27 \*---------------------------------------------------------------------------*/
28 
29 class DAMotion
30 {
31 
32 private:
34  DAMotion(const DAMotion&);
35 
37  void operator=(const DAMotion&);
38 
39 protected:
41  const dynamicFvMesh& mesh_;
42 
45 
47  wordList patchNames_;
48 
49 public:
51  TypeName("DAMotion");
52 
53  // Declare run-time constructor selection table
55  autoPtr,
56  DAMotion,
57  dictionary,
58  (
59  const dynamicFvMesh& mesh,
60  const DAOption& daOption),
61  (
62  mesh,
63  daOption));
64 
65  // Constructors
66 
67  //- Construct from components
68  DAMotion(
69  const dynamicFvMesh& mesh,
70  const DAOption& daOption);
71 
72  // Selectors
73 
74  //- Return a reference to the selected model
75  static autoPtr<DAMotion> New(
76  const dynamicFvMesh& mesh,
77  const DAOption& daOption);
78 
79  //- Destructor
80  virtual ~DAMotion()
81  {
82  }
83 
85  virtual void correct() = 0;
86 
88  vector getForce(const dynamicFvMesh& mesh);
89 };
90 
91 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
92 
93 } // End namespace Foam
94 
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
96 
97 #endif
98 
99 // ************************************************************************* //
DAOption.H
Foam::DAMotion::mesh_
const dynamicFvMesh & mesh_
fvMesh
Definition: DAMotion.H:41
Foam::DAOption
Definition: DAOption.H:29
daOption
DAOption daOption(mesh, pyOptions_)
Foam::DAMotion::TypeName
TypeName("DAMotion")
Runtime type information.
Foam::DAMotion::New
static autoPtr< DAMotion > New(const dynamicFvMesh &mesh, const DAOption &daOption)
Definition: DAMotion.C:32
Foam::DAMotion::daOption_
const DAOption & daOption_
DAOption object.
Definition: DAMotion.H:44
Foam::DAMotion::correct
virtual void correct()=0
update the cell displacement
mesh
fvMesh & mesh
Definition: createRefsHeatTransfer.H:4
Foam::DAMotion::declareRunTimeSelectionTable
declareRunTimeSelectionTable(autoPtr, DAMotion, dictionary,(const dynamicFvMesh &mesh, const DAOption &daOption),(mesh, daOption))
Foam::DAMotion::patchNames_
wordList patchNames_
patch names for the moving body
Definition: DAMotion.H:47
Foam::DAMotion
Definition: DAMotion.H:29
Foam::DAMotion::~DAMotion
virtual ~DAMotion()
Definition: DAMotion.H:80
Foam::DAMotion::getForce
vector getForce(const dynamicFvMesh &mesh)
calculate the force
Definition: DAMotion.C:72
Foam
Definition: multiFreqScalarFvPatchField.C:144