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 "mixedSmagorinsky.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028
00029
00030
00031 namespace Foam
00032 {
00033 namespace incompressible
00034 {
00035 namespace LESModels
00036 {
00037
00038
00039
00040 defineTypeNameAndDebug(mixedSmagorinsky, 0);
00041 addToRunTimeSelectionTable(LESModel, mixedSmagorinsky, dictionary);
00042
00043
00044
00045 mixedSmagorinsky::mixedSmagorinsky
00046 (
00047 const volVectorField& U,
00048 const surfaceScalarField& phi,
00049 transportModel& transport
00050 )
00051 :
00052 LESModel(typeName, U, phi, transport),
00053 scaleSimilarity(U, phi, transport),
00054 Smagorinsky(U, phi, transport)
00055 {
00056 printCoeffs();
00057 }
00058
00059
00060
00061
00062 tmp<volScalarField> mixedSmagorinsky::k() const
00063 {
00064 return
00065 (
00066 scaleSimilarity::k()
00067 + Smagorinsky::k()
00068 );
00069 }
00070
00071
00072 tmp<volScalarField> mixedSmagorinsky::epsilon() const
00073 {
00074 return
00075 (
00076 scaleSimilarity::epsilon()
00077 + Smagorinsky::epsilon()
00078 );
00079 }
00080
00081
00082 tmp<volSymmTensorField> mixedSmagorinsky::B() const
00083 {
00084 return
00085 (
00086 scaleSimilarity::B()
00087 + Smagorinsky::B()
00088 );
00089 }
00090
00091
00092 tmp<volSymmTensorField> mixedSmagorinsky::devBeff() const
00093 {
00094 return
00095 (
00096 scaleSimilarity::devBeff()
00097 + Smagorinsky::devBeff()
00098 );
00099 }
00100
00101
00102 tmp<fvVectorMatrix> mixedSmagorinsky::divDevBeff
00103 (
00104 volVectorField& U
00105 ) const
00106 {
00107 return
00108 (
00109 scaleSimilarity::divDevBeff(U)
00110 + Smagorinsky::divDevBeff(U)
00111 );
00112 }
00113
00114
00115 void mixedSmagorinsky::correct(const tmp<volTensorField>& gradU)
00116 {
00117 scaleSimilarity::correct(gradU);
00118 Smagorinsky::correct(gradU);
00119 }
00120
00121
00122 bool mixedSmagorinsky::read()
00123 {
00124 if (LESModel::read())
00125 {
00126 scaleSimilarity::read();
00127 Smagorinsky::read();
00128
00129 return true;
00130 }
00131 else
00132 {
00133 return false;
00134 }
00135 }
00136
00137
00138
00139
00140 }
00141 }
00142 }
00143
00144