Coder Social home page Coder Social logo

gt3's Introduction

The Georgia Tech Tokamak Transport Code (GT3). Also known as GTEDGE2.

Installation

Using pip

$ pip install GT3

Installing from GitHub

  • Master branch

Clone GT3 master branch from github

$ git clone https://github.com/gt-frc/gt3.git

  • Other branches

You can clone another branch from github as follows:

$ git clone -b <branch> https://github.com/gt-frc/gt3.git

Installing Branches from GitHub via pip

To use pip to install a development version of GT3, simply use

$ pip install git+https://github.com/gt-frc/gt3@development

Neutrals Calculations

GT3 utilizes NeutPy (https://github.com/gt-frc/neutpy) for the calculation of neutral particles recycling from the wall. Neutpy is an optional dependency. NeutPy also requires the Triangle 2D meshing package (see the NeutPy github for details).

To install NeutPy:

$ pip install neutpy

Usage

GT3 can be run in 2 different ways: via a config file and profiles or via a test data class.

  • From Files

The primary method of running GT3 is via the gt3 class

from GT3 import gt3

If neutpy is installed, you'll see a message indicating that it is being imported. Otherwise, a warning will be given. If you will be running neutpy, the main configuration file needs to be placed in the CWD. A sample configuration file can be found on the neutpy github as neutpy.conf

GT3 is instantiated in this manner by providing an input file.

myPlasma = gt3(inputFile="myInputFile")

See the /inputs directory for example input files (generally called togt3_d3d_shotid_timeid). The inputFile argument takes a file relative to the current working directory (CWD). An input file will include some plasma parameters and meshing information. In addition, the locations of 1D and 2D profile data are entered into this file. The locations also must be relative to the CWD. See the inputs directory for an example with DIII-D shot 144977.3000.

GT3 includes various modules that provide information and calculations about the plasma. Running gt3() with the mode argument will run different sets of modules (see gt3.py for a list of modes). Modules can also be run using the various arguments (run_IOL(), run_NBI(), run_radial_transport(), etc.).

To run the full radial transport code, use the mode='radialtrans' argument in gt3() or run myPlasma.run_radial_transport().

  • From A Class

Documentation Coming Soon

gt3's People

Contributors

rogue26 avatar veto1024 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gt3's Issues

Summary method request

It would be useful to have a method in GT3 that prints a summary of all the input variables and possibly other relevant information. Maybe toss it in the gt3 class and use a table generator class. I think one is in neutpy.

Plasma slamming needs to modify calculation of plasma radius

When the LCFS hits a wall, we lose the ability to X-point physics and have to manually set a separatrix. One problem is that we have to decide what the plasma radius becomes. Code is being changed to manually take the left-most R value from the wall_line LineString as the lowest value the inboard midplane can be. Probably need to make this change for other geometries and triangularities.

Make NeutPy an optional dependency

Currently, GT3 requires neutpy to be installed. Since neutpy is fairly extensive, it might be better to have it as an optional dependency. Should be easy to do since RadialTransport has exception handling if it can't find neutrals data.

Provide a way to get a shot summary

It would be useful to have a method in GT3 that prints a summary of all the input variables and possibly other relevant information. Maybe toss it in the gt3 class and use a table generator class. I think one is in neutpy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.