Quick Start
See also: notebooks/01_quickstart.ipynb
1. Compute a magnetic field
from helicon.fields.biot_savart import Coil, Grid, compute_bfield
coils = [Coil(z=0.0, r=0.12, I=50000.0)]
grid = Grid(z_min=-0.3, z_max=2.0, r_max=0.5, nz=256, nr=128)
bfield = compute_bfield(coils, grid)
bfield.save("bfield.h5")
print(f"B_z max: {bfield.Bz.max():.3f} T")
2. Analytical pre-screening
from helicon.optimize.analytical import screen_geometry
result = screen_geometry(coils, z_min=-0.3, z_max=2.0)
print(f"Mirror ratio R_B = {result.mirror_ratio:.2f}")
print(f"Thrust efficiency η_T = {result.thrust_efficiency:.3f}")
print(f"Plume half-angle θ = {result.divergence_half_angle_deg:.1f}°")
3. Load a preset configuration
from helicon.config.parser import SimConfig
config = SimConfig.from_preset("dfd") # Princeton DFD reference case
print(config.model_dump_json(indent=2))
4. Run a simulation (dry run)
from helicon.runner.launch import run_simulation
result = run_simulation(config, output_dir="results/dfd", dry_run=True)
print(f"Input file: {result.input_file}")
print(f"B-field file: {result.bfield_file}")