Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
tpl_ca_continuous_rules.H File Reference

Continuous and memory-bearing CA rules (Phase 9). More...

#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <limits>
#include <type_traits>
#include <utility>
#include <ah-errors.H>
#include <ca-kernels.H>
#include <ca-traits.H>
Include dependency graph for tpl_ca_continuous_rules.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Aleph::CA::Continuous_Rule< F, Kernel >
 Scalar continuous rule driven by a real convolution kernel. More...
 
struct  Aleph::CA::Reaction_Diffusion_Cell< Real >
 Two-field state for reaction-diffusion cellular automata. More...
 
class  Aleph::CA::Gray_Scott_Rule< Real, Kernel >
 Gray-Scott reaction-diffusion rule. More...
 
class  Aleph::CA::FitzHugh_Nagumo_Rule< Real, Kernel >
 FitzHugh-Nagumo excitable-media rule. More...
 
class  Aleph::CA::History_Cell< State, Depth >
 Cell state carrying a fixed-depth ring buffer of past values. More...
 
class  Aleph::CA::History_Rule< Depth, F >
 Rule adapter for History_Cell<State, Depth>. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 
namespace  Aleph::CA
 
namespace  Aleph::CA::ca_continuous_detail
 

Functions

template<typename Real >
void Aleph::CA::ca_continuous_detail::require_finite (const Real value, const char *label)
 
template<typename Real >
void Aleph::CA::ca_continuous_detail::require_domain (const Real value, const Real lo, const Real hi, const char *label)
 
template<typename Real >
void Aleph::CA::ca_continuous_detail::require_positive_dt (const Real dt, const Real max_dt, const char *label)
 
template<typename Real >
Real Aleph::CA::ca_continuous_detail::clamp_unit_after_check (const Real value, const char *label)
 
template<typename Real >
Real Aleph::CA::ca_continuous_detail::checked_bounded (const Real value, const Real max_abs, const char *label)
 
template<typename F , typename Kernel >
Continuous_Rule< F, Kernel > Aleph::CA::make_continuous_rule (F f, Kernel k, typename Kernel::value_type dt=typename Kernel::value_type{1}, typename Kernel::value_type min_value=-std::numeric_limits< typename Kernel::value_type >::infinity(), typename Kernel::value_type max_value=std::numeric_limits< typename Kernel::value_type >::infinity())
 Helper factory for Continuous_Rule.
 
template<std::size_t Depth, typename F >
History_Rule< Depth, F > Aleph::CA::make_history_rule (F f)
 Helper factory for History_Rule.
 

Detailed Description

Continuous and memory-bearing CA rules (Phase 9).

This header extends the rule catalogue with:

  • Continuous_Rule<F, Kernel> for scalar float/double states updated from a real convolution kernel.
  • Reaction_Diffusion_Cell<Real> plus Gray-Scott and FitzHugh-Nagumo reaction-diffusion rules.
  • History_Cell<State, Depth> and History_Rule<Depth, F> for per-cell ring-buffer memory.

The reaction-diffusion rules use explicit Euler integration over a square lattice. Their constructors enforce conservative dt ranges, and each transition checks for non-finite or out-of-contract values with ah_runtime_error_if, so numerical blow-up fails loudly instead of silently contaminating later frames.

Author
Leandro Rabindranath Leon

Definition in file tpl_ca_continuous_rules.H.