mod_particle_advect Module

Tracer for advected particles moving with fluid flows By Jannis Teunissen, Bart Ripperda, Oliver Porth, and Fabio Bacchini (2017-2020)


Uses

  • module~~mod_particle_advect~~UsesGraph module~mod_particle_advect mod_particle_advect module~mod_particle_base mod_particle_base module~mod_particle_advect->module~mod_particle_base mod_physics mod_physics module~mod_particle_base->mod_physics module~mod_comm_lib mod_comm_lib module~mod_particle_base->module~mod_comm_lib module~mod_constants mod_constants module~mod_particle_base->module~mod_constants module~mod_global_parameters mod_global_parameters module~mod_particle_base->module~mod_global_parameters module~mod_mpi_wrapper mod_mpi_wrapper module~mod_particle_base->module~mod_mpi_wrapper module~mod_random mod_random module~mod_particle_base->module~mod_random module~mod_global_parameters->module~mod_constants module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_mpi_wrapper->mpi module~mod_variables->module~mod_basic_types

Used by

  • module~~mod_particle_advect~~UsedByGraph module~mod_particle_advect mod_particle_advect module~mod_particles mod_particles module~mod_particles->module~mod_particle_advect proc~advance advance proc~advance->module~mod_particles proc~main main proc~main->module~mod_particles proc~resettree resettree proc~resettree->module~mod_particles proc~saveamrfile saveamrfile proc~saveamrfile->module~mod_particles proc~timeintegration timeintegration proc~timeintegration->module~mod_particles

Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: ARK4 = 3
integer, private, parameter :: Euler = 1
integer, private, parameter :: RK4 = 2

Functions

private function advect_get_particle_dt(partp, end_time) result(dt_p)

Arguments

Type IntentOptional Attributes Name
type(particle_ptr), intent(in) :: partp
double precision, intent(in) :: end_time

Return Value double precision


Subroutines

public subroutine advect_create_particles()

Arguments

None

public subroutine advect_init()

Arguments

None

private subroutine advect_fill_gridvars()

Arguments

None

private subroutine advect_integrate_particles(end_time)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: end_time

private subroutine advect_update_payload(igrid, xpart, upart, qpart, mpart, mypayload, mynpayload, particle_time)

Payload update

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
double precision, intent(in) :: xpart(1:ndir)
double precision, intent(in) :: upart(1:ndir)
double precision, intent(in) :: qpart
double precision, intent(in) :: mpart
double precision, intent(out) :: mypayload(mynpayload)
integer, intent(in) :: mynpayload
double precision, intent(in) :: particle_time

private subroutine derivs_advect(t_s, x, dxdt)

Arguments

Type IntentOptional Attributes Name
double precision :: t_s
double precision :: x(ndir)
double precision :: dxdt(ndir)

private subroutine get_vec_advect(igrid, x, tloc, var, ibeg, iend)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
double precision, intent(in), dimension(ndir) :: x
double precision, intent(in) :: tloc
double precision, intent(out), dimension(iend-ibeg+1) :: var
integer, intent(in) :: ibeg
integer, intent(in) :: iend