SpECTRE
v2023.09.07
|
Holds the system-agnostic subcell parameters, such as numbers controlling when to switch between DG and subcell. More...
#include <SubcellOptions.hpp>
Classes | |
struct | AlwaysUseSubcells |
If true, then we always use the subcell method, not DG. More... | |
struct | FiniteDifferenceDerivativeOrder |
The order of the FD derivative used. More... | |
struct | InitialData |
struct | InitialDataPerssonExponent |
The exponent \(\alpha\) passed to the Persson troubled-cell indicator when applied to the initial data. More... | |
struct | InitialDataRdmpDelta0 |
The \(\delta_0\) parameter in the relaxed discrete maximum principle troubled-cell indicator when applied to the initial data. More... | |
struct | InitialDataRdmpEpsilon |
The \(\epsilon\) parameter in the relaxed discrete maximum principle troubled-cell indicator when applied to the initial data. More... | |
struct | OnlyDgBlocksAndGroups |
A list of block names on which to never do subcell. More... | |
struct | PerssonExponent |
The exponent \(\alpha\) passed to the Persson troubled-cell indicator. More... | |
struct | RdmpDelta0 |
The \(\delta_0\) parameter in the relaxed discrete maximum principle troubled-cell indicator. More... | |
struct | RdmpEpsilon |
The \(\epsilon\) parameter in the relaxed discrete maximum principle troubled-cell indicator. More... | |
struct | SubcellToDgReconstructionMethod |
Method to use for reconstructing the DG solution from the subcell solution. More... | |
struct | UseHalo |
Use a width-one halo of FD elements around any troubled element. More... | |
Public Types | |
using | options = tmpl::list< InitialDataRdmpDelta0, InitialDataRdmpEpsilon, RdmpDelta0, RdmpEpsilon, InitialDataPerssonExponent, PerssonExponent, AlwaysUseSubcells, SubcellToDgReconstructionMethod, UseHalo, OnlyDgBlocksAndGroups, FiniteDifferenceDerivativeOrder > |
Public Member Functions | |
SubcellOptions (double initial_data_rdmp_delta0, double initial_data_rdmp_epsilon, double rdmp_delta0, double rdmp_epsilon, double initial_data_persson_exponent, double persson_exponent, bool always_use_subcells, fd::ReconstructionMethod recons_method, bool use_halo, std::optional< std::vector< std::string > > only_dg_block_and_group_names, ::fd::DerivativeOrder finite_difference_derivative_order) | |
template<size_t Dim> | |
SubcellOptions (const SubcellOptions &subcell_options_with_block_names, const DomainCreator< Dim > &domain_creator) | |
Given an existing SubcellOptions that was created from block and group names, create one that stores block IDs. More... | |
void | pup (PUP::er &p) |
double | initial_data_rdmp_delta0 () const |
double | initial_data_rdmp_epsilon () const |
double | rdmp_delta0 () const |
double | rdmp_epsilon () const |
double | initial_data_persson_exponent () const |
double | persson_exponent () const |
bool | always_use_subcells () const |
fd::ReconstructionMethod | reconstruction_method () const |
bool | use_halo () const |
const std::vector< size_t > & | only_dg_block_ids () const |
::fd::DerivativeOrder | finite_difference_derivative_order () const |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
bool | operator== (const SubcellOptions &lhs, const SubcellOptions &rhs) |
Holds the system-agnostic subcell parameters, such as numbers controlling when to switch between DG and subcell.
evolution::dg::subcell::SubcellOptions::SubcellOptions | ( | const SubcellOptions & | subcell_options_with_block_names, |
const DomainCreator< Dim > & | domain_creator | ||
) |
Given an existing SubcellOptions that was created from block and group names, create one that stores block IDs.
The DomainCreator
is used to convert block and group names into IDs and also to check that all listed block names and groups are in the domain.
|
staticconstexpr |