particles_eikonal

Module

Description

$Id$

Eikonal solver, “particles” refer here to points on the trajectory.

** AUTOMATIC CPARAM.INC GENERATION ************************

Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

MPVAR CONTRIBUTION 6 MAUX CONTRIBUTION 2 CPARAM logical, parameter :: lparticles=.true. CPARAM character (len=20), parameter :: particles_module=”eikonal”

PENCILS PROVIDED np; rhop PENCILS PROVIDED epsp; grhop(3)


Quick access

Variables:

a1, a3, a_ell2, a_ellipsoid, amplvvp, amplxxp, ascalar_cic, ascalar_ngp, avg_n_insert, b_ell2, b_ellipsoid, beta_dpdr_dust, beta_dpdr_dust_scaled, beta_glnrho_global, birthring_lifetime, birthring_r, birthring_width, brownian_t0, c_ell2, c_ellipsoid, calc_added_mass_beta, calc_brownian_force, calc_brownian_force_li_ahmadi, calc_diagnostics_particles, calc_draglaw_parameters, calc_draglaw_purestokes, calc_draglaw_steadystate, calc_gas_velocity_shell_call, calc_pencil_rep, calc_relative_velocity, calc_stokes_cunningham, calc_thermophoretic_force, calculate_rms_speed, cdtp, cdtp_drag, cdtpgrav, coeff, coeff_restitution, collisional_cooling, compensate_friction_increase, compensate_sedimentation, cond_ratio, cone_half_angle_deg, constant_richardson, cs2_powerlaw, delta_vp0, deltauy_gas_friction, diffuse_backreaction, drag_heat, dt1_drag, dust_charge, eps1, epsp_friction_increase, frac_hill, frac_init_particles, g1, gaussian_x_frac, get_frictiontime, get_gas_density_strat, gravr, gravr_profile, gravsmooth, gravsmooth2, gravx, gravx_profile, gravz, gravz_profile, ibrtime, icondensationrate, idiag_decollp, idiag_dedragp, idiag_deshearbcsm, idiag_dtdragp, idiag_dvpm, idiag_dvpmax, idiag_dvpx2m, idiag_dvpy2m, idiag_dvpz2m, idiag_eccpx2m, idiag_eccpxm, idiag_eccpy2m, idiag_eccpym, idiag_eccpz2m, idiag_eccpzm, idiag_ekinp, idiag_epotpm, idiag_epsmax, idiag_epsmin, idiag_epspm, idiag_epspmax, idiag_epspmin, idiag_epspmx, idiag_epspmy, idiag_epspmz, idiag_ffcondm, idiag_ffcondnegm, idiag_ffcondposm, idiag_latentheatm, idiag_lpx2m, idiag_lpxm, idiag_lpy2m, idiag_lpym, idiag_lpz2m, idiag_lpzm, idiag_mpt, idiag_nblockmax, idiag_nblockmin, idiag_np2m, idiag_npar_found, idiag_nparbmax, idiag_npargone, idiag_nparmax, idiag_nparmin, idiag_nparpmax, idiag_nparsum, idiag_npm, idiag_npmax, idiag_npmin, idiag_npmx, idiag_npmxy, idiag_npmy, idiag_npmz, idiag_nptz, idiag_npuzmz, idiag_npvz2mz, idiag_npvzmz, idiag_omegapm, idiag_rhop2m, idiag_rhop2mx, idiag_rhop2my, idiag_rhop2mz, idiag_rhopart, idiag_rhopm, idiag_rhopmax, idiag_rhopmin, idiag_rhopmphi, idiag_rhopmr, idiag_rhopmx, idiag_rhopmxy, idiag_rhopmxz, idiag_rhopmy, idiag_rhopmz, idiag_rhoprms, idiag_rhopvpxm, idiag_rhopvpxt, idiag_rhopvpym, idiag_rhopvpysm, idiag_rhopvpyt, idiag_rhopvpzm, idiag_rhopvpzt, idiag_rp2m, idiag_rpm, idiag_rpvpx2mx, idiag_rpvpxmx, idiag_rpvpy2mx, idiag_rpvpymx, idiag_rpvpz2mx, idiag_rpvpzmx, idiag_shm, idiag_sigmap, idiag_tausupersatrms, idiag_urel, idiag_vpcoalx2m, idiag_vpcoaly2m, idiag_vpcoalz2m, idiag_vpmax, idiag_vprms, idiag_vpx2m, idiag_vpxm, idiag_vpxmax, idiag_vpxmin, idiag_vpxvpym, idiag_vpxvpzm, idiag_vpy2m, idiag_vpyfull2m, idiag_vpym, idiag_vpymax, idiag_vpymin, idiag_vpyvpzm, idiag_vpz2m, idiag_vpzm, idiag_vpzmax, idiag_vpzmin, idiag_vrelpabsm, idiag_xp2m, idiag_xpm, idiag_xpmax, idiag_xpmin, idiag_yp2m, idiag_ypm, idiag_ypmax, idiag_ypmin, idiag_zp2m, idiag_zpm, idiag_zpmax, idiag_zpmin, iffg, ifgx, ifgy, ifgz, indirect_inertial_particles, init_repeat, initvvp, initxxp, insert_nucleii, insertxxp, interp_default, interp_pol_bb, interp_pol_ee, interp_pol_gradtt, interp_pol_nu, interp_pol_oo, interp_pol_pp, interp_pol_rho, interp_pol_species, interp_pol_tt, interp_pol_uu, istep_dragf, istep_pass, it_insert_nuclei, iwatermixingratio, k_shell, kx_gg, kx_vpx, kx_vpy, kx_vpz, kx_vvp, kx_xxp, ky_vpx, ky_vpy, ky_vpz, ky_vvp, ky_xxp, kz_gg, kz_vpx, kz_vpy, kz_vpz, kz_vvp, kz_xxp, l_hole, l_shell, laccretion_removal, lbrownian_forces, lbrownian_forces_li_ahmadi, lbubble, lcalc_uup, lcdtp_shear, lcentrifugal_force_par, lcoldstart_amplitude_correction, lcollisional_cooling_rms, lcollisional_cooling_taucool, lcollisional_cooling_twobody, lcollisional_dragforce_cooling, lcollisional_heat, lcompensate_friction_increase, lcompensate_sedimentation, lcoriolis_force_par, lcylindrical_gravity_par, ldiff_dragf, ldiff_pass, ldiffuse_dragf, ldiffuse_passive, ldragforce_dust_par, ldragforce_equi_global_eps, ldragforce_equi_noback, ldragforce_gas_par, ldragforce_heat, ldragforce_radialonly, ldragforce_stiff, ldraglaw_eps_stk_transonic, ldraglaw_epstein, ldraglaw_epstein_stokes_linear, ldraglaw_epstein_transonic, ldraglaw_purestokes, ldraglaw_simple, ldraglaw_steadystate, ldraglaw_stokesschiller, ldraglaw_variable, ldraglaw_variable_density, ldt_adv_par, ldt_grav_par, learly_particle_map, lenforce_policy, lfollow_gas, lgaussian_birthring, lglobalrandom, linsert_as_many_as_possible, lleft_down, lnostore_uu, lnp_ap_as_aux, lnpmin_exclude_zero, lnu_draglaw, lnucl_dynamic, local_omega, lonly_eforce, lpar_spec, lparticle_gravity, lpeh_radius, lprecalc_cell_volumes, lquadratic_interpolation, lramp_mass, lreassign_strat_rhom, lsecondary_wait, lset_df_insert_nucleii, lshear_accel_par, lsherwood_const, lsimple_volume, lsinkpoint, lsmooth_gravity_companion, lstocunn1, lstokes_drag, ltau_coll_min_courant, lthermophoretic_forces, ltrace_dust, luse_tau_ap, lvector_gravity, lwithhold_init_particles, lx0, ly0, lz0, m_hole, max_particle_insert_time, mean_free_path_gas, n_hole, nray, ntau, nu_draglaw, nu_epicycle, nu_epicycle2, nucl_thr_inc_pow, nucleation_threshold, omega_disper, particle_gravity, particles_diffusion, particles_final_clean_up, particles_insert_ramp_time, particles_insert_rate, phase_vpx, phase_vpy, phase_vpz, pos_ellipsoid, pos_sphere, pscalar_sink_rate, qgaussz, r0gaussz, rad_sphere, rdiffconst_dragf, rdiffconst_pass, redfrac, remaining_particles, rhoa, ri0, rp1, rp1_smooth, rpbeta, rpbeta_species, rpinit_ext, rpinit_int, rsinkpoint, sphere_theta1, sphere_theta2, streaming, streaming_coldstart, t_ramp_mass, t_start_secondary, tau_coll1_max, tau_coll_min, taucool, taucool1, tausg1_max, tausg_min, tausp, tausp01, tausp1, temp_grad0, thermophoretic_eq, thermophoretic_t0, true_density_cond_spec, tstart_brownian_par, tstart_collisional_cooling, tstart_dragforce_par, tstart_grav_par, tstart_grav_r_par, tstart_grav_x_par, tstart_grav_z_par, tstart_insert_particles, tstart_liftforce_par, tstart_rpbeta, tstart_sink_par, urel_sum, vpx1, vpx2, vpx3, vpy1, vpy2, vpy3, vpz0, vpz1, vpz2, vpz3, xp0, xp1, xp2, xp3, xsinkpoint, yp0, yp1, yp2, yp3, ysinkpoint, zp0, zp1, zp2, zp3, zsinkpoint

