EulerFaD2dt2Scheme.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) 2017 Volkswagen AG
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::fa::EulerFaD2dt2Scheme
28 
29 Description
30  First-order Euler implicit d2dt2 using the current and two previous
31  time-step values.
32 
33 SourceFiles
34  EulerFaD2dt2Scheme.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef EulerFaD2dt2Scheme_H
39 #define EulerFaD2dt2Scheme_H
40 
41 #include "faD2dt2Scheme.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace fa
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class EulerD2dt2Scheme Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<class Type>
59 :
60  public fa::faD2dt2Scheme<Type>
61 {
62  // Private Member Functions
63 
64  //- Return the current time-step
65  scalar deltaT_() const;
66 
67  //- Return the previous time-step
68  scalar deltaT0_() const;
69 
70  //- No copy construct
71  EulerFaD2dt2Scheme(const EulerFaD2dt2Scheme&) = delete;
72 
73  //- No copy assignment
74  void operator=(const EulerFaD2dt2Scheme&) = delete;
75 
76 
77 public:
78 
79  //- Runtime type information
80  TypeName("Euler");
81 
82 
83  // Constructors
84 
85  //- Construct from mesh
87  :
88  faD2dt2Scheme<Type>(mesh)
89  {}
90 
91  //- Construct from mesh and Istream
93  :
94  faD2dt2Scheme<Type>(mesh, is)
95  {}
96 
97 
98  // Member Functions
99 
100  //- Return mesh reference
101  const faMesh& mesh() const
102  {
104  }
105 
107  (
108  const dimensioned<Type>
109  );
110 
112  (
114  );
115 
117  (
118  const dimensionedScalar&,
120  );
121 
123  (
124  const areaScalarField&,
126  );
127 
129  (
131  );
132 
134  (
135  const dimensionedScalar&,
137  );
138 
140  (
141  const areaScalarField&,
143  );
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace fa
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 } // End namespace Foam
154 
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 
157 #ifdef NoRepository
158 # include "EulerFaD2dt2Scheme.C"
159 #endif
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #endif
164 
165 // ************************************************************************* //
Foam::fa::EulerFaD2dt2Scheme
First-order Euler implicit d2dt2 using the current and two previous time-step values.
Definition: EulerFaD2dt2Scheme.H:57
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
EulerFaD2dt2Scheme.C
Foam::fa::EulerFaD2dt2Scheme::EulerFaD2dt2Scheme
EulerFaD2dt2Scheme(const faMesh &mesh, Istream &is)
Construct from mesh and Istream.
Definition: EulerFaD2dt2Scheme.H:91
Foam::fa::EulerFaD2dt2Scheme::facD2dt2
tmp< GeometricField< Type, faPatchField, areaMesh > > facD2dt2(const dimensioned< Type >)
Definition: EulerFaD2dt2Scheme.C:61
Foam::fa::faD2dt2Scheme::mesh
const faMesh & mesh() const
Return mesh reference.
Definition: faD2dt2Scheme.H:137
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:61
Foam::fa::EulerFaD2dt2Scheme::EulerFaD2dt2Scheme
EulerFaD2dt2Scheme(const faMesh &mesh)
Construct from mesh.
Definition: EulerFaD2dt2Scheme.H:85
Foam::fa::EulerFaD2dt2Scheme::TypeName
TypeName("Euler")
Runtime type information.
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:42
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
faD2dt2Scheme.H
Foam::fa::EulerFaD2dt2Scheme::famD2dt2
tmp< faMatrix< Type > > famD2dt2(const GeometricField< Type, faPatchField, areaMesh > &)
Definition: EulerFaD2dt2Scheme.C:404
Foam::faMesh
Finite area mesh. Used for 2-D non-Euclidian finite area method.
Definition: faMesh.H:82
Foam::GeometricField
Generic GeometricField class.
Definition: areaFieldsFwd.H:53
Foam::fa::faD2dt2Scheme
Abstract base class for d2dt2 schemes.
Definition: faD2dt2Scheme.H:66
Foam::fa::EulerFaD2dt2Scheme::mesh
const faMesh & mesh() const
Return mesh reference.
Definition: EulerFaD2dt2Scheme.H:100