Getting Started

Getting Started#

Installation#

Install pyrokinetics with pip as follows:

$ pip install --user pyrokinetics

Otherwise, for the latest version install directly with:

$ git clone https://github.com/pyro-kinetics/pyrokinetics.git
$ cd pyrokinetics
$ pip install .

If you are developing pyrokinetics:

$ pip install -e .[docs,tests]

Command Line Interface#

After installing, simple pyrokinetics operations can be performed on the command line using either of the following methods:

$ python3 -m pyrokinetics {args...}
$ pyro {args...}

For example, to convert a GS2 input file to CGYRO:

$ pyro convert CGYRO "my_gs2_file.in" -o "input.cgyro"

You can get help on how to use the command line interface or any of its subcommands by providing -h or --help:

$ pyro --help
$ pyro convert --help

Library#

Example scripts can be found in the examples folder where GK/Transport code data is read in and GK outputs are read in. Here’s how you could generate input files for GS2, CGYRO, and GENE from one SCENE equilibrium:

from pyrokinetics import Pyro

# Create a Pyro object from GEQDSK and SCENE files
# By setting 'gk_code' to "CGYRO", we implicitly load a CGYRO input file template
# All file types are inferred automatically
pyro = Pyro(
    gk_code="CGYRO",
    eq_file="test.geqdsk",
    kinetics_file="scene.cdf",
)

# Generate local Miller parameters at psi_n=0.5
pyro.load_local(psi_n=0.5, local_geometry="Miller")

# Write CGYRO input file using default template
pyro.write_gk_file(file_name="test_scene.cgyro", gk_code="CGYRO")

# Write single GS2 input file
pyro.write_gk_file(file_name="test_scene.gs2", gk_code="GS2")

# Write single GENE input file
pyro.write_gk_file(file_name="test_scene.gene", gk_code="GENE")