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