diff --git a/src/field/field3d.cxx b/src/field/field3d.cxx index 70569027c3..a124141634 100644 --- a/src/field/field3d.cxx +++ b/src/field/field3d.cxx @@ -544,7 +544,12 @@ void Field3D::applyParallelBoundary() { TRACE("Field3D::applyParallelBoundary()"); checkData(*this); - ASSERT1(hasParallelSlices()); + if (isFci()) { + ASSERT1(hasParallelSlices()); + } + if (!hasParallelSlices()) { + return; + } // Apply boundary to this field for (const auto& bndry : getBoundaryOpPars()) { @@ -557,7 +562,12 @@ void Field3D::applyParallelBoundary(BoutReal t) { TRACE("Field3D::applyParallelBoundary(t)"); checkData(*this); - ASSERT1(hasParallelSlices()); + if (isFci()) { + ASSERT1(hasParallelSlices()); + } + if (!hasParallelSlices()) { + return; + } // Apply boundary to this field for (const auto& bndry : getBoundaryOpPars()) { @@ -570,7 +580,12 @@ void Field3D::applyParallelBoundary(const std::string& condition) { TRACE("Field3D::applyParallelBoundary(condition)"); checkData(*this); - ASSERT1(hasParallelSlices()); + if (isFci()) { + ASSERT1(hasParallelSlices()); + } + if (!hasParallelSlices()) { + return; + } /// Get the boundary factory (singleton) BoundaryFactory* bfact = BoundaryFactory::getInstance(); @@ -589,7 +604,12 @@ void Field3D::applyParallelBoundary(const std::string& region, TRACE("Field3D::applyParallelBoundary(region, condition)"); checkData(*this); - ASSERT1(hasParallelSlices()); + if (isFci()) { + ASSERT1(hasParallelSlices()); + } + if (!hasParallelSlices()) { + return; + } /// Get the boundary factory (singleton) BoundaryFactory* bfact = BoundaryFactory::getInstance(); @@ -611,7 +631,12 @@ void Field3D::applyParallelBoundary(const std::string& region, TRACE("Field3D::applyParallelBoundary(region, condition, f)"); checkData(*this); - ASSERT1(hasParallelSlices()); + if (isFci()) { + ASSERT1(hasParallelSlices()); + } + if (!hasParallelSlices()) { + return; + } /// Get the boundary factory (singleton) BoundaryFactory* bfact = BoundaryFactory::getInstance();