particles_create Subroutine

public subroutine particles_create()

Uses

  • proc~~particles_create~~UsesGraph proc~particles_create particles_create module~mod_global_parameters mod_global_parameters proc~particles_create->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

Create initial particles

Arguments

None

Calls

proc~~particles_create~~CallsGraph proc~particles_create particles_create proc~advect_create_particles advect_create_particles proc~particles_create->proc~advect_create_particles proc~gca_create_particles gca_create_particles proc~particles_create->proc~gca_create_particles proc~lorentz_create_particles Lorentz_create_particles proc~particles_create->proc~lorentz_create_particles proc~mpistop mpistop proc~particles_create->proc~mpistop proc~sample_create_particles sample_create_particles proc~particles_create->proc~sample_create_particles mpi_allreduce mpi_allreduce proc~advect_create_particles->mpi_allreduce mpi_bcast mpi_bcast proc~advect_create_particles->mpi_bcast phys_to_primitive phys_to_primitive proc~advect_create_particles->phys_to_primitive proc~advect_update_payload advect_update_payload proc~advect_create_particles->proc~advect_update_payload proc~find_particle_ipe find_particle_ipe proc~advect_create_particles->proc~find_particle_ipe proc~interpolate_var interpolate_var proc~advect_create_particles->proc~interpolate_var proc~push_particle_into_particles_on_mype push_particle_into_particles_on_mype proc~advect_create_particles->proc~push_particle_into_particles_on_mype proc~unif_01 rng_t%unif_01 proc~advect_create_particles->proc~unif_01 proc~gca_create_particles->mpi_allreduce proc~gca_create_particles->mpi_bcast proc~gca_create_particles->proc~find_particle_ipe proc~gca_update_payload gca_update_payload proc~gca_create_particles->proc~gca_update_payload proc~get_lfac_from_velocity get_lfac_from_velocity proc~gca_create_particles->proc~get_lfac_from_velocity proc~get_vec get_vec proc~gca_create_particles->proc~get_vec proc~gca_create_particles->proc~push_particle_into_particles_on_mype proc~gca_create_particles->proc~unif_01 proc~lorentz_create_particles->mpi_allreduce proc~lorentz_create_particles->mpi_bcast proc~lorentz_create_particles->proc~find_particle_ipe proc~lorentz_create_particles->proc~get_lfac_from_velocity proc~lorentz_update_payload Lorentz_update_payload proc~lorentz_create_particles->proc~lorentz_update_payload proc~lorentz_create_particles->proc~push_particle_into_particles_on_mype proc~lorentz_create_particles->proc~unif_01 mpi_abort mpi_abort proc~mpistop->mpi_abort proc~sample_create_particles->mpi_allreduce proc~sample_create_particles->mpi_bcast proc~sample_create_particles->proc~find_particle_ipe proc~sample_create_particles->proc~push_particle_into_particles_on_mype proc~sample_update_payload sample_update_payload proc~sample_create_particles->proc~sample_update_payload proc~sample_create_particles->proc~unif_01 proc~advect_update_payload->proc~interpolate_var proc~get_igslice get_igslice proc~find_particle_ipe->proc~get_igslice proc~particle_in_domain particle_in_domain proc~find_particle_ipe->proc~particle_in_domain proc~gca_update_payload->proc~get_vec proc~cross cross proc~gca_update_payload->proc~cross proc~get_bfield get_bfield proc~gca_update_payload->proc~get_bfield proc~get_efield get_efield proc~gca_update_payload->proc~get_efield proc~get_vec->proc~interpolate_var proc~interpolate_var->proc~mpistop proc~lorentz_update_payload->proc~cross proc~lorentz_update_payload->proc~get_bfield proc~lorentz_update_payload->proc~get_efield proc~get_lfac get_lfac proc~lorentz_update_payload->proc~get_lfac proc~sample_update_payload->proc~interpolate_var phys_to_conserved phys_to_conserved proc~sample_update_payload->phys_to_conserved proc~next rng_t%next proc~unif_01->proc~next proc~cross->proc~mpistop proc~get_bfield->proc~get_vec proc~get_bfield->proc~interpolate_var proc~get_efield->proc~get_vec proc~get_efield->proc~interpolate_var proc~get_efield->proc~get_bfield proc~get_igslice->proc~mpistop proc~rotl rotl proc~next->proc~rotl

Called by

proc~~particles_create~~CalledByGraph proc~particles_create particles_create proc~main main proc~main->proc~particles_create program~agile agile program~agile->proc~main

Source Code

  subroutine particles_create()
    use mod_global_parameters

    select case(physics_type_particles)
    case('advect')
      call advect_create_particles()
    case('Lorentz')
      ! The Vay mover can use the same routine
      call Lorentz_create_particles()
    case('GCA')
      call gca_create_particles()
    case('sample')
      call sample_create_particles()
    case default
      if (mype == 0) then
        print *, "Unknown physics_type_particles", &
             trim(physics_type_particles)
        print *, "Options are: advect, Lorentz, GCA, sample"
        call mpistop("Unknown physics_type_particles")
      end if
    end select

  end subroutine particles_create