field2d_class Module


Uses

  • module~~field2d_class~~UsesGraph module~field2d_class field2d_class module~fpois2d_class fpois2d_class module~field2d_class->module~fpois2d_class module~field3d_class field3d_class module~field2d_class->module~field3d_class module~spect2d_class spect2d_class module~field2d_class->module~spect2d_class module~fft2d_class fft2d_class module~field2d_class->module~fft2d_class module~perrors_class perrors_class module~field2d_class->module~perrors_class module~ufield3d_class ufield3d_class module~field2d_class->module~ufield3d_class module~parallel_pipe_class parallel_pipe_class module~field2d_class->module~parallel_pipe_class module~ufield2d_class ufield2d_class module~field2d_class->module~ufield2d_class module~hdf5io_class hdf5io_class module~field2d_class->module~hdf5io_class module~fpois2d_class->module~spect2d_class module~fpois2d_class->module~perrors_class module~fpois2d_class->module~parallel_pipe_class module~fpois2d_class->module~ufield2d_class module~fpois2d_lib fpois2d_lib module~fpois2d_class->module~fpois2d_lib module~field3d_class->module~perrors_class module~field3d_class->module~ufield3d_class module~field3d_class->module~parallel_pipe_class module~field3d_class->module~hdf5io_class module~spect3d_class spect3d_class module~field3d_class->module~spect3d_class module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_class module~fft2d_class->module~spect2d_class module~fft2d_class->module~perrors_class module~fft2d_class->module~parallel_pipe_class module~fft2d_class->module~ufield2d_class module~fft2d_lib fft2d_lib module~fft2d_class->module~fft2d_lib module~parallel_class parallel_class module~perrors_class->module~parallel_class mpi mpi module~perrors_class->mpi module~ufield3d_class->module~perrors_class module~ufield3d_class->module~parallel_pipe_class module~ufield3d_class->module~ufield2d_class module~ufield3d_class->module~hdf5io_class module~ufield3d_class->module~spect3d_class module~ufield3d_class->mpi module~ufield3d_lib ufield3d_lib module~ufield3d_class->module~ufield3d_lib module~parallel_pipe_class->module~parallel_class module~parallel_pipe_class->mpi module~ufield2d_class->module~spect2d_class 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_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~spect3d_class->module~spect2d_class module~spect3d_class->module~perrors_class module~spect3d_class->module~parallel_pipe_class module~parallel_class->mpi omp_lib omp_lib module~parallel_class->omp_lib module~ufield2d_lib->mpi module~fft2d_lib->mpi

Used by

  • module~~field2d_class~~UsedByGraph module~field2d_class field2d_class module~species2d_class species2d_class module~species2d_class->module~field2d_class module~beam3d_class beam3d_class module~beam3d_class->module~field2d_class module~simulation_class simulation_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 ='field2d:'
character(len=128), private, save:: erstr

Derived Types

type, public :: field2d

Components

