Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "fixedEnthalpyFvPatchScalarField.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028 #include <finiteVolume/fvPatchFieldMapper.H>
00029 #include <finiteVolume/volFields.H>
00030 #include <basicThermophysicalModels/basicThermo.H>
00031
00032
00033
00034 Foam::fixedEnthalpyFvPatchScalarField::fixedEnthalpyFvPatchScalarField
00035 (
00036 const fvPatch& p,
00037 const DimensionedField<scalar, volMesh>& iF
00038 )
00039 :
00040 fixedValueFvPatchScalarField(p, iF)
00041 {}
00042
00043
00044 Foam::fixedEnthalpyFvPatchScalarField::fixedEnthalpyFvPatchScalarField
00045 (
00046 const fixedEnthalpyFvPatchScalarField& ptf,
00047 const fvPatch& p,
00048 const DimensionedField<scalar, volMesh>& iF,
00049 const fvPatchFieldMapper& mapper
00050 )
00051 :
00052 fixedValueFvPatchScalarField(ptf, p, iF, mapper)
00053 {}
00054
00055
00056 Foam::fixedEnthalpyFvPatchScalarField::fixedEnthalpyFvPatchScalarField
00057 (
00058 const fvPatch& p,
00059 const DimensionedField<scalar, volMesh>& iF,
00060 const dictionary& dict
00061 )
00062 :
00063 fixedValueFvPatchScalarField(p, iF, dict)
00064 {}
00065
00066
00067 Foam::fixedEnthalpyFvPatchScalarField::fixedEnthalpyFvPatchScalarField
00068 (
00069 const fixedEnthalpyFvPatchScalarField& tppsf
00070 )
00071 :
00072 fixedValueFvPatchScalarField(tppsf)
00073 {}
00074
00075
00076 Foam::fixedEnthalpyFvPatchScalarField::fixedEnthalpyFvPatchScalarField
00077 (
00078 const fixedEnthalpyFvPatchScalarField& tppsf,
00079 const DimensionedField<scalar, volMesh>& iF
00080 )
00081 :
00082 fixedValueFvPatchScalarField(tppsf, iF)
00083 {}
00084
00085
00086
00087
00088 void Foam::fixedEnthalpyFvPatchScalarField::updateCoeffs()
00089 {
00090 if (updated())
00091 {
00092 return;
00093 }
00094
00095 const basicThermo& thermo = db().lookupObject<basicThermo>
00096 (
00097 "thermophysicalProperties"
00098 );
00099
00100 const label patchi = patch().index();
00101
00102 fvPatchScalarField& Tw =
00103 const_cast<fvPatchScalarField&>(thermo.T().boundaryField()[patchi]);
00104 Tw.evaluate();
00105
00106 if (dimensionedInternalField().name() == "h")
00107 {
00108 operator==(thermo.h(Tw, patchi));
00109 }
00110 else
00111 {
00112 operator==(thermo.hs(Tw, patchi));
00113 }
00114
00115 fixedValueFvPatchScalarField::updateCoeffs();
00116 }
00117
00118
00119
00120
00121 namespace Foam
00122 {
00123 makePatchTypeField
00124 (
00125 fvPatchScalarField,
00126 fixedEnthalpyFvPatchScalarField
00127 );
00128 }
00129
00130
00131