simulation_class Module


Uses

  • module~~simulation_class~~UsesGraph module~simulation_class simulation_class module~spect3d_class spect3d_class module~simulation_class->module~spect3d_class module~parallel_class parallel_class module~simulation_class->module~parallel_class module~input_class input_class module~simulation_class->module~input_class module~spect2d_class spect2d_class module~simulation_class->module~spect2d_class module~field3d_class field3d_class module~simulation_class->module~field3d_class module~field2d_class field2d_class module~simulation_class->module~field2d_class module~perrors_class perrors_class module~simulation_class->module~perrors_class module~fdist3d_class fdist3d_class module~simulation_class->module~fdist3d_class module~parallel_pipe_class parallel_pipe_class module~simulation_class->module~parallel_pipe_class module~beam3d_class beam3d_class module~simulation_class->module~beam3d_class module~hdf5io_class hdf5io_class module~simulation_class->module~hdf5io_class module~species2d_class species2d_class module~simulation_class->module~species2d_class mpi mpi module~simulation_class->mpi module~fdist2d_class fdist2d_class module~simulation_class->module~fdist2d_class 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~input_class->module~spect3d_class module~input_class->module~parallel_class module~input_class->module~perrors_class module~input_class->module~parallel_pipe_class module~input_class->mpi json_module json_module module~input_class->json_module module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_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~ufield3d_class ufield3d_class module~field3d_class->module~ufield3d_class module~field2d_class->module~spect2d_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~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->module~parallel_class module~perrors_class->mpi module~fdist3d_class->module~spect3d_class module~fdist3d_class->module~input_class module~fdist3d_class->module~perrors_class module~fdist3d_class->module~parallel_pipe_class module~part3d_lib part3d_lib module~fdist3d_class->module~part3d_lib module~fdist3d_class->module~ufield3d_class module~parallel_pipe_class->module~parallel_class module~parallel_pipe_class->mpi module~beam3d_class->module~spect3d_class module~beam3d_class->module~field3d_class module~beam3d_class->module~field2d_class module~beam3d_class->module~perrors_class module~beam3d_class->module~fdist3d_class module~beam3d_class->module~parallel_pipe_class module~beam3d_class->module~hdf5io_class module~beam3d_class->mpi module~part3d_class part3d_class module~beam3d_class->module~part3d_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~species2d_class->module~spect3d_class module~species2d_class->module~spect2d_class module~species2d_class->module~field3d_class module~species2d_class->module~field2d_class module~species2d_class->module~perrors_class module~species2d_class->module~parallel_pipe_class module~species2d_class->module~hdf5io_class module~species2d_class->module~fdist2d_class module~part2d_class part2d_class module~species2d_class->module~part2d_class module~fdist2d_class->module~input_class module~fdist2d_class->module~spect2d_class module~fdist2d_class->module~perrors_class module~fdist2d_class->module~parallel_pipe_class module~fdist2d_class->module~ufield2d_class 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_class->module~part3d_lib module~part3d_class->module~ufield3d_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~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~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~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~part2d_class->module~spect2d_class module~part2d_class->module~perrors_class module~part2d_class->module~parallel_pipe_class module~part2d_class->module~hdf5io_class module~part2d_class->mpi module~part2d_class->module~fdist2d_class module~part2d_class->module~ufield2d_class module~part2d_lib part2d_lib module~part2d_class->module~part2d_lib module~part2d_lib->mpi module~ufield2d_lib->mpi module~fft2d_lib->mpi

Used by

  • module~~simulation_class~~UsedByGraph module~simulation_class simulation_class program~quickpic quickpic program~quickpic->module~simulation_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=20), private, save:: class ='simulation: '
character(len=128), private, save:: erstr

Derived Types

type, private :: fdist2d_wrap

Components

TypeVisibility AttributesNameInitial
class(fdist2d), public, allocatable:: p

type, private :: fdist3d_wrap

Components

TypeVisibility AttributesNameInitial
class(fdist3d), public, allocatable:: p

type, private :: sim_fields

Components

TypeVisibility AttributesNameInitial
class(parallel_pipe), private, pointer:: p=> null()
class(perrors), private, pointer:: err=> null()
class(spect3d), private, pointer:: sp3=> null()
class(spect2d), private, pointer:: sp2=> null()
type(field2d), private, allocatable:: qb
type(field2d), private, allocatable:: qe
type(field2d), private, allocatable:: psit
type(field2d), private, allocatable:: psi
type(field2d), private, allocatable:: div_vpot
type(field2d), private, allocatable:: reg
type(field2d), private, allocatable:: fxy
type(field2d), private, allocatable:: bxyz
type(field2d), private, allocatable:: cu
type(field2d), private, allocatable:: dcu
type(field2d), private, allocatable:: amu
type(field2d), private, allocatable:: epw
type(field2d), private, allocatable:: epwb
type(field3d), private, allocatable:: bexyz
type(field3d), private, allocatable:: bbxyz
type(field3d), private, allocatable:: psi3d
type(field3d), private, allocatable:: cu3d

