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