|
The Open FUSION Toolkit 1.0.0-beta6
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.