The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Abstract class for OFT tracers.
Public Member Functions | |
procedure(tracer_copy), deferred | copy (self, new) |
Create a copy of this tracer. | |
procedure(tracer_step), deferred | delete (self) |
Clean-up internal storage. | |
procedure(tracer_recv), deferred | recv (self, proc) |
Receive tracer information from other domain. | |
procedure(tracer_send), deferred | send (self, proc) |
Save tracer information for transfer. | |
procedure(tracer_setup), deferred | setup (self, y, cell, init) |
Initialize tracer at a given point. | |
procedure(tracer_step), deferred | step (self) |
Advance tracer one step. | |
Public Attributes | |
class(fem_interp), pointer | b => NULL() |
Interpolation operator for trace field. | |
integer(i4) | cell = 0 |
Cell location of last/current trace point. | |
real(r8) | dt = 0.d0 |
Time step for ODE solver. | |
real(r8), dimension(:), pointer | dy |
Change from previous trace point. | |
real(r8), dimension(:), pointer | dyp |
Previous derivative. | |
integer(i4) | estatus = 0 |
Error status of tracer. | |
real(r8), dimension(4) | f = 0.d0 |
Logical cell position of last/current trace point. | |
logical | initialized = .FALSE. |
Flag to indicate tracer is ready. | |
integer(i4) | maxsteps = 1e6 |
Limit for the number of tracer steps. | |
integer(i4) | maxtrans = 1e2 |
Limit for the number of domain transfers. | |
type(multigrid_mesh), pointer | ml_mesh => NULL() |
Muli-grid mesh. | |
integer(i4) | neq = 3 |
Number of equations in ODE system (3) | |
integer(i4) | nsteps = 0 |
Current number of steps. | |
integer(i4) | ntrans = 0 |
Current number of transfers. | |
integer(i4) | proc = 0 |
Processor location of last/current trace point. | |
integer(i4), dimension(2) | rids = MPI_REQUEST_NULL |
Active MPI recieve request IDs. | |
integer(i4) | status = 0 |
Status of tracer. | |
integer(i4), dimension(2) | tids = 0 |
Transfer tags for inter-processor communication. | |
real(r8) | tol = 1.d-4 |
Tolerance for ODE solver. | |
real(r8), dimension(:), pointer | y |
Possition of current trace point. | |
Static Public Attributes | |
procedure(tracer_ydot), pointer, nopass | ydot => NULL() |
General ODE function. | |
|
pure virtual |
Create a copy of this tracer.
[in] | self | Tracer object |
[out] | new | Copy of tracer object with same type, tolerances and field interpolation object |
|
pure virtual |
Clean-up internal storage.
[in,out] | self | Tracer object |
|
pure virtual |
Receive tracer information from other domain.
[in,out] | self | Tracer object |
[in] | proc | Processor ID to recieve tracer information from |
|
pure virtual |
Save tracer information for transfer.
Transfer tracer information to new domain
|
pure virtual |
Initialize tracer at a given point.
[in,out] | self | Tracer object |
[in] | y | New start point [3] |
[in] | cell | Guess cell for use in mesh_findcell (optional) |
[in] | init | Flag indicating tracer is starting a new trace and all counts should be set to zero (optional) |
|
pure virtual |
Advance tracer one step.
[in,out] | self | Tracer object |
class(fem_interp), pointer b => NULL() |
Interpolation operator for trace field.
integer(i4) cell = 0 |
Cell location of last/current trace point.
real(r8) dt = 0.d0 |
Time step for ODE solver.
real(r8), dimension(:), pointer dy |
Change from previous trace point.
real(r8), dimension(:), pointer dyp |
Previous derivative.
integer(i4) estatus = 0 |
Error status of tracer.
real(r8), dimension(4) f = 0.d0 |
Logical cell position of last/current trace point.
logical initialized = .FALSE. |
Flag to indicate tracer is ready.
integer(i4) maxsteps = 1e6 |
Limit for the number of tracer steps.
integer(i4) maxtrans = 1e2 |
Limit for the number of domain transfers.
type(multigrid_mesh), pointer ml_mesh => NULL() |
Muli-grid mesh.
integer(i4) neq = 3 |
Number of equations in ODE system (3)
integer(i4) nsteps = 0 |
Current number of steps.
integer(i4) ntrans = 0 |
Current number of transfers.
integer(i4) proc = 0 |
Processor location of last/current trace point.
integer(i4), dimension(2) rids = MPI_REQUEST_NULL |
Active MPI recieve request IDs.
integer(i4) status = 0 |
Status of tracer.
integer(i4), dimension(2) tids = 0 |
Transfer tags for inter-processor communication.
real(r8) tol = 1.d-4 |
Tolerance for ODE solver.
real(r8), dimension(:), pointer y |
Possition of current trace point.
|
static |
General ODE function.