Metadata-Version: 2.4
Name: Simultipac
Version: 2.0.3
Summary: Treat data from CST Particle Studio and SPARK3D for multipactor
Author-email: Adrien Plaçais <placais@lpsc.in2p3.fr>
Project-URL: changelog, https://github.com/AdrienPlacais/Simulia_Multipactor_lib/blob/main/CHANGELOG.md
Project-URL: documentation, https://simultipac.readthedocs.io/en/latest/
Project-URL: homepage, https://github.com/AdrienPlacais/Simulia_Multipactor_lib
Project-URL: tracker, https://github.com/AdrienPlacais/Simulia_Multipactor_lib/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib<4,>=3.9.1
Requires-Dist: numpy<3,>=2
Requires-Dist: pandas<3,>=2.2
Requires-Dist: palettable<4,>=3.3.3
Requires-Dist: pre-commit<5,>=4
Requires-Dist: scipy<2,>=1.15
Requires-Dist: vedo<2026,>=2025.5
Provides-Extra: docs
Requires-Dist: myst-parser<5,>=4; extra == "docs"
Requires-Dist: nbsphinx<1,>=0.9.6; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints<4,>=3.0.1; extra == "docs"
Requires-Dist: sphinx-rtd-theme<4,>=3; extra == "docs"
Requires-Dist: sphinx-tabs<4,>=3.4; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex<3,>=2.6; extra == "docs"
Provides-Extra: k3d
Requires-Dist: jupyter; extra == "k3d"
Requires-Dist: k3d<3,>=2.16; extra == "k3d"
Requires-Dist: notebook<8,>=7; extra == "k3d"
Provides-Extra: test
Requires-Dist: pytest<9,>=8.3.2; extra == "test"
Requires-Dist: pytest-mock<4,>=3.14; extra == "test"
Dynamic: license-file

# About this package
This package is a set of utils oriented towards multipacting analysis.
In particular:
 - Load parameter sweeps and PIC Position Monitor data from CST Particle Studio.
 - Load results from SPARK3D.
 - Post-treat electron vs time results from these tools: multipactor trend, (TODO: multipactor order).
 - Post-treat CST's PIC Position Monitor:
  - Distribution of emission energies.
  - Distribution of impact energies.
  - Distribution of impact angles.
  - Visualise trajectories.

# Installation
## Requirements
You will need a recent version of Python (at least 3.12).

## Installation
### Simple installation
```
pip install simultipac
```

### Building form source
1. Navigate to the library installation folder.
2. `git clone git@github.com:AdrienPlacais/Simulia_Multipactor_lib.git` (or download it a `zip`).
3. Navigate to `Simulia_Multipactor_lib`
4. Create a dedicated python environment.
5. `pip install -e .`

# How to use
## Documentation
Documentation is available at [this link](https://simultipac.readthedocs.io/en/latest/).

## Tutorial
Examples are provided in the `examples` folder and [in the documentation](https://simultipac.readthedocs.io/en/latest/manual/examples_jupyter_notebooks.html).

# Gallery
## Compute exponential growth factor
### From SPARK3D
![Evolution of exponential growth factor with accelerating field](docs/manual/images/exp_growth_spark.png)

### From CST
Results of a parametric study on the number of seed electrons.
![Evolution of exponential growth factor with accelerating field](docs/manual/images/exp_growth_cst.png)

## Treat CST PIC Monitor data
### Emission energies
![Distribution of emission energies](docs/manual/images/emission_energy_distribution.png)

### Collision energies
![Distribution of collision energies](docs/manual/images/collision_energy_distribution.png)

### Collision angles
![Distribution of collision angles](docs/manual/images/collision_angle_distribution.png)

### Trajectory plots
Here we represented in red the collision points and in green the emission points.
Electrons without a green point are seed electrons.
![Plot of some trajectories](docs/manual/images/trajectories_1.png)

![Plot of some trajectories](docs/manual/images/trajectories_2.png)

