|
| program | __part_f90__ |
| subroutine | init_particles |
| subroutine | construct_moments_3d (this, id, label, description) |
| subroutine | initpic |
| | Allocate and initialize particle arrays.
|
| subroutine | check_allocation (istat, locatn, varname) |
| subroutine | allocate_work_rev |
| subroutine | deallocate_work_rev |
| subroutine | load_particles |
| | Initialize markers.
|
| subroutine | load_phi (isp) |
| | Load markers in the toroidal direction and quasi-random numbers for other attributes.
|
| 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 | init_test_particles |
| subroutine | load_test_particles |
| subroutine | load_test (pic1_loc, pic2_loc, pic3_loc, npart_loc, isp) |
| real(kind=r8) function | toroidal_momentum (isp, st, chit, tsubb, ut, mut, psi_correction) |
| | Function wrapper for toroidal momentum calculation.
|
| subroutine | get_toroidal_momentum (isp, st, chit, ut, mut, psi_correction, tsubb, psit_prof, psit_pot, fvpllb_out, dfvpllb_den_out, dfvpllb_dpsi_out) |
| real(kind=r8) function | b_star (st, chit, b, ut, tprime, addpbst, isp) |
| | Calculate the parallel component of b_star.
|
| subroutine | 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, df0_dchi, zecor, pot_equil, pot_equil0, chit) |
| subroutine | bcpart_disp (run_on_device) |
| | Impose particle boundary conditions in phi and s (dispatcher).
|
| subroutine | bcpart (pic1_loc, npart_loc, isp, run_on_device) |
| | Boundary Conditions at s=sfmax (and s=sfmin if needed) and periodicity at phi=2pi.
|
| subroutine | print_test_particles (step) |
| subroutine | printip (isp, step, ntest_loc, pion_1_loc) |
| subroutine | pullback |
| subroutine | weight_mixed2sympl (pic1_loc, pic2_loc, npart_loc, isp) |
| subroutine | coords_mixed2sympl (pic1_loc, pic2_loc, npart_loc, isp) |
| subroutine | parmove (iter, run_on_device, work1flag, work2flag, work3flag, work5flag, work6flag, work7flag, work8flag, work9flag) |
| subroutine | parmove_sp (iter, isp, run_on_device, work1flag, work2flag, work3flag, work5flag, work6flag, work7flag, work8flag, work9flag) |
| subroutine | get_larmor_indices_disp (initflag_in, adapt_only_in) |
| subroutine | 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.
|
| subroutine | compute_all_larmor_positions_disp (comp_dk) |
| subroutine | compute_all_larmor_positions (isp, pic1_loc, pic2_loc, npart_loc) |
| subroutine | compute_deposition_attributes_dk (u, w, uw, n) |
| | Compute drift-kinetic species marker attributes to be deposited.
|
| subroutine | compute_reduced_weights_disp (isp, nsel_att) |
| subroutine | compute_reduced_weights (isp, pic1_loc, pic2_loc, pic3_loc, npart_loc, nsel_att) |
| subroutine | sort_gc_2d_disp |
| | Sort guiding centers of all species in the s-chi plane (so-called "cache sort").
|
| subroutine | sort_gc_2d (isp) |
| | Sort guiding centers of one species in the s-chi plane.
|
| subroutine | sort_gc_3d_disp |
| | Sort drift-kinetic species in 3D.
|
| subroutine | unsort_gc_3d_disp |
| | Sort drift-kinetic species in 3D.
|
| logical function | convert_need_field_to_logical (need_field, istep, nl_main_substep) |
| | Convert integer convention for when field is needed to logical.
|
| subroutine | get_field_disp (field, istep, nl_main_substep, i_att) |
| | Evaluate field at marker positions for each species.
|
| subroutine | 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).
|
| subroutine | change_grad_coord (np, dfield_dx, dfield_dy, gxx, gxy, gyx, gyy) |
| | Change coordinate of field gradient.
|
| subroutine | 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.
|
| subroutine | push_disp (iter) |
| subroutine | push (pic1_loc, pic2_loc, pic3_loc, work1_loc, npart_loc, isp, iter) |
| | Pushes the particles according to the fields.
|
| subroutine | diagnostics_after_loop (isp) |
| subroutine | polarisation_fieldcalc (isp) |
| subroutine | 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 | test_particle_output (isp, ip, psi0t, ze, pot_equil, wt, zvth2, nval, pvol, zf0) |
| subroutine | clear_diagnostics (isp) |
| | Clean diagnostics by re-initializing data array to zero.
|
| subroutine | update_ffinit_or_pvol |
| subroutine | trap_detrap_disp |
| subroutine | trap_detrap (pic1_loc, pic3_loc, npart_loc, isp) |
| | Determines whether trapped particles are now free and vice versa.
|
| subroutine | str_diagnostic_start |
| subroutine | init_push_diagnostics |
| subroutine | 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 | 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 | get_vexbn (sigmat, chit, zvth2, rt2, hy, hz, genelec, grsigma2, grchi2, grsigmagrchi, vexbn) |
| subroutine | strong_diagnostic_output (isp, ip, psi0t, temp2, ze, vecrossb_f2, pot_equil, zf0, zvth2_inv, dpotdpsi, vdr, rhs) |
| subroutine | sum_of_weights_and_energy_transfer (isp, wt, w3t, pt, pvolgc, ze, zf0, sigmat, q_vgc_dot_genelec, q_dvpadt0_dot_gyroapar, ithread) |
| subroutine | add_to_0d (diag, i, to_add_list, ithread) |
| subroutine | max_of_0d (diag, i, to_add_list, ithread) |
| subroutine | add_to_1d (diag, diag_index, i, to_add_list, ithread) |
| subroutine | add_to_2d (diag, diag_index, diag_index2, i, to_add_list, ithread) |
| subroutine | add_to_3d (diag, diag_index, diag_index2, diag_index3, i, to_add_list, ithread) |
| subroutine | omp_reduce_diag0d (diagnostic, nl_max_) |
| subroutine | omp_reduce_diag1d (diagnostic, nl_max_) |
| subroutine | omp_reduce_diag2d (diagnostic, nl_max_) |
| subroutine | omp_reduce_diag3d (diagnostic, nl_max_) |
| subroutine | 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 | diagnose_sampling (isp, s, en, pvol, w, zf0, ithread) |
| | Diagnose the velocity space sampling.
|
| subroutine | diagnose_phasespace (isp, s, vpar, mu, b, pvol, w, zf0, ithread) |
| | Diagnose phase space properties.
|
| subroutine | helical_flux_label (sigmat, xiang, irloc, dr_flux_inv, ipol) |
| subroutine | 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 | mpr_es_calc (isp, ithread, iuloc, imuloc, sigmat, thetat, wt, ut2, vpt2, bstar_inv, vpar, genelec, bgrb, vgb, vpressure, veb_f) |
| subroutine | sum_moment2d (isp, irloc, ithetaloc, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, ithread) |
| subroutine | sum_particles_in_poloidal_bins (isp, ithetaloc, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, wt_tmp1, wt_tmp2, wt_tmp3, ithread) |
| subroutine | 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 | 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 | push_displacements (isp, ksieta, vexb, chit_cos, chit_sin, sigmat, tempd, vgc, dvpadt1, dvpadt0, rhs, ithread) |
| subroutine | electron_fluxes_moments (isp, irloc, zf0, dpsidt1, dpsidt0, ze, wt, ffinit_tmp1, ffinit_tmp2, ffinit_tmp3, ffinit_tmp4, is_trapped, ithread) |
| subroutine | sum_fluid_moments (isp, sigmat, chit, phit, wt, ut, ut2, vpt2, ithread) |
| subroutine | sum_entropy_fluctuation (isp, wt, zf0, q_vgc_dot_genelec, zvth2_inv, df0_dpsi_prof, df0_dchi_prof, dpsi_prof_dt, ithread) |
| subroutine | sum_velocities (isp, iuloc, imuloc, wt, zf0, pvol, ithread) |
| subroutine | get_pos (isp, nsel_gyr_local, alp, rhog, sigma, chi, lnaveg, chit, sigmat, chi_sigma_gradients) |
| subroutine | get_n_larmor_pts (isp, nsel_gyr_local, rhog, lnaveg) |
| | Choice of the gyro-average algorithm.
|
| subroutine | calc_dist (isp, sigmat, chit, ut, mu, psi0_corr, distribution, bst, dist_coeff, diff_t_vpll) |
| real(kind=r8) function | ze_correction (ut, vpval) |
| real(kind=r8) function, dimension(3) | cross_product (a, b) |
| subroutine | read_write_particle_data (flag, datn) |
| real(kind=r8) function | get_fvpllb (psi, mu, en, v_pll, isp) |
| real(kind=r8) function | vpaob_ba (psi, mu_scaled, vpll_sign) |
| real(kind=r8) function | get_vpaob_ba (psi, mu, en, v_pll, isp) |
| subroutine | build_vpaob |
| subroutine | init_vpa_quants |
| subroutine | vpa_quants (psi, mu, en_star, v_pll, fvpllb, dfvpllb_den, dfvpllb_dpsi, isp) |
| subroutine | get_properties (ip, isp, sigmat, chit, en, b, psi0can, f0, zf0, f0_max, t, en_hamilt) |
| | Get species properties.
|
| real(kind=r8) function | q_of_s (zs) |
| subroutine | quadtree_smoothing_disp () |
| subroutine | 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.
|
| subroutine | postpush_fullf (pic1_loc, pic2_loc, npart_loc, isp) |
| subroutine | postpush_disp |
| subroutine | set_weights_to_zero_at_t0 |
| subroutine | compute_psi0_corr_disp (run_on_device) |
| subroutine | compute_psi0_corr (pic1_loc, pic2_loc, npart_loc, isp, run_on_device) |
| real(kind=r8) function | compute_psi0_corr_one_particle (isp, st, chit, mut, ut) |
| | Compute the the correction term for the corrected canonical Maxwellian.
|
| real(kind=r8) function | bmaxi (psit) |
| | Approximate B(psi0,pi) by B(abs(psi0),0) if psi0 is negative.
|
| subroutine | perp_curl_ue (s, chi, smodstar, chimodstar, phimodstar) |
| subroutine | diagnose_particles |
| subroutine | grid_pic (isp, nsel_att, reduce_flag, lb, ub, assign1, i_att) |
| | Charge or current deposition on grid.
|
| subroutine | 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.
|
| subroutine | charge_deposition_passing_electrons (x, y, w, nl_trapped, np, lb, ub, rho_passing) |
| | Charge deposition routine for passing electrons.
|
| pure subroutine | get_weights (xksi, wx) |
| | The bspline weight functions.
|
| subroutine | l5_auto_init (isp, l5_s_array) |
| subroutine | gauss_list_init (isp, pert_table, nperts) |
| subroutine | grid_pic_diagnostic (isp, nsel_att, lb, ub, assign1) |
| | Charge or current deposition on grid.
|
| subroutine | pszs_setboundaries (pic1_loc, pic2_loc, npart_loc, isp, lb, ub) |
| subroutine | pszs_calc |
| subroutine | 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.
|
| subroutine | ppnd16 (p, normal_dev, ifault) |