User's Guide - gergopokol/renate-od GitHub Wiki
Standalone
Install
git clone https://github.com/gergopokol/renate-od.git
git checkout master
or any other branch
Run
...from Python Console.
Running RENATE-OD starts with the creation of a beamlet instance and the calculation of the population evolution along the beamlet:
from crm_solver.beamlet import Beamlet
Calling sequence of Beamlet object is as follows:
b = Beamlet()
for the default test scenario.
For the general case:
b = Beamlet(param=None, profiles=None, components=None, solver='numerical', data_path="beamlet/testimp0001.xml")
The code support only a numerical solver for the moment. param
, profiles
and components
dataframes are complementary to the path location of beamlet input. Quick run example:
b = Beamlet(data_path='Insert your path')
.
The code builds a CRM from the profiles and components and automatically computes the relative electron population distributions along the neutral beamlet.
- data_path = path relative to 'data' directory/filename of the test xml
- eg. on development branch: data_path='beamlet/test0001.xml'
- eg. on adding-impurity branch: data_path='beamlet/testimp0001.xml'
- eg. on master branch: data_path='beamlet/testmaster0001.xml'
Functions to compute various features along the beamlet:
- Linear emission density along the beamlet. Currently supports only default transition for given atomic physics.
b.compute_linear_emission_density()
- Total beam attenuation along the beamlet.
b.compute_linear_density_attenuation()
- Relative population evolution.
b.compute_relative_populations(reference_level='level 0')
The calculated profile and parameters can be written into a new HDF5 and a new XML files into your output/beamlet directory.
from utility.writedata import WriteData
w = WriteData()
w.write_beamlet_profiles(b.param, b.profiles, subdir)
- subdir = 'output/beamlet/' by default, if not given explicitly:
w.write_beamlet_profiles(b.param, b.profiles)
- the file path is printed: eg. 'Beamlet profile data written to file: output/beamlet/beamlet_test'
Visualization of data from your pre-created result file:
from visualization.profiles import BeamletProfiles
p = BeamletProfiles(param_path)
p.plot_all_profiles()
- param_path='/output/beamlet/beamlet_test.xml' by default, if not given explicitly:
p = BeamletProfiles(param_path)
.
/Under development
After creating your beamlet instance, you can run the observation module:
from observation.observation import Obs1d
my_obs = Obs1d(beamlet=my_beamlet, data_path=path_relative_to_data_directory/filename_of_test_xml, beam_current=1e-3)
my_obs.calculate_light_profile()
Under development/
RENATE-OD + CHERAB on IMAS
Install
Set up modules (can do with a setup script)
module purge
module load IMAS/3.23.0-4.0.3
module load Python/3.6.4-intel-2018a
module load Cython/0.28.6-intel-2018a-Python-3.6.4
module load Raysect/0.5.5-intel-2018a-Python-3.6.4
Install each cherab modules one by one in develop mode
It is recommended to install them on the same directory level.
CHERAB core
git clone https://github.com/cherab/core.git cherab_core
cd cherab_core
git checkout development
python setup.py develop --user
cd ..
OPEN-ADAS
git clone https://github.com/cherab/openadas.git
cd openadas
git checkout development
python setup.py develop --user
cd ..
CHERAB-ITER
git clone https://[email protected]/scm/diag/cherab-iter.git
cd cherab-iter
python setup.py develop --user
cd ..
RENATE-OD
git clone https://github.com/gergopokol/renate-od.git
cd renate-od
git checkout cherab-integration
python setup.py develop --user
Install further required libraries
pip install lxml, h5py --user
(or any other python package which is missing if you run a demo.)
Run
-
go to directory
cherab_core/demos/
-
run a demo file eg.
plasmas/beam_into_slab.py