@@ -910,7 +910,8 @@ void CConfig::SetPointersNull(void) {
910910 ActDisk_ReverseMassFlow = nullptr ; Surface_MassFlow = nullptr ; Surface_Mach = nullptr ;
911911 Surface_Temperature = nullptr ; Surface_Pressure = nullptr ; Surface_Density = nullptr ; Surface_Enthalpy = nullptr ;
912912 Surface_NormalVelocity = nullptr ; Surface_TotalTemperature = nullptr ; Surface_TotalPressure = nullptr ; Surface_PressureDrop = nullptr ;
913- Surface_DC60 = nullptr ; Surface_IDC = nullptr ; Surface_Species_Variance = nullptr ;
913+ Surface_DC60 = nullptr ; Surface_IDC = nullptr ;
914+ Surface_Species_Variance = nullptr ; Surface_Species_0 = nullptr ;
914915
915916 Outlet_MassFlow = nullptr ; Outlet_Density = nullptr ; Outlet_Area = nullptr ;
916917
@@ -3530,6 +3531,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i
35303531 case SURFACE_MOM_DISTORTION:
35313532 case SURFACE_SECOND_OVER_UNIFORM:
35323533 case SURFACE_PRESSURE_DROP:
3534+ case SURFACE_SPECIES_0:
35333535 case SURFACE_SPECIES_VARIANCE:
35343536 case CUSTOM_OBJFUNC:
35353537 if (Kind_ObjFunc[iObj] != Obj_0) {
@@ -3538,7 +3540,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i
35383540 string (" INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, THRUST_COEFFICIENT, TORQUE_COEFFICIENT\n " )+
35393541 string (" FIGURE_OF_MERIT, SURFACE_TOTAL_PRESSURE, SURFACE_STATIC_PRESSURE, SURFACE_MASSFLOW\n " )+
35403542 string (" SURFACE_UNIFORMITY, SURFACE_SECONDARY, SURFACE_MOM_DISTORTION, SURFACE_SECOND_OVER_UNIFORM\n " )+
3541- string (" SURFACE_PRESSURE_DROP, SURFACE_STATIC_TEMPERATURE, SURFACE_SPECIES_VARIANCE, CUSTOM_OBJFUNC.\n " ), CURRENT_FUNCTION);
3543+ string (" SURFACE_PRESSURE_DROP, SURFACE_STATIC_TEMPERATURE, SURFACE_SPECIES_0, SURFACE_SPECIES_VARIANCE, CUSTOM_OBJFUNC.\n " ), CURRENT_FUNCTION);
35423544 }
35433545 break ;
35443546 default :
@@ -5160,6 +5162,15 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i
51605162 Kind_Solver != MAIN_SOLVER::DISC_ADJ_RANS)
51615163 SU2_MPI::Error (" Species transport currently only avaialble for compressible and incompressible flow." , CURRENT_FUNCTION);
51625164
5165+ /* --- Species specific OF currently can only handle one entry in Marker_Analyze. ---*/
5166+ for (unsigned short iObj = 0 ; iObj < nObj; iObj++) {
5167+ if ((Kind_ObjFunc[iObj] == SURFACE_SPECIES_0 ||
5168+ Kind_ObjFunc[iObj] == SURFACE_SPECIES_VARIANCE) &&
5169+ nMarker_Analyze > 1 ) {
5170+ SU2_MPI::Error (" SURFACE_SPECIES_0 and SURFACE_SPECIES_VARIANCE currently can only handle one entry to MARKER_ANALYZE." , CURRENT_FUNCTION);
5171+ }
5172+ }
5173+
51635174 // For now, do not allow axisymmetric simulations
51645175 if (Axisymmetric) SU2_MPI::Error (" Species transport currently not possible with axissymmetric flow." , CURRENT_FUNCTION);
51655176
@@ -5335,6 +5346,7 @@ void CConfig::SetMarkers(SU2_COMPONENT val_software) {
53355346 Surface_TotalTemperature = new su2double[nMarker_Analyze] ();
53365347 Surface_TotalPressure = new su2double[nMarker_Analyze] ();
53375348 Surface_PressureDrop = new su2double[nMarker_Analyze] ();
5349+ Surface_Species_0 = new su2double[nMarker_Analyze] ();
53385350 Surface_Species_Variance = new su2double[nMarker_Analyze] ();
53395351 Surface_DC60 = new su2double[nMarker_Analyze] ();
53405352 Surface_IDC = new su2double[nMarker_Analyze] ();
@@ -7878,6 +7890,7 @@ CConfig::~CConfig(void) {
78787890 delete[] Surface_TotalTemperature;
78797891 delete[] Surface_TotalPressure;
78807892 delete[] Surface_PressureDrop;
7893+ delete[] Surface_Species_0;
78817894 delete[] Surface_Species_Variance;
78827895 delete[] Surface_DC60;
78837896 delete[] Surface_IDC;
@@ -8225,6 +8238,7 @@ string CConfig::GetObjFunc_Extension(string val_filename) const {
82258238 case SURFACE_MOM_DISTORTION: AdjExt = " _distort" ; break ;
82268239 case SURFACE_SECOND_OVER_UNIFORM: AdjExt = " _sou" ; break ;
82278240 case SURFACE_PRESSURE_DROP: AdjExt = " _dp" ; break ;
8241+ case SURFACE_SPECIES_0: AdjExt = " _avgspec0" ; break ;
82288242 case SURFACE_SPECIES_VARIANCE: AdjExt = " _specvar" ; break ;
82298243 case SURFACE_MACH: AdjExt = " _mach" ; break ;
82308244 case CUSTOM_OBJFUNC: AdjExt = " _custom" ; break ;
0 commit comments