Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ repos:
files: *python_files

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.9.0
rev: v1.19.1
hooks:
- id: mypy
args: [--ignore-missing-imports, --no-error-summary]
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/).

## [1.4.3] - 2026-07-06

### Added

- R1 light-current helpers for package-native gravitational-lensing probes:
`planar_r1_light_packet()`, `r1_vacuum_subtracted_potential()`,
`r1_light_acceleration()`, and `r1_light_step()`.
- Noether-current readouts: `noether_spatial_current()` and
`positive_noether_current()`.
- 19-point-stencil-consistent FFT Poisson/equilibrium helpers:
`poisson_solve_fft_19pt()`, `equilibrate_chi_19pt()`, and
`equilibrate_from_fields_19pt()`.

## [1.4.1] - 2026-04-24

### Fixed
Expand Down
101 changes: 98 additions & 3 deletions lfm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@
print(sim.metrics())
"""

__version__ = "1.4.1"
__version__ = "1.4.5"

from lfm.analysis import (
aggregate_wave_density,
angular_momentum_density,
block_window_magnitude_sq,
blocked_static_propagator,
charge_density,
chi_statistics,
classify_potential,
Expand Down Expand Up @@ -53,24 +56,39 @@
halo_mass_function,
horizon_mass,
interior_mask,
inverse_response_intercept,
keplerian_velocity,
leapfrog_branch_projection,
list_sparc_galaxies,
localized_state_observables,
localized_weighted_centroid,
matter_power_spectrum,
measure_chi_midpoint,
measure_force,
measure_separation,
metric_perturbation,
metric_refractive_index,
momentum_density,
noether_spatial_current,
op05_spherical_chi_deflection,
periodic_mode_coefficient,
phase_coherence,
phase_current_energy_density,
phase_field,
plaquette_winding_summary,
positive_noether_current,
power_spectrum,
precession_rate,
principal_internal_projection,
project_field_onto_modes,
project_leapfrog_mode,
radial_profile,
relative_spread,
response_log_slope,
rotation_curve,
rotation_curve_fit,
schwarzschild_chi,
schwarzschild_radius_si,
smoothed_color_variance,
sparc_load,
spinor_center_of_energy,
Expand All @@ -93,20 +111,23 @@
weak_parity_asymmetry,
well_fraction,
)
from lfm.config import BoundaryType, ChiMode, FieldLevel, PhysicsScale, SimulationConfig
from lfm.config import BoundaryType, ChiMode, FieldLevel, PhysicsScale, Precision, SimulationConfig
from lfm.config_presets import full_physics, gravity_em, gravity_only, spinor_field
from lfm.constants import (
AGE_UNIVERSE_GYR,
ALPHA_EM,
ALPHA_S,
ARCSEC_PER_RADIAN,
BETA_0,
C_SI,
CHI0,
D_ST,
DT_DEFAULT,
DT_MOTION,
E_AMPLITUDE_BY_GRID,
EPSILON_CC,
EPSILON_W,
G_SI,
KAPPA,
KAPPA_C,
KAPPA_STRING,
Expand All @@ -125,13 +146,16 @@
SA_GAMMA,
SA_L,
SIN2_THETA_W,
SOLAR_MASS_KG,
SOLAR_RADIUS_M,
TOTAL_RADIUS_LOWER_BOUND_PLANCK,
Z2_COORD,
D,
)
from lfm.core.backends import get_backend, gpu_available
from lfm.core.backends.remote_backend import configure_remote
from lfm.core.evolver import Evolver
from lfm.core.stencils import gradient_19pt, noether_current_19pt_raw
from lfm.experiment import (
DEFAULT_RINGDOWN_K_MODES,
Barrier,
Expand All @@ -146,24 +170,39 @@
Slit,
collision,
dispersion,
integrate_limit02_two_body,
next5_falsification_projection_v2,
qnm_mode_projection_check,
summarize_limit02_orbit,
sweep_limit02_orbits,
)
from lfm.fields import (
Limit02BodyProfile,
apply_rotation_x,
apply_rotation_z,
boosted_soliton,
build_limit02_body_profile,
disk_positions,
disk_velocities,
equilibrate_chi,
equilibrate_chi_19pt,
equilibrate_from_fields,
equilibrate_from_fields_19pt,
gaussian_soliton,
gaussian_spinor,
grid_positions,
initialize_disk,
limit02_acceleration_from_profile,
periodic_trilinear_sample,
place_solitons,
planar_r1_light_packet,
poisson_solve_fft,
poisson_solve_fft_19pt,
r1_light_acceleration,
r1_light_step,
r1_vacuum_subtracted_potential,
seed_noise,
smooth_spherical_density,
sparse_positions,
spherical_phase_source,
tetrahedral_positions,
Expand Down Expand Up @@ -276,6 +315,14 @@
solve_eigenmode,
ylm_seed,
)
from lfm.particles.stationary import (
StationaryBranchPoint,
SupportRemovalPoint,
continue_stationary_branch,
continue_support_removal,
solve_stationary_branch_point,
solve_support_removal_point,
)
from lfm.planning import (
FeasibilityReport,
UseCaseName,
Expand All @@ -293,7 +340,7 @@
solar_system,
)
from lfm.simulation import Simulation
from lfm.sweep import sweep, sweep_2d
from lfm.sweep import sweep, sweep_2d, sweep_cases
from lfm.units import CosmicScale, PlanckScale
from lfm.viz.celestial import animate_celestial_3d
from lfm.viz.collision import animate_collision_3d
Expand All @@ -305,6 +352,11 @@
"CHI0",
"D",
"D_ST",
"G_SI",
"C_SI",
"SOLAR_MASS_KG",
"SOLAR_RADIUS_M",
"ARCSEC_PER_RADIAN",
"KAPPA",
"KAPPA_C",
"KAPPA_STRING",
Expand Down Expand Up @@ -340,6 +392,7 @@
"SimulationConfig",
"FieldLevel",
"BoundaryType",
"Precision",
"PhysicsScale",
"ChiMode",
# Config presets
Expand All @@ -349,7 +402,15 @@
"spinor_field",
# Backends & Simulation
"Evolver",
"gradient_19pt",
"noether_current_19pt_raw",
"Simulation",
"StationaryBranchPoint",
"SupportRemovalPoint",
"continue_stationary_branch",
"continue_support_removal",
"solve_stationary_branch_point",
"solve_support_removal_point",
"get_backend",
"gpu_available",
"configure_remote",
Expand All @@ -362,17 +423,29 @@
"place_solitons",
"wave_kick",
"poisson_solve_fft",
"poisson_solve_fft_19pt",
"equilibrate_chi",
"equilibrate_chi_19pt",
"equilibrate_from_fields",
"equilibrate_from_fields_19pt",
"seed_noise",
"uniform_chi",
"tetrahedral_positions",
"sparse_positions",
"spherical_phase_source",
"planar_r1_light_packet",
"r1_vacuum_subtracted_potential",
"r1_light_acceleration",
"r1_light_step",
"grid_positions",
"disk_positions",
"disk_velocities",
"initialize_disk",
"Limit02BodyProfile",
"smooth_spherical_density",
"build_limit02_body_profile",
"periodic_trilinear_sample",
"limit02_acceleration_from_profile",
# Experiment components
"Barrier",
"Slit",
Expand All @@ -389,6 +462,9 @@
"DEFAULT_RINGDOWN_K_MODES",
"ExperimentConfig",
"ExperimentResult",
"integrate_limit02_two_body",
"summarize_limit02_orbit",
"sweep_limit02_orbits",
# Planning
"FeasibilityReport",
"UseCaseName",
Expand Down Expand Up @@ -420,6 +496,14 @@
"confinement_proxy",
"fluid_fields",
"continuity_residual",
"aggregate_wave_density",
"block_window_magnitude_sq",
"blocked_static_propagator",
"inverse_response_intercept",
"response_log_slope",
"principal_internal_projection",
"plaquette_winding_summary",
"localized_state_observables",
# SPARC galaxy data
"sparc_load",
"list_sparc_galaxies",
Expand All @@ -437,12 +521,16 @@
"static_interaction_potential",
# Ringdown extraction
"fit_ringdown_series",
"periodic_mode_coefficient",
"leapfrog_branch_projection",
"project_leapfrog_mode",
"project_field_onto_modes",
"relative_spread",
"split_frequency_bands",
"target_band_summary",
# Spectrum & Tracker
"power_spectrum",
"localized_weighted_centroid",
"track_peaks",
"flatten_trajectories",
"detect_collision_events",
Expand All @@ -454,11 +542,17 @@
"time_dilation_factor",
"gravitational_potential",
"schwarzschild_chi",
"schwarzschild_radius_si",
"metric_refractive_index",
"op05_spherical_chi_deflection",
"find_apparent_horizon",
"horizon_mass",
# Phase (EM / charge)
"phase_field",
"charge_density",
"noether_spatial_current",
"positive_noether_current",
"phase_current_energy_density",
"phase_coherence",
"coulomb_interaction_energy",
# Angular momentum
Expand Down Expand Up @@ -486,6 +580,7 @@
# Sweep
"sweep",
"sweep_2d",
"sweep_cases",
# Units
"CosmicScale",
"PlanckScale",
Expand Down
Loading