The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
oft_tracer Type Referenceabstract

Detailed Description

Abstract class for OFT tracers.

Inheritance diagram for oft_tracer:
Inheritance graph
[legend]

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(i4cell = 0
 Cell location of last/current trace point.
 
real(r8dt = 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(i4estatus = 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(i4maxsteps = 1e6
 Limit for the number of tracer steps.
 
integer(i4maxtrans = 1e2
 Limit for the number of domain transfers.
 
type(multigrid_mesh), pointer ml_mesh => NULL()
 Muli-grid mesh.
 
integer(i4neq = 3
 Number of equations in ODE system (3)
 
integer(i4nsteps = 0
 Current number of steps.
 
integer(i4ntrans = 0
 Current number of transfers.
 
integer(i4proc = 0
 Processor location of last/current trace point.
 
integer(i4), dimension(2) rids = MPI_REQUEST_NULL
 Active MPI recieve request IDs.
 
integer(i4status = 0
 Status of tracer.
 
integer(i4), dimension(2) tids = 0
 Transfer tags for inter-processor communication.
 
real(r8tol = 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.
 

Member Function/Subroutine Documentation

◆ copy()

procedure(tracer_copy), deferred copy ( class(oft_tracer), intent(in)  self,
class(oft_tracer), intent(out), pointer  new 
)
pure virtual

Create a copy of this tracer.

Parameters
[in]selfTracer object
[out]newCopy of tracer object with same type, tolerances and field interpolation object

◆ delete()

procedure(tracer_step), deferred delete ( class(oft_tracer), intent(inout)  self)
pure virtual

Clean-up internal storage.

Parameters
[in,out]selfTracer object

◆ recv()

procedure(tracer_recv), deferred recv ( class(oft_tracer), intent(inout)  self,
integer(i4), intent(in)  proc 
)
pure virtual

Receive tracer information from other domain.

Parameters
[in,out]selfTracer object
[in]procProcessor ID to recieve tracer information from
Returns
MPI request IDs for transfer of real and integer data (2)

◆ send()

procedure(tracer_send), deferred send ( class(oft_tracer), intent(inout)  self,
integer(i4), intent(in)  proc 
)
pure virtual

Save tracer information for transfer.

Transfer tracer information to new domain

◆ setup()

procedure(tracer_setup), deferred setup ( class(oft_tracer), intent(inout)  self,
real(r8), dimension(:), intent(in)  y,
integer(i4), intent(in), optional  cell,
logical, intent(in), optional  init 
)
pure virtual

Initialize tracer at a given point.

Parameters
[in,out]selfTracer object
[in]yNew start point [3]
[in]cellGuess cell for use in mesh_findcell (optional)
[in]initFlag indicating tracer is starting a new trace and all counts should be set to zero (optional)

◆ step()

procedure(tracer_step), deferred step ( class(oft_tracer), intent(inout)  self)
pure virtual

Advance tracer one step.

Parameters
[in,out]selfTracer object

Member Data Documentation

◆ b

class(fem_interp), pointer b => NULL()

Interpolation operator for trace field.

◆ cell

integer(i4) cell = 0

Cell location of last/current trace point.

◆ dt

real(r8) dt = 0.d0

Time step for ODE solver.

◆ dy

real(r8), dimension(:), pointer dy

Change from previous trace point.

◆ dyp

real(r8), dimension(:), pointer dyp

Previous derivative.

◆ estatus

integer(i4) estatus = 0

Error status of tracer.

◆ f

real(r8), dimension(4) f = 0.d0

Logical cell position of last/current trace point.

◆ initialized

logical initialized = .FALSE.

Flag to indicate tracer is ready.

◆ maxsteps

integer(i4) maxsteps = 1e6

Limit for the number of tracer steps.

◆ maxtrans

integer(i4) maxtrans = 1e2

Limit for the number of domain transfers.

◆ ml_mesh

type(multigrid_mesh), pointer ml_mesh => NULL()

Muli-grid mesh.

◆ neq

integer(i4) neq = 3

Number of equations in ODE system (3)

◆ nsteps

integer(i4) nsteps = 0

Current number of steps.

◆ ntrans

integer(i4) ntrans = 0

Current number of transfers.

◆ proc

integer(i4) proc = 0

Processor location of last/current trace point.

◆ rids

integer(i4), dimension(2) rids = MPI_REQUEST_NULL

Active MPI recieve request IDs.

◆ status

integer(i4) status = 0

Status of tracer.

◆ tids

integer(i4), dimension(2) tids = 0

Transfer tags for inter-processor communication.

◆ tol

real(r8) tol = 1.d-4

Tolerance for ODE solver.

◆ y

real(r8), dimension(:), pointer y

Possition of current trace point.

◆ ydot

procedure(tracer_ydot), pointer, nopass ydot => NULL()
static

General ODE function.


The documentation for this type was generated from the following file: