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
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef laminar_H
00038 #define laminar_H
00039
00040 #include "turbulenceModel.H"
00041
00042
00043
00044 namespace Foam
00045 {
00046 namespace turbulenceModels
00047 {
00048
00049
00050
00051
00052
00053 class laminar
00054 :
00055 public turbulenceModel
00056 {
00057
00058 public:
00059
00060
00061 TypeName("laminar");
00062
00063
00064
00065
00066 laminar
00067 (
00068 const volVectorField& U,
00069 const surfaceScalarField& phi,
00070 transportModel& transport
00071 );
00072
00073
00074
00075
00076 ~laminar()
00077 {}
00078
00079
00080
00081
00082 tmp<volScalarField> nut() const
00083 {
00084 return tmp<volScalarField>
00085 (
00086 new volScalarField
00087 (
00088 IOobject
00089 (
00090 "nut",
00091 runTime_.timeName(),
00092 mesh_,
00093 IOobject::NO_READ,
00094 IOobject::NO_WRITE
00095 ),
00096 mesh_,
00097 dimensionedScalar("nut", nu().dimensions(), 0.0)
00098 )
00099 );
00100 }
00101
00102 tmp<volScalarField> nuEff() const
00103 {
00104 return tmp<volScalarField>(new volScalarField("nuEff", nu()));
00105 }
00106
00107 tmp<volScalarField> k() const
00108 {
00109 return tmp<volScalarField>
00110 (
00111 new volScalarField
00112 (
00113 IOobject
00114 (
00115 "k",
00116 runTime_.timeName(),
00117 mesh_,
00118 IOobject::NO_READ,
00119 IOobject::NO_WRITE
00120 ),
00121 mesh_,
00122 dimensionedScalar("k", sqr(U_.dimensions()), 0.0)
00123 )
00124 );
00125 }
00126
00127 tmp<volScalarField> epsilon() const
00128 {
00129 return tmp<volScalarField>
00130 (
00131 new volScalarField
00132 (
00133 IOobject
00134 (
00135 "epsilon",
00136 runTime_.timeName(),
00137 mesh_,
00138 IOobject::NO_READ,
00139 IOobject::NO_WRITE
00140 ),
00141 mesh_,
00142 dimensionedScalar
00143 (
00144 "epsilon", sqr(U_.dimensions())/dimTime, 0.0
00145 )
00146 )
00147 );
00148 }
00149
00150 tmp<volTensorField> R() const
00151 {
00152 return tmp<volTensorField>
00153 (
00154 new volTensorField
00155 (
00156 IOobject
00157 (
00158 "R",
00159 runTime_.timeName(),
00160 mesh_,
00161 IOobject::NO_READ,
00162 IOobject::NO_WRITE
00163 ),
00164 mesh_,
00165 dimensionedTensor
00166 (
00167 "R", sqr(U_.dimensions()), tensor::zero
00168 )
00169 )
00170 );
00171 }
00172
00173 tmp<fvVectorMatrix> divR(volVectorField& U) const;
00174
00175 void correct();
00176
00177
00178 bool read();
00179 };
00180
00181
00182
00183
00184 }
00185 }
00186
00187
00188
00189 #endif
00190
00191