beam3d_class Module


Uses

  • module~~beam3d_class~~UsesGraph module~beam3d_class beam3d_class module~part3d_class part3d_class module~beam3d_class->module~part3d_class module~spect3d_class spect3d_class module~beam3d_class->module~spect3d_class module~field3d_class field3d_class module~beam3d_class->module~field3d_class module~field2d_class field2d_class module~beam3d_class->module~field2d_class module~perrors_class perrors_class module~beam3d_class->module~perrors_class module~fdist3d_class fdist3d_class module~beam3d_class->module~fdist3d_class module~parallel_pipe_class parallel_pipe_class module~beam3d_class->module~parallel_pipe_class module~hdf5io_class hdf5io_class module~beam3d_class->module~hdf5io_class mpi mpi module~beam3d_class->mpi module~part3d_class->module~spect3d_class module~part3d_class->module~perrors_class module~part3d_class->module~fdist3d_class module~part3d_class->module~parallel_pipe_class module~part3d_class->module~hdf5io_class module~part3d_class->mpi module~part3d_lib part3d_lib module~part3d_class->module~part3d_lib module~ufield3d_class ufield3d_class module~part3d_class->module~ufield3d_class 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~field3d_class->module~spect3d_class module~field3d_class->module~perrors_class module~field3d_class->module~parallel_pipe_class module~field3d_class->module~hdf5io_class module~field3d_class->module~ufield3d_class module~field2d_class->module~field3d_class module~field2d_class->module~perrors_class module~field2d_class->module~parallel_pipe_class module~field2d_class->module~hdf5io_class module~fpois2d_class fpois2d_class module~field2d_class->module~fpois2d_class module~field2d_class->module~spect2d_class module~fft2d_class fft2d_class module~field2d_class->module~fft2d_class module~field2d_class->module~ufield3d_class module~ufield2d_class ufield2d_class module~field2d_class->module~ufield2d_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~perrors_class module~fdist3d_class->module~parallel_pipe_class module~fdist3d_class->module~part3d_lib module~input_class input_class module~fdist3d_class->module~input_class module~fdist3d_class->module~ufield3d_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~fpois2d_class->module~perrors_class module~fpois2d_class->module~parallel_pipe_class module~fpois2d_class->module~spect2d_class module~fpois2d_class->module~ufield2d_class module~fpois2d_lib fpois2d_lib module~fpois2d_class->module~fpois2d_lib 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~fft2d_class->module~perrors_class module~fft2d_class->module~parallel_pipe_class module~fft2d_class->module~spect2d_class module~fft2d_class->module~ufield2d_class module~fft2d_lib fft2d_lib module~fft2d_class->module~fft2d_lib 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~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_class->module~ufield2d_class module~ufield3d_lib ufield3d_lib module~ufield3d_class->module~ufield3d_lib 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 module~fft2d_lib->mpi

Used by

  • module~~beam3d_class~~UsedByGraph module~beam3d_class beam3d_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 ='beam3d:'
character(len=128), private :: erstr

Derived Types

type, public :: beam3d

Components

TypeVisibility AttributesNameInitial
class(spect3d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
class(part3d), private, pointer:: pd
class(field3d), private, pointer:: q=> null()
class(fdist3d), private, pointer:: pf=> null()

Type-Bound Procedures

generic, public :: new => init_beam3d
generic, public :: del => end_beam3d
generic, public :: push => push_beam3d
generic, public :: pmv => pmove_beam3d
generic, public :: qdp => qdeposit_beam3d, qdpcopy_beam3d
generic, public :: wr => writehdf5_beam3d
generic, public :: wrq => writeq_beam3d, writeqslice_beam3d
generic, public :: wrst => writerst_beam3d
generic, public :: rrst => readrst_beam3d
procedure, private :: init_beam3d
procedure, private :: end_beam3d
procedure, private :: push_beam3d
procedure, private :: pmove_beam3d
procedure, private :: writehdf5_beam3d
procedure, private :: qdeposit_beam3d
procedure, private :: readrst_beam3d
procedure, private :: writerst_beam3d
procedure, private :: writeqslice_beam3d
procedure, private :: writeq_beam3d
procedure, private :: qdpcopy_beam3d

Subroutines

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

Arguments

Type IntentOptional AttributesName
class(beam3d), 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), target:: pf
real, intent(in) :: qbm
real, intent(in) :: dt
real, intent(in) :: ci
integer, intent(in) :: xdim

private subroutine end_beam3d(this)

Arguments

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

private subroutine qdeposit_beam3d(this, id1, id2, id3, tag1, tag2)

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
integer, intent(inout) :: id1
integer, intent(inout) :: id2
integer, intent(inout) :: id3
integer, intent(inout) :: tag1
integer, intent(inout) :: tag2

private subroutine qdpcopy_beam3d(this, q, slice)

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
class(field2d), intent(inout) :: q
integer, intent(in) :: slice

private subroutine push_beam3d(this, ef, bf, dex, dez, rtag, stag, sid)

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
class(field3d), intent(in) :: ef
class(field3d), intent(in) :: bf
real, intent(in) :: dex
real, intent(in) :: dez
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: sid

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

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
class(field3d), intent(in) :: fd
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: sid

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

Arguments

Type IntentOptional AttributesName
class(beam3d), 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_beam3d(this, file)

Arguments

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

private subroutine writeq_beam3d(this, file, rtag, stag, id)

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
class(hdf5file), intent(in) :: file
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: id

private subroutine writeqslice_beam3d(this, file, slice, spos, rtag, stag, id)

Arguments

Type IntentOptional AttributesName
class(beam3d), intent(inout) :: this
class(hdf5file), intent(in) :: file
integer, intent(in) :: slice
integer, intent(in) :: spos
integer, intent(in) :: rtag
integer, intent(in) :: stag
integer, intent(inout) :: id

private subroutine readrst_beam3d(this, file)

Arguments

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