mercurial.core.qft_propagation module

Full QFT propagation: Klein‑Gordon and Dirac solvers with empirical parameters.

class mercurial.core.qft_propagation.Dirac1D(nx: int, dx: float | None = None, m: float | None = None, params: QFTParams | None = None, initial_psi: ndarray | None = None)[source]

Bases: object

1+1D Dirac field solver using split‑operator method, with empirical mass.

Methods

current

probability_density

step

__init__(nx: int, dx: float | None = None, m: float | None = None, params: QFTParams | None = None, initial_psi: ndarray | None = None)[source]
Parameters:
nxint

Number of spatial points.

dxfloat, optional

Spatial step. If None, uses params.dx.

mfloat, optional

Mass. If None, uses params.mass_dirac.

paramsQFTParams, optional

Empirical parameter dataclass.

initial_psiarray, shape (2, nx), optional

Initial spinor (two components).

current() ndarray[source]
probability_density() ndarray[source]
step(dt: float | None = None) None[source]
class mercurial.core.qft_propagation.KleinGordon2D(nx: int, ny: int, dx: float | None = None, m: float | None = None, params: QFTParams | None = None, initial_phi: ndarray | None = None, initial_pi: ndarray | None = None, absorbing_boundary: bool = True)[source]

Bases: object

2D Klein‑Gordon field solver (real scalar field) using FDTD, with parameters from empirical database.

Methods

correlation

energy_density

laplacian

step

__init__(nx: int, ny: int, dx: float | None = None, m: float | None = None, params: QFTParams | None = None, initial_phi: ndarray | None = None, initial_pi: ndarray | None = None, absorbing_boundary: bool = True)[source]
Parameters:
nx, nyint

Grid dimensions.

dxfloat, optional

Spatial step. If None, uses params.dx.

mfloat, optional

Mass (natural units). If None, uses params.mass_scalar.

paramsQFTParams, optional

Empirical parameter dataclass. If None, uses default.

initial_phi, initial_piarray, optional

Initial field and conjugate momentum.

absorbing_boundarybool

Apply absorbing boundary conditions (PML‑like).

correlation(r: int = 0) float[source]
energy_density() ndarray[source]
laplacian(field: ndarray) ndarray[source]
step(source: ndarray | None = None) None[source]