diff --git a/Source/FieldSolver/ImplicitSolvers/ImplicitSolver.cpp b/Source/FieldSolver/ImplicitSolvers/ImplicitSolver.cpp index ab064772922..0a934693710 100644 --- a/Source/FieldSolver/ImplicitSolvers/ImplicitSolver.cpp +++ b/Source/FieldSolver/ImplicitSolvers/ImplicitSolver.cpp @@ -68,7 +68,12 @@ Array ImplicitSolver::convertFieldBCToLinOpBC (const WARPX_ABORT_WITH_MESSAGE("LinOpBCType not set for this FieldBoundaryType"); } else if (a_fbc[i] == FieldBoundaryType::Neumann) { // Also for FieldBoundaryType::PMC - lbc[i] = LinOpBCType::Neumann; + lbc[i] = LinOpBCType::symmetry; + } else if (a_fbc[i] == FieldBoundaryType::PECInsulator) { + ablastr::warn_manager::WMRecordWarning("Implicit solver", + "With PECInsulator, in the Curl-Curl preconditioner Neumann boundary will be used since the full boundary is not yet implemented.", + ablastr::warn_manager::WarnPriority::medium); + lbc[i] = LinOpBCType::symmetry; } else if (a_fbc[i] == FieldBoundaryType::None) { WARPX_ABORT_WITH_MESSAGE("LinOpBCType not set for this FieldBoundaryType"); } else if (a_fbc[i] == FieldBoundaryType::Open) {