part3d_class Module


Uses

  • module~~part3d_class~~UsesGraph module~part3d_class part3d_class module~spect3d_class spect3d_class module~part3d_class->module~spect3d_class module~part3d_lib part3d_lib module~part3d_class->module~part3d_lib module~perrors_class perrors_class module~part3d_class->module~perrors_class module~fdist3d_class fdist3d_class module~part3d_class->module~fdist3d_class module~ufield3d_class ufield3d_class module~part3d_class->module~ufield3d_class module~parallel_pipe_class parallel_pipe_class module~part3d_class->module~parallel_pipe_class module~hdf5io_class hdf5io_class module~part3d_class->module~hdf5io_class mpi mpi module~part3d_class->mpi module~spect3d_class->module~perrors_class module~spect3d_class->module~parallel_pipe_class module~spect2d_class spect2d_class module~spect3d_class->module~spect2d_class module~perrors_class->mpi module~parallel_class parallel_class module~perrors_class->module~parallel_class module~fdist3d_class->module~spect3d_class module~fdist3d_class->module~part3d_lib module~fdist3d_class->module~perrors_class module~fdist3d_class->module~ufield3d_class module~fdist3d_class->module~parallel_pipe_class module~input_class input_class module~fdist3d_class->module~input_class module~ufield3d_class->module~spect3d_class module~ufield3d_class->module~perrors_class module~ufield3d_class->module~parallel_pipe_class module~ufield3d_class->module~hdf5io_class module~ufield3d_class->mpi module~ufield3d_lib ufield3d_lib module~ufield3d_class->module~ufield3d_lib module~ufield2d_class ufield2d_class module~ufield3d_class->module~ufield2d_class module~parallel_pipe_class->mpi module~parallel_pipe_class->module~parallel_class module~hdf5io_class->module~perrors_class module~hdf5io_class->module~parallel_pipe_class module~hdf5io_class->mpi HDF5 HDF5 module~hdf5io_class->HDF5 module~parallel_class->mpi omp_lib omp_lib module~parallel_class->omp_lib module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_class module~input_class->module~spect3d_class module~input_class->module~perrors_class module~input_class->module~parallel_pipe_class module~input_class->mpi module~input_class->module~parallel_class json_module json_module module~input_class->json_module module~ufield2d_class->module~perrors_class module~ufield2d_class->module~parallel_pipe_class module~ufield2d_class->module~hdf5io_class module~ufield2d_class->mpi module~ufield2d_class->module~spect2d_class module~ufield2d_lib ufield2d_lib module~ufield2d_class->module~ufield2d_lib module~ufield2d_lib->mpi

Used by

  • module~~part3d_class~~UsedByGraph module~part3d_class part3d_class module~beam3d_class beam3d_class module~beam3d_class->module~part3d_class module~simulation_class simulation_class module~simulation_class->module~beam3d_class program~quickpic quickpic program~quickpic->module~simulation_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=10), private :: class ='part3d:'
character(len=128), private :: erstr
real, private, dimension(:,:), allocatable:: sbufl
real, private, dimension(:,:), allocatable:: sbufr
real, private, dimension(:,:), allocatable:: rbufl
real, private, dimension(:,:), allocatable:: rbufr
integer, private, dimension(:), allocatable:: ihole
integer, private :: szbuf =0

Derived Types

type, public :: part3d

Components

TypeVisibility AttributesNameInitial
class(spect3d), 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 :: xdim
integer, private :: npp =0
real, private, dimension(:,:), pointer:: part=> null()
real, private, dimension(:,:), pointer:: pbuff=> null()

Type-Bound Procedures

generic, public :: new => init_part3d
generic, public :: del => end_part3d
generic, public :: push => partpush
generic, public :: pmv => pmove
generic, public :: qdp => qdeposit
generic, public :: wr => writehdf5_part3d
generic, public :: wrst => writerst_part3d
generic, public :: rrst => readrst_part3d
procedure, private :: init_part3d
procedure, private :: end_part3d
procedure, private :: partpush
procedure, private :: pmove
procedure, private :: writehdf5_part3d
procedure, private :: qdeposit
procedure, private :: readrst_part3d
procedure, private :: writerst_part3d
procedure, public :: getnpp

Functions

private function getnpp(this)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(in) :: this

Return Value integer


Subroutines

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

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(parallel_pipe), intent(in), pointer:: pp
class(perrors), intent(in), pointer:: perr
class(spect3d), intent(in), pointer:: psp
class(fdist3d), intent(inout) :: pf
class(ufield3d), intent(in), pointer:: fd
real, intent(in) :: qbm
real, intent(in) :: dt
real, intent(in) :: ci
integer, intent(in) :: xdim

private subroutine end_part3d(this)

Arguments

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

private subroutine qdeposit(this, q)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(in) :: this
class(ufield3d), intent(in), pointer:: q

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

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(ufield3d), intent(in), pointer:: ef
class(ufield3d), intent(in), pointer:: bf
real, intent(in) :: dex
real, intent(in) :: dez

private subroutine pmove(this, fd, rtag, stag, sid)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(ufield3d), intent(in), pointer:: fd
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: sid

private subroutine writehdf5_part3d(this, file, dspl, delta, rtag, stag, id)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(hdf5file), intent(in) :: file
integer, intent(in) :: dspl
real, intent(in), dimension(3):: delta
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: id

private subroutine writerst_part3d(this, file)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(hdf5file), intent(in) :: file

private subroutine readrst_part3d(this, file)

Arguments

Type IntentOptional AttributesName
class(part3d), intent(inout) :: this
class(hdf5file), intent(in) :: file