Files
MeanField_SERiF/src/include/serif/solver/normalization/layout.hpp
Emily Boudreaux 24d4c20f82 feat(solver/normalization): Added normalization system
The dynamical range of different fields SERiF must solve for is massive. This just breaks any reasonable preconditioner / spreads the eigen modes of the system matrix out. This is a normalization system which uses charectaristic scale factors (e.g. the approximate radius estimated using the lane-emden equation) to rescale different fields to a more similar numeric scale. This turns out to be essential for stable convergence. Broadly this implements Riesz normalization along with exact diagnoal normalization.
2026-11-09 13:30:20 -05:00

15 lines
609 B
C++

#pragma once
#include "serif/discretization/blocks/system_layout.hpp"
namespace serif::solver::normalization
{
/** @brief Compatibility spelling for the shared discretization layout. */
template <utils::dependencies::IsKeyList Values, utils::dependencies::IsKeyList Residuals>
using CoordinateLayout = discretization::blocks::SystemLayout<Values, Residuals>;
/** @brief Normalization consumes the same coordinate representation as physical operators and solvers. */
template <typename Candidate>
concept CoordinateLayoutType = discretization::blocks::SystemLayoutType<Candidate>;
}