|
The Open FUSION Toolkit 1.0.0-beta5
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. | |
| 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.
|
pure virtualinherited |
Create a copy of this tracer.
|
pure virtualinherited |
Clean-up internal storage.
| procedure delete | ( | class(oft_tracer_euler), intent(inout) | self | ) |
Clean-up internal storage.
|
pure virtualinherited |
Receive tracer information from other domain.
| 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] | proc | Processor ID to recieve 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.
| 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] | y | New start point [3] |
| [in] | cell | Guess cell for use in tetmesh_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.
| procedure step | ( | class(oft_tracer_euler), intent(inout) | self | ) |
Advance tracer one step.
|
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 |
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.