The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines | Variables
tracing_2d Module Reference

Detailed Description

2D tracing implementation for Open FUSION Toolkit (OFT)

Authors
Chris Hansen
Date
Feburary 2012

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)
 

Function/Subroutine Documentation

◆ set_tracer()

subroutine set_tracer ( integer(i4), intent(in)  type)

Allocate tracer for current thread.

Parameters
[in]typeDesired type (1-> LSODE)

◆ trace_advance_lsode()

subroutine trace_advance_lsode ( class(tracer_lsode), intent(inout)  self)

Advance the tracer one step using LSODE.

Parameters
[in,out]selfLSODE tracer object

◆ trace_delete_lsode()

subroutine trace_delete_lsode ( class(tracer_lsode), intent(inout)  self)

Destroy LSODE tracer and deallocate internal storage.

Parameters
[in,out]selfLSODE tracer object

◆ trace_setup_lsode()

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.

Parameters
[in,out]selfLSODE tracer object
[in]yInitial position
[in]cellGuess for starting cell

◆ tracing_eval_b()

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)

Parameters
[in]neqNumber of total ODE eqns (from LSODE)
[in]tCurrent time (from LSODE)
[in]yState vector at current time (from LSODE)
[out]ydotdy/dt vector

◆ tracing_eval_binv()

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)

Parameters
[in]neqNumber of total ODE eqns (from LSODE)
[in]tCurrent time (from LSODE)
[in]yState vector at current time (from LSODE)
[out]ydotdy/dt vector

◆ tracing_line()

subroutine tracing_line ( real(r8), dimension(2), intent(in)  pt,
character(len=*), intent(in)  filename 
)

Trace field line and save path to file.

Parameters
[in]ptStarting point
[in]filenameOutput filename

◆ tracinginv_fs()

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.

Parameters
[in]meshMesh for tracing
[in]ptStarting point [2]
[in,out]ptoutPoints on surface [3,:]

Variable Documentation

◆ active_tracer

class(tracer), pointer active_tracer => NULL()

Current tracer for thread (OpenMP)