@@ -420,15 +420,15 @@ void CSpeciesSolver::BC_Inlet(CGeometry* geometry, CSolver** solver_container, C
420420
421421
422422void CSpeciesSolver::BC_Isothermal_Wall (CGeometry* geometry, CSolver** solver_container,
423- CNumerics* conv_numerics, CNumerics* visc_numerics, CConfig* config,
424- unsigned short val_marker) {
425- BC_Wall_Generic (geometry, solver_container, conv_numerics, visc_numerics, config, val_marker);
423+ CNumerics* conv_numerics, CNumerics* visc_numerics,
424+ CConfig* config, unsigned short val_marker) {
425+ BC_Wall_Generic (geometry, solver_container, config, val_marker);
426426}
427427
428428void CSpeciesSolver::BC_HeatFlux_Wall (CGeometry* geometry, CSolver** solver_container,
429- CNumerics* conv_numerics, CNumerics* visc_numerics, CConfig* config,
430- unsigned short val_marker) {
431- BC_Wall_Generic (geometry, solver_container, conv_numerics, visc_numerics, config, val_marker, false );
429+ CNumerics* conv_numerics, CNumerics* visc_numerics,
430+ CConfig* config, unsigned short val_marker) {
431+ BC_Wall_Generic (geometry, solver_container, config, val_marker);
432432}
433433
434434void CSpeciesSolver::BC_Wall_Generic (CGeometry* geometry, CSolver** solver_container,
@@ -438,48 +438,49 @@ void CSpeciesSolver::BC_Wall_Generic(CGeometry* geometry, CSolver** solver_conta
438438
439439 string Marker_Tag = config->GetMarker_All_TagBound (val_marker);
440440
441- SU2_OMP_FOR_DYN (OMP_MIN_SIZE)
442- for (auto iVertex = 0u ; iVertex < geometry->nVertex [val_marker]; iVertex++) {
441+ for (auto iVar = 0u ; iVar < nVar; iVar++) {
443442
444- const auto iPoint = geometry->vertex [val_marker][iVertex]->GetNode ();
443+ // Get wall species boundary condition type and value for this marker and species
444+ const su2double WallSpeciesValue = config->GetWall_SpeciesVal (Marker_Tag, iVar);
445+ const WALL_SPECIES_TYPE wallspeciestype = config->GetWall_SpeciesType (Marker_Tag, iVar);
445446
446- if (!geometry->nodes ->GetDomain (iPoint)) continue ;
447+ SU2_OMP_FOR_DYN (OMP_MIN_SIZE)
448+ for (auto iVertex = 0u ; iVertex < geometry->nVertex [val_marker]; iVertex++) {
447449
448- const auto Normal = geometry->vertex [val_marker][iVertex]->GetNormal ();
450+ const auto iPoint = geometry->vertex [val_marker][iVertex]->GetNode ();
449451
450- su2double Area = GeometryToolbox::Norm (nDim, Normal) ;
452+ if (!geometry-> nodes -> GetDomain (iPoint)) continue ;
451453
452- for ( auto iVar = 0u ; iVar < nVar; iVar++) {
454+ const auto Normal = geometry-> vertex [val_marker][iVertex]-> GetNormal ();
453455
454- // Get wall species boundary condition type and value for this marker and species
455- su2double WallSpeciesValue = config->GetWall_SpeciesVal (Marker_Tag, iVar);
456- unsigned short wallspeciestype = config->GetWall_SpeciesType (Marker_Tag, iVar);
456+ su2double Area = GeometryToolbox::Norm (nDim, Normal);
457457
458458 su2double WallSpecies = WallSpeciesValue;
459459
460460 /* --- Get the scalar values from the python wrapper. ---*/
461461 if (py_custom) {
462- WallSpecies = GetCustomBoundaryScalar ( val_marker, iVertex, iVar);
462+ WallSpecies = CustomBoundaryScalar[ val_marker]( iVertex,iVar);
463463 }
464464
465- switch (wallspeciestype) {
466- case WALL_SPECIES_TYPE::WALL_SPECIES_FLUX:
467- // Flux Boundary condition
468- LinSysRes (iPoint, iVar) -= WallSpecies * Area;
469- break ;
470- case WALL_SPECIES_TYPE::WALL_SPECIES_VALUE:
471- // Dirichlet Strong Boundary Condition
472- nodes->SetSolution (iPoint, iVar, WallSpecies);
473- nodes->SetSolution_Old (iPoint, iVar, WallSpecies);
474- LinSysRes (iPoint, iVar) = 0.0 ;
475- if (implicit) {
476- unsigned long total_index = iPoint * nVar + iVar;
477- Jacobian.DeleteValsRowi (total_index);
478- }
479- break ;
465+ switch (wallspeciestype) {
466+ case WALL_SPECIES_TYPE::WALL_SPECIES_FLUX:
467+ // Flux Boundary condition
468+ LinSysRes (iPoint, iVar) -= WallSpecies * Area;
469+ break ;
470+ case WALL_SPECIES_TYPE::WALL_SPECIES_VALUE:
471+ // Dirichlet Strong Boundary Condition
472+ nodes->SetSolution (iPoint, iVar, WallSpecies);
473+ nodes->SetSolution_Old (iPoint, iVar, WallSpecies);
474+ LinSysRes (iPoint, iVar) = 0.0 ;
475+ if (implicit) {
476+ unsigned long total_index = iPoint * nVar + iVar;
477+ Jacobian.DeleteValsRowi (total_index);
478+ }
479+ break ;
480+ }
480481 }
482+ END_SU2_OMP_FOR
481483 }
482- END_SU2_OMP_FOR
483484}
484485
485486
0 commit comments