part2d_class Module


Uses

  • module~~part2d_class~~UsesGraph module~part2d_class part2d_class module~spect2d_class spect2d_class module~part2d_class->module~spect2d_class module~part2d_lib part2d_lib module~part2d_class->module~part2d_lib module~perrors_class perrors_class module~part2d_class->module~perrors_class module~parallel_pipe_class parallel_pipe_class module~part2d_class->module~parallel_pipe_class module~ufield2d_class ufield2d_class module~part2d_class->module~ufield2d_class mpi mpi module~part2d_class->mpi module~hdf5io_class hdf5io_class module~part2d_class->module~hdf5io_class module~fdist2d_class fdist2d_class module~part2d_class->module~fdist2d_class module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_class module~part2d_lib->mpi module~perrors_class->mpi module~parallel_class parallel_class module~perrors_class->module~parallel_class module~parallel_pipe_class->mpi module~parallel_pipe_class->module~parallel_class module~ufield2d_class->module~spect2d_class module~ufield2d_class->module~perrors_class module~ufield2d_class->module~parallel_pipe_class module~ufield2d_class->mpi module~ufield2d_class->module~hdf5io_class module~ufield2d_lib ufield2d_lib module~ufield2d_class->module~ufield2d_lib module~hdf5io_class->module~perrors_class module~hdf5io_class->module~parallel_pipe_class module~hdf5io_class->mpi HDF5 HDF5 module~hdf5io_class->HDF5 module~fdist2d_class->module~spect2d_class module~fdist2d_class->module~perrors_class module~fdist2d_class->module~parallel_pipe_class module~fdist2d_class->module~ufield2d_class module~input_class input_class module~fdist2d_class->module~input_class module~parallel_class->mpi omp_lib omp_lib module~parallel_class->omp_lib module~input_class->module~perrors_class module~input_class->module~parallel_pipe_class module~input_class->mpi module~input_class->module~parallel_class module~spect3d_class spect3d_class module~input_class->module~spect3d_class json_module json_module module~input_class->json_module module~ufield2d_lib->mpi module~spect3d_class->module~spect2d_class module~spect3d_class->module~perrors_class module~spect3d_class->module~parallel_pipe_class

Used by

  • module~~part2d_class~~UsedByGraph module~part2d_class part2d_class module~species2d_class species2d_class module~species2d_class->module~part2d_class module~simulation_class simulation_class module~simulation_class->module~species2d_class program~quickpic quickpic program~quickpic->module~simulation_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=10), private :: class ='part2d:'
character(len=128), private :: erstr
integer, private :: mx =16
integer, private :: my =16
integer, private :: mx1
integer, private :: myp1
integer, private :: mxyp1
real, private, dimension(:,:,:), allocatable:: ppbuff
integer, private :: szpbuf =0
real, private, dimension(:,:), allocatable:: sbufl
real, private, dimension(:,:), allocatable:: sbufr
real, private, dimension(:,:), allocatable:: rbufl
real, private, dimension(:,:), allocatable:: rbufr
integer, private :: szbufs =0
integer, private, dimension(:,:), allocatable:: ncll
integer, private, dimension(:,:), allocatable:: nclr
integer, private, dimension(:,:), allocatable:: mcll
integer, private, dimension(:,:), allocatable:: mclr
integer, private :: sznbufs =0

Derived Types

type, public :: part2d

Components

TypeVisibility AttributesNameInitial
class(spect2d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
real, private :: qbm
real, private :: dt
real, private :: ci
integer, private :: npmax
integer, private :: nbmax
integer, private :: np
integer, private :: xdim
integer, private :: npp =0
real, private, dimension(:,:), pointer:: part=> null()
real, private, dimension(:,:,:), pointer:: ppart=> null()
integer, private :: nppmx
integer, private :: nppmx0
integer, private :: nbmaxp
integer, private :: ntmaxp
integer, private :: npbmx
integer, private :: irc =0
integer, private, dimension(:,:), pointer:: ncl=> null()
integer, private, dimension(:,:,:), pointer:: ihole=> null()
integer, private, dimension(:), pointer:: kpic=> null()

Type-Bound Procedures

generic, public :: new => init_part2d
generic, public :: renew => renew_part2d
generic, public :: del => end_part2d
generic, public :: qdp => qdeposit
generic, public :: amjdp => amjdeposit
generic, public :: push => partpush
generic, public :: pmv => pmove
generic, public :: extpsi => extractpsi
generic, public :: pcp => partcopy
generic, public :: pcb => partcopyback
generic, public :: psend => pipesend_part2d
generic, public :: precv => piperecv_part2d
generic, public :: wr => writehdf5_part2d
procedure, private :: renew_part2d
procedure, private :: init_part2d
procedure, private :: end_part2d
procedure, private :: qdeposit
procedure, private :: amjdeposit
procedure, private :: partpush
procedure, private :: pmove
procedure, private :: extractpsi
procedure, private :: partcopy
procedure, private :: partcopyback
procedure, private :: pipesend_part2d
procedure, private :: writehdf5_part2d
procedure, private :: piperecv_part2d

Subroutines

private subroutine init_part2d(this, pp, perr, psp, pf, fd, qbm, dt, ci, xdim, s)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(parallel_pipe), intent(in), pointer:: pp
class(perrors), intent(in), pointer:: perr
class(spect2d), intent(in), pointer:: psp
class(fdist2d), intent(inout) :: pf
class(ufield2d), intent(in), pointer:: fd
real, intent(in) :: qbm
real, intent(in) :: dt
real, intent(in) :: ci
integer, intent(in) :: xdim
real, intent(in) :: s

private subroutine end_part2d(this)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this

private subroutine renew_part2d(this, pf, fd, s)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(fdist2d), intent(inout) :: pf
class(ufield2d), intent(in), pointer:: fd
real, intent(in) :: s

private subroutine qdeposit(this, q)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(in) :: this
class(ufield2d), intent(in), pointer:: q

private subroutine amjdeposit(this, ef, bf, psit, cu, amu, dcu, dex)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: ef
class(ufield2d), intent(in), pointer:: bf
class(ufield2d), intent(in), pointer:: psit
class(ufield2d), intent(in), pointer:: cu
class(ufield2d), intent(in), pointer:: amu
class(ufield2d), intent(in), pointer:: dcu
real, intent(in) :: dex

private subroutine partpush(this, ef, bf, psit, dex)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: ef
class(ufield2d), intent(in), pointer:: bf
class(ufield2d), intent(in), pointer:: psit
real, intent(in) :: dex

private subroutine pmove(this, fd)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: fd

private subroutine extractpsi(this, psi, dex)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: psi
real, intent(in) :: dex

private subroutine partcopy(this, fd)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: fd

private subroutine partcopyback(this)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this

private subroutine pipesend_part2d(this, tag, id)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
integer, intent(in) :: tag
integer, intent(inout) :: id

private subroutine piperecv_part2d(this, fd, tag)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(ufield2d), intent(in), pointer:: fd
integer, intent(in) :: tag

private subroutine writehdf5_part2d(this, file, delta)

Arguments

Type IntentOptional AttributesName
class(part2d), intent(inout) :: this
class(hdf5file), intent(in) :: file
real, intent(in), dimension(2):: delta