ufield2d_class Module


Uses

  • module~~ufield2d_class~~UsesGraph module~ufield2d_class ufield2d_class module~spect2d_class spect2d_class module~ufield2d_class->module~spect2d_class module~ufield2d_lib ufield2d_lib module~ufield2d_class->module~ufield2d_lib module~perrors_class perrors_class module~ufield2d_class->module~perrors_class module~parallel_pipe_class parallel_pipe_class module~ufield2d_class->module~parallel_pipe_class module~hdf5io_class hdf5io_class module~ufield2d_class->module~hdf5io_class mpi mpi module~ufield2d_class->mpi module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_class module~ufield2d_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~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

Used by

  • module~~ufield2d_class~~UsedByGraph module~ufield2d_class ufield2d_class module~fpois2d_class fpois2d_class module~fpois2d_class->module~ufield2d_class module~fft2d_class fft2d_class module~fft2d_class->module~ufield2d_class module~field2d_class field2d_class module~field2d_class->module~ufield2d_class module~field2d_class->module~fpois2d_class module~field2d_class->module~fft2d_class module~ufield3d_class ufield3d_class module~field2d_class->module~ufield3d_class module~field3d_class field3d_class module~field2d_class->module~field3d_class module~ufield3d_class->module~ufield2d_class module~part2d_class part2d_class module~part2d_class->module~ufield2d_class module~fdist2d_class fdist2d_class module~part2d_class->module~fdist2d_class module~fdist2d_class->module~ufield2d_class module~part3d_class part3d_class module~part3d_class->module~ufield3d_class module~fdist3d_class fdist3d_class module~part3d_class->module~fdist3d_class module~field3d_class->module~ufield3d_class module~simulation_class simulation_class module~simulation_class->module~field2d_class module~simulation_class->module~fdist2d_class module~simulation_class->module~field3d_class module~simulation_class->module~fdist3d_class module~beam3d_class beam3d_class module~simulation_class->module~beam3d_class module~species2d_class species2d_class module~simulation_class->module~species2d_class module~fdist3d_class->module~ufield3d_class module~beam3d_class->module~field2d_class module~beam3d_class->module~part3d_class module~beam3d_class->module~field3d_class module~beam3d_class->module~fdist3d_class module~species2d_class->module~field2d_class module~species2d_class->module~part2d_class module~species2d_class->module~fdist2d_class module~species2d_class->module~field3d_class program~quickpic quickpic program~quickpic->module~simulation_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=10), private, save:: class ='ufield2d:'
character(len=128), private, save:: erstr
real, private, dimension(:), allocatable, save:: scr
integer, private, save:: szscr =0

Derived Types

type, public :: ufield2d

Components

TypeVisibility AttributesNameInitial
class(spect2d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
integer, private :: layout
integer, private :: dim
integer, private :: noff
integer, private :: nd1
integer, private :: nvpx
integer, private :: nd1p
integer, private :: nd2
integer, private :: nvpy
integer, private :: nd2p
real, private, dimension(:,:,:), pointer:: rf=> null()
real, private, dimension(:,:,:), pointer:: buff=> null()

Finalizations Procedures

final :: final_ufield2d

Type-Bound Procedures

generic, public :: new => init_ufield2d, init_ufield2d_k
generic, public :: del => end_ufield2d
generic, public :: cg => copyguard
generic, public :: ag => acopyguard
generic, public :: wr => writehdf5
generic, public :: psend => pipesend_ufield2d
generic, public :: precv => piperecv_ufield2d
generic, public :: as => asc, asa
generic, public :: add => sum1, sum2
generic, public :: sub => minus1, minus2
generic, public :: mult => multiply1, multiply2
procedure, private :: init_ufield2d
procedure, private :: init_ufield2d_k
procedure, private :: end_ufield2d
procedure, public :: getdim
procedure, public :: getlayout
procedure, public :: getnd1p
procedure, public :: getnvpx
procedure, public :: getnd1
procedure, public :: getnd2p
procedure, public :: getnvpy
procedure, public :: getnd2
procedure, public :: getnoff
procedure, public :: getrf
procedure, private :: writehdf5
procedure, private :: acopyguard
procedure, private :: copyguard
procedure, private :: piperecv_ufield2d
procedure, private :: pipesend_ufield2d
procedure, private :: minus1
procedure, private :: multiply2
procedure, private :: multiply1
procedure, private :: sum1
procedure, private :: asa
procedure, private :: asc
procedure, private :: minus2
procedure, private :: sum2

Functions

private function getlayout(this)

Arguments

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

Return Value integer

private function getnvpy(this)

Arguments

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

Return Value integer

private function getnvpx(this)

Arguments

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

Return Value integer

private function getnd2(this)

Arguments

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

Return Value integer

private function getnd1(this)

Arguments

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

Return Value integer

private function getnd2p(this)

Arguments

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

Return Value integer

private function getnd1p(this)

Arguments

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

Return Value integer

private function getdim(this)

Arguments

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

Return Value integer

private function getnoff(this)

Arguments

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

Return Value integer

private function getrf(this)

Arguments

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

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

private function add(this, that)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(in) :: this
class(ufield2d), intent(in) :: that

Return Value class(ufield2d), allocatable

private function mult1(this, value)

Arguments

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

Return Value class(ufield2d), allocatable

private function mult2(value, this)

Arguments

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

Return Value class(ufield2d), allocatable


Subroutines

private subroutine init_ufield2d(this, pp, perr, psp, dim, layout, nvpx, nvpy)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(parallel_pipe), intent(in), pointer:: pp
class(perrors), intent(in), pointer:: perr
class(spect2d), intent(in), pointer:: psp
integer, intent(in) :: dim
integer, intent(in) :: layout
integer, intent(in) :: nvpx
integer, intent(in) :: nvpy

private subroutine init_ufield2d_k(this, pp, perr, psp, dim, layout, nd1, nd2, nvpx, nvpy)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(parallel_pipe), intent(in), pointer:: pp
class(perrors), intent(in), pointer:: perr
class(spect2d), intent(in), pointer:: psp
integer, intent(in) :: dim
integer, intent(in) :: layout
integer, intent(in) :: nd1
integer, intent(in) :: nd2
integer, intent(in) :: nvpx
integer, intent(in) :: nvpy

private subroutine end_ufield2d(this)

Arguments

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

private subroutine final_ufield2d(this)

Arguments

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

private subroutine copyguard(this)

Arguments

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

private subroutine acopyguard(this)

Arguments

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

private subroutine writehdf5(this, file, dim)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(hdf5file), intent(in) :: file
integer, intent(in) :: dim

private subroutine pipesend_ufield2d(this, stag, id)

Arguments

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

private subroutine piperecv_ufield2d(this, rtag)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
integer, intent(in) :: rtag

private subroutine sum1(this, a1, a2)

Arguments

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

private subroutine sum2(this, a1, a2, dim, dim1, dim2)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(ufield2d), intent(in), target:: a1
class(ufield2d), intent(in), target:: a2
integer, intent(in), dimension(:):: dim
integer, intent(in), dimension(:):: dim1
integer, intent(in), dimension(:):: dim2

private subroutine minus1(this, a1, a2)

Arguments

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

private subroutine minus2(this, a1, a2, dim, dim1, dim2)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(ufield2d), intent(in), target:: a1
class(ufield2d), intent(in), target:: a2
integer, intent(in), dimension(:):: dim
integer, intent(in), dimension(:):: dim1
integer, intent(in), dimension(:):: dim2

private subroutine multiply1(this, a1, value)

Arguments

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

private subroutine multiply2(this, a1, dim, dim1, value)

Arguments

Type IntentOptional AttributesName
class(ufield2d), intent(inout) :: this
class(ufield2d), intent(in), target:: a1
integer, intent(in), dimension(:):: dim
integer, intent(in), dimension(:):: dim1
real, intent(in), dimension(:):: value

private subroutine asc(this, value)

Arguments

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

private subroutine asa(this, that)

Arguments

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