MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
Data Types | Modules | Functions/Subroutines | Variables
mod_particle_base.t File Reference

Go to the source code of this file.

Data Types

type  mod_particle_base::particle_ptr
 
type  mod_particle_base::particle_t
 
interface  mod_particle_base::sub_fill_gridvars
 
interface  mod_particle_base::sub_define_additional_gridvars
 
interface  mod_particle_base::sub_fill_additional_gridvars
 
interface  mod_particle_base::sub_integrate
 
interface  mod_particle_base::fun_destroy
 

Modules

module  mod_particle_base
 Module with shared functionality for all the particle movers.
 

Functions/Subroutines

subroutine mod_particle_base::particles_finish ()
 Finalize the particles module. More...
 
subroutine mod_particle_base::particles_params_read (files)
 Read this module's parameters from a file. More...
 
subroutine mod_particle_base::particle_base_init ()
 Give initial values to parameters. More...
 
subroutine mod_particle_base::init_particles_com ()
 Initialize communicators for particles. More...
 
subroutine mod_particle_base::get_maxwellian_velocity (v, velocity)
 
subroutine mod_particle_base::get_uniform_pos (x)
 
subroutine mod_particle_base::init_gridvars ()
 Initialize grid variables for particles. More...
 
subroutine mod_particle_base::finish_gridvars ()
 Deallocate grid variables for particles. More...
 
subroutine mod_particle_base::fill_gridvars_default
 This routine fills the particle grid variables with the default for mhd, i.e. only E and B. More...
 
subroutine mod_particle_base::fields_from_mhd (igrid, w_mhd, w_part)
 Determine fields from MHD variables. More...
 
subroutine mod_particle_base::particle_get_current (w, ixIL, ixOL, idirmin, current)
 Calculate idirmin and the idirmin:3 components of the common current array make sure that dxlevel(^D) is set correctly. More...
 
subroutine mod_particle_base::update_gridvars ()
 update grid variables for particles More...
 
subroutine mod_particle_base::handle_particles ()
 Let particles evolve in time. The routine also handles grid variables and output. More...
 
subroutine mod_particle_base::advance_particles (end_time, steps_taken)
 Routine handles the particle evolution. More...
 
pure subroutine mod_particle_base::limit_dt_endtime (t_left, dt_p)
 
subroutine mod_particle_base::get_vec (ix, igrid, x, tloc, vec)
 
subroutine mod_particle_base::get_bfield (igrid, x, tloc, b)
 
subroutine mod_particle_base::get_efield (igrid, x, tloc, e)
 
pure subroutine mod_particle_base::get_lfac (u, lfac)
 Get Lorentz factor from relativistic momentum. More...
 
pure subroutine mod_particle_base::get_lfac_from_velocity (v, lfac)
 Get Lorentz factor from velocity. More...
 
subroutine mod_particle_base::cross (a, b, c)
 
subroutine mod_particle_base::interpolate_var (igrid, ixIL, ixOL, gf, x, xloc, gfloc)
 
subroutine mod_particle_base::time_spent_on_particles ()
 
subroutine mod_particle_base::read_particles_snapshot (file_exists)
 
subroutine mod_particle_base::read_from_snapshot ()
 
subroutine mod_particle_base::write_particles_snapshot ()
 
subroutine mod_particle_base::append_to_snapshot (myparticle, mypayload)
 
subroutine mod_particle_base::init_particles_output ()
 
subroutine mod_particle_base::select_active_particles (end_time)
 
subroutine mod_particle_base::locate_particle (index, igrid_particle, ipe_particle)
 
subroutine mod_particle_base::find_particle_ipe (x, igrid_particle, ipe_particle)
 
logical function mod_particle_base::particle_in_domain (x)
 Check if particle is inside computational domain. More...
 
logical function mod_particle_base::particle_in_igrid (ipart, igrid)
 Quick check if particle is still in igrid. More...
 
subroutine mod_particle_base::set_neighbor_ipe ()
 
subroutine mod_particle_base::ipe_fc (iD, igrid, ipe_is_neighbor)
 
subroutine mod_particle_base::ipe_srl (iD, igrid, ipe_is_neighbor)
 
subroutine mod_particle_base::ipe_cf (iD, igrid, ipe_is_neighbor)
 
subroutine mod_particle_base::write_particle_output ()
 
character(len=128) function mod_particle_base::make_particle_filename (tout, index, type)
 
subroutine mod_particle_base::output_ensemble (send_n_particles_for_output, send_particles, send_payload, typefile)
 
subroutine mod_particle_base::output_individual ()
 
subroutine mod_particle_base::output_particle (myparticle, payload, ipe, file_unit)
 
subroutine mod_particle_base::partcoord_to_cartesian (xp, xpcart)
 Convert position to Cartesian coordinates. More...
 
subroutine mod_particle_base::partcoord_from_cartesian (xp, xpcart)
 Convert to noncartesian coordinates. More...
 
subroutine mod_particle_base::partvec_to_cartesian (xp, up, upcart)
 Convert vector to Cartesian coordinates. More...
 
subroutine mod_particle_base::partvec_from_cartesian (xp, up, upcart)
 Convert vector from Cartesian coordinates. More...
 
subroutine mod_particle_base::fix_phi_crossing (xp, igrid)
 Fix particle position when crossing the 0,2pi boundary in noncartesian coordinates. More...
 
