backwardFaDdtScheme.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) 2016-2017 Wikki Ltd
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::backwardFaDdtScheme
28 
29 Description
30  Second-order backward-differencing implicit ddt using the current and
31  two previous time-step values.
32 
33 SourceFiles
34  backwardFaDdtScheme.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef backwardFaDdtScheme_H
39 #define backwardFaDdtScheme_H
40 
41 #include "faDdtScheme.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace fa
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class backwardFaDdtScheme Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<class Type>
59 :
60  public fa::faDdtScheme<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  //- Return the previous time-step or GREAT if the old timestep field
71  // wasn't available in which case Euler ddt is used
72  template<class GeoField>
73  scalar deltaT0_(const GeoField&) const;
74 
75 
76 public:
77 
78  //- Runtime type information
79  TypeName("backward");
80 
81 
82  // Generated Methods
83 
84  //- No copy construct
86 
87  //- No copy assignment
88  void operator=(const backwardFaDdtScheme&) = delete;
89 
90 
91  // Constructors
92 
93  //- Construct from mesh
95  :
97  {}
98 
99  //- Construct from mesh and Istream
101  :
103  {}
105 
106  // Member Functions
107 
108  //- Return mesh reference
109  const faMesh& mesh() const
110  {
112  }
113 
115  (
116  const dimensioned<Type>
117  );
118 
120  (
121  const dimensioned<Type>
122  );
125  (
127  );
128 
130  (
132  );
133 
135  (
136  const dimensionedScalar&,
138  );
139 
141  (
142  const dimensionedScalar&,
144  );
145 
147  (
148  const areaScalarField&,
150  );
151 
153  (
154  const areaScalarField&,
156  );
157 
159  (
161  );
162 
164  (
165  const dimensionedScalar&,
167  );
168 
170  (
171  const areaScalarField&,
173  );
174 };
175 
176 
177 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 
179 } // End namespace fa
180 
181 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182 
183 } // End namespace Foam
184 
185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
186 
187 #ifdef NoRepository
188  #include "backwardFaDdtScheme.C"
189 #endif
190 
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192 
193 #endif
194 
195 // ************************************************************************* //
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Definition: faMesh.H:133
tmp< GeometricField< Type, faPatchField, areaMesh > > facDdt0(const dimensioned< Type >)
Second-order backward-differencing implicit ddt using the current and two previous time-step values...
tmp< faMatrix< Type > > famDdt(const GeometricField< Type, faPatchField, areaMesh > &)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
const faMesh & mesh() const noexcept
Return mesh reference.
Definition: faDdtScheme.H:150
Generic GeometricField class.
Generic dimensioned Type class.
backwardFaDdtScheme(const backwardFaDdtScheme &)=delete
No copy construct.
void operator=(const backwardFaDdtScheme &)=delete
No copy assignment.
const faMesh & mesh() const
Return mesh reference.
tmp< GeometricField< Type, faPatchField, areaMesh > > facDdt(const dimensioned< Type >)
TypeName("backward")
Runtime type information.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
Namespace for OpenFOAM.