fixedMultiPhaseHeatFluxFvPatchScalarField.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 | Copyright (C) 2015 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::fixedMultiPhaseHeatFluxFvPatchScalarField
26 
27 Group
28  grpCmpWallFunctions
29 
30 Description
31  Calculates a wall temperature that produces the specified overall wall heat
32  flux across all the phases in an Eulerian multi-phase simulation.
33 
34  Intended to be used with copiedFixedValue to ensure that phase wall
35  temperature are consistent:
36  - Set 'fixedMultiPhaseHeatFlux' boundary for one of the phases
37  - Use 'copiedFixedValue' for all the other phases.
38 
39 SeeAlso
40  Foam::fixedValueFvPatchField
41 
42 SourceFiles
43  fixedMultiPhaseHeatFluxFvPatchScalarField.C
44 
45 \*---------------------------------------------------------------------------*/
46 
47 #ifndef fixedMultiPhaseHeatFluxFvPatchScalarField_H
48 #define fixedMultiPhaseHeatFluxFvPatchScalarField_H
49 
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 
57 /*---------------------------------------------------------------------------*\
58  Class fixedMultiPhaseHeatFluxFvPatchScalarField Declaration
59 \*---------------------------------------------------------------------------*/
60 
62 :
63  public fixedValueFvPatchScalarField
64 {
65  // Private data
66 
67  //- Heat power [W] or flux [W/m2]
69 
70  //- Relaxation factor
71  scalar relax_;
72 
73 
74 public:
75 
76  //- Runtime type information
77  TypeName("fixedMultiPhaseHeatFlux");
78 
79 
80  // Constructors
81 
82  //- Construct from patch and internal field
84  (
85  const fvPatch&,
87  );
88 
89  //- Construct from patch, internal field and dictionary
91  (
92  const fvPatch&,
94  const dictionary&
95  );
96 
97  //- Construct by mapping given
98  // fixedMultiPhaseHeatFluxFvPatchScalarField
99  // onto a new patch
101  (
103  const fvPatch&,
105  const fvPatchFieldMapper&
106  );
107 
108  //- Construct as copy
110  (
112  );
113 
114  //- Construct as copy setting internal field reference
116  (
119  );
120 
121 
122  // Member functions
123 
124  // Evaluation functions
125 
126  //- Update the coefficients associated with the patch field
127  virtual void updateCoeffs();
128 
129 
130  // I-O
131 
132  //- Write
133  virtual void write(Ostream&) const;
134 };
135 
136 
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 
139 } // End namespace Foam
140 
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 
143 #endif
144 
145 // ************************************************************************* //
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::relax_
scalar relax_
Relaxation factor.
Definition: fixedMultiPhaseHeatFluxFvPatchScalarField.H:70
Foam::Field
Pre-declare SubField and related Field type.
Definition: Field.H:57
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField
Calculates a wall temperature that produces the specified overall wall heat flux across all the phase...
Definition: fixedMultiPhaseHeatFluxFvPatchScalarField.H:60
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:137
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::q_
scalarField q_
Heat power [W] or flux [W/m2].
Definition: fixedMultiPhaseHeatFluxFvPatchScalarField.H:67
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::TypeName
TypeName("fixedMultiPhaseHeatFlux")
Runtime type information.
fixedValueFvPatchFields.H
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::write
virtual void write(Ostream &) const
Write.
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:45
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:53
Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::fixedMultiPhaseHeatFluxFvPatchScalarField
fixedMultiPhaseHeatFluxFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:51