field3d_class Module


Uses

  • module~~field3d_class~~UsesGraph module~field3d_class field3d_class module~spect3d_class spect3d_class module~field3d_class->module~spect3d_class module~perrors_class perrors_class module~field3d_class->module~perrors_class module~ufield3d_class ufield3d_class module~field3d_class->module~ufield3d_class module~parallel_pipe_class parallel_pipe_class module~field3d_class->module~parallel_pipe_class module~hdf5io_class hdf5io_class module~field3d_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~parallel_class parallel_class module~perrors_class->module~parallel_class mpi mpi module~perrors_class->mpi 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_lib ufield3d_lib module~ufield3d_class->module~ufield3d_lib module~ufield2d_class ufield2d_class module~ufield3d_class->module~ufield2d_class module~ufield3d_class->mpi module~parallel_pipe_class->module~parallel_class module~parallel_pipe_class->mpi module~hdf5io_class->module~perrors_class module~hdf5io_class->module~parallel_pipe_class HDF5 HDF5 module~hdf5io_class->HDF5 module~hdf5io_class->mpi 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_class->module~perrors_class module~ufield2d_class->module~parallel_pipe_class module~ufield2d_class->module~hdf5io_class module~ufield2d_class->module~spect2d_class module~ufield2d_class->mpi module~ufield2d_lib ufield2d_lib module~ufield2d_class->module~ufield2d_lib module~ufield2d_lib->mpi

Used by

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

Derived Types

type, public :: field3d

Components

TypeVisibility AttributesNameInitial
class(spect3d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel_pipe), public, pointer:: p=> null()
class(ufield3d), private, pointer:: rs=> null()
integer, private :: gcells

Type-Bound Procedures

generic, public :: new => init_field3d
generic, public :: del => end_field3d
generic, public :: pcg => pipecg_field3d
generic, public :: ag => acopyguard_field3d
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_field3d
procedure, private :: end_field3d
procedure, private :: acopyguard_field3d
procedure, private :: pipecg_field3d
procedure, private :: writehdf5_2dslice
procedure, private :: writehdf5_3d
procedure, private :: multiply
procedure, private :: minus
procedure, private :: sum
procedure, private :: asa
procedure, private :: asc
procedure, public :: getrs
procedure, public :: getgcells

Functions

private function getgcells(this)

Arguments

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

Return Value integer

private function getrs(this)

Arguments

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

Return Value class(ufield3d), pointer


Subroutines

private subroutine init_field3d(this, pp, perr, psp, dim)

Arguments

Type IntentOptional AttributesName
class(field3d), 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

private subroutine end_field3d(this)

Arguments

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

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

Arguments

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

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

Arguments

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

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

Arguments

Type IntentOptional AttributesName
class(field3d), 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(field3d), 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 asc(this, value)

Arguments

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

private subroutine asa(this, that)

Arguments

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

private subroutine sum(this, a1, a2)

Arguments

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

private subroutine minus(this, a1, a2)

Arguments

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

private subroutine multiply(this, a1, value)

Arguments

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