LWWConfig Integration Notes

LWWConfig is the shared configuration object for the simulator, CLI, tests, visualization helpers, and profiling script. The public import is:

from lww_transport import LWWConfig

Primary Consumers

Module

Role

lww_transport.simulator

Allocates state arrays and controls steady and transient workflows.

lww_transport.cli

Builds configuration from command-line options.

lww_transport.core

Receives configuration through compatibility wrappers.

lww_transport.visualization

Draws RTD geometry from configuration fields.

scripts/profile_transient.py

Creates benchmark configurations.

tests/test_core.py

Uses small-grid configurations for smoke tests.

Frequently Used Fields

Field

Purpose

nx, n, size

Grid dimensions and phase-space vector length.

exchange

Enables the density-dependent exchange correction.

verbose

Enables solver progress output.

kernel_backend

Selects auto, cpp, numba, or python kernels.

irlx

Controls inclusion of relaxation and scattering terms.

rfa, density_stop, poisson_vmax_stop

Self-consistency controls.

box, well, barrier, spacer, pot

RTD geometry and barrier potential.

Construction Patterns

cfg = LWWConfig.standard_rtd()
cfg = LWWConfig.quick_test(nx=10, n=8)
cfg = LWWConfig(nx=86, n=72, exchange=True, kernel_backend="cpp")

Grouped parameters are available through:

cfg.discretization
cfg.material
cfg.geometry
cfg.operating
cfg.solver
cfg.compute

Flat properties remain available for compatibility:

cfg.nx
cfg.n
cfg.exchange
cfg.kernel_backend