Skip to content

Commit 0a3fcaf

Browse files
committed
Use ND Massdiffusivity. Divide by VelRef/lengthRef.
Following the laminar dynamic viscosity (for the mass Diff of course without the densityRef)
1 parent 156d0c5 commit 0a3fcaf

3 files changed

Lines changed: 24 additions & 10 deletions

File tree

SU2_CFD/src/solvers/CEulerSolver.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,9 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes
10301030
Omega_FreeStreamND = Density_FreeStreamND*Tke_FreeStreamND/(Viscosity_FreeStreamND*config->GetTurb2LamViscRatio_FreeStream());
10311031
config->SetOmega_FreeStreamND(Omega_FreeStreamND);
10321032

1033+
const su2double MassDiffusivityND = config->GetDiffusivity_Constant() / (Velocity_Ref * Length_Ref);
1034+
config->SetDiffusivity_ConstantND(MassDiffusivityND);
1035+
10331036
/*--- Initialize the dimensionless Fluid Model that will be used to solve the dimensionless problem ---*/
10341037

10351038
/*--- Auxilary (dimensional) FluidModel no longer needed. ---*/
@@ -1289,6 +1292,12 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes
12891292
NonDimTable << "Spec. Dissipation" << config->GetOmega_FreeStream() << config->GetOmega_FreeStream()/config->GetOmega_FreeStreamND() << Unit.str() << config->GetOmega_FreeStreamND();
12901293
Unit.str("");
12911294
}
1295+
if (config->GetKind_Species_Model() != SPECIES_MODEL::NONE) {
1296+
if (config->GetSystemMeasurements() == SI) Unit << "m^2/s";
1297+
else if (config->GetSystemMeasurements() == US) Unit << "ft^2/s";
1298+
NonDimTable << "Mass Diffusivity" << config->GetDiffusivity_Constant() << config->GetDiffusivity_Constant()/config->GetDiffusivity_ConstantND() << Unit.str() << config->GetDiffusivity_ConstantND();
1299+
Unit.str("");
1300+
}
12921301
}
12931302

12941303
NonDimTable.PrintFooter();

SU2_CFD/src/solvers/CIncEulerSolver.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,10 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i
430430
Omega_FreeStreamND = Density_FreeStreamND*Tke_FreeStreamND/(Viscosity_FreeStreamND*config->GetTurb2LamViscRatio_FreeStream());
431431
config->SetOmega_FreeStreamND(Omega_FreeStreamND);
432432

433+
const su2double MassDiffusivityND = config->GetDiffusivity_Constant() / (Velocity_Ref * Length_Ref);
434+
config->SetDiffusivity_ConstantND(MassDiffusivityND);
435+
436+
433437
/*--- Delete the original (dimensional) FluidModel object. No fluid is used for inscompressible cases. ---*/
434438

435439
delete auxFluidModel;
@@ -790,6 +794,12 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i
790794
NonDimTable << "Spec. Dissipation" << config->GetOmega_FreeStream() << config->GetOmega_FreeStream()/config->GetOmega_FreeStreamND() << Unit.str() << config->GetOmega_FreeStreamND();
791795
Unit.str("");
792796
}
797+
if (config->GetKind_Species_Model() != SPECIES_MODEL::NONE) {
798+
if (config->GetSystemMeasurements() == SI) Unit << "m^2/s";
799+
else if (config->GetSystemMeasurements() == US) Unit << "ft^2/s";
800+
NonDimTable << "Mass Diffusivity" << config->GetDiffusivity_Constant() << config->GetDiffusivity_Constant()/config->GetDiffusivity_ConstantND() << Unit.str() << config->GetDiffusivity_ConstantND();
801+
Unit.str("");
802+
}
793803
}
794804

795805
NonDimTable.PrintFooter();

SU2_CFD/src/solvers/CSpeciesSolver.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,6 @@ CSpeciesSolver::CSpeciesSolver(CGeometry* geometry, CConfig* config, unsigned sh
110110
}
111111
}
112112

113-
/*--- Set up fluid model for the diffusivity ---*/
114-
115-
su2double Diffusivity_Ref = 1.0;
116-
su2double DiffusivityND = config->GetDiffusivity_Constant() / Diffusivity_Ref;
117-
config->SetDiffusivity_ConstantND(DiffusivityND);
118-
119113
/*--- Scalar variable state at the far-field. ---*/
120114

121115
for (auto iVar = 0u; iVar < nVar; iVar++) {
@@ -127,12 +121,12 @@ CSpeciesSolver::CSpeciesSolver(CGeometry* geometry, CConfig* config, unsigned sh
127121
nodes = new CSpeciesVariable(Species_Inf, nPoint, nDim, nVar, config);
128122
SetBaseClassPointerToNodes();
129123

130-
/*--- Initialize the mass diffusivity ---*/
124+
/*--- Initialize the mass diffusivity. Nondimensionalization done in the flow solver. ---*/
131125
SU2_OMP_FOR_STAT(omp_chunk_size)
132126
for (unsigned long iPoint = 0; iPoint < nPoint; iPoint++) {
133127
for (auto iVar = 0u; iVar < nVar; iVar++) {
134-
const auto massDiffusivity = config->GetDiffusivity_Constant(); // TK this should be ND
135-
nodes->SetDiffusivity(iPoint, massDiffusivity, iVar);
128+
const auto MassDiffusivity = config->GetDiffusivity_ConstantND();
129+
nodes->SetDiffusivity(iPoint, MassDiffusivity, iVar);
136130
}
137131
}
138132
END_SU2_OMP_FOR
@@ -309,9 +303,10 @@ void CSpeciesSolver::Preprocessing(CGeometry* geometry, CSolver** solver_contain
309303
unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem,
310304
bool Output) {
311305

306+
/*--- Set the laminar mass Diffusivity for the species solver. ---*/
312307
SU2_OMP_FOR_STAT(omp_chunk_size)
313308
for (auto iPoint = 0u; iPoint < nPoint; iPoint++) {
314-
const su2double mass_diffusivity = config->GetDiffusivity_Constant(); //TK:: ND
309+
const su2double mass_diffusivity = config->GetDiffusivity_ConstantND();
315310

316311
for (auto iVar = 0u; iVar < nVar; iVar++) {
317312
nodes->SetDiffusivity(iPoint, mass_diffusivity, iVar);

0 commit comments

Comments
 (0)