SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT > Struct Template Referencefinal

Supply independent packed state and residual orders explicitly until a solver root owns this layout. More...

#include <layout.hpp>

Collaboration diagram for serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >:
[legend]

Public Types

using Values = std::remove_cvref_t<ValuesT>
 
using Residuals = std::remove_cvref_t<ResidualsT>
 

Public Member Functions

template<discretization::blocks::RepresentedValueKind Kind, typename CoordinateT>
std::size_t size () const
 Read size by role and physical identity, independently of plan declaration order.
 
bool operator== (const CoordinateLayout &) const =default
 Track layout edits by value in the dependency context.
 

Public Attributes

std::array< std::size_t, utils::dependencies::key_count_v< Values > > state_sizes
 
std::array< std::size_t, utils::dependencies::key_count_v< Residuals > > residual_sizes
 

Detailed Description

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
struct serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >

Supply independent packed state and residual orders explicitly until a solver root owns this layout.

Note
Coordinates are term/row identities, never the inherited global_scalar::value/residual block types.

Member Typedef Documentation

◆ Residuals

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
using serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::Residuals = std::remove_cvref_t<ResidualsT>

◆ Values

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
using serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::Values = std::remove_cvref_t<ValuesT>

Member Function Documentation

◆ operator==()

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
bool serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::operator== ( const CoordinateLayout< ValuesT, ResidualsT > & ) const
nodiscarddefault

Track layout edits by value in the dependency context.

◆ size()

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
template<discretization::blocks::RepresentedValueKind Kind, typename CoordinateT>
std::size_t serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::size ( ) const
inlinenodiscard

Read size by role and physical identity, independently of plan declaration order.

Member Data Documentation

◆ residual_sizes

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
std::array<std::size_t, utils::dependencies::key_count_v<Residuals> > serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::residual_sizes

◆ state_sizes

template<utils::dependencies::IsKeyList ValuesT, utils::dependencies::IsKeyList ResidualsT>
std::array<std::size_t, utils::dependencies::key_count_v<Values> > serif::solver::normalization::CoordinateLayout< ValuesT, ResidualsT >::state_sizes

The documentation for this struct was generated from the following file: