ORB5  v4.9.4
part.F90 File Reference
#include "precomp.h"
+ Include dependency graph for part.F90:

Data Types

type  part::pointer_markers
 
type  part::pointer_markers_r4
 
type  part::pointer_markers_logic
 
type  part::pointer_markers_i8
 
type  part::pointer_quadtree
 
type  part::moments_3d_class
 
interface  part::omp_reduce_diag
 

Modules

module  part
 

Macros

#define HDF5_RESTART
 

Enumerations

enum  { part::p_parallel , part::v_parallel , part::mixed }
 

Functions/Subroutines

subroutine, public part::init_particles
 
subroutine part::construct_moments_3d (this, id, label, description)
 
subroutine part::initpic
 Allocate and initialize particle arrays. More...
 
subroutine part::check_allocation (istat, locatn, varname)
 
subroutine part::allocate_work_rev
 
subroutine part::deallocate_work_rev
 
subroutine, public part::load_particles
 Initialize markers. More...
 
subroutine load_phi (isp)
 Load markers in the toroidal direction and quasi-random numbers for other attributes. More...
 
subroutine load_coord (pic1_loc, work_rev_loc, npart_loc, isp)
 
subroutine load_umupvol (pic1_loc, pic2_loc, isp)
 
subroutine load_weights (pic1_loc, pic2_loc, pic3_loc, work_rev_loc, isp)
 
subroutine check_ffinit (pic2_loc, isp)
 
subroutine load_trap_particles (pic1_loc, pic2_loc, pic3_loc, npart_loc, isp)
 
subroutine load_alp (pic2_loc, work_rev_loc, isp)
 
subroutine load_diag (pic1_loc, pic2_loc, isp)
 
subroutine, public part::init_test_particles
 
subroutine, public part::load_test_particles
 
subroutine load_test (pic1_loc, pic2_loc, pic3_loc, npart_loc, isp)
 
real function part::toroidal_momentum (isp, st, chit, tsubB, ut, mut, psi_correction)
 Function wrapper for toroidal momentum calculation. More...
 
subroutine part::get_toroidal_momentum (isp, st, chit, ut, mut, psi_correction, tsubB, psit_prof, psit_pot, fvpllb_out, dfvpllb_den_out, dfvpllb_dpsi_out)
 
real function, public part::b_star (st, chit, b, ut, tprime, addpBst, isp)
 Calculate the parallel component of b_star. More...
 
subroutine part::get_dist_derivs (f0, ut, mut, b, epsilon_hat, ze, zvth2, nval, Epsi, psit, ngrad, tgrad, vpval, vpgrad, isp, df0_dek, df0_du, df0_dpsi_prof, df0_dchi_prof, df0_dpsi_pot, zecor, pot_equil, pot_equil0, chit)
 
subroutine, public part::bcpart_disp (run_on_device)
 Impose particle boundary conditions in phi and s (dispatcher). More...
 
subroutine part::bcpart (pic1_loc, npart_loc, isp, run_on_device)
 Boundary Conditions at s=sfmax (and s=sfmin if needed) and periodicity at phi=2pi. More...
 
subroutine, public part::print_test_particles (step)
 
subroutine part::printip (isp, step, ntest_loc, pion_1_loc)
 
subroutine, public part::pullback
 
subroutine part::weight_mixed2sympl (pic1_loc, pic2_loc, npart_loc, isp)
 
subroutine part::coords_mixed2sympl (pic1_loc, pic2_loc, npart_loc, isp)
 
subroutine, public part::parmove (iter, run_on_device, work1flag, work2flag, work3flag, work5flag, work6flag, work7flag, work8flag, work9flag)
 
subroutine, public part::parmove_sp (iter, isp, run_on_device, work1flag, work2flag, work3flag, work5flag, work6flag, work7flag, work8flag, work9flag)
 
subroutine, public part::get_larmor_indices_disp (initflag_in, adapt_only_in)
 
subroutine part::get_larmor_indices (isp, pic1_loc, pic2_loc, npart_loc, initflag)
 Compute the Larmor radius and number of gyropoints, and store then in work_temp. More...
 
subroutine, public part::compute_all_larmor_positions_disp (comp_dk)
 
subroutine part::compute_all_larmor_positions (isp, pic1_loc, pic2_loc, npart_loc)
 
subroutine part::compute_deposition_attributes_dk (u, w, uw, n)
 Compute drift-kinetic species marker attributes to be deposited. More...
 
subroutine, public part::compute_reduced_weights_disp (isp, nsel_att)
 
subroutine part::compute_reduced_weights (isp, pic1_loc, pic2_loc, pic3_loc, npart_loc, nsel_att)
 
subroutine, public part::sort_gc_2d_disp
 Sort guiding centers of all species in the s-chi plane (so-called "cache sort") More...
 
subroutine, public part::sort_gc_2d (isp)
 Sort guiding centers of one species in the s-chi plane. More...
 
subroutine, public part::sort_gc_3d_disp
 Sort drift-kinetic species in 3D. More...
 
subroutine, public part::unsort_gc_3d_disp
 Sort drift-kinetic species in 3D. More...
 
logical function part::convert_need_field_to_logical (need_field, istep, nl_main_substep)
 Convert integer convention for when field is needed to logical. More...
 
subroutine, public part::get_field_disp (field, istep, nl_main_substep, i_att)
 Evaluate field at marker positions for each species. More...
 
subroutine part::get_field_disp_lvl2 (field_bspl, markers, markers_field, np, x_att, y_att, z_att, field_att, grad_field_att, need_field, need_grad_field, istep, nl_main_substep, displs, atts_offset)
 Evaluate field at marker positions for a given species and a given set of markers (guiding centers or Larmor points, sorted or not) More...
 
subroutine part::change_grad_coord (np, dfield_dx, dfield_dy, gxx, gxy, gyx, gyy)
 Change coordinate of field gradient. More...
 
subroutine part::gyroaverage_field (pic1_loc, work_temp_loc, npart_loc, gyro_field_att, gyro_grad_field_att, larmor_loc, need_gyro_field, need_gyro_grad_field, istep, nl_main_substep, atts_offset)
 Gyro-average field. More...
 
subroutine, public part::push_disp (iter)
 
subroutine part::push (pic1_loc, pic2_loc, pic3_loc, work1_loc, npart_loc, isp, iter)
 Pushes the particles according to the fields. More...
 
subroutine part::diagnostics_after_loop (isp)
 
subroutine part::polarisation_fieldcalc (isp)
 
subroutine part::diagnostics_in_loop (ip, isp, sigmat, chit, chit_cos, chit_sin, phit, wt, dPsidt0, dPsidt1, zf0, psi0t, ze, pot_equil, tval, zvth2, rt, hh, vpt2, ut, ut2, w3t, pt, pvolgc, df0_dpsi_prof, df0_dchi_prof, dpsi_prof_dt, dchi_prof_dt, vpar, genelec, bstar_inv, bgrb, rhs, tempd, vgc, dvpadt1, dvpadt0, vgb, vpressure, veb_f, vexb, expt_back, eypt_back, b, exh, vecrossb_f2, dpotdpsi, vdr, pvol, ksieta, is_trapped, mut, umin_bin, du_flux_inv, dmu_flux_inv, gyroapar, nval, ithread)
 
subroutine part::test_particle_output (isp, ip, psi0t, ze, pot_equil, wt, zvth2, nval, pvol, zf0)
 
subroutine part::clear_diagnostics (isp)
 Clean diagnostics by re-initializing data array to zero. More...
 
subroutine, public part::update_ffinit_or_pvol
 
subroutine, public part::trap_detrap_disp
 
subroutine part::trap_detrap (pic1_loc, pic3_loc, npart_loc, isp)
 Determines whether trapped particles are now free and vice versa. More...
 
subroutine part::str_diagnostic_start
 
subroutine, public part::init_push_diagnostics
 
subroutine part::get_vdr (isp, sigmat, chit, b_inv, tprime, ut, bstar_inv, toB, dvpadt1, vgc, vgb, vexb, bgrb, genelec, vapar, rhs_type, vdr, dPsidt0, dPsidt1, vdchi)
 
subroutine part::get_rhs (ip, isp, pvol, vdr, vdchi, vgc, vin, vpval, genelec, dvpadt0, dvpadt1, gyroapar, ze, zecor, dH0_dt_correction, pot_equil, pot_equil0, distribution, ut, mut, b, zvth2, nval, Epsi, psi0t, ngrad, tgrad, vpgrad, dfvpllb_dpsi, dfvpllb_den, rhs, dpotdpsi, omegasq_corr, df0_dpsi_prof, df0_dchi_prof, dpsi_prof_dt, dchi_prof_dt, rhs_type, mgradphi, vgb, vpressure, mgradapar, hh_sympl, chit, dchi_dt1, iter, ffinit, dPsidt0)
 
subroutine part::get_vexbn (sigmat, chit, zvth2, rt2, hy, hz, genelec, grsigma2, grchi2, grsigmagrchi, vexbn)
 
subroutine part::strong_diagnostic_output (isp, ip, psi0t, temp2, ze, vecrossb_f2, pot_equil, zf0, zvth2_inv, dpotdpsi, vdr, rhs)
 
subroutine part::sum_of_weights_and_energy_transfer (isp, wt, w3t, pt, pvolgc, ze, zf0, sigmat, q_vgc_dot_genelec, q_dvpadt0_dot_gyroapar, ithread)
 
subroutine part::add_to_0d (diag, i, to_add_list, ithread)
 
subroutine part::max_of_0d (diag, i, to_add_list, ithread)
 
subroutine part::add_to_1d (diag, diag_index, i, to_add_list, ithread)
 
subroutine part::add_to_2d (diag, diag_index, diag_index2, i, to_add_list, ithread)
 
subroutine part::add_to_3d (diag, diag_index, diag_index2, diag_index3, i, to_add_list, ithread)
 
subroutine part::omp_reduce_diag0d (diagnostic, nl_max_)
 
subroutine part::omp_reduce_diag1d (diagnostic, nl_max_)
 
subroutine part::omp_reduce_diag2d (diagnostic, nl_max_)
 
subroutine part::omp_reduce_diag3d (diagnostic, nl_max_)
 
subroutine part::strong_flow_terms (isp, sigmat, chit, bstar_inv, genelec, pztomobstar, bgrb, addp, expt_back, eypt_back, exh, ut, mut, hh, dvpadt1_str, dvpadt0_str, vgc)
 
subroutine part::diagnose_sampling (isp, s, en, pvol, w, zf0, ithread)
 Diagnose the velocity space sampling. More...
 
subroutine part::diagnose_phasespace (isp, s, vpar, mu, B, pvol, w, zf0, ithread)
 Diagnose phase space properties. More...
 
subroutine part::helical_flux_label (sigmat, xiang, irloc, dr_flux_inv, ipol)
 
subroutine part::jdote (isp, ut2, vpt2, vpar, genelec, elec_par, wt, bstar_inv, bgrb, vgb, vpressure, veb_f, vexb, expt_back, eypt_back, dvpadt0, gyroapar, jdote_tot, ithread)
 
subroutine part::mpr_es_calc (isp, ithread, iuloc, imuloc, sigmat, thetat, wt, ut2, vpt2, bstar_inv, vpar, genelec, bgrb, vgb, vpressure, veb_f)
 
subroutine part::sum_moment2d (isp, irloc, ithetaloc, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, ithread)
 
subroutine part::sum_particles_in_poloidal_bins (isp, ithetaloc, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, wt_tmp1, wt_tmp2, wt_tmp3, ithread)
 
subroutine part::sum_particles_in_radial_bins (isp, ip, irloc, zf0, dPsidt1, dPsidt0, ze, wt, ut, rt2, vpar, zf0_tmp1, zf0_tmp2, zf0_tmp3, sigmat, zf0_local, grsigma2, grsigmagrchi, b, exh, wt_tmp1, wt_tmp2, wt_tmp3, vexb, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, ffinit_tmp5, jdote_tot, ithread)
 
subroutine part::sum_in_radial_bins_island (isp, irloc, ipol, ut, gradpsi0, htildex, htildey, ze, zf0, wt, dPsidt1, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, ithread)
 
subroutine part::push_displacements (isp, ksieta, vexb, chit_cos, chit_sin, sigmat, tempd, vgc, dvpadt1, dvpadt0, rhs, ithread)
 
subroutine part::electron_fluxes_moments (isp, irloc, zf0, dPsidt1, dPsidt0, ze, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, is_trapped, ithread)
 
subroutine part::sum_fluid_moments (isp, sigmat, chit, phit, wt, ut, ut2, vpt2, ithread)
 
