The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Tracer implementation using an Euler method.
Public Member Functions | |
procedure | copy (self) |
Create a copy of this tracer. | |
procedure(tracer_copy), deferred | copy (self, new) |
Create a copy of this tracer. | |
procedure(tracer_step), deferred | delete (self) |
Clean-up internal storage. | |
procedure | delete (self) |
Clean-up internal storage. | |
procedure(tracer_recv), deferred | recv (self, proc) |
Receive tracer information from other domain. | |
procedure | recv (self, proc) |
Receive tracer information from other domain. | |
procedure(tracer_send), deferred | send (self, proc) |
Save tracer information for transfer. | |
procedure | send (self, proc) |
Save tracer information for transfer. | |
procedure(tracer_setup), deferred | setup (self, y, cell, init) |
Initialize tracer at a given point. | |
procedure | setup (self, y, cell, init) |
Initialize tracer at a given point. | |
procedure(tracer_step), deferred | step (self) |
Advance tracer one step. | |
procedure | 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), dimension(2) | isend = 0 |
Integer MPI transfer array. | |
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. | |
real(r8), dimension(:), pointer | rsend |
Real MPI transfer array. | |
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. | |
procedure copy | ( | class(oft_tracer_euler), intent(inout) | self | ) |
Create a copy of this tracer.
[in,out] | self | Tracer object |
|
pure virtualinherited |
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 virtualinherited |
Clean-up internal storage.
[in,out] | self | Tracer object |
procedure delete | ( | class(oft_tracer_euler), intent(inout) | self | ) |
Clean-up internal storage.
[in,out] | self | Tracer object |
|
pure virtualinherited |
Receive tracer information from other domain.
[in,out] | self | Tracer object |
[in] | proc | Processor ID to recieve tracer information from |
procedure recv | ( | class(oft_tracer_euler), intent(inout) | self, |
integer(i4), intent(in) | proc | ||
) |
Receive tracer information from other domain.
This subroutine sets up non-blocking MPI recieve requests and unpacks the resulting data sent by tracer_euler_send
[in,out] | self | Tracer object |
[in] | proc | Processor ID to receive tracer information from |
|
pure virtualinherited |
Save tracer information for transfer.
Transfer tracer information to new domain
procedure send | ( | class(oft_tracer_euler), intent(inout) | self, |
integer(i4), intent(in) | proc | ||
) |
Save tracer information for transfer.
Transfer tracer information to new domain
|
pure virtualinherited |
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) |
procedure setup | ( | class(oft_tracer_euler), intent(inout) | self, |
real(r8), dimension(:), intent(in) | y, | ||
integer(i4), intent(in), optional | cell, | ||
logical, intent(in), optional | init | ||
) |
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 virtualinherited |
Advance tracer one step.
[in,out] | self | Tracer object |
procedure step | ( | class(oft_tracer_euler), intent(inout) | self | ) |
Advance tracer one step.
[in,out] | self | Tracer object |
|
inherited |
Interpolation operator for trace field.
|
inherited |
Cell location of last/current trace point.
|
inherited |
Time step for ODE solver.
|
inherited |
Change from previous trace point.
|
inherited |
Previous derivative.
|
inherited |
Error status of tracer.
|
inherited |
Logical cell position of last/current trace point.
|
inherited |
Flag to indicate tracer is ready.
integer(i4), dimension(2) isend = 0 |
Integer MPI transfer array.
|
inherited |
Limit for the number of tracer steps.
|
inherited |
Limit for the number of domain transfers.
|
inherited |
Muli-grid mesh.
|
inherited |
Number of equations in ODE system (3)
|
inherited |
Current number of steps.
|
inherited |
Current number of transfers.
|
inherited |
Processor location of last/current trace point.
|
inherited |
Active MPI recieve request IDs.
real(r8), dimension(:), pointer rsend |
Real MPI transfer array.
|
inherited |
Status of tracer.
|
inherited |
Transfer tags for inter-processor communication.
|
inherited |
Tolerance for ODE solver.
|
inherited |
Possition of current trace point.
|
staticinherited |
General ODE function.