diff --git a/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.cpp b/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.cpp index 515ae68f484ca3eaa37c9887101863e59be90e8c..d78dbf8b46ee0d4980697404d032ba3771420131 100644 --- a/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.cpp @@ -173,24 +173,23 @@ void WriteBoundaryConditionsSimulationObserver::addDataGeo(SPtr<Block3D> block) for (int ix2 = minX2; ix2 <= maxX2; ix2++) { for (int ix1 = minX1; ix1 <= maxX1; ix1++) { if (!bcArray->isUndefined(ix1, ix2, ix3)) { - auto bc = bcArray->getBC(ix1, ix2, ix3); - if (!bc) - continue; + // int index = 0; nodeNumbers(ix1, ix2, ix3) = nr++; nodes.push_back(makeUbTuple(float(val<1>(org) - val<1>(nodeOffset) + ix1 * dx), float(val<2>(org) - val<2>(nodeOffset) + ix2 * dx), float(val<3>(org) - val<3>(nodeOffset) + ix3 * dx))); + auto bc = bcArray->getBC(ix1, ix2, ix3); if (!bcArray->hasBC(ix1, ix2, ix3)) { data[0].push_back(c0o1); - } else if (bc->hasNoSlipBoundary()) + } else if (bc && bc->hasNoSlipBoundary()) data[0].push_back(c1o1); - else if (bc->hasVelocityBoundary()) + else if (bc && bc->hasVelocityBoundary()) data[0].push_back(c2o1); - else if (bc->hasDensityBoundary()) + else if (bc && bc->hasDensityBoundary()) data[0].push_back(c3o1); - else if (bc->hasSlipBoundary()) + else if (bc && bc->hasSlipBoundary()) data[0].push_back(c4o1); // else // data[0].push_back(5.0);