|
SpECTRE
v2026.09.05
|
Combined equal-rate region generator for subcell evolution with nonconforming block boundaries. More...
#include <SubcellAndNonconformingEqualRateRegions.hpp>
Public Types | |
| using | creation_tags |
Public Member Functions | |
| SubcellAndNonconformingEqualRateRegions (const SubcellOptions &subcell_options, const std::unique_ptr< DomainCreator< Dim > > &domain_creator) | |
| std::unordered_map< std::string, size_t > | regions () const |
| bool | is_in_region (size_t region, const ElementId< Dim > &element_id) const |
| void | pup (PUP::er &p) |
Combined equal-rate region generator for subcell evolution with nonconforming block boundaries.
When using local time stepping (LTS) with both subcell evolution and nonconforming block boundaries, the two separate region generators NonconformingEqualRateRegions and SubcellEqualRateRegion cannot be combined without conflicts in their regions. This class merges the two generators into one, treating subcell-adjacent nonconforming interfaces as part of the "Subcell" region rather than as separate "NonconformingN" regions.
Subcell region (region 0): Contains all subcell-capable elements (those not in OnlyDgBlocksAndGroups) plus the elements of DG-only blocks that lie directly on a nonconforming face bordering a subcell-capable block.
NonconformingN[+/-] regions (regions 1…N): Created only for nonconforming interfaces where every block on both sides is DG-only (no subcell capability on either side). These behave identically to the regions produced by NonconformingEqualRateRegions.
| using evolution::dg::subcell::SubcellAndNonconformingEqualRateRegions< Dim >::creation_tags |