TypeVisibility AttributesNameInitial
class(spect2d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
class(ufield2d), private, pointer:: rs=> null()
class(ufield2d), private, pointer:: ks=> null()
class(fft2d), private, pointer:: ft=> null()
class(fpois2d), private, pointer:: pt=> null()
integer, private :: state
integer, private :: gcells

Type-Bound Procedures

generic, public :: new => init_field2d
generic, public :: del => end_field2d
generic, public :: fftrk => fftrk_field2d
generic, public :: fftkr => fftkr_field2d
generic, public :: div => divf_field2d
generic, public :: grad => gradf_field2d
generic, public :: curl => curlf_field2d
generic, public :: pot => potential_field2d
generic, public :: smooth => smoothf_field2d
generic, public :: elf => elfield_field2d
generic, public :: bf => bfield_field2d
generic, public :: bfqp => bfield_qp_field2d
generic, public :: cg => copyguard_field2d
generic, public :: ag => acopyguard_field2d
generic, public :: psend => pipesend_field2d
generic, public :: precv => piperecv_field2d
generic, public :: cp => copyfrom
generic, public :: ca => copyadd
generic, public :: cb => copyto
generic, public :: as => asc, asa
generic, public :: add => sum1, sum2
generic, public :: sub => minus1, minus2
generic, public :: mult => multiply1, multiply2
generic, public :: wr => writehdf5_field2d
procedure, private :: end_field2d
procedure, private :: init_field2d
procedure, private :: divf_field2d
procedure, private :: fftkr_field2d
procedure, private :: fftrk_field2d
procedure, private :: potential_field2d
procedure, private :: curlf_field2d
procedure, private :: gradf_field2d
procedure, private :: bfield_field2d
procedure, private :: elfield_field2d
procedure, private :: smoothf_field2d
procedure, private :: copyguard_field2d
procedure, private :: bfield_qp_field2d
procedure, private :: pipesend_field2d
procedure, private :: acopyguard_field2d
procedure, private :: multiply1
procedure, private :: minus1
procedure, private :: sum1
procedure, private :: asa
procedure, private :: asc
procedure, private :: piperecv_field2d
procedure, private :: minus2
procedure, private :: sum2
procedure, private :: multiply2
procedure, private :: writehdf5_field2d
procedure, private :: copyadd
procedure, private :: copyto
procedure, private :: copyfrom
procedure, public :: getks
procedure, public :: getrs
procedure, public :: getgcells
procedure, public :: getstate

Functions

private function getstate(this)

Arguments

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

Return Value integer

private function getgcells(this)

Arguments

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

Return Value integer

private function getrs(this)

Arguments

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

Return Value class(ufield2d), pointer

private function getks(this)

Arguments

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

Return Value class(ufield2d), pointer


Subroutines

private subroutine init_field2d(this, pp, perr, psp, dim, fftflag, state, gcells)

Arguments

Type IntentOptional AttributesName
class(field2d), 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
logical, intent(in) :: fftflag
integer, intent(in), optional :: state
integer, intent(in), optional :: gcells

private subroutine end_field2d(this)

Arguments

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

private subroutine fftrk_field2d(this, kind)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
integer, intent(in) :: kind

private subroutine fftkr_field2d(this, kind)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
integer, intent(in) :: kind

private subroutine divf_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine gradf_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine curlf_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine potential_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine smoothf_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine elfield_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine bfield_field2d(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine bfield_qp_field2d(cu, dcu, amu, bxy, c, dex)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: cu
class(field2d), intent(inout) :: dcu
class(field2d), intent(inout) :: amu
class(field2d), intent(inout) :: bxy
real, intent(in) :: c
real, intent(in) :: dex

private subroutine copyguard_field2d(this)

Arguments

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

private subroutine acopyguard_field2d(this)

Arguments

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

private subroutine pipesend_field2d(this, stag, id)

Arguments

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

private subroutine piperecv_field2d(this, rtag)

Arguments

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

private subroutine asc(this, value)

Arguments

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

private subroutine copyto(this, that, lpos, sdim, ddim)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field3d), intent(in) :: that
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

private subroutine copyfrom(this, that, lpos, sdim, ddim)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field3d), intent(in) :: that
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

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

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field3d), intent(in) :: that
integer, intent(in) :: lpos
integer, intent(in), dimension(:):: sdim
integer, intent(in), dimension(:):: ddim

private subroutine asa(this, that)

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(inout) :: that

private subroutine sum1(this, a1, a2)

Arguments

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

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

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(in) :: a1
class(field2d), intent(in) :: 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(field2d), intent(inout) :: this
class(field2d), intent(in) :: a1
class(field2d), intent(in) :: a2

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

Arguments

Type IntentOptional AttributesName
class(field2d), intent(inout) :: this
class(field2d), intent(in) :: a1
class(field2d), intent(in) :: 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(field2d), intent(inout) :: this
class(field2d), intent(in) :: a1
real, intent(in) :: value

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

Arguments

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

private subroutine writehdf5_field2d(this, file, dim)

Arguments

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