Routines:

calc_diagnostics_particles(), calc_pencils_particles(), create_particles_sink_simple(), dvvp_dt(), dvvp_dt_blocks(), dvvp_dt_pencil(), dxxp_dt(), dxxp_dt_blocks(), dxxp_dt_pencil(), init_particles(), initialize_particles(), insert_lost_particles(), insert_nucleii(), insert_particles(), particles_diffusion(), particles_dragforce_stiff(), pencil_criteria_particles(), pencil_interdep_particles(), periodic_boundcond_on_aux(), powersnap_particles(), read_particles_init_pars(), read_particles_run_pars(), register_particles(), remove_particles_sink_simple(), rprint_particles(), write_particles_init_pars(), write_particles_run_pars()

Needed modules

Variables

  • particles/a_ell2 [real,private/optional/default=0.0]
  • particles/a_ellipsoid [real,private/optional/default=0.0]
  • particles/amplvvp [real,private/optional/default=0.0]
  • particles/amplxxp [real,private/optional/default=0.0]
  • particles/avg_n_insert [real,private]
  • particles/b_ell2 [real,private/optional/default=0.0]
  • particles/b_ellipsoid [real,private/optional/default=0.0]
  • particles/beta_dpdr_dust [real,private/optional/default=0.0]
  • particles/beta_dpdr_dust_scaled [real,private/optional/default=0.0]
  • particles/beta_glnrho_global (*) [real,private/pointer]
  • particles/beta_glnrho_scaled (*) [real,private/pointer]
  • particles/brownian_t0 [real,private/optional/default=0.0]
  • particles/c_ell2 [real,private/optional/default=0.0]
  • particles/c_ellipsoid [real,private/optional/default=0.0]
  • particles/calc_brownian_force [private]
  • particles/calc_draglaw_parameters [private]
  • particles/calc_draglaw_steadystate [private]
  • particles/calc_gas_velocity_shell_call [private]
  • particles/calc_pencil_rep [private]
  • particles/calc_stokes_cunningham [private]
  • particles/calculate_rms_speed [private]
  • particles/cdtp [real,private/optional/default=0.2]
  • particles/cdtpgrav [real,private/optional/default=0.1]
  • particles/coeff (7) [complex,private/optional/default=(0.0,0.0)]
  • particles/coeff_restitution [real,private/optional/default=0.5]
  • particles/collisional_cooling [private]
  • particles/cond_ratio [real,private/optional/default=0.0]
  • particles/constant_richardson [private]
  • particles/delta_vp0 [real,private/optional/default=1.0]
  • particles/deltauy_gas_friction [real,private/optional/default=0.0]
  • particles/dt1_drag (nx) [real,private]
  • particles/eps1 [real,private/optional/default=0.5]
  • particles/epsp_friction_increase [real,private/optional/default=100.0]
  • particles/get_frictiontime [private]
  • particles/gravr [real,private/optional/default=1.0]
  • particles/gravr_profile [character,private/optional/default='']
  • particles/gravsmooth [real,private/optional/default=0.0]
  • particles/gravsmooth2 [real,private/optional/default=0.0]
  • particles/gravx [real,private/optional/default=0.0]
  • particles/gravx_profile [character,private/optional/default='']
  • particles/gravz [real,private/optional/default=0.0]
  • particles/gravz_profile [character,private/optional/default='']
  • particles/idiag_decollp [integer,private/optional/default=0]
  • particles/idiag_dedragp [integer,private/optional/default=0]
  • particles/idiag_deshearbcsm [integer,private/optional/default=0]
  • particles/idiag_dtdragp [integer,private/optional/default=0]
  • particles/idiag_dvpm [integer,private/optional/default=0]
  • particles/idiag_dvpmax [integer,private/optional/default=0]
  • particles/idiag_dvpx2m [integer,private/optional/default=0]
  • particles/idiag_dvpy2m [integer,private/optional/default=0]
  • particles/idiag_dvpz2m [integer,private/optional/default=0]
  • particles/idiag_eccpx2m [integer,private/optional/default=0]
  • particles/idiag_eccpxm [integer,private/optional/default=0]
  • particles/idiag_eccpy2m [integer,private/optional/default=0]
  • particles/idiag_eccpym [integer,private/optional/default=0]
  • particles/idiag_eccpz2m [integer,private/optional/default=0]
  • particles/idiag_eccpzm [integer,private/optional/default=0]
  • particles/idiag_ekinp [integer,private/optional/default=0]
  • particles/idiag_epotpm [integer,private/optional/default=0]
  • particles/idiag_epspmax [integer,private/optional/default=0]
  • particles/idiag_epspmin [integer,private/optional/default=0]
  • particles/idiag_epspmx [integer,private/optional/default=0]
  • particles/idiag_epspmy [integer,private/optional/default=0]
  • particles/idiag_epspmz [integer,private/optional/default=0]
  • particles/idiag_lpx2m [integer,private/optional/default=0]
  • particles/idiag_lpxm [integer,private/optional/default=0]
  • particles/idiag_lpy2m [integer,private/optional/default=0]
  • particles/idiag_lpym [integer,private/optional/default=0]
  • particles/idiag_lpz2m [integer,private/optional/default=0]
  • particles/idiag_lpzm [integer,private/optional/default=0]
  • particles/idiag_mpt [integer,private/optional/default=0]
  • particles/idiag_np2m [integer,private/optional/default=0]
  • particles/idiag_npargone [integer,private/optional/default=0]
  • particles/idiag_nparmax [integer,private/optional/default=0]
  • particles/idiag_nparmin [integer,private/optional/default=0]
  • particles/idiag_nparpmax [integer,private/optional/default=0]
  • particles/idiag_npm [integer,private/optional/default=0]
  • particles/idiag_npmax [integer,private/optional/default=0]
  • particles/idiag_npmin [integer,private/optional/default=0]
  • particles/idiag_npmx [integer,private/optional/default=0]
  • particles/idiag_npmxy [integer,private/optional/default=0]
  • particles/idiag_npmy [integer,private/optional/default=0]
  • particles/idiag_npmz [integer,private/optional/default=0]
  • particles/idiag_omegapm [integer,private/optional/default=0]
  • particles/idiag_rhop2m [integer,private/optional/default=0]
  • particles/idiag_rhopm [integer,private/optional/default=0]
  • particles/idiag_rhopmax [integer,private/optional/default=0]
  • particles/idiag_rhopmin [integer,private/optional/default=0]
  • particles/idiag_rhopmphi [integer,private/optional/default=0]
  • particles/idiag_rhopmr [integer,private/optional/default=0]
  • particles/idiag_rhopmx [integer,private/optional/default=0]
  • particles/idiag_rhopmxy [integer,private/optional/default=0]
  • particles/idiag_rhopmxz [integer,private/optional/default=0]
  • particles/idiag_rhopmy [integer,private/optional/default=0]
  • particles/idiag_rhopmz [integer,private/optional/default=0]
  • particles/idiag_rhoprms [integer,private/optional/default=0]
  • particles/idiag_rhopvpxm [integer,private/optional/default=0]
  • particles/idiag_rhopvpxt [integer,private/optional/default=0]
  • particles/idiag_rhopvpym [integer,private/optional/default=0]
  • particles/idiag_rhopvpysm [integer,private/optional/default=0]
  • particles/idiag_rhopvpyt [integer,private/optional/default=0]
  • particles/idiag_rhopvpzm [integer,private/optional/default=0]
  • particles/idiag_rhopvpzt [integer,private/optional/default=0]
  • particles/idiag_rp2m [integer,private/optional/default=0]
  • particles/idiag_rpm [integer,private/optional/default=0]
  • particles/idiag_vpmax [integer,private/optional/default=0]
  • particles/idiag_vprms [integer,private/optional/default=0]
  • particles/idiag_vpx2m [integer,private/optional/default=0]
  • particles/idiag_vpxm [integer,private/optional/default=0]
  • particles/idiag_vpxmax [integer,private/optional/default=0]
  • particles/idiag_vpxvpym [integer,private/optional/default=0]
  • particles/idiag_vpxvpzm [integer,private/optional/default=0]
  • particles/idiag_vpy2m [integer,private/optional/default=0]
  • particles/idiag_vpyfull2m [integer,private/optional/default=0]
  • particles/idiag_vpym [integer,private/optional/default=0]
  • particles/idiag_vpymax [integer,private/optional/default=0]
  • particles/idiag_vpyvpzm [integer,private/optional/default=0]
  • particles/idiag_vpz2m [integer,private/optional/default=0]
  • particles/idiag_vpzm [integer,private/optional/default=0]
  • particles/idiag_vpzmax [integer,private/optional/default=0]
  • particles/idiag_vpzmin [integer,private/optional/default=0]
  • particles/idiag_xp2m [integer,private/optional/default=0]
  • particles/idiag_xpm [integer,private/optional/default=0]
  • particles/idiag_yp2m [integer,private/optional/default=0]
  • particles/idiag_ypm [integer,private/optional/default=0]
  • particles/idiag_zp2m [integer,private/optional/default=0]
  • particles/idiag_zpm [integer,private/optional/default=0]
  • particles/iffg [integer,private/optional/default=0]
  • particles/ifgx [integer,private/optional/default=0]
  • particles/ifgy [integer,private/optional/default=0]
  • particles/ifgz [integer,private/optional/default=0]
  • particles/init_repeat [integer,private/optional/default=0]
  • particles/initvvp (ninit) [character,private/optional/default='nothing']
  • particles/initxxp (ninit) [character,private/optional/default='nothing']
  • particles/interp_pol_gradtt [character,private/optional/default='ngp']
  • particles/interp_pol_oo [character,private/optional/default='ngp']
  • particles/interp_pol_rho [character,private/optional/default='ngp']
  • particles/interp_pol_tt [character,private/optional/default='ngp']
  • particles/interp_pol_uu [character,private/optional/default='ngp']
  • particles/k_shell [integer,private/optional/default=-1]
  • particles/kx_gg [real,private/optional/default=1.0]
  • particles/kx_vpx [real,private/optional/default=0.0]
  • particles/kx_vpy [real,private/optional/default=0.0]
  • particles/kx_vpz [real,private/optional/default=0.0]
  • particles/kx_vvp [real,private/optional/default=0.0]
  • particles/kx_xxp [real,private/optional/default=0.0]
  • particles/ky_vpx [real,private/optional/default=0.0]
  • particles/ky_vpy [real,private/optional/default=0.0]
  • particles/ky_vpz [real,private/optional/default=0.0]
  • particles/ky_vvp [real,private/optional/default=0.0]
  • particles/ky_xxp [real,private/optional/default=0.0]
  • particles/kz_gg [real,private/optional/default=1.0]
  • particles/kz_vpx [real,private/optional/default=0.0]
  • particles/kz_vpy [real,private/optional/default=0.0]
  • particles/kz_vpz [real,private/optional/default=0.0]
  • particles/kz_vvp [real,private/optional/default=0.0]
  • particles/kz_xxp [real,private/optional/default=0.0]
  • particles/l_hole [integer,private/optional/default=0]
  • particles/l_shell [logical,private/optional/default=.false.]
  • particles/lbrownian_forces [logical,private/optional/default=.false.]
  • particles/lcalc_uup [logical,private/optional/default=.false.]
  • particles/lcentrifugal_force_par [logical,private/optional/default=.false.]
  • particles/lcoldstart_amplitude_correction [logical,private/optional/default=.false.]
  • particles/lcollisional_cooling_rms [logical,private/optional/default=.false.]
  • particles/lcollisional_cooling_taucool [logical,private/optional/default=.false.]
  • particles/lcollisional_cooling_twobody [logical,private/optional/default=.false.]
  • particles/lcollisional_dragforce_cooling [logical,private/optional/default=.false.]
  • particles/lcollisional_heat [logical,private/optional/default=.false.]
  • particles/lcoriolis_force_par [logical,private/optional/default=.true.]
  • particles/lcylindrical_gravity_par [logical,private/optional/default=.false.]
  • particles/ldragforce_dust_par [logical,private/optional/default=.false.]
  • particles/ldragforce_equi_global_eps [logical,private/optional/default=.false.]
  • particles/ldragforce_equi_noback [logical,private/optional/default=.false.]
  • particles/ldragforce_gas_par [logical,private/optional/default=.false.]
  • particles/ldragforce_heat [logical,private/optional/default=.false.]
  • particles/ldragforce_radialonly [logical,private/optional/default=.false.]
  • particles/ldragforce_stiff [logical,private/optional/default=.false.]
  • particles/ldraglaw_eps_stk_transonic [logical,private/optional/default=.false.]
  • particles/ldraglaw_epstein [logical,private/optional/default=.true.]
  • particles/ldraglaw_epstein_stokes_linear [logical,private/optional/default=.false.]
  • particles/ldraglaw_epstein_transonic [logical,private/optional/default=.false.]
  • particles/ldraglaw_simple [logical,private/optional/default=.false.]
  • particles/ldraglaw_steadystate [logical,private/optional/default=.false.]
  • particles/ldraglaw_variable [logical,private/optional/default=.false.]
  • particles/ldraglaw_variable_density [logical,private/optional/default=.false.]
  • particles/ldt_adv_par [logical,private/optional/default=.true.]
  • particles/ldt_grav_par [logical,private/optional/default=.true.]
  • particles/lenforce_policy [logical,private/optional/default=.false.]
  • particles/lglobalrandom [logical,private/optional/default=.false.]
  • particles/lleft_down [logical,private/optional/default=.false.]
  • particles/lnostore_uu [logical,private/optional/default=.true.]
  • particles/local_omega [real,private]
  • particles/lpar_spec [logical,private/optional/default=.false.]
  • particles/lreassign_strat_rhom [logical,private/optional/default=.true.]
  • particles/ltau_coll_min_courant [logical,private/optional/default=.true.]
  • particles/luse_tau_ap [logical,private/optional/default=.true.]
  • particles/lx0 [real,private/optional/default=0.0]
  • particles/ly0 [real,private/optional/default=0.0]
  • particles/lz0 [real,private/optional/default=0.0]
  • particles/m_hole [integer,private/optional/default=0]
  • particles/max_particle_insert_time [real,private/optional/default=huge1]
  • particles/mean_free_path_gas [real,private/optional/default=0.0]
  • particles/n_hole [integer,private/optional/default=0]
  • particles/nray [integer,private/optional/default=1]
  • particles/nu_epicycle [real,private/optional/default=0.0]
  • particles/nu_epicycle2 [real,private/optional/default=0.0]
  • particles/omega_disper [private]
  • particles/particles_insert_rate [real,private/optional/default=0.0]
  • particles/phase_vpx [real,private/optional/default=0.0]
  • particles/phase_vpy [real,private/optional/default=0.0]
  • particles/phase_vpz [real,private/optional/default=0.0]
  • particles/pos_ellipsoid (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • particles/pos_sphere (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • particles/rad_sphere [real,private/optional/default=0.0]
  • particles/remaining_particles [real,private/optional/default=0.0]
  • particles/ri0 [real,private/optional/default=0.25]
  • particles/sphere_theta1 [real,private/optional/default=0.0]
  • particles/sphere_theta2 [real,private/optional/default=0.0]
  • particles/streaming [private]
  • particles/streaming_coldstart [private]
  • particles/tau_coll1_max [real,private/optional/default=0.0]
  • particles/tau_coll_min [real,private/optional/default=0.0]
  • particles/taucool [real,private/optional/default=0.0]
  • particles/taucool1 [real,private/optional/default=0.0]
  • particles/tausg1_max [real,private/optional/default=0.0]
  • particles/tausg_min [real,private/optional/default=0.0]
  • particles/tausp [real,private/optional/default=0.0]
  • particles/tausp1 [real,private/optional/default=0.0]
  • particles/tausp1_species (npar_species) [real,private/target/optional/default=0.0]
  • particles/tausp_species (npar_species) [real,private/target/optional/default=0.0]
  • particles/temp_grad0 (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • particles/tstart_brownian_par [real,private/optional/default=0.0]
  • particles/tstart_collisional_cooling [real,private/optional/default=0.0]
  • particles/tstart_dragforce_par [real,private/optional/default=0.0]
  • particles/tstart_grav_par [real,private/optional/default=0.0]
  • particles/tstart_grav_r_par [real,private/optional/default=0.0]
  • particles/tstart_grav_x_par [real,private/optional/default=0.0]
  • particles/tstart_grav_z_par [real,private/optional/default=0.0]
  • particles/turnover_call [logical,private/optional/default=.false.]
  • particles/turnover_shared [real,private/optional/default=0]
  • particles/uup_shared (3) [real,private/optional/default=0]
  • particles/vel_call [logical,private/optional/default=.false.]
  • particles/vpx0 [real,private/optional/default=0.0]
  • particles/vpx1 [real,private/optional/default=0.0]
  • particles/vpx2 [real,private/optional/default=0.0]
  • particles/vpx3 [real,private/optional/default=0.0]
  • particles/vpy0 [real,private/optional/default=0.0]
  • particles/vpy1 [real,private/optional/default=0.0]
  • particles/vpy2 [real,private/optional/default=0.0]
  • particles/vpy3 [real,private/optional/default=0.0]
  • particles/vpz0 [real,private/optional/default=0.0]
  • particles/vpz1 [real,private/optional/default=0.0]
  • particles/vpz2 [real,private/optional/default=0.0]
  • particles/vpz3 [real,private/optional/default=0.0]
  • particles/xp0 [real,private/optional/default=0.0]
  • particles/xp1 [real,private/optional/default=0.0]
  • particles/xp2 [real,private/optional/default=0.0]
  • particles/xp3 [real,private/optional/default=0.0]
  • particles/yp0 [real,private/optional/default=0.0]
  • particles/yp1 [real,private/optional/default=0.0]
  • particles/yp2 [real,private/optional/default=0.0]
  • particles/yp3 [real,private/optional/default=0.0]
  • particles/zp0 [real,private/optional/default=0.0]
  • particles/zp1 [real,private/optional/default=0.0]
  • particles/zp2 [real,private/optional/default=0.0]
  • particles/zp3 [real,private/optional/default=0.0]

Subroutines and functions

subroutine  particles/register_particles()

Set up indices for access to the fp and dfp arrays

29-dec-04/anders: coded

Use :

farraymanager (farray_register_auxiliary()), sharedvariables (put_shared_variable())

Call to:

svn_id(), append_npvar(), fatal_error(), not_implemented(), map_nearest_grid(), map_xxp_grid(), sort_particles_imn(), initial_condition_xxp(), repeated_init(), boundconds_particles(), interpolate_linear(), get_gas_density(), initial_condition_vvp(), map_vvp_grid(), set_particle_radius(), insert_particles_diagnos_state(), migrate_particles(), get_gamma_etc(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_quadratic_spline(), interpolate_quadratic(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), getnu(), power_1d()

subroutine  particles/initialize_particles(f, fp)

Perform any post-parameter-read initialization i.e. calculate derived parameters.

29-dec-04/anders: coded

Parameters:
Use :

equationofstate (rho0(), cs0()), sharedvariables (get_shared_variable())

Call to:

fatal_error(), not_implemented(), map_nearest_grid(), map_xxp_grid(), sort_particles_imn(), initial_condition_xxp(), repeated_init(), boundconds_particles(), interpolate_linear(), get_gas_density(), initial_condition_vvp(), map_vvp_grid(), set_particle_radius(), insert_particles_diagnos_state(), migrate_particles(), get_gamma_etc(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_quadratic_spline(), interpolate_quadratic(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), getnu(), power_1d()

subroutine  particles/init_particles(f, fp, ineargrid)

Initial positions and velocities of dust particles.

29-dec-04/anders: coded

Parameters:
  • f (mx,my,mz,mfarray) [real,out]

  • fp (mpar_loc,mparray) [real,out]

  • ineargrid (mpar_loc,3) [integer,out]

Use :

equationofstate (cs20()), general (random_number_wrapper()), mpicomm (mpireduce_sum(), mpibcast_real()), initialcondition (initial_condition_xxp(), initial_condition_vvp()), particles_diagnos_dv (repeated_init())

Call to:

fatal_error(), not_implemented(), map_nearest_grid(), map_xxp_grid(), sort_particles_imn(), initial_condition_xxp(), repeated_init(), boundconds_particles(), interpolate_linear(), get_gas_density(), initial_condition_vvp(), map_vvp_grid(), set_particle_radius(), insert_particles_diagnos_state(), migrate_particles(), get_gamma_etc(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_quadratic_spline(), interpolate_quadratic(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), getnu(), power_1d()

subroutine  particles/insert_lost_particles(f, fp, ineargrid)

14-oct-12/dhruba: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • fp (mpar_loc,mparray) [real,inout]

  • ineargrid (mpar_loc,3) [integer,inout]

Call to:

fatal_error(), set_particle_radius(), insert_particles_diagnos_state(), boundconds_particles(), map_nearest_grid(), map_xxp_grid(), map_vvp_grid(), sort_particles_imn(), migrate_particles(), get_gamma_etc(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/insert_particles(f, fp, ineargrid)

Insert particles continuously (when linsert_particles_continuously == T), i.e. in each timestep. If number of particles to be inserted are less than unity, accumulate number over several timesteps until the integer value is larger than one. Keep the remainder and accumulate this to the next insert.

Works only for particles_dust - add neccessary variable declarations in particles_tracers to make it work here.

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • fp (mpar_loc,mparray) [real,inout]

  • ineargrid (mpar_loc,3) [integer,inout]

Use :

general (random_number_wrapper()), particles_diagnos_state (insert_particles_diagnos_state())

Call to:

fatal_error(), set_particle_radius(), insert_particles_diagnos_state(), boundconds_particles(), map_nearest_grid(), map_xxp_grid(), map_vvp_grid(), sort_particles_imn(), migrate_particles(), get_gamma_etc(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/particles_dragforce_stiff(f, fp, ineargrid)

Force stiff drag force equations towards their equilibrium.

10-june-11/anders: coded

Parameters:
Use :

boundcond, mpicomm

Call to:

boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), fatal_error(), not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/pencil_criteria_particles()

All pencils that the Particles module depends on are specified here.

20-04-06/anders: coded

Call to:

fatal_error(), not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/pencil_interdep_particles(lpencil_in)

Interdependency among pencils provided by the Particles module is specified here.

16-feb-06/anders: dummy

Parameters:

lpencil_in (npencils) [logical]

Call to:

fatal_error(), not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/calc_pencils_particles(f, p, fp, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • p [pencil_case]

  • fp (mpar_loc,mparray) [real,in]

  • ineargrid (mpar_loc,3) [integer,in]

Use :

sub (grad())

Call to:

not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), fatal_error(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/dxxp_dt(f, df, fp, dfp, ineargrid)

Eikonal solver, “particles” now refer to points on the trajectory.

02-jan-05/anders: coded

Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • df (mx,my,mz,mvar) [real,inout]

  • fp (mpar_loc,mparray) [real,in]

  • dfp (mpar_loc,mpvar) [real,inout]

  • ineargrid (mpar_loc,3) [integer,in]

Use :

general (random_number_wrapper(), random_seed_wrapper())

Call to:

not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), fatal_error(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/dvvp_dt(f, df, fp, dfp, ineargrid)

Evolution of dust particle velocity.

29-dec-04/anders: coded

Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • df (mx,my,mz,mvar) [real,inout]

  • fp (mpar_loc,mparray) [real,in]

  • dfp (mpar_loc,mpvar) [real,inout]

  • ineargrid (mpar_loc,3) [integer,in]

Use :

diagnostics, equationofstate (cs20())

Call to:

not_implemented(), sum_par_name(), max_par_name(), integrate_par_name(), count_particles(), save_name(), fatal_error(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/dxxp_dt_pencil(f, df, fp, dfp, p, ineargrid)

Evolution of particle position (called from main pencil loop).

25-apr-06/anders: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • df (mx,my,mz,mvar) [real]

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer]

Call to:

fatal_error(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), not_implemented(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/dvvp_dt_pencil(f, df, fp, dfp, p, ineargrid)

Evolution of dust particle velocity (called from main pencil loop).

25-apr-06/anders: coded

Parameters:
  • f (mx,my,mz,mfarray) [real,inout]

  • df (mx,my,mz,mvar) [real,inout]

  • fp (mpar_loc,mparray) [real,inout]

  • dfp (mpar_loc,mpvar) [real,inout]

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer,inout]

Use :

equationofstate (cs20()), particles_diagnos_dv (collisions()), particles_diagnos_state (persistence_check())

Call to:

fatal_error(), interpolate_linear(), interpolate_quadratic_spline(), interpolate_quadratic(), not_implemented(), persistence_check(), collisions(), calc_diagnostics_particles(), max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), getnu(), power_1d()

subroutine  particles/calc_diagnostics_particles(fp, p, ineargrid)
Parameters:
  • fp (mpar_loc,mparray) [real]

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer]

Use :

diagnostics

Call to:

max_mn_name(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), phisum_mn_name_rz(), ysum_mn_name_xz(), get_gas_density(), not_implemented(), fatal_error(), getnu(), power_1d()

subroutine  particles/dxxp_dt_blocks(f, df, fp, dfp, ineargrid)

Evolution of particle position in blocks.

29-nov-09/anders: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • df (mx,my,mz,mvar) [real]

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • ineargrid (mpar_loc,3) [integer]

Call to:

get_gas_density(), not_implemented(), fatal_error(), max_mn_name(), getnu(), power_1d()

subroutine  particles/dvvp_dt_blocks(f, df, fp, dfp, ineargrid)

Evolution of particle velocity in blocks.

29-nov-09/anders: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • df (mx,my,mz,mvar) [real]

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • ineargrid (mpar_loc,3) [integer]

Call to:

get_gas_density(), not_implemented(), fatal_error(), max_mn_name(), getnu(), power_1d()

subroutine  particles/remove_particles_sink_simple(f, fp, dfp, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • ineargrid (mpar_loc,3) [integer]

Call to:

power_1d()

subroutine  particles/create_particles_sink_simple(f, fp, dfp, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • ineargrid (mpar_loc,3) [integer]

Call to:

power_1d()

subroutine  particles/read_particles_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

power_1d()

subroutine  particles/write_particles_init_pars(unit)
Parameters:

unit [integer,in]

Call to:

power_1d()

subroutine  particles/read_particles_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

power_1d()

subroutine  particles/write_particles_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

power_1d()

subroutine  particles/powersnap_particles(f)

Calculate power spectra of dust particle variables.

01-jan-06/anders: coded

Parameters:

f (mx,my,mz,mfarray) [real]

Use :

power_spectrum (power_1d())

Call to:

power_1d()

subroutine  particles/rprint_particles(lreset[, lwrite])

Read and register print parameters relevant for particles.

29-dec-04/anders: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics