SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
space.hpp File Reference

This file defines the functional space types used in the discretization framework, including compile-time descriptors and runtime descriptors. More...

#include <type_traits>
#include <format>
#include "serif/meta/enums.hpp"
Include dependency graph for space.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::discretization::functional_space::Rank< R >
 Compile-time descriptor for the rank of a functional space. More...
 
struct  serif::discretization::functional_space::SpaceDescriptor
 Compile-time descriptor for a functional space. This struct is used to describe the family, continuity, trace, and mapping of a functional space at compile time. More...
 
struct  serif::discretization::functional_space::DiscreteFunctionalSpace< Space, Order, R >
 Compile-time descriptor for a discrete functional space. The difference between a FunctionalSpace and a discrete functional space is that a discrete functional space carries some additional information which is needed to actually construct a finite element space (e.g. polynomial order, and rank). Once you have a discrete functional space you have, for MFEM at least, enough information to fully define a finite element space. More...
 
struct  std::formatter< serif::discretization::functional_space::Rank< R > >
 Specialization of the std::formatter for the functional space types. This allows us to use std::format to format the functional space types as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::SpaceDescriptor >
 Specialization of the std::formatter for the SpaceDescriptor types. This allows us to use std::format to format the SpaceDescriptor types as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::DiscreteFunctionalSpace< Space, Order, R > >
 Specialization of the std::formatter for the DiscreteFunctionalSpace types. This allows us to use std::format to format the DiscreteFunctionalSpace types as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::Family >
 Specialization of the std::formatter for the Family enum. This allows us to use std::format to format the Family enum as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::Continuity >
 Specialization of the std::formatter for the Continuity enum. This allows us to use std::format to format the Continuity enum as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::Trace >
 Specialization of the std::formatter for the Trace enum. This allows us to use std::format to format the Trace enum as strings. More...
 
struct  std::formatter< serif::discretization::functional_space::Mapping >
 Specialization of the std::formatter for the Mapping enum. This allows us to use std::format to format the Mapping enum as strings. More...
 

Namespaces

namespace  serif
 
namespace  serif::discretization
 
namespace  serif::discretization::functional_space
 

Enumerations

enum class  serif::discretization::functional_space::Family { serif::discretization::functional_space::l2 , serif::discretization::functional_space::h1 , serif::discretization::functional_space::hdiv , serif::discretization::functional_space::hcurl }
 Compile-time descriptor for the family, continuity, trace, and mapping of a functional space. More...
 
enum class  serif::discretization::functional_space::Continuity { serif::discretization::functional_space::discontinuous , serif::discretization::functional_space::continuous , serif::discretization::functional_space::normal_continuous , serif::discretization::functional_space::tangential_continuous }
 Compile-time descriptor for the continuity of a functional space. This enum is parallel to the Family enum. More...
 
enum class  serif::discretization::functional_space::Trace { serif::discretization::functional_space::none , serif::discretization::functional_space::value , serif::discretization::functional_space::normal , serif::discretization::functional_space::tangential }
 Compile-time descriptor for the trace of a functional space. This enum is parallel to the Family enum. More...
 
enum class  serif::discretization::functional_space::Mapping { serif::discretization::functional_space::identity , serif::discretization::functional_space::contravariant_piola , serif::discretization::functional_space::covariant_piola }
 Compile-time descriptor for the mapping of a functional space. This tells the DomainMapper which piola transformations to use when moving between reference and physical spaces. More...
 

Variables

static auto serif::discretization::functional_space::Family2StringMap = meta::enum_to_enum_string_map<Family>()
 Mapping from Family enum values to their string representations.
 
static auto serif::discretization::functional_space::String2FamilyMap = meta::enum_to_string_enum_map<Family>()
 Mapping from string representations to Family enum values.
 
static auto serif::discretization::functional_space::Continuity2StringMap = meta::enum_to_enum_string_map<Continuity>()
 Mapping from Continuity enum values to their string representations.
 
static auto serif::discretization::functional_space::String2ContinuityMap = meta::enum_to_string_enum_map<Continuity>()
 Mapping from string representations to Continuity enum values.
 
static auto serif::discretization::functional_space::Trace2StringMap = meta::enum_to_enum_string_map<Trace>()
 Mapping from Trace enum values to their string representations.
 
static auto serif::discretization::functional_space::String2TraceMap = meta::enum_to_string_enum_map<Trace>()
 Mapping from string representations to Trace enum values.
 
static auto serif::discretization::functional_space::Mapping2StringMap = meta::enum_to_enum_string_map<Mapping>()
 Mapping from Mapping enum values to their string representations.
 
static auto serif::discretization::functional_space::String2MappingMap = meta::enum_to_string_enum_map<Mapping>()
 Mapping from string representations to Mapping enum values.
 
static constexpr SpaceDescriptor serif::discretization::functional_space::L2
 Compile-time descriptor for an L2 functional space. This is a convenience descriptor that allows you to easily create an L2 functional space descriptor without having to specify all the parameters. The specifications are.
 
static constexpr SpaceDescriptor serif::discretization::functional_space::H1
 Compile-time descriptor for an H1 functional space. This is a convenience descriptor that allows you to easily create an H1 functional space descriptor without having to specify all the parameters. The specifications are.
 
static constexpr SpaceDescriptor serif::discretization::functional_space::Hdiv
 Compile-time descriptor for an H(div) functional space. This is a convenience descriptor that allows you to easily create an H(div) functional space descriptor without having to specify all the parameters. The specifications are.
 
static constexpr SpaceDescriptor serif::discretization::functional_space::Hcurl
 Compile-time descriptor for an H(curl) functional space. This is a convenience descriptor that allows you to easily create an H(curl) functional space descriptor without having to specify all the parameters. The specifications are.
 

Detailed Description

This file defines the functional space types used in the discretization framework, including compile-time descriptors and runtime descriptors.

Author
Emily M. Boudreaux