Loading...
Searching...
No Matches
filmHeightInletVelocityFvPatchVectorField.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 Copyright (C) 2020 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27\*---------------------------------------------------------------------------*/
28
31#include "volFields.H"
32#include "surfaceFields.H"
33
34// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
35
38(
39 const fvPatch& p,
41)
42:
43 fixedValueFvPatchVectorField(p, iF),
44 phiName_("phi"),
45 rhoName_("rho"),
46 deltafName_("deltaf")
47{}
48
49
52(
54 const fvPatch& p,
56 const fvPatchFieldMapper& mapper
57)
58:
59 fixedValueFvPatchVectorField(ptf, p, iF, mapper),
60 phiName_(ptf.phiName_),
61 rhoName_(ptf.rhoName_),
62 deltafName_(ptf.deltafName_)
63{}
64
65
68(
69 const fvPatch& p,
71 const dictionary& dict
72)
73:
74 fixedValueFvPatchVectorField(p, iF, dict),
75 phiName_(dict.getOrDefault<word>("phi", "phi")),
76 rhoName_(dict.getOrDefault<word>("rho", "rho")),
77 deltafName_(dict.getOrDefault<word>("deltaf", "deltaf"))
78{}
79
80
83(
85)
86:
87 fixedValueFvPatchVectorField(fhivpvf),
88 phiName_(fhivpvf.phiName_),
89 rhoName_(fhivpvf.rhoName_),
90 deltafName_(fhivpvf.deltafName_)
91{}
92
93
96(
99)
100:
101 fixedValueFvPatchVectorField(fhivpvf, iF),
102 phiName_(fhivpvf.phiName_),
103 rhoName_(fhivpvf.rhoName_),
104 deltafName_(fhivpvf.deltafName_)
105{}
106
107
108// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
109
111{
112 if (updated())
113 {
114 return;
115 }
116
117 const auto& phip = patch().lookupPatchField<surfaceScalarField>(phiName_);
118 const auto& rhop = patch().lookupPatchField<volScalarField>(rhoName_);
119 const auto& deltafp = patch().lookupPatchField<volScalarField>(deltafName_);
120
121 vectorField n(patch().nf());
122 const scalarField& magSf = patch().magSf();
124 operator==(n*phip/(rhop*magSf*deltafp + ROOTVSMALL));
125
126 fixedValueFvPatchVectorField::updateCoeffs();
127}
128
129
131{
133 os.writeEntryIfDifferent<word>("phi", "phi", phiName_);
134 os.writeEntryIfDifferent<word>("rho", "rho", rhoName_);
135 os.writeEntryIfDifferent<word>("deltaf", "deltaf", deltafName_);
137}
138
139
140// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
141
142void Foam::filmHeightInletVelocityFvPatchVectorField::operator=
143(
144 const fvPatchField<vector>& pvf
145)
146{
147 fvPatchField<vector>::operator=(patch().nf()*(patch().nf() & pvf));
149
150
151// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152
153namespace Foam
154{
156 (
158 filmHeightInletVelocityFvPatchVectorField
159 );
160}
161
162
163// ************************************************************************* //
label n
Macros for easy insertion into run-time selection tables.
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
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
This boundary condition is designed to be used in conjunction with surface film modelling....
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
filmHeightInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void operator=(const UList< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
A class for handling words, derived from Foam::string.
Definition word.H:66
volScalarField & p
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
Field< vector > vectorField
Specialisation of Field<T> for vector.
fvPatchField< vector > fvPatchVectorField
dictionary dict
Foam::surfaceFields.