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 "timeVaryingFlowRateInletVelocityFvPatchVectorField.H"
00027 #include <finiteVolume/volFields.H>
00028 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00029 #include <finiteVolume/fvPatchFieldMapper.H>
00030 #include <finiteVolume/surfaceFields.H>
00031 #include <OpenFOAM/Time.H>
00032
00033
00034
00035 Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00036 timeVaryingFlowRateInletVelocityFvPatchVectorField
00037 (
00038 const fvPatch& p,
00039 const DimensionedField<vector, volMesh>& iF
00040 )
00041 :
00042 flowRateInletVelocityFvPatchVectorField(p, iF),
00043 timeSeries_()
00044 {}
00045
00046
00047 Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00048 timeVaryingFlowRateInletVelocityFvPatchVectorField
00049 (
00050 const timeVaryingFlowRateInletVelocityFvPatchVectorField& ptf,
00051 const fvPatch& p,
00052 const DimensionedField<vector, volMesh>& iF,
00053 const fvPatchFieldMapper& mapper
00054 )
00055 :
00056 flowRateInletVelocityFvPatchVectorField(ptf, p, iF, mapper),
00057 timeSeries_(ptf.timeSeries_)
00058 {}
00059
00060
00061 Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00062 timeVaryingFlowRateInletVelocityFvPatchVectorField
00063 (
00064 const fvPatch& p,
00065 const DimensionedField<vector, volMesh>& iF,
00066 const dictionary& dict
00067 )
00068 :
00069 flowRateInletVelocityFvPatchVectorField(p, iF, dict),
00070 timeSeries_(dict)
00071 {}
00072
00073
00074 Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00075 timeVaryingFlowRateInletVelocityFvPatchVectorField
00076 (
00077 const timeVaryingFlowRateInletVelocityFvPatchVectorField& ptf
00078 )
00079 :
00080 flowRateInletVelocityFvPatchVectorField(ptf),
00081 timeSeries_(ptf.timeSeries_)
00082 {}
00083
00084
00085 Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00086 timeVaryingFlowRateInletVelocityFvPatchVectorField
00087 (
00088 const timeVaryingFlowRateInletVelocityFvPatchVectorField& ptf,
00089 const DimensionedField<vector, volMesh>& iF
00090 )
00091 :
00092 flowRateInletVelocityFvPatchVectorField(ptf, iF),
00093 timeSeries_(ptf.timeSeries_)
00094 {}
00095
00096
00097
00098
00099 void Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00100 updateCoeffs()
00101 {
00102 if (updated())
00103 {
00104 return;
00105 }
00106
00107 flowRate() = timeSeries_(this->db().time().timeOutputValue());
00108 flowRateInletVelocityFvPatchVectorField::updateCoeffs();
00109 }
00110
00111
00112 void Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField::
00113 write(Ostream& os) const
00114 {
00115 flowRateInletVelocityFvPatchVectorField::write(os);
00116 timeSeries_.write(os);
00117 }
00118
00119
00120
00121
00122 namespace Foam
00123 {
00124 makePatchTypeField
00125 (
00126 fvPatchVectorField,
00127 timeVaryingFlowRateInletVelocityFvPatchVectorField
00128 );
00129 }
00130
00131
00132