Feature turbulence
Integration of new kOmega SST turbulence model variants: DES, DDES, IDDES
Initially supplied by CFD Software E+F GmbH
Merge request reports
Activity
Filter activity
183 ); 184 185 if (lowReCorrection_) 186 { 187 volScalarField& psi = tpsi(); 188 189 const volScalarField fv2(this->fv2(chi, fv1)); 190 const volScalarField ft2(this->ft2(chi)); 191 192 psi = 193 sqrt 194 ( 195 min 196 ( 197 scalar(100), 198 (1 - Cb1_/(Cw1_*sqr(kappa_)*fwStar_)*(ft2 + (1 - ft2)*fv2)) 431 530 - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) 432 531 - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_)) 433 532 == 434 Cb1_*alpha*rho*Stilda*nuTilda_ 533 Cb1_*alpha*rho*Stilda*nuTilda_*(scalar(1) - ft2) 435 534 - fvm::Sp 436 535 ( 437 Cw1_*alpha*rho*fw(Stilda, dTilda)*nuTilda_/sqr(dTilda), 536 (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2) 125 126 if (type == typeName) 127 { 128 this->printCoeffs(type); 129 } 130 } 131 132 133 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // 134 135 template<class BasicTurbulenceModel> 136 bool kOmegaSSTDES<BasicTurbulenceModel>::read() 137 { 138 if (kOmegaSSTBase<DESModel<BasicTurbulenceModel> >::read()) 139 { 140 CDESkom_.readIfPresent(this->coeffDict()); 166 volScalarField& omega = this->omega_; 167 volScalarField& nut = this->nut_; 168 169 DESModel<BasicTurbulenceModel>::correct(); 170 171 volScalarField divU(fvc::div(fvc::absolute(this->phi(), U))); 172 173 tmp<volTensorField> tgradU = fvc::grad(U); 174 volScalarField magGradU(mag(tgradU())); 175 volScalarField S2(2*magSqr(symm(tgradU()))); 176 volScalarField GbyNu((tgradU() && dev(twoSymm(tgradU())))); 177 volScalarField G(this->GName(), nut*GbyNu); 178 tgradU.clear(); 179 180 // Update omega and G at the wall 181 omega.boundaryField().updateCoeffs(); 32 namespace LESModels 33 { 34 35 // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // 36 37 template<class BasicTurbulenceModel> 38 const IDDESDelta& kOmegaSSTIDDES<BasicTurbulenceModel>::setDelta() const 39 { 40 if (!isA<IDDESDelta>(this->delta_())) 41 { 42 FatalErrorIn 43 ( 44 "const kOmegaSSTIDDES<BasicTurbulenceModel>::setDelta() const" 45 ) 46 << "The delta function must be set to a " << IDDESDelta::typeName 47 << " -based model" << exit(FatalError); 300 357 0.07 301 358 ) 302 359 ), 360 lowReCorrection_ 361 ( 362 Switch::lookupOrAddToDict 363 ( 364 "lowReCorrection", 365 this->coeffDict_, 366 true 183 ); 184 185 if (lowReCorrection_) 186 { 187 volScalarField& psi = tpsi(); 188 189 const volScalarField fv2(this->fv2(chi, fv1)); 190 const volScalarField ft2(this->ft2(chi)); 191 192 psi = 193 sqrt 194 ( 195 min 196 ( 197 scalar(100), 198 (1 - Cb1_/(Cw1_*sqr(kappa_)*fwStar_)*(ft2 + (1 - ft2)*fv2)) 431 530 - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_) 432 531 - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_)) 433 532 == 434 Cb1_*alpha*rho*Stilda*nuTilda_ 533 Cb1_*alpha*rho*Stilda*nuTilda_*(scalar(1) - ft2) 435 534 - fvm::Sp 436 535 ( 437 Cw1_*alpha*rho*fw(Stilda, dTilda)*nuTilda_/sqr(dTilda), 536 (Cw1_*fw(Stilda, dTilda) - Cb1_/sqr(kappa_)*ft2) 125 126 if (type == typeName) 127 { 128 this->printCoeffs(type); 129 } 130 } 131 132 133 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // 134 135 template<class BasicTurbulenceModel> 136 bool kOmegaSSTDES<BasicTurbulenceModel>::read() 137 { 138 if (kOmegaSSTBase<DESModel<BasicTurbulenceModel> >::read()) 139 { 140 CDESkom_.readIfPresent(this->coeffDict()); 166 volScalarField& omega = this->omega_; 167 volScalarField& nut = this->nut_; 168 169 DESModel<BasicTurbulenceModel>::correct(); 170 171 volScalarField divU(fvc::div(fvc::absolute(this->phi(), U))); 172 173 tmp<volTensorField> tgradU = fvc::grad(U); 174 volScalarField magGradU(mag(tgradU())); 175 volScalarField S2(2*magSqr(symm(tgradU()))); 176 volScalarField GbyNu((tgradU() && dev(twoSymm(tgradU())))); 177 volScalarField G(this->GName(), nut*GbyNu); 178 tgradU.clear(); 179 180 // Update omega and G at the wall 181 omega.boundaryField().updateCoeffs(); Added 1 commit:
- 1473ae98 - ENH: Turbulence modeul updates
Please register or sign in to reply