28 #include "addToRunTimeSelectionTable.H"
29 #include "volFields.H"
30 #include "surfaceFields.H"
31 #include "pressureInletOutletVelocityFvPatchVectorField.H"
37 const DimensionedField<scalar, volMesh>& iF)
38 : fixedValueFvPatchScalarField(
p, iF),
42 baseTemperature_(
p.size(), 0.0)
48 const DimensionedField<scalar, volMesh>& iF,
49 const dictionary& dict)
50 : fixedValueFvPatchScalarField(
p, iF, dict),
51 kS_(readScalar(dict.lookup(
"kS"))),
52 kF_(readScalar(dict.lookup(
"kF"))),
53 solidThickness_(readScalar(dict.lookup(
"solidThickness"))),
54 baseTemperature_(
"baseTemperature", dict,
p.size())
61 const DimensionedField<scalar, volMesh>& iF,
62 const fvPatchFieldMapper& mapper)
63 : fixedValueFvPatchScalarField(ptf,
p, iF, mapper),
66 solidThickness_(ptf.solidThickness_),
67 baseTemperature_(ptf.baseTemperature_)
73 const DimensionedField<scalar, volMesh>& iF)
74 : fixedValueFvPatchScalarField(tppsf, iF),
77 solidThickness_(tppsf.solidThickness_),
78 baseTemperature_(tppsf.baseTemperature_)
88 const scalarField& Tp(patch().lookupPatchField<volScalarField, scalar>(
"T"));
91 const scalarField& Tc(patch().lookupPatchField<volScalarField, scalar>(
"T").internalField());
95 scalarField Tcell(Tp.size(), 0);
98 const scalarField& deltaInv(patch().deltaCoeffs());
101 const scalarField Coeff(kF_ / kS_ * solidThickness_ * deltaInv);
104 const labelList cells(patch().faceCells());
110 cellN = cells[patchCell];
111 Tcell[patchCell] = Tc[cellN];
115 const scalarField faceTemp((baseTemperature_ + Tcell * Coeff) / (1 + Coeff));
121 fixedValueFvPatchScalarField::updateCoeffs();
126 fixedValueFvPatchScalarField::write(os);
128 os.writeEntry(
"kS", kS_);
129 os.writeEntry(
"kF", kF_);
130 os.writeEntry(
"solidThickness", solidThickness_);
131 baseTemperature_.writeEntry(
"baseTemperature", os);
132 this->writeEntry(
"value", os);