Function opensn::TranslateBCs

Function Documentation

std::map<uint64_t, BoundaryCondition> opensn::TranslateBCs(const std::map<uint64_t, std::shared_ptr<SweepBoundary>> &sweep_boundaries, DSABoundaryClosure closure = DSABoundaryClosure::DIRICHLET)

Translates sweep boundary conditions to those of the diffusion correction in acceleration methods.

Reflecting boundaries become zero-current (Neumann) boundaries. WGDSA adds the inward current of the residual on those that lag their incoming flux (WGDSA::Apply). Every boundary with a prescribed incoming flux (vacuum, isotropic, arbitrary) has zero incoming error, so all three get the condition selected by closure.