advect_init Subroutine

public subroutine advect_init()

Uses

  • proc~~advect_init~~UsesGraph proc~advect_init advect_init module~mod_global_parameters mod_global_parameters proc~advect_init->module~mod_global_parameters 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_constants mod_constants module~mod_global_parameters->module~mod_constants 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_variables->module~mod_basic_types

Arguments

None

Called by

proc~~advect_init~~CalledByGraph proc~advect_init advect_init proc~particles_init particles_init proc~particles_init->proc~advect_init

Source Code

  subroutine advect_init()
    use mod_global_parameters
    integer :: idir

    ngridvars=0
    allocate(vp(ndir))
    do idir = 1, ndir
      vp(idir) = idir
    end do
    ngridvars=ngridvars+ndir
    if(ndefpayload>0) then
      rhop=vp(ndir)+1
      ngridvars=ngridvars+ndefpayload
    end if

    particles_fill_gridvars => advect_fill_gridvars

    if (associated(particles_define_additional_gridvars)) then
      call particles_define_additional_gridvars(ngridvars)
    end if

    select case(integrator_type_particles)
    case('Euler','euler')
      integrator = Euler
    case('RK4','Rk4','rk4')
      integrator = RK4
    case('ARK4','ARk4','Ark4','ark4')
      integrator = ARK4
    case default
      integrator = ARK4
    end select

    particles_integrate  => advect_integrate_particles

  end subroutine advect_init