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 "PrandtlDelta.H"
00027 #include <finiteVolume/wallDist.H>
00028 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00029
00030
00031
00032 namespace Foam
00033 {
00034
00035
00036
00037 defineTypeNameAndDebug(PrandtlDelta, 0);
00038 addToRunTimeSelectionTable(LESdelta, PrandtlDelta, dictionary);
00039
00040
00041
00042
00043 void PrandtlDelta::calcDelta()
00044 {
00045 delta_ = min
00046 (
00047 static_cast<const volScalarField&>(geometricDelta_()),
00048 (kappa_/Cdelta_)*wallDist(mesh_).y()
00049 );
00050 }
00051
00052
00053
00054
00055 PrandtlDelta::PrandtlDelta
00056 (
00057 const word& name,
00058 const fvMesh& mesh,
00059 const dictionary& dd
00060 )
00061 :
00062 LESdelta(name, mesh),
00063 geometricDelta_(LESdelta::New(name, mesh, dd.subDict(type() + "Coeffs"))),
00064 kappa_(dd.lookupOrDefault<scalar>("kappa", 0.41)),
00065 Cdelta_
00066 (
00067 dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
00068 )
00069 {
00070 calcDelta();
00071 }
00072
00073
00074
00075
00076 void PrandtlDelta::read(const dictionary& d)
00077 {
00078 const dictionary& dd(d.subDict(type() + "Coeffs"));
00079
00080 geometricDelta_().read(dd);
00081 d.readIfPresent<scalar>("kappa", kappa_);
00082 dd.readIfPresent<scalar>("Cdelta", Cdelta_);
00083 calcDelta();
00084 }
00085
00086
00087 void PrandtlDelta::correct()
00088 {
00089 geometricDelta_().correct();
00090
00091 if (mesh_.changing())
00092 {
00093 calcDelta();
00094 }
00095 }
00096
00097
00098
00099
00100 }
00101
00102