41 const DimensionedField<scalar, volMesh>& iF
44 fixedValueFvPatchScalarField(p, iF),
55 const DimensionedField<scalar, volMesh>& iF,
56 const dictionary&
dict 59 fixedValueFvPatchScalarField(p, iF, dict),
60 q_(
"q", dict, p.size()),
61 relax_(dict.lookupOrDefault<scalar>(
"relax", 1.0)),
62 Tmin_(dict.lookupOrDefault<scalar>(
"Tmin", 273))
69 const fixedMultiPhaseHeatFluxFvPatchScalarField& psf,
71 const DimensionedField<scalar, volMesh>& iF,
72 const fvPatchFieldMapper& mapper
75 fixedValueFvPatchScalarField(psf, p, iF, mapper),
85 const fixedMultiPhaseHeatFluxFvPatchScalarField& psf
88 fixedValueFvPatchScalarField(psf),
98 const fixedMultiPhaseHeatFluxFvPatchScalarField& psf,
99 const DimensionedField<scalar, volMesh>& iF
102 fixedValueFvPatchScalarField(psf, iF),
120 const phaseSystem& fluid =
122 db().lookupObject<phaseSystem>(
"phaseProperties")
133 const phaseModel& phase = fluid.phases()[
phasei];
134 const fluidThermo& thermo = phase.thermo();
137 phase.boundaryField()[patch().index()];
140 thermo.T().boundaryField()[patch().index()];
142 const scalarField kappaEff(phase.kappaEff(patch().index()));
149 Info<< patch().name() <<
" " << phase.name()
150 <<
": Heat flux " <<
gMin(q0) <<
" - " <<
gMax(q0) <<
endl;
153 A += T.patchInternalField()*alpha*kappaEff*patch().deltaCoeffs();
154 B += alpha*kappaEff*patch().deltaCoeffs();
159 Info<< patch().name() <<
" " <<
": overall heat flux " 160 <<
gMin(Q) <<
" - " <<
gMax(Q) <<
" W/m2, power: " 161 <<
gSum(patch().magSf()*Q) <<
" W" <<
endl;
164 operator==((1 - relax_)*Tp + relax_*
max(Tmin_,(q_ + A)/(B)));
166 fixedValueFvPatchScalarField::updateCoeffs();
186 fixedMultiPhaseHeatFluxFvPatchScalarField
#define forAll(list, i)
Loop across all elements in list.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
Type gMin(const FieldField< Field, Type > &f)
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
Type gSum(const FieldField< Field, Type > &f)
fixedMultiPhaseHeatFluxFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
fvPatchField< scalar > fvPatchScalarField
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Type gMax(const FieldField< Field, Type > &f)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
virtual void write(Ostream &) const
Write.
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)