Skip to content

About

A small installable interface around the exact logistic on-site reaction step and logarithmic invariant used in the VDM reaction-diffusion work.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

VDM Logistic Solver Github Banner

An exact logistic on-site reaction step, logarithmic invariant, and packaged numerical instrument used in the VDM reaction-diffusion work.

Lietz, J. (2026). A Logarithmic First Integral for the Logistic On Site Law in VDM (Version 0.3.0). Zenodo. https://doi.org/10.5281/zenodo.22103196

Install

From the repository root:

python -m venv .venv
source .venv/bin/activate
python -m pip install .

For development:

python -m pip install -e '.[dev]'
vdm-logistic verify
pytest

On Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install .

Run the instrument

vdm-logistic --help

The package exposes the original research programs through a single command-line interface:

Command Purpose
vdm-logistic qfum Logistic first-integral / QFUM validation, solver comparison, drift, and convergence diagnostics
vdm-logistic rd-conservation Reaction-diffusion conservation controls, convergence checks, exact-reaction splitting, Lyapunov diagnostics, and acceptance gates
vdm-logistic front-speed Fisher-KPP front-speed validation against c = 2 sqrt(D r)
vdm-logistic front-speed-sweep Parameter sweep over the front-speed experiment
vdm-logistic dispersion Linear-regime reaction-diffusion dispersion validation
vdm-logistic verify Verify the packaged research source files against their recorded SHA-256 identities

Each research command accepts the argument interface of the corresponding original program:

vdm-logistic qfum --help
vdm-logistic rd-conservation --help
vdm-logistic front-speed --help
vdm-logistic front-speed-sweep --help
vdm-logistic dispersion --help

Quick examples

QFUM / logarithmic-invariant validation

vdm-logistic qfum \
  --r 0.15 --u 0.25 \
  --W0 0.12 0.62 \
  --T 40 \
  --dt 0.2 0.1 0.05 \
  --solver rk4 \
  --outdir ./outputs

This range keeps the RK4 convergence measurement above floating-point roundoff while exercising the same validator and convergence gate.

Fisher-KPP front speed

vdm-logistic front-speed \
  --N 1024 --L 200 --D 1.0 --r 0.25 \
  --T 80 --cfl 0.2 --seed 42 \
  --x0 -60 --level 0.1 \
  --fit_start 0.6 --fit_end 0.9

Linear dispersion

vdm-logistic dispersion \
  --N 1024 --L 200 --D 1.0 --r 0.25 \
  --T 10 --cfl 0.2 --seed 42 \
  --record 80 --m_max 64 \
  --fit_start 0.1 --fit_end 0.4

Reaction-diffusion conservation harness

vdm-logistic rd-conservation --spec reference/step_spec.example.json

Front-speed sweep

vdm-logistic front-speed-sweep --Ds 0.5 1.0 2.0 --rs 0.1 0.25

Python API

The exact local logistic reaction primitive is also available directly from Python under its original function names:

from vdm_logistic_solver import reaction_exact_step, logistic_invariant_Q

W1 = reaction_exact_step(W=0.12, r=0.15, u=0.25, dt=1.0)
Q0 = logistic_invariant_Q(W=0.12, r=0.15, u=0.25, t=0.0)

The implementation is NumPy-compatible, so array-valued states can be advanced directly:

import numpy as np
from vdm_logistic_solver import reaction_exact_step

W = np.array([0.12, 0.30, 0.50])
W_next = reaction_exact_step(W, r=0.15, u=0.25, dt=0.5)

What is included

The package brings together the numerical programs used for the logistic and reaction-diffusion validation work:

  • exact finite-time logistic reaction update;
  • logarithmic first-integral / QFUM diagnostics;
  • reaction-diffusion conservation and convergence tests;
  • Fisher-KPP front-speed measurement;
  • front-speed parameter sweeps;
  • linear-regime dispersion measurement;
  • Lyapunov and numerical acceptance diagnostics;
  • historical step specifications and output-path support.

The original research source files remain under reference/ and are also shipped with the installed package so the command-line instrument works from a wheel or editable installation.

Output location

Programs that use the packaged output-path adapter write to:

./outputs/

by default. Override it with:

export VDM_OUTPUT_ROOT=/path/to/results

Scientific scope

The local logistic law is

dW/dt = r W - u W^2

with the exact finite-time reaction update used by the instrument. The logarithmic quantity is an invariant of the autonomous local ODE on a consistent domain/branch.

The reaction-diffusion programs are numerical validation experiments. The exact local reaction update is not a closed-form exact solution of the full spatial Fisher-KPP PDE.

Provenance

The package records SHA-256 identities for the nine historical research source and step-spec files. Check the installed copies at any time with:

vdm-logistic verify

PROVENANCE.json contains the repository-level source identities.

License

Released under the MIT License. See LICENSE.

About

A small installable interface around the exact logistic on-site reaction step and logarithmic invariant used in the VDM reaction-diffusion work.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages