anypinn.catalog
Catalog of ready-made ODE/PDE problem building blocks.
AC_U_KEY = 'u'
module-attribute
ALPHA_KEY = 'alpha'
module-attribute
BETA_KEY = 'beta'
module-attribute
BURGERS_NU_KEY = 'nu'
module-attribute
BURGERS_U_KEY = 'u'
module-attribute
DELTA_KEY = 'delta'
module-attribute
DIFFUSIVITY_D_KEY = 'D'
module-attribute
DIFFUSIVITY_U_KEY = 'u'
module-attribute
E_KEY = 'E'
module-attribute
FHN_A_KEY = 'a'
module-attribute
FHN_EPSILON_KEY = 'epsilon'
module-attribute
FHN_V_KEY = 'v'
module-attribute
FHN_W_KEY = 'w'
module-attribute
GAMMA_KEY = 'gamma'
module-attribute
GS_DU_KEY = 'D_u'
module-attribute
GS_DV_KEY = 'D_v'
module-attribute
GS_F_KEY = 'F'
module-attribute
GS_K_KEY = 'k'
module-attribute
GS_U_KEY = 'u'
module-attribute
GS_V_KEY = 'v'
module-attribute
HEAT_ALPHA_KEY = 'alpha'
module-attribute
HEAT_U_KEY = 'u'
module-attribute
LORENZ_BETA_KEY = 'beta'
module-attribute
LORENZ_RHO_KEY = 'rho'
module-attribute
LORENZ_SIGMA_KEY = 'sigma'
module-attribute
LORENZ_X_KEY = 'x'
module-attribute
LORENZ_Y_KEY = 'y'
module-attribute
LV_X_KEY = 'x'
module-attribute
MU_KEY = 'mu'
module-attribute
N_KEY = 'N'
module-attribute
OMEGA_KEY = 'omega0'
module-attribute
POISSON_U_KEY = 'u'
module-attribute
Rt_KEY = 'Rt'
module-attribute
SEIR_BETA_KEY = 'beta'
module-attribute
SEIR_GAMMA_KEY = 'gamma'
module-attribute
SEIR_I_KEY = 'I'
module-attribute
SEIR_S_KEY = 'S'
module-attribute
SIGMA_KEY = 'sigma'
module-attribute
SIR_BETA_KEY = 'beta'
module-attribute
SIR_DELTA_KEY = 'delta'
module-attribute
SIR_I_KEY = 'I'
module-attribute
SIR_S_KEY = 'S'
module-attribute
U_KEY = 'u'
module-attribute
V_KEY = 'v'
module-attribute
WAVE_C_KEY = 'c'
module-attribute
WAVE_U_KEY = 'u'
module-attribute
X_KEY = 'x'
module-attribute
Y_KEY = 'y'
module-attribute
ZETA_KEY = 'zeta'
module-attribute
Z_KEY = 'z'
module-attribute
__all__ = ['AC_U_KEY', 'ALPHA_KEY', 'BETA_KEY', 'BURGERS_NU_KEY', 'BURGERS_U_KEY', 'DELTA_KEY', 'DIFFUSIVITY_D_KEY', 'DIFFUSIVITY_U_KEY', 'E_KEY', 'FHN_A_KEY', 'FHN_EPSILON_KEY', 'FHN_V_KEY', 'FHN_W_KEY', 'GAMMA_KEY', 'GS_DU_KEY', 'GS_DV_KEY', 'GS_F_KEY', 'GS_K_KEY', 'GS_U_KEY', 'GS_V_KEY', 'HEAT_ALPHA_KEY', 'HEAT_U_KEY', 'LORENZ_BETA_KEY', 'LORENZ_RHO_KEY', 'LORENZ_SIGMA_KEY', 'LORENZ_X_KEY', 'LORENZ_Y_KEY', 'LV_X_KEY', 'MU_KEY', 'N_KEY', 'OMEGA_KEY', 'POISSON_U_KEY', 'SEIR_BETA_KEY', 'SEIR_GAMMA_KEY', 'SEIR_I_KEY', 'SEIR_S_KEY', 'SIGMA_KEY', 'SIR', 'SIR_BETA_KEY', 'SIR_DELTA_KEY', 'SIR_I_KEY', 'SIR_S_KEY', 'U_KEY', 'V_KEY', 'WAVE_C_KEY', 'WAVE_U_KEY', 'X_KEY', 'Y_KEY', 'ZETA_KEY', 'Z_KEY', 'AllenCahnDataModule', 'Burgers1DDataModule', 'DampedOscillatorDataModule', 'FitzHughNagumoDataModule', 'GrayScott2DDataModule', 'Heat1DDataModule', 'InverseDiffusivityDataModule', 'LorenzDataModule', 'LotkaVolterraDataModule', 'Poisson2DDataModule', 'Rt_KEY', 'SEIRDataModule', 'SIRInvDataModule', 'VanDerPolDataModule', 'Wave1DDataModule', 'rSIR']
module-attribute
AllenCahnDataModule
Bases: PINNDataModule
DataModule for 1D Allen-Cahn equation.
gen_data produces ground-truth u(x,t) via scipy method-of-lines (central differences for d2u/dx2 with periodic ghost cells + ODE integration). The data is used for prediction/validation only — training uses PDEResidualConstraint + PeriodicBCConstraint + IC (no DataConstraint).
Source code in src/anypinn/catalog/allen_cahn.py
grid_size = grid_size
instance-attribute
n_t = n_t
instance-attribute
n_x = n_x
instance-attribute
true_epsilon = true_epsilon
instance-attribute
__init__(hp: PINNHyperparameters, true_epsilon: float = TRUE_EPSILON, n_x: int = 256, n_t: int = 200, grid_size: int = 50, residual_scorer: ResidualScorer | None = None, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/allen_cahn.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate numerical solution on a 2D meshgrid via method of lines.
Source code in src/anypinn/catalog/allen_cahn.py
Burgers1DDataModule
Bases: PINNDataModule
DataModule for 1D Burgers equation inverse problem.
gen_data produces ground-truth u(x,t) via scipy method-of-lines (finite-difference spatial discretization + ODE integration), with optional measurement noise.
Source code in src/anypinn/catalog/burgers_1d.py
grid_size = grid_size
instance-attribute
noise_std = noise_std
instance-attribute
true_nu = true_nu
instance-attribute
__init__(hp: PINNHyperparameters, true_nu: float = TRUE_NU, noise_std: float = 0.01, grid_size: int = 50, residual_scorer: ResidualScorer | None = None, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/burgers_1d.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate numerical solution on a 2D meshgrid via method of lines.
Source code in src/anypinn/catalog/burgers_1d.py
DampedOscillatorDataModule
Bases: PINNDataModule
DataModule for damped oscillator inverse problem. Generates synthetic data via odeint.
Source code in src/anypinn/catalog/damped_oscillator.py
gen_props = gen_props
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_std: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/damped_oscillator.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic damped oscillator data using odeint + Gaussian noise.
Source code in src/anypinn/catalog/damped_oscillator.py
FitzHughNagumoDataModule
Bases: PINNDataModule
DataModule for FitzHugh-Nagumo inverse problem.
Generates synthetic data via odeint. Only the voltage v is observed; the recovery variable w is inferred through ODE residuals alone.
Source code in src/anypinn/catalog/fitzhugh_nagumo.py
gen_props = gen_props
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_std: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/fitzhugh_nagumo.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic FHN data. Returns only v (partially observed).
Source code in src/anypinn/catalog/fitzhugh_nagumo.py
GrayScott2DDataModule
Bases: PINNDataModule
DataModule for 2D Gray-Scott reaction-diffusion inverse problem.
gen_data produces ground-truth u(x,y,t) and v(x,y,t) via scipy method-of-lines (finite-difference spatial discretization + ODE integration), with optional measurement noise.
Source code in src/anypinn/catalog/gray_scott_2d.py
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
noise_std = noise_std
instance-attribute
sim_size = sim_size
instance-attribute
true_du = true_du
instance-attribute
true_dv = true_dv
instance-attribute
true_f = true_f
instance-attribute
true_k = true_k
instance-attribute
__init__(hp: PINNHyperparameters, true_du: float = TRUE_DU, true_dv: float = TRUE_DV, true_f: float = TRUE_F, true_k: float = TRUE_K, noise_std: float = 0.01, sim_size: int = 64, residual_scorer: ResidualScorer | None = None, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/gray_scott_2d.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate numerical solution on a 3D meshgrid via method of lines.
Source code in src/anypinn/catalog/gray_scott_2d.py
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
Heat1DDataModule
Bases: PINNDataModule
DataModule for 1D heat equation inverse problem.
gen_data produces sparse interior measurements from the analytic solution u(x,t) = exp(-alpha pi^2 t) sin(pi x), with optional noise. These measurements are used by DataConstraint during training to recover alpha.
Source code in src/anypinn/catalog/heat_1d.py
grid_size = grid_size
instance-attribute
n_measurements = n_measurements
instance-attribute
noise_std = noise_std
instance-attribute
true_alpha = true_alpha
instance-attribute
__init__(hp: PINNHyperparameters, true_alpha: float = TRUE_ALPHA, n_measurements: int = 200, noise_std: float = 0.01, grid_size: int = 50, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/heat_1d.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate analytic solution on a 2D meshgrid for training + prediction.
Source code in src/anypinn/catalog/heat_1d.py
InverseDiffusivityDataModule
Bases: PINNDataModule
DataModule for 1D inverse diffusivity problem.
gen_data produces ground-truth u(x,t) via scipy method-of-lines (central differences with variable D(x), integrated with solve_ivp), with optional measurement noise.
Source code in src/anypinn/catalog/inverse_diffusivity.py
grid_size = grid_size
instance-attribute
n_t = n_t
instance-attribute
n_x = n_x
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: PINNHyperparameters, n_x: int = 80, n_t: int = 80, noise_std: float = 0.01, grid_size: int = 50, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/inverse_diffusivity.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate numerical solution on a 2D meshgrid via method of lines.
Source code in src/anypinn/catalog/inverse_diffusivity.py
LorenzDataModule
Bases: PINNDataModule
DataModule for Lorenz system inverse problem. Generates synthetic data via odeint.
Source code in src/anypinn/catalog/lorenz.py
gen_props = gen_props
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_std: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/lorenz.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic Lorenz data using odeint + additive Gaussian noise.
Source code in src/anypinn/catalog/lorenz.py
LotkaVolterraDataModule
Bases: PINNDataModule
DataModule for Lotka-Volterra inverse problem. Generates synthetic data via odeint.
Source code in src/anypinn/catalog/lotka_volterra.py
gen_props = gen_props
instance-attribute
noise_frac = noise_frac
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_frac: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/lotka_volterra.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic Lotka-Volterra data using odeint + Gaussian noise.
Source code in src/anypinn/catalog/lotka_volterra.py
Poisson2DDataModule
Bases: PINNDataModule
DataModule for 2D Poisson equation on [0,1]^2.
Generates a meshgrid with the analytic solution u(x,y) = sin(pix)sin(pi*y). The data is used for prediction/validation only -- training uses PDEResidualConstraint + DirichletBCConstraints (no DataConstraint).
Source code in src/anypinn/catalog/poisson_2d.py
grid_size = grid_size
instance-attribute
__init__(hp: PINNHyperparameters, grid_size: int = 30, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/poisson_2d.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate analytic solution on a 2D meshgrid for prediction.
Source code in src/anypinn/catalog/poisson_2d.py
SEIRDataModule
Bases: PINNDataModule
DataModule for SEIR inverse problem. Generates synthetic data via odeint.
Source code in src/anypinn/catalog/seir.py
gen_props = gen_props
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_std: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/seir.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic SEIR data using odeint + Gaussian noise.
Source code in src/anypinn/catalog/seir.py
SIRInvDataModule
Bases: PINNDataModule
DataModule for SIR Inverse problem.
Source code in src/anypinn/catalog/sir.py
gen_props = gen_props
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties | None = None, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/sir.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic data.
Source code in src/anypinn/catalog/sir.py
VanDerPolDataModule
Bases: PINNDataModule
DataModule for Van der Pol oscillator inverse problem.
Generates synthetic data via odeint.
Source code in src/anypinn/catalog/van_der_pol.py
gen_props = gen_props
instance-attribute
noise_std = noise_std
instance-attribute
__init__(hp: ODEHyperparameters, gen_props: ODEProperties, noise_std: float = 0.0, validation: ValidationRegistry | None = None, callbacks: Sequence[DataCallback] | None = None)
Source code in src/anypinn/catalog/van_der_pol.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate synthetic Van der Pol data using odeint + Gaussian noise.
Source code in src/anypinn/catalog/van_der_pol.py
Wave1DDataModule
Bases: PINNDataModule
DataModule for 1D wave equation inverse problem.
gen_data produces sparse interior measurements from the analytic solution u(x,t) = sin(pi x) cos(c pi t), with optional noise. These measurements are used by DataConstraint during training to recover c.
Source code in src/anypinn/catalog/wave_1d.py
grid_size = grid_size
instance-attribute
n_measurements = n_measurements
instance-attribute
noise_std = noise_std
instance-attribute
true_c = true_c
instance-attribute
__init__(hp: PINNHyperparameters, true_c: float = TRUE_C, n_measurements: int = 200, noise_std: float = 0.01, grid_size: int = 50, validation: ValidationRegistry | None = None, callbacks: list[DataCallback] | None = None)
Source code in src/anypinn/catalog/wave_1d.py
gen_data(config: GenerationConfig) -> tuple[Tensor, Tensor]
Generate analytic solution on a 2D meshgrid for training + prediction.
Source code in src/anypinn/catalog/wave_1d.py
SIR(x: Tensor, y: Tensor, args: ArgsRegistry) -> Tensor
The SIR ODE system. $$ \begin{align} \frac{dS}{dt} &= -\beta \frac{SI}{N} \ \frac{dI}{dt} &= \beta \frac{SI}{N} - \delta I \ \frac{dR}{dt} &= \delta I \ \end{align} $$
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
Tensor
|
Time variable. |
required |
y
|
Tensor
|
State variables [S, I]. |
required |
args
|
ArgsRegistry
|
Arguments dictionary (beta, delta, N). |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Derivatives [dS/dt, dI/dt]. |
Source code in src/anypinn/catalog/sir.py
rSIR(x: Tensor, y: Tensor, args: ArgsRegistry) -> Tensor
The reduced SIR ODE system. $$ \begin{align} \frac{dI}{dt} &= \delta (R_t - 1) I \end{align} $$
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
Tensor
|
Time variable. |
required |
y
|
Tensor
|
State variables [I]. |
required |
args
|
ArgsRegistry
|
Arguments dictionary (delta, Rt). |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Derivatives [dI/dt]. |