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 <incompressibleLESModels/scaleSimilarity.H>
00027
00028
00029
00030 namespace Foam
00031 {
00032 namespace incompressible
00033 {
00034 namespace LESModels
00035 {
00036
00037
00038
00039 defineTypeNameAndDebug(scaleSimilarity, 0);
00040
00041
00042
00043 scaleSimilarity::scaleSimilarity
00044 (
00045 const volVectorField& U,
00046 const surfaceScalarField& phi,
00047 transportModel& transport
00048 )
00049 :
00050 LESModel(typeName, U, phi, transport),
00051 filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
00052 filter_(filterPtr_())
00053 {
00054 printCoeffs();
00055 }
00056
00057
00058
00059
00060 tmp<volScalarField> scaleSimilarity::k() const
00061 {
00062 return(0.5*(filter_(magSqr(U())) - magSqr(filter_(U()))));
00063 }
00064
00065
00066 tmp<volScalarField> scaleSimilarity::epsilon() const
00067 {
00068 volSymmTensorField D = symm(fvc::grad(U()));
00069
00070 return((filter_(sqr(U())) - sqr(filter_(U()))) && D);
00071 }
00072
00073
00074 tmp<volSymmTensorField> scaleSimilarity::B() const
00075 {
00076 return(filter_(sqr(U())) - sqr(filter_(U())));
00077 }
00078
00079
00080 tmp<volSymmTensorField> scaleSimilarity::devBeff() const
00081 {
00082 return dev(B());
00083 }
00084
00085
00086 tmp<fvVectorMatrix> scaleSimilarity::divDevBeff(volVectorField& U) const
00087 {
00088 return fvm::Su(fvc::div(devBeff()), U);
00089 }
00090
00091
00092 void scaleSimilarity::correct(const tmp<volTensorField>&)
00093 {}
00094
00095
00096 bool scaleSimilarity::read()
00097 {
00098 if (LESModel::read())
00099 {
00100 filter_.read(coeffDict());
00101
00102 return true;
00103 }
00104 else
00105 {
00106 return false;
00107 }
00108 }
00109
00110
00111
00112
00113 }
00114 }
00115 }
00116
00117