Getting started
Prototype of a predictive engineering model (PEM) of a Hall thruster. Integrates sub-models from multiple disciplines to simulate a Hall thruster operating in a vacuum chamber. Uses uncertainty quantification techniques to extrapolate model predictions to a space-like environment.
⚙️ Installation
Ensure you are using Python 3.11 or later. You can install using pdm:
pip install --user pdm
git clone https://github.com/JANUS-Institute/HallThrusterPEM.git # or download the source from releases
cd HallThrusterPEM
pdm install --prod
hallmd
uses the HallThruster.jl
Julia package. Please see their docs for setting up Julia and installing. Alternatively, you may run the provided install script, which will install both Julia and HallThruster.jl
.
Assuming python
is available on your path:
📍 Quickstart
import matplotlib.pyplot as plt
from hallmd.models import hallthruster_jl
config = {
'discharge_voltage': 300,
'anode_mass_flow_rate': 5e-6,
'background_pressure_Torr': 1e-5,
'propellant': 'Xenon',
'domain': [0, 0.08]
}
outputs = hallthruster_jl(thruster='SPT-100', config=config)
ion_velocity = outputs['u_ion']
grid = outputs['u_ion_coords']
fig, ax = plt.subplots()
ax.plot(grid, ion_velocity)
ax.set_xlabel('Axial location (m)')
ax.set_ylabel('Ion velocity (m/s)')
plt.show()
🗂️ Project structure
📁 HallThrusterPEM
├── 📁 docs/
├── 📁 scripts/ # Scripts for building predictive engineering models (PEMs)
│ └── 📁 pem_v0/ # PEM v0 coupling of cathode -> thruster -> plume
├── 📁 src/hallmd # Python package source code root
│ ├── 📁 models/ # Python wrappers for sub-models
│ ├── 📁 data/ # Experimental data
│ ├── 📁 devices/ # Device information (thrusters, equipment, etc.)
│ └── 📄 utils.py # Utility functions
├── 📁 tests/ # Testing for Python package
└── 📄 pdm.lock # Frozen dependencies file
For more info on building PEMs with hallmd
, see the scripts.
🏗️ Contributing
See the contribution guidelines.
📖 Reference
[1] Eckels, J. et al., "Hall thruster model improvement by multidisciplinary uncertainty quantification," Journal of Electric Propulsion, vol 3, no 19, September 2024.
Made with the copier-numpy template.