read_from_snapshot Subroutine

public subroutine read_from_snapshot()

Arguments

None

Calls

proc~~read_from_snapshot~~CallsGraph proc~read_from_snapshot read_from_snapshot proc~find_particle_ipe find_particle_ipe proc~read_from_snapshot->proc~find_particle_ipe proc~push_particle_into_particles_on_mype push_particle_into_particles_on_mype proc~read_from_snapshot->proc~push_particle_into_particles_on_mype 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~mpistop mpistop proc~get_igslice->proc~mpistop mpi_abort mpi_abort proc~mpistop->mpi_abort

Called by

proc~~read_from_snapshot~~CalledByGraph proc~read_from_snapshot read_from_snapshot proc~read_particles_snapshot read_particles_snapshot proc~read_particles_snapshot->proc~read_from_snapshot proc~main main proc~main->proc~read_particles_snapshot program~agile agile program~agile->proc~main

Source Code

  subroutine read_from_snapshot()

    integer :: index,igrid_particle,ipe_particle

    read(unitparticles) index
    allocate(particle(index)%self)
    allocate(particle(index)%payload(1:npayload))
    particle(index)%self%index = index

    read(unitparticles) particle(index)%self%follow
    read(unitparticles) particle(index)%self%q
    read(unitparticles) particle(index)%self%m
    read(unitparticles) particle(index)%self%time
    read(unitparticles) particle(index)%self%dt
    read(unitparticles) particle(index)%self%x
    read(unitparticles) particle(index)%self%u
    read(unitparticles) particle(index)%payload(1:npayload)

!    if (particle(index)%self%follow) print*, 'follow index:', index

    call find_particle_ipe(particle(index)%self%x,igrid_particle,ipe_particle)
    particle(index)%igrid = igrid_particle
    particle(index)%ipe   = ipe_particle

    call push_particle_into_particles_on_mype(index)

  end subroutine read_from_snapshot