Metadata-Version: 2.1
Name: neutron-cinema
Version: 2.0.0a1
Summary: China Spallation Neutron Source Monte Carlo System
Author: Xiao-Xiao Cai, Ming Tang, Zi-Yi Pan, Ni Yang
Author-email: cinema-users@outlook.com
Project-URL: repository, https://gitlab.com/cinema-developers/prompt.git
Keywords: NCyrstal,Neutron Scattering,Spectroscopy
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyvista
Requires-Dist: matplotlib
Requires-Dist: mcpl
Requires-Dist: scipy
Requires-Dist: h5py
Requires-Dist: optuna
Requires-Dist: mpi4py
Requires-Dist: psutil

# prompt

Prompt: Probability-Conserved Cross Section Biasing Monte Carlo Particle Transport System. 

Introduction of system can be found at [arXiv](https://arxiv.org/abs/2304.06226).

## Installing on Linux(Ubuntu) from source

To build Prompt, several prerequisites are needed.
```
sudo apt install g++ cmake python3-dev python3-pip python3-venv
```

Clone the source and compile it as

```
git clone https://gitlab.com/cinema-developers/prompt.git
cd prompt
. env.sh
cimbuild
```

## Installing on Linux with pip

```
pip install neutron-cinema
```


## Runing Prompt simulations

After installation, GDML formatted simulation input files can be launched by Prompt as   


```
prompt [-g file] [-s seed] [-n number] [-v]
```

| Option |  Defult  | Description |
|:-----:|:--------:|:------|
| -g   |  | Set GDML input file.  | 
| -s   |  4096  |   Set the seed for the random generator |
| -n   | 100 |    Set the number of primary neutron events |
| -v   |  | The flag to activate the visualisation |

Example of visualising the geometry defined in the total_scattering.gdml:
```
prompt -g total_scattering.gdml -v
```

The simulation will produce histogroms in the MCPL format only in the production run, if any scorers are specified. To run the simulation with 1e6 neutrons
```
prompt -g total_scattering.gdml -n 1e6
```

After the execution, seven histogrom files and accosiated python analysis template scripts will be generated. The reults can be plotted as 
```
python ScorerDeltaMomentum_PofQ_HW_view.py
```

There are many input examples are available in the gdml sub-directory. 


<h3 align="left">Connect with us:</h3>
<p align="left"><a href="mailto:cinema-users@outlook.com">cinema-users@outlook.com</a>
</p>
