emptyFvsPatchField.C
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) 2011-2016 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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\*---------------------------------------------------------------------------*/
27
28#include "emptyFvsPatchField.H"
29#include "fvPatchFieldMapper.H"
30#include "surfaceMesh.H"
31
32// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
33
34template<class Type>
36(
37 const fvPatch& p,
39)
40:
41 fvsPatchField<Type>(p, iF, Field<Type>(0))
42{}
43
44
45template<class Type>
47(
48 const fvPatch& p,
50 const dictionary& dict
51)
52:
53 fvsPatchField<Type>(p, iF, Field<Type>(0))
54{
55 if (!isType<emptyFvPatch>(p))
56 {
58 << "patch " << this->patch().index() << " not empty type. "
59 << "Patch type = " << p.type()
61 }
62}
63
64
65template<class Type>
67(
69 const fvPatch& p,
72)
73:
74 fvsPatchField<Type>(p, iF, Field<Type>(0))
75{
76 if (!isType<emptyFvPatch>(this->patch()))
77 {
79 << "Field type does not correspond to patch type for patch "
80 << this->patch().index() << "." << endl
81 << "Field type: " << typeName << endl
82 << "Patch type: " << this->patch().type()
83 << exit(FatalError);
84 }
85}
86
87
88template<class Type>
90(
92)
93:
94 fvsPatchField<Type>
95 (
96 ptf.patch(),
97 ptf.internalField(),
98 Field<Type>(0)
99 )
100{}
101
102
103template<class Type>
105(
106 const emptyFvsPatchField<Type>& ptf,
108)
109:
110 fvsPatchField<Type>(ptf.patch(), iF, Field<Type>(0))
111{}
112
113
114// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static const char *const typeName
Typename for Field.
Definition: FieldBase.H:59
Generic templated field type.
Definition: Field.H:82
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Foam::emptyFvsPatchField.
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
label index() const
Return the index of this patch in the fvBoundaryMesh.
Definition: fvPatch.H:203
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Definition: fvsPatchField.H:79
const fvPatch & patch() const
Return patch.
volScalarField & p
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Definition: error.H:473
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition: error.H:453
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:372
IOerror FatalIOError
error FatalError
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:130
dictionary dict