The Open FUSION Toolkit 1.0.0-8905cc5
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)