36#include "../../../Common/include/CConfig.hpp"
37#include "../../../Common/include/linear_algebra/blas_structure.hpp"
38#include "../../../Common/include/toolboxes/geometry_toolbox.hpp"
62 const su2double delta [3][3] = {{1.0, 0.0, 0.0},{0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
216 template<
class Vector_t =
const su2double*,
217 class Matrix_t =
const Vector_t*>
225 ResidualType(
const Vector_t& res,
const Matrix_t& jac_i,
const Matrix_t& jac_j) :
248 CNumerics(
unsigned short val_nDim,
unsigned short val_nVar,
const CConfig* config);
445 template<
class Mat1,
class Mat2>
451 rateofstrain[0][0] = velgrad[0][0];
452 rateofstrain[1][1] = velgrad[1][1];
453 rateofstrain[2][2] = velgrad[2][2];
454 rateofstrain[0][1] = 0.5 * (velgrad[0][1] + velgrad[1][0]);
455 rateofstrain[0][2] = 0.5 * (velgrad[0][2] + velgrad[2][0]);
456 rateofstrain[1][2] = 0.5 * (velgrad[1][2] + velgrad[2][1]);
457 rateofstrain[1][0] = rateofstrain[0][1];
458 rateofstrain[2][1] = rateofstrain[1][2];
459 rateofstrain[2][0] = rateofstrain[0][2];
462 rateofstrain[0][0] = velgrad[0][0];
463 rateofstrain[1][1] = velgrad[1][1];
464 rateofstrain[2][2] = 0.0;
465 rateofstrain[0][1] = 0.5 * (velgrad[0][1] + velgrad[1][0]);
466 rateofstrain[0][2] = 0.0;
467 rateofstrain[1][2] = 0.0;
468 rateofstrain[1][0] = rateofstrain[0][1];
469 rateofstrain[2][1] = rateofstrain[1][2];
470 rateofstrain[2][0] = rateofstrain[0][2];
493 template<
class Mat1,
class Mat2,
class Scalar>
496 Scalar turb_ke=0.0,
bool reynolds3x3=
false){
498 for (
size_t iDim = 0; iDim <
nDim; iDim++) {
499 divVel += velgrad[iDim][iDim];
501 Scalar pTerm = 2./3. * (divVel * viscosity + density * turb_ke);
503 for (
size_t iDim = 0; iDim <
nDim; iDim++){
504 for (
size_t jDim = 0; jDim <
nDim; jDim++){
505 stress[iDim][jDim] = viscosity * (velgrad[iDim][jDim]+velgrad[jDim][iDim]);
507 stress[iDim][iDim] -= pTerm;
510 if(reynolds3x3 &&
nDim==2) {
511 stress[0][2] = stress[1][2] = stress[2][0] = stress[2][1] = 0.0;
512 stress[2][2] = -pTerm;
534 template <
class Mat1,
class Mat2,
class Scalar2>
536 using Scalar =
typename std::decay<
decltype(gradvel[0][0])>::type;
543 for (
size_t iDim = 0; iDim <
nDim; iDim++)
544 for (
size_t jDim = 0; jDim <
nDim; jDim++)
545 factor += gradvel[iDim][jDim] * gradvel[iDim][jDim];
546 factor = 1.0 /
sqrt(max(factor,1E-10));
552 for (
size_t iDim = 0; iDim <
nDim; iDim++){
553 for (
size_t jDim = 0; jDim <
nDim; jDim++){
554 for (
size_t kDim = 0; kDim <
nDim; kDim++){
555 Scalar O_ik = (gradvel[iDim][kDim] - gradvel[kDim][iDim]) * factor;
556 Scalar O_jk = (gradvel[jDim][kDim] - gradvel[kDim][jDim]) * factor;
557 tauQCR[iDim][jDim] += O_ik *
tau[jDim][kDim] + O_jk *
tau[iDim][kDim];
562 for (
size_t iDim = 0; iDim <
nDim; iDim++)
563 for (
size_t jDim = 0; jDim <
nDim; jDim++)
564 tau[iDim][jDim] -= turb_fraction * c_cr1 * tauQCR[iDim][jDim];
580 template<
class Mat1,
class Mat2,
class Scalar>
584 Scalar MeanReynoldsStress[3][3] = {{}};
586 for (
size_t iDim = 0; iDim < 3; iDim++)
587 for (
size_t jDim = 0; jDim < 3; jDim++)
588 MeanReynoldsStress[iDim][jDim] /= -density;
593 for (
size_t iDim = 0; iDim < 3; iDim++) {
594 for (
size_t jDim = 0; jDim < 3; jDim++) {
595 A_ij[iDim][jDim] = .5 * MeanReynoldsStress[iDim][jDim] / turb_ke;
597 A_ij[iDim][iDim] -= 1.0/3.0;
602 Scalar work[3], Eig_Vec[3][3], Eig_Val[3];
606 Scalar c1c = Eig_Val[2] - Eig_Val[1];
607 Scalar c2c = 2.0 * (Eig_Val[1] - Eig_Val[0]);
608 Scalar c3c = 3.0 * Eig_Val[0] + 1.0;
617 Corners[2][1] = 0.866025;
620 Scalar Barycentric_Coord[2];
621 Barycentric_Coord[0] = Corners[0][0] * c1c + Corners[1][0] * c2c + Corners[2][0] * c3c;
622 Barycentric_Coord[1] = Corners[0][1] * c1c + Corners[1][1] * c2c + Corners[2][1] * c3c;
626 New_Coord[0] = Corners[uq_eigval_comp-1][0];
627 New_Coord[1] = Corners[uq_eigval_comp-1][1];
630 Barycentric_Coord[0] = Barycentric_Coord[0] + (
uq_delta_b) * (New_Coord[0] - Barycentric_Coord[0]);
631 Barycentric_Coord[1] = Barycentric_Coord[1] + (
uq_delta_b) * (New_Coord[1] - Barycentric_Coord[1]);
634 c3c = Barycentric_Coord[1] / Corners[2][1];
635 c1c = Barycentric_Coord[0] - Corners[2][0] * c3c;
639 Eig_Val[0] = (c3c - 1) / 3.0;
640 Eig_Val[1] = 0.5 *c2c + Eig_Val[0];
641 Eig_Val[2] = c1c + Eig_Val[1];
645 for (
size_t jDim = 0; jDim < 3; jDim++)
646 swap(Eig_Vec[0][jDim], Eig_Vec[2][jDim]);
652 for (
size_t iDim = 0; iDim < 3; iDim++) {
653 for (
size_t jDim = 0; jDim < 3; jDim++) {
654 auto delta_ij = (jDim==iDim)? 1.0 : 0.0;
655 MeanPerturbedRSM[iDim][jDim] = 2.0 * turb_ke * (A_ij[iDim][jDim] + 1.0/3.0 * delta_ij);
673 template<
class Vec,
class Mat>
684 stochReynStress[0][1] = - Cmag * density * tke * max(-stochLim, min(stochLim, rndVec[2]));
685 stochReynStress[0][2] = + Cmag * density * tke * max(-stochLim, min(stochLim, rndVec[1]));
686 stochReynStress[1][2] = - Cmag * density * tke * max(-stochLim, min(stochLim, rndVec[0]));
703 if (SBS_RelaxFactor > 0.0) {
706 su2double timeScale = ReynoldsLength / FS_Vel;
710 su2double currentTime = (timeIter - restartIter) * timeStep;
711 intensityCoeff = SBS_Cmag * (1.0 -
exp(- currentTime / (timeScale*SBS_RelaxFactor)));
713 return intensityCoeff;
733 template<
class Vec1,
class Vec2,
class Mat>
735 const Vec1& coord_i,
const Vec1& coord_j,
736 const Mat& grad_i,
const Mat& grad_j,
738 const Vec2& var_i,
const Vec2& var_j,
745 for (
int iDim = 0; iDim <
nDim; iDim++) {
746 edgeVec[iDim] = coord_j[iDim] - coord_i[iDim];
747 dist_ij_2 +=
pow(edgeVec[iDim], 2);
748 proj_vector_ij += edgeVec[iDim] * normal[iDim];
750 proj_vector_ij /= max(dist_ij_2,
EPS);
753 for (
int iVar = 0; iVar <
nVar; iVar++) {
754 projNormal[iVar] = 0.0;
757 for (
int iDim = 0; iDim <
nDim; iDim++) {
758 su2double meanGrad = 0.5 * (grad_i[iVar][iDim] + grad_j[iVar][iDim]);
759 projNormal[iVar] += meanGrad * normal[iDim];
760 if (correct) edgeProj += meanGrad * edgeVec[iDim];
763 projCorrected[iVar] = projNormal[iVar];
764 if (correct) projCorrected[iVar] -= (edgeProj - (var_j[iVar]-var_i[iVar])) * proj_vector_ij;
767 return proj_vector_ij;
877 su2double val_thermal_conductivity_ve_j) {
889 Cp_i = val_specific_heat_i;
890 Cp_j = val_specific_heat_j;
1077 inline void SetNeighbor(
unsigned short val_neighbor_i,
unsigned short val_neighbor_j) {
1267 template <
typename Matrix>
1270 Matrix& p_tensor)
const {
1271 const su2double rhooc = density / soundspeed;
1272 const su2double rhoxc = density * soundspeed;
1278 p_tensor[0][0] = 1.0;
1279 p_tensor[0][1] = 0.0;
1280 p_tensor[0][2] = 0.5 * rhooc;
1281 p_tensor[0][3] = 0.5 * rhooc;
1283 p_tensor[1][0] = velocity[0];
1284 p_tensor[1][1] = density * normal[1];
1285 p_tensor[1][2] = 0.5 * (velocity[0] * rhooc + normal[0] * density);
1286 p_tensor[1][3] = 0.5 * (velocity[0] * rhooc - normal[0] * density);
1288 p_tensor[2][0] = velocity[1];
1289 p_tensor[2][1] = -density * normal[0];
1290 p_tensor[2][2] = 0.5 * (velocity[1] * rhooc + normal[1] * density);
1291 p_tensor[2][3] = 0.5 * (velocity[1] * rhooc - normal[1] * density);
1293 p_tensor[3][0] = ke;
1294 p_tensor[3][1] = density * (velocity[0] * normal[1] - velocity[1] * normal[0]);
1295 p_tensor[3][2] = 0.5 * (ke * rhooc + density * projvel + rhoxc /
Gamma_Minus_One);
1296 p_tensor[3][3] = 0.5 * (ke * rhooc - density * projvel + rhoxc /
Gamma_Minus_One);
1301 p_tensor[0][0] = normal[0];
1302 p_tensor[0][1] = normal[1];
1303 p_tensor[0][2] = normal[2];
1304 p_tensor[0][3] = 0.5 * rhooc;
1305 p_tensor[0][4] = 0.5 * rhooc;
1307 p_tensor[1][0] = velocity[0] * normal[0];
1308 p_tensor[1][1] = velocity[0] * normal[1] - density * normal[2];
1309 p_tensor[1][2] = velocity[0] * normal[2] + density * normal[1];
1310 p_tensor[1][3] = 0.5 * (velocity[0] * rhooc + density * normal[0]);
1311 p_tensor[1][4] = 0.5 * (velocity[0] * rhooc - density * normal[0]);
1313 p_tensor[2][0] = velocity[1] * normal[0] + density * normal[2];
1314 p_tensor[2][1] = velocity[1] * normal[1];
1315 p_tensor[2][2] = velocity[1] * normal[2] - density * normal[0];
1316 p_tensor[2][3] = 0.5 * (velocity[1] * rhooc + density * normal[1]);
1317 p_tensor[2][4] = 0.5 * (velocity[1] * rhooc - density * normal[1]);
1319 p_tensor[3][0] = velocity[2] * normal[0] - density * normal[1];
1320 p_tensor[3][1] = velocity[2] * normal[1] + density * normal[0];
1321 p_tensor[3][2] = velocity[2] * normal[2];
1322 p_tensor[3][3] = 0.5 * (velocity[2] * rhooc + density * normal[2]);
1323 p_tensor[3][4] = 0.5 * (velocity[2] * rhooc - density * normal[2]);
1325 p_tensor[4][0] = ke * normal[0] + density * (velocity[1] * normal[2] - velocity[2] * normal[1]);
1326 p_tensor[4][1] = ke * normal[1] + density * (velocity[2] * normal[0] - velocity[0] * normal[2]);
1327 p_tensor[4][2] = ke * normal[2] + density * (velocity[0] * normal[1] - velocity[1] * normal[0]);
1328 p_tensor[4][3] = 0.5 * (ke * rhooc + density * projvel + rhoxc /
Gamma_Minus_One);
1329 p_tensor[4][4] = 0.5 * (ke * rhooc - density * projvel + rhoxc /
Gamma_Minus_One);
1444 template <
typename Matrix>
1447 Matrix& inv_p_tensor)
const {
1448 const su2double rhoxc = density * soundspeed;
1451 const su2double k0orho = normal[0] / density;
1452 const su2double k1orho = normal[1] / density;
1454 const su2double gm1_o_rhoxc = gm1 / rhoxc;
1457 const su2double k2orho = normal[2] / density;
1461 inv_p_tensor[0][0] = normal[0] + k1orho * velocity[2] - k2orho * velocity[1] - normal[0] * gm1_o_c2 * ke;
1462 inv_p_tensor[0][1] = normal[0] * gm1_o_c2 * velocity[0];
1463 inv_p_tensor[0][2] = k2orho + normal[0] * gm1_o_c2 * velocity[1];
1464 inv_p_tensor[0][3] = -k1orho + normal[0] * gm1_o_c2 * velocity[2];
1465 inv_p_tensor[0][4] = -normal[0] * gm1_o_c2;
1467 inv_p_tensor[1][0] = normal[1] + k2orho * velocity[0] - k0orho * velocity[2] - normal[1] * gm1_o_c2 * ke;
1468 inv_p_tensor[1][1] = -k2orho + normal[1] * gm1_o_c2 * velocity[0];
1469 inv_p_tensor[1][2] = normal[1] * gm1_o_c2 * velocity[1];
1470 inv_p_tensor[1][3] = k0orho + normal[1] * gm1_o_c2 * velocity[2];
1471 inv_p_tensor[1][4] = -normal[1] * gm1_o_c2;
1473 inv_p_tensor[2][0] = normal[2] + k0orho * velocity[1] - k1orho * velocity[0] - normal[2] * gm1_o_c2 * ke;
1474 inv_p_tensor[2][1] = k1orho + normal[2] * gm1_o_c2 * velocity[0];
1475 inv_p_tensor[2][2] = -k0orho + normal[2] * gm1_o_c2 * velocity[1];
1476 inv_p_tensor[2][3] = normal[2] * gm1_o_c2 * velocity[2];
1477 inv_p_tensor[2][4] = -normal[2] * gm1_o_c2;
1479 inv_p_tensor[3][0] = -projvel_o_rho + gm1_o_rhoxc * ke;
1480 inv_p_tensor[3][1] = k0orho - gm1_o_rhoxc * velocity[0];
1481 inv_p_tensor[3][2] = k1orho - gm1_o_rhoxc * velocity[1];
1482 inv_p_tensor[3][3] = k2orho - gm1_o_rhoxc * velocity[2];
1483 inv_p_tensor[3][4] = gm1_o_rhoxc;
1485 inv_p_tensor[4][0] = projvel_o_rho + gm1_o_rhoxc * ke;
1486 inv_p_tensor[4][1] = -k0orho - gm1_o_rhoxc * velocity[0];
1487 inv_p_tensor[4][2] = -k1orho - gm1_o_rhoxc * velocity[1];
1488 inv_p_tensor[4][3] = -k2orho - gm1_o_rhoxc * velocity[2];
1489 inv_p_tensor[4][4] = gm1_o_rhoxc;
1494 inv_p_tensor[0][0] = 1 - gm1_o_c2 * ke;
1495 inv_p_tensor[0][1] = gm1_o_c2 * velocity[0];
1496 inv_p_tensor[0][2] = gm1_o_c2 * velocity[1];
1497 inv_p_tensor[0][3] = -gm1_o_c2;
1499 inv_p_tensor[1][0] = -k1orho * velocity[0] + k0orho * velocity[1];
1500 inv_p_tensor[1][1] = k1orho;
1501 inv_p_tensor[1][2] = -k0orho;
1502 inv_p_tensor[1][3] = 0;
1504 inv_p_tensor[2][0] = -projvel_o_rho + gm1_o_rhoxc * ke;
1505 inv_p_tensor[2][1] = k0orho - gm1_o_rhoxc * velocity[0];
1506 inv_p_tensor[2][2] = k1orho - gm1_o_rhoxc * velocity[1];
1507 inv_p_tensor[2][3] = gm1_o_rhoxc;
1509 inv_p_tensor[3][0] = projvel_o_rho + gm1_o_rhoxc * ke;
1510 inv_p_tensor[3][1] = -k0orho - gm1_o_rhoxc * velocity[0];
1511 inv_p_tensor[3][2] = -k1orho - gm1_o_rhoxc * velocity[1];
1512 inv_p_tensor[3][3] = gm1_o_rhoxc;
1662 const bool jac_j = residual.
jacobian_j !=
nullptr;
1664 for (
auto iVar = 0; iVar<
nVar; iVar++){
1668 for (
auto jVar = 0; jVar <
nVar; jVar++){
CNewtonIntegration::Scalar Scalar
Definition CNewtonIntegration.cpp:31
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
static void EigenDecomposition(const Mat &A_ij, Mat &Eig_Vec, Vec &Eig_Val, int n, W &e)
Decomposes the symmetric matrix A_ij, into eigenvectors and eigenvalues.
Definition blas_structure.hpp:439
static void EigenRecomposition(Mat &A_ij, const Mat &Eig_Vec, const Vec &Eig_Val, int n)
Recomposes the eigenvectors and eigenvalues into a matrix.
Definition blas_structure.hpp:458
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
const CStochBackScatParam & GetSBSParam(void) const
Get the Stochastic BackScatter (SBS) model parameters.
Definition CConfig.hpp:9766
su2double GetLength_Reynolds(void) const
Get the value of the Reynolds length.
Definition CConfig.hpp:2203
su2double GetTime_Step(void) const
Get the time step for multizone problems.
Definition CConfig.hpp:9918
su2double GetModVel_FreeStream(void) const
Get the magnitude of the free-stream velocity of the fluid.
Definition CConfig.hpp:1882
unsigned long GetTimeIter() const
Get the current time iteration number.
Definition CConfig.hpp:3387
unsigned long GetRestart_Iter(void) const
Get the restart iteration.
Definition CConfig.hpp:9912
Abstract class for defining finite elements.
Definition CElement.hpp:58
Main class for defining the Thermo-Physical Model.
Definition CFluidModel.hpp:47
Class to represent a matrix (without owning the data, this just wraps a pointer).
Definition container_decorators.hpp:40
Class for defining the numerical methods.
Definition CNumerics.hpp:48
void SetDensity(su2double val_densityinc_i, su2double val_densityinc_j)
Set the value of the density for the incompressible solver.
Definition CNumerics.hpp:1007
void SetVelocity2_Inf(su2double val_velocity2)
Set the freestream velocity square.
Definition CNumerics.hpp:265
void GetinvRinvPe(su2double Beta2, su2double val_enthalpy, su2double val_soundspeed, su2double val_density, const su2double *val_velocity, su2double **val_invR_invPe) const
Computation of the matrix Rinv*Pe.
Definition CNumerics.cpp:526
void SetPrimitive(const su2double *val_v_i, const su2double *val_v_j)
Set the value of the primitive variables.
Definition CNumerics.hpp:301
const su2double * Coord_j
Cartesians coordinates of point j.
Definition CNumerics.hpp:164
su2double Eddy_Viscosity_i
Eddy viscosity at point i.
Definition CNumerics.hpp:77
CMatrixView< const su2double > ConsVar_Grad
Gradient of conservative variables which is a scalar.
Definition CNumerics.hpp:146
void SetLambda(su2double val_lambda_i, su2double val_lambda_j)
Set the value of the spectral radius.
Definition CNumerics.hpp:1047
su2double MassFlux
Mass flux across edge.
Definition CNumerics.hpp:58
su2double Gas_Constant
Gas constant.
Definition CNumerics.hpp:56
void GetPMatrix(const su2double *val_density, const su2double *val_velocity, const su2double *val_soundspeed, const su2double *val_enthalpy, const su2double *val_chi, const su2double *val_kappa, const su2double *val_normal, su2double **val_p_tensor) const
Computation of the matrix P for a generic fluid model.
Definition CNumerics.cpp:380
CMatrixView< const su2double > TransVar_Grad_j
Gradient of turbulent variables at point j.
Definition CNumerics.hpp:154
void SetLaminarViscosity(su2double val_laminar_viscosity_i, su2double val_laminar_viscosity_j)
Set the laminar viscosity.
Definition CNumerics.hpp:852
virtual void Set_DV_Val(unsigned short i_DV, su2double val_DV)
A virtual member to set the value of the design variables.
Definition CNumerics.hpp:1706
virtual ResidualType ComputeResidual(const CConfig *config)
Definition CNumerics.hpp:1560
unsigned short nVar
Number of dimensions and variables.
Definition CNumerics.hpp:52
virtual void SetdTvedU(su2double *val_dTvedU_i, su2double *val_dTvedU_j)
Set the vib-el temperture derivatives.
Definition CNumerics.hpp:1825
void SetSecondary(const su2double *val_s_i, const su2double *val_s_j)
Set the value of the primitive variables.
Definition CNumerics.hpp:311
const su2double * Diffusion_Coeff_j
Species diffusion coefficients at point j.
Definition CNumerics.hpp:65
CMatrixView< const su2double > ConsVar_Grad_j
Gradient of conservative variables at point j.
Definition CNumerics.hpp:145
su2double DensityInc_j
Incompressible density at point j.
Definition CNumerics.hpp:93
static void ComputeStressTensor(size_t nDim, Mat1 &stress, const Mat2 &velgrad, Scalar viscosity, Scalar density=0.0, Scalar turb_ke=0.0, bool reynolds3x3=false)
Compute the stress tensor from the velocity gradients.
Definition CNumerics.hpp:494
CMatrixView< const su2double > ScalarVar_Grad_i
Gradient of scalar variables at point i.
Definition CNumerics.hpp:151
virtual ~CNumerics(void)
Destructor of the class.
Definition CNumerics.cpp:78
const su2double * ScalarVar_j
Vector of scalar variables at point j.
Definition CNumerics.hpp:132
su2double roughness_i
Roughness of the wall nearest to point i.
Definition CNumerics.hpp:183
bool GetBoundedScalar() const
Obtain information on bounded scalar problem.
Definition CNumerics.hpp:1864
su2double Pressure_j
Pressure at point j.
Definition CNumerics.hpp:87
su2double StrainMag_i
Definition CNumerics.hpp:180
virtual void SetF1blending(su2double val_F1_i, su2double val_F1_j)
Set the value of the first blending function.
Definition CNumerics.hpp:775
CMatrixView< const su2double > TurbPsi_Grad_j
Gradient of adjoint turbulent variables at point j.
Definition CNumerics.hpp:156
su2double Thermal_Conductivity_ve_j
vibrational-electronic Thermal conductivity at point j.
Definition CNumerics.hpp:73
void SetAdjointVarGradient(CMatrixView< const su2double > val_psivar_grad_i, CMatrixView< const su2double > val_psivar_grad_j)
Set the gradient of the adjoint variables.
Definition CNumerics.hpp:359
su2double Lambda_j
Spectral radius at point j.
Definition CNumerics.hpp:99
const su2double * GridVel_i
Grid velocity at point i.
Definition CNumerics.hpp:116
su2double Dissipation_i
Definition CNumerics.hpp:181
su2double Area
Area of the face i-j.
Definition CNumerics.hpp:172
void InvMatrix4D(su2double **matrix, su2double **invMatrix)
Computate the inverse of a 4x4 matrix.
Definition CNumerics.cpp:869
void SetJacHeatFluxDiffusion(su2double val_jacheatfluxdiffusion)
Set Jacobian of the heat flux due to enthalpy diffusion.
Definition CNumerics.hpp:843
su2double MeanPerturbedRSM[3][3]
Perturbed Reynolds stress tensor
Definition CNumerics.hpp:186
virtual void SetTau_Wall(su2double val_tauwall_i, su2double val_tauwall_j)
Set the value of the Tauwall.
Definition CNumerics.hpp:1765
const su2double * Diffusion_Coeff_i
Species diffusion coefficients at point i.
Definition CNumerics.hpp:64
CMatrixView< const su2double > TransVar_Grad_i
Gradient of turbulent variables at point i.
Definition CNumerics.hpp:153
su2double GetDissipation() const
Get the final Roe dissipation factor.
Definition CNumerics.hpp:1113
virtual su2double Compute_Averaged_NodalStress(CElement *element_container, const CConfig *config)
A virtual member to compute the averaged nodal stresses.
Definition CNumerics.hpp:1752
su2double Volume
Volume of the control volume around point i.
Definition CNumerics.hpp:173
void CreateBasis(const su2double *val_Normal, su2double *l, su2double *m)
Computes a basis of orthogonal vectors from a supplied vector.
Definition CNumerics.cpp:1454
su2double Thermal_Conductivity_ve_i
vibrational-electronic Thermal conductivity at point i.
Definition CNumerics.hpp:72
void SetConservative(const su2double *val_u_i, const su2double *val_u_j)
Set the value of the conservative variables.
Definition CNumerics.hpp:291
su2double StrainMag_j
Strain rate magnitude.
Definition CNumerics.hpp:180
void SetUndivided_Laplacian(const su2double *val_und_lapl_i, const su2double *val_und_lapl_j)
Set the value of undivided laplacian.
Definition CNumerics.hpp:1057
su2double Cp_j
Cp at point j.
Definition CNumerics.hpp:75
su2double Density_i
Density at point i.
Definition CNumerics.hpp:89
CMatrixView< const su2double > ConsVar_Grad_i
Gradient of conservative variables at point i.
Definition CNumerics.hpp:144
void SetLES_Mode(su2double val_lesMode_i, su2double val_lesMode_j)
Set the LES sensor for hybrid RANS-LES methods.
Definition CNumerics.hpp:938
void SetTurbAdjointGradient(CMatrixView< const su2double > val_turbpsivar_grad_i, CMatrixView< const su2double > val_turbpsivar_grad_j)
Set the gradient of the adjoint turbulent variables.
Definition CNumerics.hpp:430
void SetRadVarSource(const su2double *val_radvar_source)
Set the gradient of the radiation variables.
Definition CNumerics.hpp:1804
su2double SoundSpeed_i
Sound speed at point i.
Definition CNumerics.hpp:101
su2double SoundSpeed_j
Sound speed at point j.
Definition CNumerics.hpp:102
CMatrixView< const su2double > TurbPsi_Grad_i
Gradient of adjoint turbulent variables at point i.
Definition CNumerics.hpp:155
virtual ResidualType ComputeChemistry(const CConfig *config)
Calculation of the chemistry source term.
Definition CNumerics.hpp:1651
su2double BetaInc2_j
Beta incompressible at point j.
Definition CNumerics.hpp:96
void GetCharJump(su2double val_soundspeed, su2double val_density, const su2double *prim_jump, su2double *char_jump) const
Computation of the matrix R.
Definition CNumerics.cpp:905
void SetNeighbor(unsigned short val_neighbor_i, unsigned short val_neighbor_j)
Set the number of neighbor to a point.
Definition CNumerics.hpp:1077
void GetInviscidIncProjJac(const su2double *val_density, const su2double *val_velocity, const su2double *val_betainc2, const su2double *val_normal, su2double val_scale, su2double **val_Proj_Jac_tensor)
Compute the projection of the inviscid Jacobian matrices (incompressible).
void SetRoughness(su2double val_roughness_i, su2double val_roughness_j)
Set the value of the roughness from the nearest wall.
Definition CNumerics.hpp:967
void GetPreconditioner(const su2double *val_density, const su2double *val_velocity, const su2double *val_betainc2, const su2double *val_enthalpy, const su2double *val_drhodh, su2double **val_Precon) const
Compute the low speed preconditioning matrix.
Definition CNumerics.cpp:321
CMatrixView< const su2double > AuxVar_Grad_i
Gradient of an auxiliary variable at point i.
Definition CNumerics.hpp:157
virtual void SetStreamwisePeriodicValues(const StreamwisePeriodicValues SolverSPvals)
Set massflow, heatflow & inlet temperature for streamwise periodic flow.
Definition CNumerics.hpp:1852
void SetGridVel(const su2double *val_gridvel_i, const su2double *val_gridvel_j)
Set the velocity of the computational grid.
Definition CNumerics.hpp:987
bool nemo
Flag for NEMO problems
Definition CNumerics.hpp:203
void GetRMatrix(su2double val_pressure, su2double val_soundspeed, su2double val_density, const su2double *val_velocity, su2double **val_invR_invPe) const
Computation of the matrix R.
Definition CNumerics.cpp:596
const su2double * Psi_j
Vector of adjoint variables at point j.
Definition CNumerics.hpp:129
static su2double ComputeProjectedGradient(int nDim, int nVar, const Vec1 &normal, const Vec1 &coord_i, const Vec1 &coord_j, const Mat &grad_i, const Mat &grad_j, bool correct, const Vec2 &var_i, const Vec2 &var_j, su2double *projNormal, su2double *projCorrected)
Project average gradient onto normal (with or w/o correction) for viscous fluxes of scalar quantities...
Definition CNumerics.hpp:734
virtual void SetMaterial_Density(unsigned short iVal, su2double val_Rho, su2double val_Rho_DL)
A virtual member to set the material properties.
Definition CNumerics.hpp:1734
virtual void Set_ElectricField(unsigned short i_DV, su2double val_EField)
A virtual member to set the electric field.
Definition CNumerics.hpp:1718
void SetPrimVarGradient(CMatrixView< const su2double > val_primvar_grad_i, CMatrixView< const su2double > val_primvar_grad_j)
Set the gradient of the primitive variables.
Definition CNumerics.hpp:338
const su2double * Vorticity_i
Definition CNumerics.hpp:179
void SetThermalConductivity(su2double val_thermal_conductivity_i, su2double val_thermal_conductivity_j)
Set the thermal conductivity (translational/rotational)
Definition CNumerics.hpp:864
static void ComputeMeanRateOfStrainMatrix(size_t nDim, Mat1 &rateofstrain, const Mat2 &velgrad)
Compute the mean rate of strain matrix.
Definition CNumerics.hpp:446
su2double GetRoe_Dissipation(const su2double Dissipation_i, const su2double Dissipation_j, const su2double Sensor_i, const su2double Sensor_j, const CConfig *config) const
Calculate the central/upwind blending function for a face
Definition CNumerics.cpp:1512
void SetStochVar(unsigned short iDim, su2double val_stochvar_i, su2double val_stochvar_j)
Set the stochastic variables from Langevin equations (Stochastic Backscatter Model).
Definition CNumerics.hpp:920
const su2double * ScalarVar_i
Vector of scalar variables at point i.
Definition CNumerics.hpp:131
su2double Dissipation_ij
Definition CNumerics.hpp:182
virtual void ComputeResidual(su2double *val_resconv, su2double *val_resvisc, su2double **val_Jacobian_i, su2double **val_Jacobian_j, CConfig *config)
Definition CNumerics.hpp:1606
su2double Laminar_Viscosity_i
Laminar viscosity at point i.
Definition CNumerics.hpp:67
su2double Enthalpy_i
Enthalpy at point i.
Definition CNumerics.hpp:104
su2double lesMode_i
LES sensor at point i for hybrid RANS-LES methods.
Definition CNumerics.hpp:193
void SetVolume(su2double val_volume)
Set the value of the volume of the control volume.
Definition CNumerics.hpp:1092
su2double stochSource[3]
Source term for Langevin equations in Stochastic Backscatter Model.
Definition CNumerics.hpp:188
CMatrixView< const su2double > AuxVar_Grad_j
Gradient of an auxiliary variable at point i.
Definition CNumerics.hpp:158
su2double UnitNormal[MAXNDIM]
Unitary normal vector.
Definition CNumerics.hpp:169
void GetPMatrix_inv(const su2double &density, const su2double *velocity, const su2double &soundspeed, const su2double *normal, Matrix &inv_p_tensor) const
Computation of the matrix P^{-1}, this matrix diagonalize the conservative Jacobians in the form $P^{...
Definition CNumerics.hpp:1445
void SetSensor(su2double val_sensor_i, su2double val_sensor_j)
Set the value of the pressure sensor.
Definition CNumerics.hpp:1067
const su2double * Normal
Normal vector, its norm is the area of the face.
Definition CNumerics.hpp:168
bool energy_multicomponent
Flag for multicomponent and reacting flow
Definition CNumerics.hpp:205
su2double Gamma
Fluid's Gamma constant (ratio of specific heats).
Definition CNumerics.hpp:53
CMatrixView< const su2double > PrimVar_Grad_j
Gradient of primitive variables at point j.
Definition CNumerics.hpp:148
su2double * Proj_Flux_Tensor
Flux tensor projected in a direction.
Definition CNumerics.hpp:60
virtual su2double Get_DV_Val(unsigned short i_DV) const
A virtual member to retrieve the value of the design variables.
Definition CNumerics.hpp:1712
su2double lesMode_j
LES sensor at point j for hybrid RANS-LES methods.
Definition CNumerics.hpp:194
virtual void ComputeResidual(su2double *val_residual_i, su2double *val_residual_j, su2double **val_Jacobian_ii, su2double **val_Jacobian_ij, su2double **val_Jacobian_ji, su2double **val_Jacobian_jj, CConfig *config)
Definition CNumerics.hpp:1572
virtual void SetdPdU(su2double *val_dPdU_i, su2double *val_dPdU_j)
Set the pressure derivatives.
Definition CNumerics.hpp:1811
virtual ResidualType ComputeAxisymmetric(const CConfig *config)
Residual for source term integration.
Definition CNumerics.hpp:1636
static void ComputePerturbedRSM(size_t nDim, size_t uq_eigval_comp, bool uq_permute, su2double uq_delta_b, su2double uq_urlx, const Mat1 &velgrad, Scalar density, Scalar viscosity, Scalar turb_ke, Mat2 &MeanPerturbedRSM)
Perturb the Reynolds stress tensor based on parameters.
Definition CNumerics.hpp:581
su2double ComputeStochRelaxFactor(const CConfig *config)
Compute relaxation factor for stochastic source term in momentum equations (Stochastic Backscatter Mo...
Definition CNumerics.hpp:698
su2double roughness_j
Roughness of the wall nearest to point j.
Definition CNumerics.hpp:184
su2double stochVar_j[3]
Stochastic variables at point j for Stochastic Backscatter Model.
Definition CNumerics.hpp:191
su2double Prandtl_Turb
Turbulent Prandtl's number.
Definition CNumerics.hpp:57
void GetPMatrix_inv(su2double **val_invp_tensor, const su2double *val_density, const su2double *val_velocity, const su2double *val_soundspeed, const su2double *val_chi, const su2double *val_kappa, const su2double *val_normal) const
Computation of the matrix P^{-1}, this matrix diagonalize the conservative Jacobians in the form $P^{...
Definition CNumerics.cpp:453
virtual void SetMaterial_Properties(unsigned short iVal, su2double val_E, su2double val_Nu)
A virtual member to set the material properties.
Definition CNumerics.hpp:1726
su2double TimeStep
Time step useful in dual time method.
Definition CNumerics.hpp:171
void SetCoord(const su2double *val_coord_i, const su2double *val_coord_j)
Set coordinates of the points.
Definition CNumerics.hpp:977
const su2double * Und_Lapl_j
Undivided laplacians at point j.
Definition CNumerics.hpp:111
su2double dist_j
Distance of point j to the nearest wall.
Definition CNumerics.hpp:108
void SetScalarVar(const su2double *val_scalarvar_i, const su2double *val_scalarvar_j)
Set the value of the scalar variable.
Definition CNumerics.hpp:370
void SetConsVarGradient(CMatrixView< const su2double > val_consvar_grad)
Set the gradient of the conservative variables.
Definition CNumerics.hpp:331
bool bounded_scalar
Flag for bounded scalar problem.
Definition CNumerics.hpp:207
su2double stochVar_i[3]
Stochastic variables at point i for Stochastic Backscatter Model.
Definition CNumerics.hpp:190
su2double Sensor_i
Pressure sensor at point i.
Definition CNumerics.hpp:113
const su2double * S_i
Vector of secondary variables at point i.
Definition CNumerics.hpp:125
void InvMatrix3D(su2double **matrix, su2double **invMatrix)
Computate the inverse of a 3x3 matrix.
Definition CNumerics.cpp:847
const su2double * WindGust_j
Wind gust at point j.
Definition CNumerics.hpp:178
CMatrixView< const su2double > PsiVar_Grad_j
Gradient of adjoint variables at point j.
Definition CNumerics.hpp:150
su2double stochReynStress[3][3]
Stochastic contribution to Reynolds stress tensor for Backscatter Model.
Definition CNumerics.hpp:187
su2double GetIntermittencyEff() const
Get the value of the effective intermittency for the transition model.
Definition CNumerics.hpp:809
void SetAdjointVar(const su2double *val_psi_i, const su2double *val_psi_j)
Set the value of the adjoint variable.
Definition CNumerics.hpp:349
virtual void ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, CConfig *config)
Definition CNumerics.hpp:1616
const su2double * RadVar_Source
Source term from the radiative heat transfer equation.
Definition CNumerics.hpp:161
bool uq_permute
Flag for eigenvector permutation.
Definition CNumerics.hpp:201
void SetVorticity(const su2double *val_vorticity_i, const su2double *val_vorticity_j)
Set the value of the vorticity.
Definition CNumerics.hpp:271
CMatrixView< const su2double > PrimVar_Grad_i
Gradient of primitive variables at point i.
Definition CNumerics.hpp:147
static constexpr size_t MAXNDIM
Max number of space dimensions, used in some static arrays.
Definition CNumerics.hpp:50
const su2double * V_i
Vector of primitive variables at point i.
Definition CNumerics.hpp:122
virtual void SetdTdU(su2double *val_dTdU_i, su2double *val_dTdU_j)
Set the temperature derivatives.
Definition CNumerics.hpp:1818
su2double AvgVolume
Average of the control Volume around point i for vorticity confinement parameter correction.
Definition CNumerics.hpp:174
const su2double * TransVar_i
Vector of turbulent variables at point i.
Definition CNumerics.hpp:138
void SetEnthalpy(su2double val_enthalpy_i, su2double val_enthalpy_j)
Set the value of the enthalpy.
Definition CNumerics.hpp:1037
const su2double * Vorticity_j
Vorticity.
Definition CNumerics.hpp:179
void SetAuxVarGrad(CMatrixView< const su2double > val_auxvar_grad_i, CMatrixView< const su2double > val_auxvar_grad_j)
Set the gradient of the auxiliary variables.
Definition CNumerics.hpp:816
void SetBetaInc2(su2double val_betainc2_i, su2double val_betainc2_j)
Set the value of the beta for incompressible flows.
Definition CNumerics.hpp:1017
void SetThermalConductivity_ve(su2double val_thermal_conductivity_ve_i, su2double val_thermal_conductivity_ve_j)
Set the thermal conductivity (translational/rotational)
Definition CNumerics.hpp:876
void SetScalarVarGradient(CMatrixView< const su2double > val_scalarvar_grad_i, CMatrixView< const su2double > val_scalarvar_grad_j)
Set the gradient of the scalar variables.
Definition CNumerics.hpp:390
unsigned short Neighbor_j
Number of neighbors of the point j.
Definition CNumerics.hpp:167
virtual void ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, su2double **val_Jacobian_j, CConfig *config)
Definition CNumerics.hpp:1552
void GetJacInviscidLambda_fabs(const su2double *val_velocity, su2double val_soundspeed, const su2double *val_normal, su2double *val_Lambda_Vector) const
Computation of the projected inviscid lambda (eingenvalues).
Definition CNumerics.cpp:991
CMatrixView< const su2double > PsiVar_Grad_i
Gradient of adjoint variables at point i.
Definition CNumerics.hpp:149
void SetSpecificHeat(su2double val_specific_heat_i, su2double val_specific_heat_j)
Set the specifc heat c_p.
Definition CNumerics.hpp:887
su2double Gamma_Minus_One
Fluids's Gamma - 1.0 .
Definition CNumerics.hpp:54
void SetNormal(const su2double *val_normal)
Set the value of the normal vector to the face between two points.
Definition CNumerics.hpp:1086
virtual void Compute_Tangent_Matrix(CElement *element_container, const CConfig *config)
A virtual member to compute the tangent matrix in structural problems.
Definition CNumerics.hpp:1686
su2double DensityInc_i
Incompressible density at point i.
Definition CNumerics.hpp:92
virtual void ComputeResidual(su2double *val_resconv_i, su2double *val_resvisc_i, su2double *val_resconv_j, su2double *val_resvisc_j, su2double **val_Jacobian_ii, su2double **val_Jacobian_ij, su2double **val_Jacobian_ji, su2double **val_Jacobian_jj, CConfig *config)
Definition CNumerics.hpp:1591
su2double Density_j
Density at point j.
Definition CNumerics.hpp:90
void SetIntermittency(su2double val_intermittency_i)
Set the value of the intermittency for the LM model.
Definition CNumerics.hpp:801
SST_ParsedOptions sstParsedOptions
additional options for the SST turbulence model
Definition CNumerics.hpp:197
void SetDistance(su2double val_dist_i, su2double val_dist_j)
Set the value of the distance from the nearest wall.
Definition CNumerics.hpp:948
static void AddQCR(size_t nDim, const Mat1 &gradvel, Mat2 &tau, Scalar2 turb_fraction)
Add a correction using a Quadratic Constitutive Relation to the stress tensor.
Definition CNumerics.hpp:535
virtual void ComputeResidual_TransLM(su2double *val_residual, su2double **val_Jacobian_i, su2double **val_Jacobian_j, CConfig *config, su2double &gamma_sep)
Residual for transition problems.
Definition CNumerics.hpp:1626
su2double Dissipation_j
Dissipation.
Definition CNumerics.hpp:181
void ComputeStochReynStress(su2double density, su2double tke, const Vec &rndVec, su2double Cmag, Mat &stochReynStress)
Compute a random contribution to the Reynolds stress tensor (Stochastic Backscatter Model).
Definition CNumerics.hpp:674
virtual void ComputeResidual(su2double *val_residual, CConfig *config)
Compute the numerical residual.
Definition CNumerics.hpp:1543
su2double Cp_i
Cp at point i.
Definition CNumerics.hpp:74
static bool CheckResidualNaNs(bool implicit, int nVar, const ResidualType<> residual)
Check if residual constains a NaN value.
Definition CNumerics.hpp:1659
const su2double * WindGust_i
Wind gust at point i.
Definition CNumerics.hpp:177
void GetInviscidProjJac(const su2double *val_velocity, const su2double *val_energy, const su2double *val_normal, su2double val_scale, su2double **val_Proj_Jac_tensor) const
Compute the projection of the inviscid Jacobian matrices.
Definition CNumerics.cpp:175
virtual void SetEve(su2double *val_Eve_i, su2double *val_Eve_j)
Set the vib-elec energy.
Definition CNumerics.hpp:1832
su2double ** tau
Viscous stress tensor.
Definition CNumerics.hpp:61
const su2double * S_j
Vector of secondary variables at point j.
Definition CNumerics.hpp:126
su2double intermittency_i
intermittency at point i.
Definition CNumerics.hpp:84
unsigned short Neighbor_i
Number of neighbors of the point i.
Definition CNumerics.hpp:166
virtual void SetGamma(su2double val_Gamma_i, su2double val_Gamma_j)
Set the ratio of specific heats.
Definition CNumerics.hpp:1846
void SetTurbAdjointVar(const su2double *val_turbpsivar_i, const su2double *val_turbpsivar_j)
Set the value of the adjoint turbulent variable.
Definition CNumerics.hpp:420
void SetConsVarGradient(CMatrixView< const su2double > val_consvar_grad_i, CMatrixView< const su2double > val_consvar_grad_j)
Set the gradient of the conservative variables.
Definition CNumerics.hpp:321
CMatrixView< const su2double > ScalarVar_Grad_j
Gradient of scalar variables at point j.
Definition CNumerics.hpp:152
su2double vel2_inf
value of the square of freestream speed.
Definition CNumerics.hpp:175
su2double Eddy_Viscosity_j
Eddy viscosity at point j.
Definition CNumerics.hpp:78
void SetSbsInBoxSensor(int8_t val_sbsInBox_i)
Set the sensor to locate the box where the Stochastic Backscatter Model is active.
Definition CNumerics.hpp:929
void SetAvgVolume(su2double val_avgvolume)
Set the value of AvgVolume Variable.
Definition CNumerics.hpp:1098
su2double Laminar_Viscosity_j
Laminar viscosity at point j.
Definition CNumerics.hpp:68
void SetMassFlux(const su2double val_MassFlux)
SetMassFlux.
Definition CNumerics.hpp:1858
void SetIntermittencyEff(su2double val_intermittency_eff_i)
Set the value of the effective intermittency for the LM model.
Definition CNumerics.hpp:793
su2double uq_delta_b
Magnitude of perturbation.
Definition CNumerics.hpp:199
void GetLMatrix(su2double val_soundspeed, su2double val_density, su2double **L_Matrix) const
Computation of the matrix R.
Definition CNumerics.cpp:729
void GetInviscidProjFlux(const su2double *val_density, const su2double *val_velocity, const su2double *val_pressure, const su2double *val_enthalpy, const su2double *val_normal, su2double *val_Proj_Flux) const
Compute the projected inviscid flux vector.
Definition CNumerics.cpp:90
const su2double * TurbPsi_j
Vector of adjoint turbulent variables at point j.
Definition CNumerics.hpp:142
void SetHeatFluxDiffusion(su2double val_heatfluxdiffusion)
Set the heat flux due to enthalpy diffusion.
Definition CNumerics.hpp:837
su2double BetaInc2_i
Beta incompressible at point i.
Definition CNumerics.hpp:95
void GetPrimitive2Conservative(const su2double *val_Mean_PrimVar, const su2double *val_Mean_SecVar, su2double **val_Jac_PC) const
Mapping between primitives variables P and conservatives variables C.
Definition CNumerics.cpp:1365
void ComputeResJacobianGiles(CFluidModel *FluidModel, su2double pressure, su2double density, const su2double *turboVel, su2double alphaInBC, su2double gammaInBC, su2double **R_c, su2double **R_c_inv)
Computation of the flow Residual Jacobian Matrix for Non Reflecting BC.
Definition CNumerics.cpp:792
su2double Minf
Free stream Mach number .
Definition CNumerics.hpp:55
void SetEddyViscosity(su2double val_eddy_viscosity_i, su2double val_eddy_viscosity_j)
Set the eddy viscosity.
Definition CNumerics.hpp:898
void SetTransVarGradient(CMatrixView< const su2double > val_transvar_grad_i, CMatrixView< const su2double > val_transvar_grad_j)
Set the gradient of the turbulent variables.
Definition CNumerics.hpp:401
void SetSoundSpeed(su2double val_soundspeed_i, su2double val_soundspeed_j)
Set the value of the sound speed.
Definition CNumerics.hpp:1027
su2double dist_i
Distance of point i to the nearest wall.
Definition CNumerics.hpp:107
void SetTimeStep(su2double val_timestep)
Set the time step.
Definition CNumerics.hpp:259
su2double JacHeatFluxDiffusion
Heat flux jacobian due to enthalpy diffusion for multicomponent.
Definition CNumerics.hpp:136
su2double Pressure_i
Pressure at point i.
Definition CNumerics.hpp:86
const su2double * Psi_i
Vector of adjoint variables at point i.
Definition CNumerics.hpp:128
su2double HeatFluxDiffusion
Heat flux due to enthalpy diffusion for multicomponent.
Definition CNumerics.hpp:134
virtual void Compute_NodalStress_Term(CElement *element_container, const CConfig *config)
A virtual member to compute the nodal stress term in non-linear structural problems.
Definition CNumerics.hpp:1692
virtual void SetRadVar(const su2double *val_radvar_i, const su2double *val_radvar_j)
Set the value of the radiation variable.
Definition CNumerics.hpp:1790
su2double Sensor_j
Pressure sensor at point j.
Definition CNumerics.hpp:114
const su2double * Und_Lapl_i
Undivided laplacians at point i.
Definition CNumerics.hpp:110
unsigned short nDim
Definition CNumerics.hpp:52
const su2double * GridVel_j
Grid velocity at point j.
Definition CNumerics.hpp:117
su2double Thermal_Conductivity_j
Thermal conductivity at point j.
Definition CNumerics.hpp:71
void GetInviscidIncProjFlux(const su2double *val_density, const su2double *val_velocity, const su2double *val_pressure, const su2double *val_betainc2, const su2double *val_enthalpy, const su2double *val_normal, su2double *val_Proj_Flux) const
Compute the projected inviscid flux vector for incompresible simulations.
Definition CNumerics.cpp:143
su2double intermittency_eff_i
effective intermittency at point i.
Definition CNumerics.hpp:83
virtual void SetMeshElasticProperties(unsigned long iElem, su2double val_E)
Set the element-based local Young's modulus in mesh problems.
Definition CNumerics.hpp:1699
void SetPressure(su2double val_pressure_i, su2double val_pressure_j)
Set the value of the pressure.
Definition CNumerics.hpp:997
CNumerics(void)
Constructor of the class.
Definition CNumerics.cpp:34
void SetTurbKineticEnergy(su2double val_turb_ke_i, su2double val_turb_ke_j)
Set the turbulent kinetic energy.
Definition CNumerics.hpp:909
void SetDissipation(su2double diss_i, su2double diss_j)
Sets the values of the roe dissipation.
Definition CNumerics.hpp:1105
const su2double * TransVar_j
Vector of turbulent variables at point j.
Definition CNumerics.hpp:139
virtual su2double GetGammaBC(void) const
A virtual member.
Definition CNumerics.hpp:1680
void GetAdjViscousFlux_Jac(su2double Pressure_i, su2double Pressure_j, su2double Density_i, su2double Density_j, su2double ViscDens_i, su2double ViscDens_j, const su2double *Velocity_i, const su2double *Velocity_j, su2double sq_vel_i, su2double sq_vel_j, su2double XiDens_i, su2double XiDens_j, su2double **Mean_GradPhi, const su2double *Mean_GradPsiE, su2double dPhiE_dn, const su2double *Normal, const su2double *Edge_Vector, su2double dist_ij_2, su2double *val_residual_i, su2double *val_residual_j, su2double **val_Jacobian_ii, su2double **val_Jacobian_ij, su2double **val_Jacobian_ji, su2double **val_Jacobian_jj, bool implicit) const
Compute viscous residual and jacobian.
Definition CNumerics.cpp:1013
int8_t sbsInBox_i
Sensor to assess if point i lies inside the box where the Stochastic Backscatter Model is active.
Definition CNumerics.hpp:196
void SetTransVar(const su2double *val_transvar_i, const su2double *val_transvar_j)
Set the value of the turbulent variable.
Definition CNumerics.hpp:380
su2double Lambda_i
Spectral radius at point i.
Definition CNumerics.hpp:98
su2double LocalGridLength_i
Local grid length at point i.
Definition CNumerics.hpp:160
void GetPrecondJacobian(su2double Beta2, su2double r_hat, su2double s_hat, su2double t_hat, su2double rB2a2, const su2double *val_Lambda, const su2double *val_normal, su2double **val_absPeJac) const
Computation of the matrix Td, this matrix diagonalize the preconditioned conservative Jacobians in th...
Definition CNumerics.cpp:924
const su2double delta[3][3]
Identity matrix.
Definition CNumerics.hpp:62
virtual void SetRadVarGradient(CMatrixView< const su2double > val_radvar_grad_i, CMatrixView< const su2double > val_radvar_grad_j)
Set the gradient of the radiation variables.
Definition CNumerics.hpp:1797
const su2double * V_j
Vector of primitive variables at point j.
Definition CNumerics.hpp:123
void GetPreconditionedProjJac(const su2double *val_density, const su2double *val_velocity, const su2double *val_betainc2, const su2double *val_normal, su2double **val_Proj_Jac_Tensor) const
Compute the projection of the preconditioned inviscid Jacobian matrices.
Definition CNumerics.cpp:347
const su2double * TurbPsi_i
Vector of adjoint turbulent variables at point i.
Definition CNumerics.hpp:141
su2double turb_ke_j
Turbulent kinetic energy at point j.
Definition CNumerics.hpp:81
su2double Enthalpy_j
Enthalpy at point j.
Definition CNumerics.hpp:105
void SetLocalGridLength(const su2double val_localGridLength_i)
Set the value of the turbulent variable.
Definition CNumerics.hpp:411
virtual ResidualType ComputeVibRelaxation(const CConfig *config)
Definition CNumerics.hpp:1643
virtual void SetCvve(su2double *val_Cvve_i, su2double *val_Cvve_j)
Set the vib-elec specific heat.
Definition CNumerics.hpp:1839
su2double uq_urlx
Under-relaxation factor for numerical stability.
Definition CNumerics.hpp:200
unsigned short Eig_Val_Comp
Component towards which perturbation is perfromed.
Definition CNumerics.hpp:198
const su2double * U_i
Vector of conservative variables at point i.
Definition CNumerics.hpp:119
virtual void Compute_Body_Forces(CElement *element_container, const CConfig *config)
A virtual member to compute the residual component due to body forces.
Definition CNumerics.hpp:1746
void GetPMatrix(const su2double &density, const su2double *velocity, const su2double &soundspeed, const su2double *normal, Matrix &p_tensor) const
Computation of the matrix P, this matrix diagonalize the conservative Jacobians in the form $P^{-1}(A...
Definition CNumerics.hpp:1268
void SetStrainMag(su2double val_strainmag_i, su2double val_strainmag_j)
Set the value of the rate of strain magnitude.
Definition CNumerics.hpp:281
const su2double * U_j
Vector of conservative variables at point j.
Definition CNumerics.hpp:120
su2double turb_ke_i
Turbulent kinetic energy at point i.
Definition CNumerics.hpp:80
void SetDiffusionCoeff(const su2double *val_diffusioncoeff_i, const su2double *val_diffusioncoeff_j)
Set the diffusion coefficient.
Definition CNumerics.hpp:827
const su2double * Coord_i
Cartesians coordinates of point i.
Definition CNumerics.hpp:163
virtual void SetCrossDiff(su2double val_CDkw_i)
Set the value of the cross diffusion for the SST model.
Definition CNumerics.hpp:787
su2double Thermal_Conductivity_i
Thermal conductivity at point i.
Definition CNumerics.hpp:70
virtual void Compute_Mass_Matrix(CElement *element_container, const CConfig *config)
A virtual member to compute the mass matrix.
Definition CNumerics.hpp:1740
void SetStochSource(su2double val_stoch_source, unsigned short iDim)
Set the stochastic source term for the Langevin equations (Backscatter Model).
Definition CNumerics.hpp:958
virtual void SetF2blending(su2double val_F2_i)
Set the value of the second blending function.
Definition CNumerics.hpp:781
#define NEVERINLINE
Definition code_config.hpp:50
#define FORCEINLINE
Definition code_config.hpp:44
passivedouble su2double
Definition code_config.hpp:181
FORCEINLINE ARRAY_T exp(const ARRAY_T &x)
Definition special_vectorization.hpp:156
FORCEINLINE ARRAY_T sqrt(const ARRAY_T &x)
Definition special_vectorization.hpp:116
FORCEINLINE ARRAY_T pow(const ARRAY_T &a, const ARRAY_T &b)
Definition special_vectorization.hpp:179
passivedouble GetValue(const su2double &data)
Get the (primitive) value of the datatype (needs to be specialized for active types).
Definition datatype_structure.hpp:113
constexpr passivedouble EPS
Error scale.
Definition option_structure.hpp:100
Return type used in some "ComputeResidual" overloads to give a const-view of the internally stored fl...
Definition CNumerics.hpp:218
const Matrix_t jacobian_i
Definition CNumerics.hpp:220
const Vector_t residual
Definition CNumerics.hpp:219
su2double operator[](unsigned long idx) const
Definition CNumerics.hpp:234
const Matrix_t jacobian_j
Definition CNumerics.hpp:221
ResidualType(const Vector_t &res, const Matrix_t &jac_i, const Matrix_t &jac_j)
Definition CNumerics.hpp:225
Structure containing parsed SST options.
Definition option_structure.hpp:1136
Container to hold Variables for streamwise Periodic flow as they are often used together in places.
Definition option_structure.hpp:3003