ufield3d_class Module


Uses

  • module~~ufield3d_class~~UsesGraph module~ufield3d_class ufield3d_class module~spect3d_class spect3d_class module~ufield3d_class->module~spect3d_class module~perrors_class perrors_class module~ufield3d_class->module~perrors_class module~ufield3d_lib ufield3d_lib module~ufield3d_class->module~ufield3d_lib module~parallel_pipe_class parallel_pipe_class module~ufield3d_class->module~parallel_pipe_class module~ufield2d_class ufield2d_class module~ufield3d_class->module~ufield2d_class mpi mpi module~ufield3d_class->mpi module~hdf5io_class hdf5io_class module~ufield3d_class->module~hdf5io_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~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~perrors_class module~ufield2d_class->module~parallel_pipe_class module~ufield2d_class->mpi module~ufield2d_class->module~hdf5io_class module~ufield2d_class->module~spect2d_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~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~ufield2d_lib->mpi

Used by

  • module~~ufield3d_class~~UsedByGraph module~ufield3d_class ufield3d_class module~fdist3d_class fdist3d_class module~fdist3d_class->module~ufield3d_class module~part3d_class part3d_class module~part3d_class->module~ufield3d_class module~part3d_class->module~fdist3d_class module~field3d_class field3d_class module~field3d_class->module~ufield3d_class module~field2d_class field2d_class module~field2d_class->module~ufield3d_class module~field2d_class->module~field3d_class module~species2d_class species2d_class module~species2d_class->module~field3d_class module~species2d_class->module~field2d_class module~beam3d_class beam3d_class module~beam3d_class->module~fdist3d_class module~beam3d_class->module~part3d_class module~beam3d_class->module~field3d_class module~beam3d_class->module~field2d_class module~simulation_class simulation_class module~simulation_class->module~fdist3d_class module~simulation_class->module~field3d_class module~simulation_class->module~field2d_class module~simulation_class->module~species2d_class module~simulation_class->module~beam3d_class program~quickpic quickpic program~quickpic->module~simulation_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=10), private, save:: class ='ufield3d:'
character(len=128), private, save:: erstr

Derived Types

type, public :: ufield3d

Components

TypeVisibility AttributesNameInitial
class(spect3d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
integer, private :: dim
integer, private, dimension(2):: noff
integer, private :: nd1
integer, private :: nvpx
integer, private :: nd1p
integer, private :: nd2
integer, private :: nvpy
integer, private :: nd2p
integer, private :: nd3
integer, private :: nvpz
integer, private :: nd3p
real, private, dimension(:,:,:,:), pointer:: rf=> null()

Finalizations Procedures

final :: final_ufield3d

Type-Bound Procedures

generic, public :: new => init_ufield3d
generic, public :: del => end_ufield3d
generic, public :: pcg => copyguard_pipe
generic, public :: ag => acopyguard
generic, public :: cp => copyin
generic, public :: cb => copyout
generic, public :: ca => copyadd
generic, public :: wr => writehdf5_3d, writehdf5_2dslice
generic, public :: as => asc, asa
generic, public :: add => sum
generic, public :: sub => minus
generic, public :: mult => multiply
procedure, private :: init_ufield3d
procedure, private :: end_ufield3d
procedure, public :: getdim
procedure, public :: getnd1p
procedure, public :: getnvpx
procedure, public :: getnd1
procedure, public :: getnd2p
procedure, public :: getnvpy
procedure, public :: getnd2
procedure, public :: getnd3p
procedure, public :: getnvpz
procedure, public :: getnd3
procedure, public :: getnoff
procedure, public :: getrf
procedure, private :: acopyguard
procedure, private :: copyguard_pipe
procedure, private :: copyadd
procedure, private :: copyout
procedure, private :: copyin
procedure, private :: writehdf5_2dslice
procedure, private :: writehdf5_3d
procedure, private :: multiply
procedure, private :: minus
procedure, private :: sum
procedure, private :: asa
procedure, private :: asc

Functions

private function getnvpy(this)

Arguments

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

Return Value integer

private function getnvpx(this)

Arguments

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

Return Value integer

private function getnvpz(this)

Arguments

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

Return Value integer

private function getnd2(this)

Arguments

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

Return Value integer

private function getnd1(this)

Arguments

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

Return Value integer

private function getnd3(this)

Arguments

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

Return Value integer

private function getnd3p(this)

Arguments

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

Return Value integer

private function getnd2p(this)

Arguments

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

Return Value integer

private function getnd1p(this)

Arguments

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

Return Value integer

private function getdim(this)

Arguments

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

Return Value integer

private function getnoff(this)

Arguments

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

Return Value integer, dimension(2)

private function getrf(this)

Arguments

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

Return Value real, dimension(:,:,:,:), pointer


Subroutines

private subroutine init_ufield3d(this, pp, perr, psp, dim, nvpx, nvpy, nvpz)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(parallel_pipe), intent(in), pointer:: pp
class(perrors), intent(in), pointer:: perr
class(spect3d), intent(in), pointer:: psp
integer, intent(in) :: dim
integer, intent(in) :: nvpx
integer, intent(in) :: nvpy
integer, intent(in) :: nvpz

private subroutine end_ufield3d(this)

Arguments

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

private subroutine final_ufield3d(this)

Arguments

Type IntentOptional AttributesName
type(ufield3d), intent(inout) :: this

private subroutine copyguard_pipe(this, rtag, stag, rid, sid)

Arguments

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

private subroutine acopyguard(this, rtag, stag, id)

Arguments

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

private subroutine copyin(this, fd2d, lpos, sdim, ddim)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield2d), intent(in), target:: fd2d
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

private subroutine copyout(this, fd2d, lpos, sdim, ddim)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield2d), intent(in), target:: fd2d
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

private subroutine copyadd(this, fd2d, lpos, sdim, ddim)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield2d), intent(in), target:: fd2d
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

private subroutine writehdf5_3d(this, file, dim, rtag, stag, id)

Arguments

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

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

Arguments

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

private subroutine sum(this, a1, a2)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield3d), intent(in), target:: a1
class(ufield3d), intent(in), target:: a2

private subroutine minus(this, a1, a2)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield3d), intent(in), target:: a1
class(ufield3d), intent(in), target:: a2

private subroutine multiply(this, a1, value)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield3d), intent(in), target:: a1
real, intent(in) :: value

private subroutine asc(this, value)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
real, intent(in) :: value

private subroutine asa(this, that)

Arguments

Type IntentOptional AttributesName
class(ufield3d), intent(inout) :: this
class(ufield3d), intent(in), target:: that