def Namespace Reference#

DiFfRG: DiFfRG::def Namespace Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::def Namespace Reference

This namespace contains all default implementations and definitions needed for numerical models. More...

Namespaces

namespace  BoundaryStencilDetail
 
namespace  BoundaryStencilIndex
 
namespace  internal
 
namespace  limiter_utils
 

Classes

class  AbstractModel
 The abstract interface for any numerical model. Most methods have a standard implementation, which can be overwritten if needed. To see how the models are used, refer to the DiFfRG::AbstractAssembler class and the Numerical Models guide in the documentation. More...
 
class  AD_dual
 
class  AD_real
 
class  ADjacobian_boundary_numflux
 
class  ADjacobian_extractors
 
class  ADjacobian_flux
 
class  ADjacobian_flux_source
 
class  ADjacobian_mass
 
class  ADjacobian_numflux
 
class  ADjacobian_source
 
class  ADjacobian_variables
 
class  CentralLimiter
 Unlimited central-difference "limiter" — returns the arithmetic mean of the two one-sided slopes. More...
 
class  ConstrainOriginBoundaryPointToZero
 Constrain the boundary dofs of a named scalar FE-function component nearest its origin coordinate to zero. More...
 
class  ConstrainOriginSupportPointToZero
 Constrain the support dofs of a named scalar FE-function component nearest its origin coordinate to zero. More...
 
class  CorrectedWeightedLeastSquaresDiffusionReconstructor
 
struct  DiffusionFaceState
 
class  FE_AD
 
class  FirstOrderReconstructor
 
class  FlowBoundaries
 
struct  FlowDirections
 
class  fRG
 The fRG class is used to keep track of the RG time and the cutoff scale. More...
 
class  FVDefaultBoundaries
 Default FV boundary strategy used by the Kurganov-Tadmor assembler. More...
 
class  LDGUpDownFluxes
 
class  LLFFlux
 
class  MinModLimiter
 MinMod slope limiter. More...
 
class  NoAffineConstraints
 
class  NoJacobians
 
class  NoNumFlux
 
class  OriginOddLinearExtrapolationBoundaries
 FV boundary strategy using odd reflection at the origin and linear extrapolation at the outer boundary. More...
 
class  OriginShiftedOddLinearExtrapolationBoundaries
 FV boundary strategy using odd reflection around a model-provided origin value. More...
 
struct  ReconstructionDerivativeData
 
class  RhoSymmetricLinearExtrapolationBoundaries
 FV boundary strategy for rho-coordinate models with an even lower-boundary symmetry. More...
 
class  SuperbeeLimiter
 Superbee slope limiter (Roe, 1986). More...
 
class  Time
 
class  TVDReconstructor
 TVD gradient reconstructor parameterised by a slope limiter. More...
 
struct  UpDown
 
struct  UpDownFlux
 
class  VanAlbadaLimiter
 van Albada (1982) slope limiter — second-order TVD and C¹ in u. More...
 

Concepts

concept  HasSlopeLimiter
 Concept that any slope-limiter mixin must satisfy.
 
concept  HasReconstructor
 Concept that any gradient-reconstruction strategy must satisfy.
 
concept  HasWaveSpeed
 Concept that any wave-speed strategy must satisfy.
 

Typedefs

template<int dim, typename NumberType , size_t n_components>
using GradientType = std::array<dealii::Tensor<1, dim, NumberType>, n_components>
 Per-component gradient type: one Tensor<1,dim> per solution component.
 
template<int dim, typename NumberType , size_t n_components>
using ThirdDerivativeType = std::array<dealii::Tensor<3, dim, NumberType>, n_components>
 Per-component third spatial derivative type.
 
template<typename Model >
using AD = AD_real<Model>
 
template<int dim, typename NumberType , std::size_t n_components>
using BoundaryStencilValues = std::array<std::array<NumberType, n_components>, 2 * dim + 3>
 
template<int dim>
using BoundaryStencilPoints = std::array<Point<dim>, 2 * dim + 3>
 

Variables

template<int dim>
constexpr std::size_t n_faces = 2 * dim
 
constexpr int no_wave_speed = -1
 Block id for a component that carries no hyperbolic flux.
 
constexpr uint from_right = 0
 
constexpr uint from_left = 1
 

Detailed Description

This namespace contains all default implementations and definitions needed for numerical models.

Typedef Documentation

◆ AD

template<typename Model >
using DiFfRG::def::AD = AD_real<Model>

◆ BoundaryStencilPoints

template<int dim>
using DiFfRG::def::BoundaryStencilPoints = std::array<Point<dim>, 2 * dim + 3>

◆ BoundaryStencilValues

template<int dim, typename NumberType , std::size_t n_components>
using DiFfRG::def::BoundaryStencilValues = std::array<std::array<NumberType, n_components>, 2 * dim + 3>

◆ GradientType

template<int dim, typename NumberType , size_t n_components>
using DiFfRG::def::GradientType = std::array<dealii::Tensor<1, dim, NumberType>, n_components>

Per-component gradient type: one Tensor<1,dim> per solution component.

◆ ThirdDerivativeType

template<int dim, typename NumberType , size_t n_components>
using DiFfRG::def::ThirdDerivativeType = std::array<dealii::Tensor<3, dim, NumberType>, n_components>

Per-component third spatial derivative type.

Variable Documentation

◆ from_left

uint DiFfRG::def::from_left = 1
constexpr

◆ from_right

uint DiFfRG::def::from_right = 0
constexpr

◆ n_faces

template<int dim>
std::size_t DiFfRG::def::n_faces = 2 * dim
inlineconstexpr

◆ no_wave_speed

int DiFfRG::def::no_wave_speed = -1
inlineconstexpr

Block id for a component that carries no hyperbolic flux.

See also
AbstractModel::wave_speed_blocks.