75 dMuTdx = dMuTdy = 0.0;
114 dMuTdx = dMuTdy = dMuTdz = 0.0;
140 const su2double strain_rate2 = 2.0*(dudx*dudx + dvdy*dvdy + 2.0*S12*S12);
143 return rho*C_s_filter_width*C_s_filter_width*
sqrt(strain_rate2);
170 const su2double strain_rate2 = 2.0*(dudx*dudx + dvdy*dvdy + dwdz*dwdz
171 + 2.0*(S12*S12 + S13*S13 + S23*S23));
174 return rho*C_s_filter_width*C_s_filter_width*
sqrt(strain_rate2);
261 const su2double Sd12 = 0.5*(dudx*dudy + dudy*dvdy + dvdx*dudx + dvdy*dvdx);
265 const su2double thirdTrace = (Sd11 + Sd22)/3.0;
271 const su2double sumS = S11 *S11 + S22 *S22 + 2.0*S12 *S12;
272 const su2double sumSd = Sd11*Sd11 + Sd22*Sd22 + 2.0*Sd12*Sd12;
278 const su2double denom = sumSPow5_2 + sumSdPow5_4;
280 const su2double nuEddy = lenScaleWale*lenScaleWale*sumSdPow3_2
281 / max(denom, 1.e-20);
303 const su2double S11 = dudx, S22 = dvdy, S33 = dwdz;
310 su2double Sd11 = dudx*dudx + dudy*dvdx + dudz*dwdx;
311 su2double Sd22 = dvdx*dudy + dvdy*dvdy + dvdz*dwdy;
312 su2double Sd33 = dwdx*dudz + dwdy*dvdz + dwdz*dwdz;
314 const su2double Sd12 = 0.5*(dudx*dudy + dudy*dvdy + dudz*dwdy
315 + dvdx*dudx + dvdy*dvdx + dvdz*dwdx);
316 const su2double Sd13 = 0.5*(dudx*dudz + dudy*dvdz + dudz*dwdz
317 + dwdx*dudx + dwdy*dvdx + dwdz*dwdx);
318 const su2double Sd23 = 0.5*(dvdx*dudz + dvdy*dvdz + dvdz*dwdz
319 + dwdx*dudy + dwdy*dvdy + dwdz*dwdy);
322 const su2double thirdTrace = (Sd11 + Sd22 + Sd33)/3.0;
329 const su2double sumS = S11*S11 + S22*S22 + S33*S33
330 + 2.0*(S12*S12 + S13*S13 + S23*S23);
331 const su2double sumSd = Sd11*Sd11 + Sd22*Sd22 + Sd33*Sd33
332 + 2.0*(Sd12*Sd12 + Sd13*Sd13 + Sd23*Sd23);
338 const su2double denom = sumSPow5_2 + sumSdPow5_4;
340 const su2double nuEddy = lenScaleWale*lenScaleWale*sumSdPow3_2
341 / max(denom, 1.e-20);
443 const su2double tmp = (alpha11 + alpha22 + alpha33)/3.0;
448 const su2double lenScale2 = lenScale * lenScale;
457 const su2double beta11 = lenScale2*alpha11*alpha11 + lenScale2*alpha12*alpha12 + lenScale2*alpha13*alpha13 ;
458 const su2double beta12 = lenScale2*alpha11*alpha21 + lenScale2*alpha12*alpha22 + lenScale2*alpha13*alpha23 ;
459 const su2double beta13 = lenScale2*alpha11*alpha31 + lenScale2*alpha12*alpha32 + lenScale2*alpha13*alpha33 ;
460 const su2double beta22 = lenScale2*alpha21*alpha21 + lenScale2*alpha22*alpha22 + lenScale2*alpha23*alpha23 ;
461 const su2double beta23 = lenScale2*alpha21*alpha31 + lenScale2*alpha22*alpha32 + lenScale2*alpha23*alpha33 ;
462 const su2double beta33 = lenScale2*alpha31*alpha31 + lenScale2*alpha32*alpha32 + lenScale2*alpha33*alpha33 ;
464 su2double B = beta11*beta22-beta12*beta12+beta11*beta33-beta13*beta13+beta22*beta33-beta23*beta23;
465 B = (
B + fabs(
B))*0.5;
466 const su2double denon = alpha11*alpha11+alpha22*alpha22+alpha33*alpha33 +
467 alpha12*alpha12+alpha13*alpha13+alpha23*alpha23 +
468 alpha21*alpha21+alpha31*alpha31+alpha32*alpha32;
#define B(i, j)
Definition blas_structure.cpp:132
static void Error(const std::string &ErrorMsg, const std::string &FunctionName)
Definition mpi_structure.cpp:131
Base class for defining the LES subgrid scale model.
Definition sgs_model.hpp:43
CSGSModel(void)
Constructor of the class.
Definition sgs_model.inl:30
virtual void ComputeGradEddyViscosity_3D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double drhodz, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double d2udx2, const su2double d2udy2, const su2double d2udz2, const su2double d2udxdy, const su2double d2udxdz, const su2double d2udydz, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdz2, const su2double d2vdxdy, const su2double d2vdxdz, const su2double d2vdydz, const su2double d2wdx2, const su2double d2wdy2, const su2double d2wdz2, const su2double d2wdxdy, const su2double d2wdxdz, const su2double d2wdydz, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy, su2double &dMuTdz)
Virtual function to determine the gradients of the eddy viscosity for the given function arguments fo...
Definition sgs_model.inl:78
virtual void ComputeGradEddyViscosity_2D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double d2udx2, const su2double d2udy2, const su2double d2udxdy, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdxdy, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy)
Virtual function to determine the gradients of the eddy viscosity for the given function arguments fo...
Definition sgs_model.inl:58
virtual su2double ComputeEddyViscosity_3D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double lenScale, const su2double distToWall)
Virtual function to determine the eddy viscosity for the given function arguments for a 3D simulation...
Definition sgs_model.inl:43
virtual su2double ComputeEddyViscosity_2D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double lenScale, const su2double distToWall)
Virtual function to determine the eddy viscosity for the given function arguments for a 2D simulation...
Definition sgs_model.inl:33
virtual ~CSGSModel(void)
Destructor of the class.
Definition sgs_model.inl:31
su2double filter_mult
Multiplier to get filter width from grid length scale.
Definition sgs_model.hpp:234
~CSmagorinskyModel(void) override
Destructor of the class.
Definition sgs_model.inl:122
CSmagorinskyModel(void)
Constructor of the class.
Definition sgs_model.inl:117
void ComputeGradEddyViscosity_3D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double drhodz, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double d2udx2, const su2double d2udy2, const su2double d2udz2, const su2double d2udxdy, const su2double d2udxdz, const su2double d2udydz, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdz2, const su2double d2vdxdy, const su2double d2vdxdz, const su2double d2vdydz, const su2double d2wdx2, const su2double d2wdy2, const su2double d2wdz2, const su2double d2wdxdy, const su2double d2wdxdz, const su2double d2wdydz, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy, su2double &dMuTdz) override
function to determine the gradients of the eddy viscosity for the given function arguments for a 3D s...
Definition sgs_model.inl:197
su2double ComputeEddyViscosity_2D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 2D simulation.
Definition sgs_model.inl:124
su2double const_smag
Smagorinsky Constant C_s.
Definition sgs_model.hpp:233
su2double ComputeEddyViscosity_3D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 3D simulation.
Definition sgs_model.inl:146
void ComputeGradEddyViscosity_2D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double d2udx2, const su2double d2udy2, const su2double d2udxdy, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdxdy, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy) override
Function to determine the gradients of the eddy viscosity for the given function arguments for a 2D s...
Definition sgs_model.inl:177
void ComputeGradEddyViscosity_3D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double drhodz, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double d2udx2, const su2double d2udy2, const su2double d2udz2, const su2double d2udxdy, const su2double d2udxdz, const su2double d2udydz, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdz2, const su2double d2vdxdy, const su2double d2vdxdz, const su2double d2vdydz, const su2double d2wdx2, const su2double d2wdy2, const su2double d2wdz2, const su2double d2wdxdy, const su2double d2wdxdz, const su2double d2wdydz, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy, su2double &dMuTdz) override
function to determine the gradients of the eddy viscosity for the given function arguments for a 3D s...
Definition sgs_model.inl:497
void ComputeGradEddyViscosity_2D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double d2udx2, const su2double d2udy2, const su2double d2udxdy, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdxdy, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy) override
Function to determine the gradients of the eddy viscosity for the given function arguments for a 2D s...
Definition sgs_model.inl:477
su2double ComputeEddyViscosity_3D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 3D simulation.
Definition sgs_model.inl:425
su2double ComputeEddyViscosity_2D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 2D simulation.
Definition sgs_model.inl:414
CVremanModel(void)
Constructor of the class.
Definition sgs_model.inl:406
su2double const_Vreman
Vreman Constant c=2.5*Cs*Cs.
Definition sgs_model.hpp:609
~CVremanModel(void) override
Destructor of the class.
Definition sgs_model.inl:412
su2double const_WALE
WALE Constant Cw.
Definition sgs_model.hpp:421
su2double ComputeEddyViscosity_3D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 3D simulation.
Definition sgs_model.inl:287
CWALEModel(void)
Constructor of the class.
Definition sgs_model.inl:236
su2double ComputeEddyViscosity_2D(const su2double rho, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double lenScale, const su2double distToWall) override
Function to determine the eddy viscosity for the given function arguments for a 2D simulation.
Definition sgs_model.inl:242
void ComputeGradEddyViscosity_3D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double drhodz, const su2double dudx, const su2double dudy, const su2double dudz, const su2double dvdx, const su2double dvdy, const su2double dvdz, const su2double dwdx, const su2double dwdy, const su2double dwdz, const su2double d2udx2, const su2double d2udy2, const su2double d2udz2, const su2double d2udxdy, const su2double d2udxdz, const su2double d2udydz, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdz2, const su2double d2vdxdy, const su2double d2vdxdz, const su2double d2vdydz, const su2double d2wdx2, const su2double d2wdy2, const su2double d2wdz2, const su2double d2wdxdy, const su2double d2wdxdz, const su2double d2wdydz, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy, su2double &dMuTdz) override
function to determine the gradients of the eddy viscosity for the given function arguments for a 3D s...
Definition sgs_model.inl:367
void ComputeGradEddyViscosity_2D(const su2double rho, const su2double drhodx, const su2double drhody, const su2double dudx, const su2double dudy, const su2double dvdx, const su2double dvdy, const su2double d2udx2, const su2double d2udy2, const su2double d2udxdy, const su2double d2vdx2, const su2double d2vdy2, const su2double d2vdxdy, const su2double lenScale, const su2double distToWall, su2double &dMuTdx, su2double &dMuTdy) override
Function to determine the gradients of the eddy viscosity for the given function arguments for a 2D s...
Definition sgs_model.inl:347
~CWALEModel(void) override
Destructor of the class.
Definition sgs_model.inl:240
passivedouble su2double
Definition code_config.hpp:181
FORCEINLINE ARRAY_T sqrt(const ARRAY_T &x)
Definition special_vectorization.hpp:116
#define CURRENT_FUNCTION
Definition mpi_structure.hpp:59