Type-Bound Procedures

generic, public :: new => init_sim_fields
generic, public :: del => end_sim_fields
procedure, private :: end_sim_fields
procedure, private :: init_sim_fields

type, private :: sim_beams

Components

TypeVisibility AttributesNameInitial
class(parallel_pipe), private, pointer:: p=> null()
class(perrors), private, pointer:: err=> null()
class(spect3d), private, pointer:: sp3=> null()
class(spect2d), private, pointer:: sp2=> null()
type(beam3d), private, dimension(:), allocatable:: beam
type(fdist3d_wrap), private, dimension(:), allocatable:: pf

Type-Bound Procedures

generic, public :: new => init_sim_beams
generic, public :: del => end_sim_beams
procedure, private :: end_sim_beams
procedure, private :: init_sim_beams

type, private :: sim_species

Components

TypeVisibility AttributesNameInitial
class(parallel_pipe), private, pointer:: p=> null()
class(perrors), private, pointer:: err=> null()
class(spect3d), private, pointer:: sp3=> null()
class(spect2d), private, pointer:: sp2=> null()
type(fdist2d_wrap), private, dimension(:), allocatable:: pf
type(species2d), private, dimension(:), allocatable:: spe

Type-Bound Procedures

generic, public :: new => init_sim_species
generic, public :: del => end_sim_species
procedure, private :: end_sim_species
procedure, private :: init_sim_species

type, private :: sim_diag

Components

TypeVisibility AttributesNameInitial
class(parallel_pipe), private, pointer:: p=> null()
class(perrors), private, pointer:: err=> null()
class(spect3d), private, pointer:: sp3=> null()
class(spect2d), private, pointer:: sp2=> null()
type(hdf5file), private :: file
class(*), private, pointer:: obj=> null()
integer, private, allocatable:: slice
integer, private, allocatable:: slice_pos
integer, private, allocatable:: psample
integer, private, allocatable:: dim
integer, private :: df

type, public :: simulation

Components

TypeVisibility AttributesNameInitial
type(input_json), private, pointer:: in=> null()
class(parallel_pipe), private, pointer:: p=> null()
class(perrors), private, pointer:: err=> null()
class(spect3d), private, pointer:: sp3=> null()
class(spect2d), private, pointer:: sp2=> null()
type(sim_fields), private :: fields
type(sim_beams), private :: beams
type(sim_species), private :: species
type(sim_diag), private, dimension(:), allocatable:: diag
integer, private :: iter
integer, private :: nstep3d
integer, private :: nstep2d
integer, private :: start3d
integer, private :: nbeams
integer, private :: nspecies
integer, private :: tstep
integer, private, dimension(8):: tag
integer, private, dimension(:), allocatable:: tag_spe
integer, private, dimension(:), allocatable:: id_spe
integer, private, dimension(:), allocatable:: id
integer, private, dimension(:), allocatable:: tag_beam
integer, private, dimension(:), allocatable:: id_beam
integer, private, dimension(:,:), allocatable:: id_bq
integer, private, dimension(:,:), allocatable:: tag_bq
real, private :: dex
real, private :: dxi
real, private :: dex2
real, private :: dt

Type-Bound Procedures

generic, public :: new => init_simulation
generic, public :: del => end_simulation
generic, public :: go => go_simulation
procedure, private :: end_simulation
procedure, private :: init_simulation
procedure, private :: diag_simulation
procedure, private :: init_diag
procedure, private :: go_simulation

Functions

private function ntag()

Arguments

None

Return Value integer


Subroutines

private subroutine init_simulation(this)

Arguments

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

private subroutine end_simulation(this)

Arguments

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

private subroutine init_sim_fields(this, input)

Arguments

Type IntentOptional AttributesName
class(sim_fields), intent(inout) :: this
type(input_json), intent(inout), pointer:: input

private subroutine end_sim_fields(this)

Arguments

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

private subroutine init_sim_beams(this, input, fields)

Arguments

Type IntentOptional AttributesName
class(sim_beams), intent(inout) :: this
type(input_json), intent(inout), pointer:: input
class(sim_fields), intent(inout) :: fields

private subroutine end_sim_beams(this)

Arguments

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

private subroutine init_sim_species(this, input, fields, s)

Arguments

Type IntentOptional AttributesName
class(sim_species), intent(inout) :: this
type(input_json), intent(inout), pointer:: input
class(sim_fields), intent(inout) :: fields
real, intent(in) :: s

private subroutine end_sim_species(this)

Arguments

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

private subroutine go_simulation(this)

Arguments

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

private subroutine init_diag(this)

Arguments

Type IntentOptional AttributesName
class(simulation), intent(inout), target:: this

private subroutine diag_simulation(this)

Arguments

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