Skip to content

Commit bc54af6

Browse files
authored
Merge pull request #3205 from boutproject/par-bc-noop
applyParallelBoundary can be a no-op for non-fci (next)
2 parents a090c71 + 2f8384c commit bc54af6

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

src/field/field3d.cxx

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,12 @@ void Field3D::applyParallelBoundary() {
478478
TRACE("Field3D::applyParallelBoundary()");
479479

480480
checkData(*this);
481-
ASSERT1(hasParallelSlices());
481+
if (isFci()) {
482+
ASSERT1(hasParallelSlices());
483+
}
484+
if (!hasParallelSlices()) {
485+
return;
486+
}
482487

483488
// Apply boundary to this field
484489
for (const auto& bndry : getBoundaryOpPars()) {
@@ -491,7 +496,12 @@ void Field3D::applyParallelBoundary(BoutReal t) {
491496
TRACE("Field3D::applyParallelBoundary(t)");
492497

493498
checkData(*this);
494-
ASSERT1(hasParallelSlices());
499+
if (isFci()) {
500+
ASSERT1(hasParallelSlices());
501+
}
502+
if (!hasParallelSlices()) {
503+
return;
504+
}
495505

496506
// Apply boundary to this field
497507
for (const auto& bndry : getBoundaryOpPars()) {
@@ -504,7 +514,12 @@ void Field3D::applyParallelBoundary(const std::string& condition) {
504514
TRACE("Field3D::applyParallelBoundary(condition)");
505515

506516
checkData(*this);
507-
ASSERT1(hasParallelSlices());
517+
if (isFci()) {
518+
ASSERT1(hasParallelSlices());
519+
}
520+
if (!hasParallelSlices()) {
521+
return;
522+
}
508523

509524
/// Get the boundary factory (singleton)
510525
BoundaryFactory* bfact = BoundaryFactory::getInstance();
@@ -523,7 +538,12 @@ void Field3D::applyParallelBoundary(const std::string& region,
523538
TRACE("Field3D::applyParallelBoundary(region, condition)");
524539

525540
checkData(*this);
526-
ASSERT1(hasParallelSlices());
541+
if (isFci()) {
542+
ASSERT1(hasParallelSlices());
543+
}
544+
if (!hasParallelSlices()) {
545+
return;
546+
}
527547

528548
/// Get the boundary factory (singleton)
529549
BoundaryFactory* bfact = BoundaryFactory::getInstance();
@@ -545,7 +565,12 @@ void Field3D::applyParallelBoundary(const std::string& region,
545565
TRACE("Field3D::applyParallelBoundary(region, condition, f)");
546566

547567
checkData(*this);
548-
ASSERT1(hasParallelSlices());
568+
if (isFci()) {
569+
ASSERT1(hasParallelSlices());
570+
}
571+
if (!hasParallelSlices()) {
572+
return;
573+
}
549574

550575
/// Get the boundary factory (singleton)
551576
BoundaryFactory* bfact = BoundaryFactory::getInstance();

0 commit comments

Comments
 (0)