subroutine part::sum_entropy_fluctuation (isp, wt, zf0, q_vgc_dot_genelec, zvth2_inv, df0_dpsi_prof, df0_dchi_prof, dpsi_prof_dt, ithread)
 
subroutine part::sum_velocities (isp, iuloc, imuloc, wt, zf0, pvol, ithread)
 
subroutine, public part::get_pos (isp, nsel_gyr_local, alp, rhog, sigma, chi, lnaveg, chit, sigmat, chi_sigma_gradients)
 
subroutine part::get_n_larmor_pts (isp, nsel_gyr_local, rhog, lnaveg)
 Choice of the gyro-average algorithm. More...
 
subroutine, public part::calc_dist (isp, sigmat, chit, ut, mu, psi0_corr, distribution, bst, dist_coeff, diff_t_vpll)
 
real function part::ze_correction (ut, vpval)
 
real function, dimension(3) part::cross_product (a, b)
 
subroutine, public part::read_write_particle_data (flag, datn)
 
real function part::get_fvpllb (psi, mu, en, v_pll, isp)
 
real function part::vpaob_ba (psi, mu_scaled, vpll_sign)
 
real function, public part::get_vpaob_ba (psi, mu, en, v_pll, isp)
 
subroutine part::build_vpaob
 
subroutine part::init_vpa_quants
 
subroutine part::vpa_quants (psi, mu, en_star, v_pll, fvpllb, dfvpllb_den, dfvpllb_dpsi, isp)
 
subroutine, public part::get_properties (ip, isp, sigmat, chit, en, b, psi0can, f0, zf0, f0_max, T, en_hamilt)
 Get species properties. More...
 
real function, public part::q_of_s (zs)
 
subroutine, public part::quadtree_smoothing_disp ()
 
subroutine part::quadtree_smoothing_interface (pic1_loc, pic2_loc, indx, ipos, p_start, p_end, work, quadtree_array_all, npart_loc, isp, diagnose_)
 Dispatcher for the quadtree_smoothing algorithm. More...
 
subroutine part::postpush_fullf (pic1_loc, pic2_loc, npart_loc, isp)
 
subroutine, public part::postpush_disp
 
subroutine, public part::set_weights_to_zero_at_t0
 
subroutine, public part::compute_psi0_corr_disp (run_on_device)
 
subroutine, public part::compute_psi0_corr (pic1_loc, pic2_loc, npart_loc, isp, run_on_device)
 
real function, public part::compute_psi0_corr_one_particle (isp, st, chit, mut, ut)
 Compute the the correction term for the corrected canonical Maxwellian. More...
 
real function part::bmaxi (psit)
 Approximate B(psi0,pi) by B(abs(psi0),0) if psi0 is negative. More...
 
subroutine part::perp_curl_ue (s, chi, smodstar, chimodstar, phimodstar)
 
subroutine, public part::diagnose_particles
 
subroutine, public part::grid_pic (isp, nsel_att, reduce_flag, lb, ub, assign1, i_att)
 Charge or current deposition on grid. More...
 
subroutine, public part::charge_deposition_passing_electrons_disp (isp, lb, ub, rho_passing)
 Deposit the charge of passing electrons in a separate array for new hybrid electron model. More...
 
subroutine part::charge_deposition_passing_electrons (x, y, w, nl_trapped, np, lb, ub, rho_passing)
 Charge deposition routine for passing electrons. More...
 
pure subroutine get_weights (xksi, wx)
 The bspline weight functions. More...
 
subroutine part::l5_auto_init (isp, l5_s_array)
 
subroutine part::gauss_list_init (isp, pert_table, nperts)
 
subroutine, public part::grid_pic_diagnostic (isp, nsel_att, lb, ub, assign1)
 Charge or current deposition on grid. More...
 
subroutine part::pszs_setboundaries (pic1_loc, pic2_loc, npart_loc, isp, lb, ub)
 
subroutine, public part::pszs_calc
 
subroutine part::deposit_bsplines (pszs_, isp, npart_loc, pic1_loc, pic2_loc)
 
subroutine part_grid (isp, nsel_att, reduce_flag, i_att, lb, ub, assign1, assign1_passing)
 Depositions on grids. More...
 
subroutine ppnd16 (p, normal_dev, ifault)
 

Variables

integer, save, public part::max_work
 
integer, save, public part::max_work_fields
 
integer, save, public part::max_pic2
 
integer, save part::nlarm_pic2
 
integer, save part::max_work_rev
 
integer, save, public part::max_pic5
 
integer, dimension(:), allocatable, save, public part::npart
 
integer, dimension(:), allocatable, save, public part::npmx
 
real, dimension(:), allocatable, save, public part::total_weight
 
real, dimension(:), allocatable, save, public part::dens0
 
real, save part::ftrap
 
integer, save part::ntrap
 
integer, dimension(:), allocatable, save, public part::ntest
 
type(pointer_markers), dimension(:), allocatable, save, public part::pic1
 
type(pointer_markers), dimension(:), allocatable, save, public part::pic2
 
type(pointer_markers), dimension(:), allocatable, save, public part::work1
 
type(pointer_markers), dimension(:), allocatable, save, public part::work2
 
type(pointer_markers), dimension(:), allocatable, save, public part::work_temp
 
type(pointer_markers), dimension(:), allocatable, save part::work_rev
 
type(pointer_markers), dimension(:), allocatable, save part::pion_1
 
integer, parameter part::tpnprop =17
 
type(pointer_markers), dimension(:), allocatable, save, public part::work3
 
type(pointer_markers), dimension(:), allocatable, save, public part::work5
 
type(pointer_markers), dimension(:), allocatable, save, public part::work6
 
type(pointer_markers), dimension(:), allocatable, save, public part::work7
 
type(pointer_markers), dimension(:), allocatable, save, public part::work8
 
type(pointer_markers), dimension(:), allocatable, save, public part::work9
 
type(pointer_markers_logic), dimension(:), allocatable, save, public part::pic3
 
type(pointer_markers_i8), dimension(:), allocatable, save, public part::pic4
 
type(pointer_markers_r4), dimension(:), allocatable, save, public part::pic5
 
real, dimension(:,:), allocatable, save part::n_vel_1d
 
real, dimension(:,:), allocatable, save part::n_vel_trap_1d
 
real, save part::dr_flux_inv
 
real, save part::dth_inv
 
real, save part::psi0_inv
 
integer, save part::irloc_in
 
real, dimension(:), allocatable, save part::ppsum_buff_real
 
real, save part::psi_max =1.0
 
real, save part::psi_min =0.0
 
real, save part::mu_max
 
real, save part::mu_min
 
real, dimension(:,:), allocatable, save part::vpll_momentum_bins
 
real, dimension(:,:), allocatable, save part::vpbi
 
integer, save part::nbin_mu_f0
 
real, save part::dpsi_bin
 
real, save part::dmu_bin
 
real, save part::dmu_bin_2
 
real, dimension(:), allocatable, save part::bin_surf_inv
 
real, dimension(:), allocatable, save part::bin_vol_inv
 
type(pointer_quadtree), dimension(:), allocatable, save part::qtree
 
integer, save part::num_mesh
 
integer, save part::qt_num_s
 
integer, save part::qt_num_chi
 
integer, parameter part::qt_num_s_per_ns = 2
 
logical, dimension(:), allocatable, save part::qt_toggle_flag
 
complex, dimension(:,:,:), allocatable, save, public part::cfield_out_3d
 
complex, dimension(:,:,:), allocatable, save, public part::cfield_out_3d_fft
 
type(sorting_class), dimension(:), allocatable, save part::sortings
 
integer, save part::lb_wx
 
integer, save part::ub_wx
 Non-null splines over interval i are [i+lb_wx,i+ub_wx]. More...
 
real, dimension(:,:,:), allocatable part::rho_passing_omp
 OpenMP working array for deposition for passing electrons (field replicated among OpenMP threads) More...
 
type(moments_3d_class), dimension(moments_3d_size), public part::moments_3d
 
real, dimension(:), allocatable part::nptot_inv
 

Macro Definition Documentation

◆ HDF5_RESTART

#define HDF5_RESTART

Function/Subroutine Documentation

◆ check_ffinit()

subroutine load_particles::check_ffinit ( real, dimension(:,:), intent(inout)  pic2_loc,
integer, intent(in)  isp 
)

◆ get_weights()

pure subroutine charge_deposition_passing_electrons::get_weights ( real, dimension(3), intent(in)  xksi,
real, dimension(1:3, -1:2,0:1), intent(out)  wx 
)
private

The bspline weight functions.

Parameters
[in]xksiRelative position of a marker to a grid cell (s, theta_star, phi)
[out]wxBspline weights
+ Here is the caller graph for this function:

◆ load_alp()

subroutine load_particles::load_alp ( real, dimension(:,:), intent(inout)  pic2_loc,
real, dimension(:,:), intent(in)  work_rev_loc,
integer, intent(in)  isp 
)
private
Bug:
It appears "alp" is never loaded!! ALS
+ Here is the caller graph for this function:

◆ load_coord()

subroutine load_particles::load_coord ( real, dimension(:,:), intent(inout)  pic1_loc,
real, dimension(:,:), intent(in)  work_rev_loc,
integer, intent(in)  npart_loc,
integer, intent(in)  isp 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ load_diag()

subroutine load_particles::load_diag ( real, dimension(:,:), intent(in)  pic1_loc,
real, dimension(:,:), intent(in)  pic2_loc,
integer, intent(in)  isp 
)
private
+ Here is the caller graph for this function:

◆ load_phi()

subroutine load_particles::load_phi ( integer, intent(in)  isp)

Load markers in the toroidal direction and quasi-random numbers for other attributes.

Use only prime numbers for Hammersley bases to avoid correlation between attributes

Warning
With nsel_loadphi=NSEL_UNIFORM, some clones initially have markers at the subdomain boundary, while others have markers in the middle of the subdomains, potentially leading to load imbalance in parmove for the first few time steps:
Example of imbalance with uniform loading. Simulation with 32 subdomains and 12 clones. Colored zones indicate minimum and maximum across all tasks.

Compute Hammersley sequences, permuting bases for each species attributes

+ Here is the caller graph for this function:

◆ load_test()

subroutine load_test_particles::load_test ( real, dimension(:,:), intent(inout)  pic1_loc,
real, dimension(:,:), intent(inout)  pic2_loc,
logical, dimension(:,:), intent(inout)  pic3_loc,
integer, intent(in)  npart_loc,
integer, intent(in)  isp 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ load_trap_particles()

subroutine load_particles::load_trap_particles ( real, dimension(:,:), intent(in)  pic1_loc,
real, dimension(:,:), intent(in)  pic2_loc,
logical, dimension(:,:), intent(inout)  pic3_loc,
integer, intent(in)  npart_loc,
integer, intent(in)  isp 
)
private
+ Here is the caller graph for this function:

◆ load_umupvol()

subroutine load_particles::load_umupvol ( real, dimension(:,:), intent(inout)  pic1_loc,
real, dimension(:,:), intent(inout)  pic2_loc,
integer, intent(in)  isp 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ load_weights()

subroutine load_particles::load_weights ( real, dimension(:,:), intent(inout)  pic1_loc,
real, dimension(:,:), intent(inout)  pic2_loc,
logical, dimension(:,:), intent(inout)  pic3_loc,
real, dimension(:,:), intent(in)  work_rev_loc,
integer, intent(in)  isp 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ part_grid()

subroutine part_grid ( integer, intent(in)  isp,
integer, intent(in)  nsel_att,
logical, intent(in)  reduce_flag,
integer, intent(in)  i_att,
integer, dimension(4), intent(in)  lb,
integer, dimension(4), intent(in)  ub,
real, dimension(lb(1):ub(1),lb(2):ub(2),lb(3):ub(3)), intent(out)  assign1,
real, dimension(lb(1):ub(1),lb(2):ub(2)), intent(out), optional  assign1_passing 
)

Depositions on grids.

Parameters
[in]ispSpecies under consideration
[in]nsel_attWhich attribute to be deposited
[in]reduce_flagFlag to compute reduced weights
[in]i_attIteration over atts arrays
[in]lbLowerbounds of the charge arrays
[in]ubUpperbounds of the charge arrays
[out]assign1Array containing the deposited quantity
[out]assign1_passingArray for passing charge
+ Here is the call graph for this function:

◆ ppnd16()

subroutine ppnd16 ( real (dp), intent(in)  p,
real (dp), intent(out)  normal_dev,
integer, intent(out)  ifault 
)
+ Here is the caller graph for this function: