Loading...
Searching...
No Matches
genericFaePatchField.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) 2023 OpenCFD Ltd.
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
26Class
27 Foam::genericFaePatchField
28
29Description
30 This boundary condition provides a generic version of the \c calculated
31 condition, useful as a fallback for handling unknown patch types. Not
32 generally applicable as a user-specified condition.
33
34See also
35 Foam::calculatedFaePatchField
36
37SourceFiles
38 genericFaePatchField.C
39
40\*---------------------------------------------------------------------------*/
41
42#ifndef genericFaePatchField_H
43#define genericFaePatchField_H
44
47
48// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50namespace Foam
51{
52
53/*---------------------------------------------------------------------------*\
54 Class genericFaePatchField Declaration
55\*---------------------------------------------------------------------------*/
56
57template<class Type>
59:
60 public calculatedFaePatchField<Type>,
62{
63 //- The parent boundary condition type
64 typedef calculatedFaePatchField<Type> parent_bctype;
65
66
67public:
68
69 //- Runtime type information
70 TypeName("generic");
71
72
73 // Constructors
74
75 //- Construct from patch and internal field
77 (
78 const faPatch&,
80 );
81
82 //- Construct from patch, internal field and dictionary
84 (
85 const faPatch&,
87 const dictionary&
88 );
89
90 //- Construct by mapping given patch field onto a new patch
92 (
94 const faPatch&,
97 );
98
99 //- Default copy construct
101
102 //- Construct as copy setting internal field reference
104 (
107 );
108
109 //- Return clone
110 virtual tmp<faePatchField<Type>> clone() const
111 {
112 return faePatchField<Type>::Clone(*this);
113 }
114
115 //- Clone with an internal field reference
117 (
119 ) const
120 {
121 return faePatchField<Type>::Clone(*this, iF);
122 }
123
124
125 // Member Functions
126
127 //- Write
128 virtual void write(Ostream&) const;
130
131 // Mapping Functions
132
133 //- Map (and resize as needed) from self given a mapping object
134 virtual void autoMap(const faPatchFieldMapper&);
135
136 //- Reverse map the given faPatchField onto this faPatchField
137 virtual void rmap
138 (
139 const faePatchField<Type>&,
140 const labelList&
141 );
142};
143
144
145// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146
147} // End namespace Foam
148
149// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150
151#ifdef NoRepository
152 #include "genericFaePatchField.C"
153#endif
154
155// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156
157#endif
158
159// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
calculatedFaePatchField(const faPatch &, const DimensionedField< Type, edgeMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-area patch fields.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Definition faPatch.H:76
faePatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cove...
static tmp< faePatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
genericFaePatchField(const genericFaePatchField< Type > &)=default
Default copy construct.
TypeName("generic")
Runtime type information.
virtual tmp< faePatchField< Type > > clone(const DimensionedField< Type, edgeMesh > &iF) const
Clone with an internal field reference.
virtual tmp< faePatchField< Type > > clone() const
Return clone.
virtual void autoMap(const faPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
genericFaePatchField(const faPatch &, const DimensionedField< Type, edgeMesh > &)
Construct from patch and internal field.
virtual void rmap(const faePatchField< Type > &, const labelList &)
Reverse map the given faPatchField onto this faPatchField.
genericPatchFieldBase(const Foam::zero, const genericPatchFieldBase &)
Partial copy construct. Only copy type and dictionary.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for OpenFOAM.
List< label > labelList
A List of labels.
Definition List.H:62
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68