logical function mod_particle_base::point_in_igrid_ghostc (x, igrid, ngh)
 Quick check if particle coordinate is inside igrid (ghost cells included, except the last ngh) More...
 
subroutine mod_particle_base::comm_particles ()
 
subroutine mod_particle_base::comm_particles_global ()
 
subroutine mod_particle_base::apply_periodb (particle, igrid_particle, ipe_particle, BC_applied)
 
subroutine mod_particle_base::destroy_particles (destroy_n_particles_mype, particle_index_to_be_destroyed)
 clean up destroyed particles on all cores More...
 
subroutine mod_particle_base::push_particle_into_particles_on_mype (ipart)
 
subroutine mod_particle_base::pull_particle_from_particles_on_mype (ipart)
 

Variables

character(len=name_len) mod_particle_base::physics_type_particles = ""
 String describing the particle physics type. More...
 
character(len=name_len) mod_particle_base::integrator_type_particles = ""
 String describing the particle integrator type. More...
 
character(len=400) mod_particle_base::csv_header
 Header string used in CSV files. More...
 
character(len=60) mod_particle_base::csv_format
 Format string used in CSV files. More...
 
integer mod_particle_base::nparticleshi
 Maximum number of particles. More...
 
integer mod_particle_base::nparticles_per_cpu_hi
 Maximum number of particles in one processor. More...
 
integer mod_particle_base::ndefpayload
 Number of default payload variables for a particle. More...
 
integer mod_particle_base::nusrpayload
 Number of user-defined payload variables for a particle. More...
 
integer mod_particle_base::npayload
 Number of total payload variables for a particle. More...
 
integer mod_particle_base::ngridvars
 Number of variables for grid field. More...
 
integer mod_particle_base::num_particles
 Number of particles. More...
 
double precision mod_particle_base::tmax_particles
 Time limit of particles. More...
 
double precision mod_particle_base::min_particle_time
 Minimum time of all particles. More...
 
double precision mod_particle_base::dtsave_particles
 Time interval to save particles. More...
 
double precision mod_particle_base::const_dt_particles
 If positive, a constant time step for the particles. More...
 
double precision mod_particle_base::particles_cfl
 Particle CFL safety factor. More...
 
double precision mod_particle_base::t_next_output
 Time to write next particle output. More...
 
logical mod_particle_base::write_individual
 Whether to write individual particle output (followed particles) More...
 
logical mod_particle_base::write_ensemble
 Whether to write ensemble output. More...
 
logical mod_particle_base::write_snapshot
 Whether to write particle snapshots. More...
 
integer mod_particle_base::downsample_particles
 Particle downsampling factor in CSV output. More...
 
logical mod_particle_base::relativistic
 Use a relativistic particle mover? More...
 
double precision mod_particle_base::particles_eta
 Resistivity. More...
 
double precision mod_particle_base::particles_etah
 
double precision mod_particle_base::dtheta
 
logical mod_particle_base::losses
 
integer mod_particle_base::nparticles
 Identity number and total number of particles. More...
 
integer mod_particle_base::it_particles
 Iteration number of paritcles. More...
 
integer mod_particle_base::n_output_destroyed
 Output count for ensembles of destroyed particles. More...
 
integer, dimension(:), allocatable mod_particle_base::ipe_neighbor
 
integer mod_particle_base::npe_neighbors
 
integer mod_particle_base::type_particle
 
integer mod_particle_base::igrid_working
 set the current igrid for the particle integrator: More...
 
integer mod_particle_base::ipart_working
 set the current ipart for the particle integrator: More...
 
integer, parameter mod_particle_base::unitparticles =15
 
integer, dimension(:), allocatable mod_particle_base::particles_on_mype
 Array of identity numbers of particles in current processor. More...
 
integer, dimension(:), allocatable mod_particle_base::particles_active_on_mype
 Array of identity numbers of active particles in current processor. More...
 
integer mod_particle_base::nparticles_on_mype
 Number of particles in current processor. More...
 
integer mod_particle_base::nparticles_active_on_mype
 Number of active particles in current processor. More...
 
double precision, dimension(3) mod_particle_base::integrator_velocity_factor
 Normalization factor for velocity in the integrator. More...
 
integer mod_particle_base::integrator
 Integrator to be used for particles. More...
 
integer, dimension(:), allocatable mod_particle_base::bp
 Variable index for magnetic field. More...
 
integer, dimension(:), allocatable mod_particle_base::ep
 Variable index for electric field. More...
 
integer, dimension(:), allocatable mod_particle_base::vp
 Variable index for fluid velocity. More...
 
integer, dimension(:), allocatable mod_particle_base::jp
 Variable index for current. More...
 
integer mod_particle_base::rhop
 Variable index for density. More...
 
type(particle_ptr), dimension(:), allocatable mod_particle_base::particle
 
type(rng_t) mod_particle_base::rng
 
procedure(sub_fill_gridvars), pointer mod_particle_base::particles_fill_gridvars => null()
 
procedure(sub_define_additional_gridvars), pointer mod_particle_base::particles_define_additional_gridvars => null()
 
procedure(sub_fill_additional_gridvars), pointer mod_particle_base::particles_fill_additional_gridvars => null()
 
procedure(sub_integrate), pointer mod_particle_base::particles_integrate => null()
 
procedure(fun_destroy), pointer mod_particle_base::usr_destroy_particle => null()