|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
2D tracing implementation for Open FUSION Toolkit (OFT)
Data Types | |
| type | cylinv_interp |
| Abstract interpolation class for inverse mappings. More... | |
| type | tracer |
| Abstract tracer class for 2D grids. More... | |
| type | tracer_lsode |
| Tracer implementation using LSODE as the ODE solver. More... | |
| interface | tracer_setup |
| Interface definition for tracer::setup. More... | |
| interface | tracer_step |
| Interface definition for tracer::step and tracer::delete. More... | |
Functions/Subroutines | |
| subroutine | set_tracer (type) |
| Allocate tracer for current thread. | |
| subroutine | trace_advance_lsode (self) |
| Advance the tracer one step using LSODE. | |
| subroutine | trace_delete_lsode (self) |
| Destroy LSODE tracer and deallocate internal storage. | |
| subroutine | trace_setup_lsode (self, y, cell) |
| Initialize tracer using LSODE. | |
| subroutine | tracing_eval_b (neq, t, y, ydot) |
| Evaluate B-field for tracing using LSODE (called by LSODE) | |
| subroutine | tracing_eval_binv (neq, t, y, ydot) |
| Evaluate B-field for tracing in inverse coordinates using LSODE (called by LSODE) | |
| subroutine | tracing_line (pt, filename) |
| Trace field line and save path to file. | |
| subroutine | tracinginv_fs (mesh, pt, ptout) |
| Trace field line for one flux surface transit in inverse coordinates. | |
Variables | |
| class(tracer), pointer | active_tracer => NULL() |
| Current tracer for thread (OpenMP) | |
| subroutine set_tracer | ( | integer(i4), intent(in) | type | ) |
Allocate tracer for current thread.
| [in] | type | Desired type (1-> LSODE) |
| subroutine trace_advance_lsode | ( | class(tracer_lsode), intent(inout) | self | ) |
Advance the tracer one step using LSODE.
| [in,out] | self | LSODE tracer object |
| subroutine trace_delete_lsode | ( | class(tracer_lsode), intent(inout) | self | ) |
Destroy LSODE tracer and deallocate internal storage.
| [in,out] | self | LSODE tracer object |
| subroutine trace_setup_lsode | ( | class(tracer_lsode), intent(inout) | self, |
| real(8), dimension(2), intent(in) | y, | ||
| integer(4), intent(in), optional | cell | ||
| ) |
Initialize tracer using LSODE.
| [in,out] | self | LSODE tracer object |
| [in] | y | Initial position |
| [in] | cell | Guess for starting cell |
| subroutine tracing_eval_b | ( | integer, intent(in) | neq, |
| real(r8), intent(in) | t, | ||
| real(r8), dimension(neq), intent(in) | y, | ||
| real(r8), dimension(neq), intent(out) | ydot | ||
| ) |
Evaluate B-field for tracing using LSODE (called by LSODE)
| [in] | neq | Number of total ODE eqns (from LSODE) |
| [in] | t | Current time (from LSODE) |
| [in] | y | State vector at current time (from LSODE) |
| [out] | ydot | dy/dt vector |
| subroutine tracing_eval_binv | ( | integer, intent(in) | neq, |
| real(r8), intent(in) | t, | ||
| real(r8), dimension(neq), intent(in) | y, | ||
| real(r8), dimension(neq), intent(out) | ydot | ||
| ) |
Evaluate B-field for tracing in inverse coordinates using LSODE (called by LSODE)
| [in] | neq | Number of total ODE eqns (from LSODE) |
| [in] | t | Current time (from LSODE) |
| [in] | y | State vector at current time (from LSODE) |
| [out] | ydot | dy/dt vector |
| subroutine tracing_line | ( | real(r8), dimension(2), intent(in) | pt, |
| character(len=*), intent(in) | filename | ||
| ) |
Trace field line and save path to file.
| [in] | pt | Starting point |
| [in] | filename | Output filename |
| subroutine tracinginv_fs | ( | class(oft_bmesh), intent(in), target | mesh, |
| real(8), dimension(2), intent(in) | pt, | ||
| real(8), dimension(:,:), intent(inout), optional | ptout | ||
| ) |
Trace field line for one flux surface transit in inverse coordinates.
| [in] | mesh | Mesh for tracing |
| [in] | pt | Starting point [2] |
| [in,out] | ptout | Points on surface [3,:] |
| class(tracer), pointer active_tracer => NULL() |
Current tracer for thread (OpenMP)