The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Abstract tracer class for 2D grids.
Public Member Functions | |
procedure(tracer_step), deferred | delete (self) |
Destroy tracer and deallocate internal storage. | |
procedure(tracer_setup), deferred | setup (self, y, cell) |
Setup tracer and initialize ODE solver. | |
procedure(tracer_step), deferred | step (self) |
Take one step of the ODE solver. | |
Public Attributes | |
class(bfem_interp), pointer | b => NULL() |
Interpolation object for field evaluation. | |
integer(i4) | cell = 0 |
Current cell containing tracer. | |
real(r8) | dt = 0.d0 |
Timestep (for fixed step methods) | |
real(r8), dimension(:), pointer | dv => NULL() |
Change in ODE solution over last step. | |
real(r8), dimension(2) | dy = 0.d0 |
Change in position in real coordinates (eg. X,Y) | |
real(r8), dimension(3) | f = 0.d0 |
Logical position in cell. | |
logical | initialized = .FALSE. |
Has tracer been initialized. | |
logical | inv = .FALSE. |
Perform tracing in inverse coordinates? | |
integer(i4) | maxsteps = 1e6 |
Maximum number of timesteps. | |
class(oft_bmesh), pointer | mesh => NULL() |
integer | neq = 2 |
Number of ODE equations to advance. | |
integer(i4) | nsteps = 0 |
Number of timesteps taken. | |
real(r8) | raxis = 0.d0 |
Radial location of axis for inverse coordinates. | |
integer(i4) | status = 0 |
Status of tracer. | |
real(r8) | t = 0.d0 |
Current time. | |
real(r8) | tol = 1.d-4 |
Tolerance for ODE solver. | |
real(r8), dimension(:), pointer | v => NULL() |
Current ODE solution vector. | |
real(r8), dimension(2) | y = 0.d0 |
Position in real coordinates (eg. X,Y) | |
real(r8) | zaxis = 0.d0 |
Vertical location of axis for inverse coordinates. | |
|
pure virtual |
Destroy tracer and deallocate internal storage.
[in,out] | self | Tracer object |
|
pure virtual |
Setup tracer and initialize ODE solver.
[in,out] | self | Tracer object |
[in] | y | Initial position in physical coordinates |
[in] | cell | Starting guess for cell |
|
pure virtual |
Take one step of the ODE solver.
[in,out] | self | Tracer object |
class(bfem_interp), pointer b => NULL() |
Interpolation object for field evaluation.
integer(i4) cell = 0 |
Current cell containing tracer.
real(r8) dt = 0.d0 |
Timestep (for fixed step methods)
real(r8), dimension(:), pointer dv => NULL() |
Change in ODE solution over last step.
real(r8), dimension(2) dy = 0.d0 |
Change in position in real coordinates (eg. X,Y)
real(r8), dimension(3) f = 0.d0 |
Logical position in cell.
logical initialized = .FALSE. |
Has tracer been initialized.
logical inv = .FALSE. |
Perform tracing in inverse coordinates?
integer(i4) maxsteps = 1e6 |
Maximum number of timesteps.
class(oft_bmesh), pointer mesh => NULL() |
integer neq = 2 |
Number of ODE equations to advance.
integer(i4) nsteps = 0 |
Number of timesteps taken.
real(r8) raxis = 0.d0 |
Radial location of axis for inverse coordinates.
integer(i4) status = 0 |
Status of tracer.
real(r8) t = 0.d0 |
Current time.
real(r8) tol = 1.d-4 |
Tolerance for ODE solver.
real(r8), dimension(:), pointer v => NULL() |
Current ODE solution vector.
real(r8), dimension(2) y = 0.d0 |
Position in real coordinates (eg. X,Y)
real(r8) zaxis = 0.d0 |
Vertical location of axis for inverse coordinates.