particles_spin
Module
Description
$Id$
This module takes care of everything related to particle spin including lifting forces. The module maintains a full f-array vorticity field, to be able to interpolate on the flow vorticity.
The module should be considered experimental as it is virtually untested (as of aug-08).
- NOTE: all code relating to particle spin or the magnus force
have been commented out.
** 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 3 CPARAM logical, parameter :: lparticles_spin = .true.
Quick access
- Variables:
amplsp,calc_magnus_liftforce,calc_saffman_liftforce,gaunoise_vect,idiag_psxm,idiag_psym,idiag_pszm,initsp,lmagnus_lift,lsaffman_lift,prepare_curl_vectorfield- Routines:
calc_liftforce(),dps_dt(),dps_dt_pencil(),init_particles_spin(),initialize_particles_spin(),pencil_criteria_par_spin(),read_particles_spin_init_pars(),read_particles_spin_run_pars(),register_particles_spin(),rprint_particles_spin(),write_particles_spin_init_pars(),write_particles_spin_run_pars()
Needed modules
cdata: $Id$messages: $Id$particles_cdata: $Id$
Variables
- particles_spin/calc_magnus_liftforce [private]
- particles_spin/calc_saffman_liftforce [private]
- particles_spin/gaunoise_vect [private]
- particles_spin/idiag_psxm [integer,private/optional/default=0]
- particles_spin/idiag_psym [integer,private/optional/default=0]
- particles_spin/idiag_pszm [integer,private/optional/default=0]
- particles_spin/lmagnus_lift [logical,private/optional/default=.false.]
- particles_spin/lsaffman_lift [logical,private/optional/default=.false.]
Subroutines and functions
- subroutine particles_spin/register_particles_spin()
Set up indices for access to the fp and dfp arrays.
21-jul-08/kapelrud: coded
use FArrayManager
- Called from:
- Call to:
svn_id(),append_npvar(),fatal_error(),sum_par_name(),getnu()
- subroutine particles_spin/initialize_particles_spin(f)
Perform any post-parameter-read initialization, i.e., calculate derived parameters.
21-jul-08/kapelrud: coded 22-oct-15/ccyang: continued.
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules()- Call to:
- subroutine particles_spin/init_particles_spin(f, fp)
Initial spin of particles.
21-jul-08/kapelrud: coded. 07-oct-15/ccyang: continued.
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init()- Call to:
- subroutine particles_spin/pencil_criteria_par_spin()
All pencils that the Particles_spin module depends on are specified here.
06-oct-15/ccyang: stub.
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
- subroutine particles_spin/dps_dt_pencil(f, df, fp, dfp, p, ineargrid)
Evolution of particle spin (called in the pencil loop.)
06-oct-15/ccyang: stub.
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),particles_pde_pencil(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
- subroutine particles_spin/dps_dt(f, df, fp, dfp, ineargrid)
Evolution of particle spin (called after the pencil loop.)
25-jul-08/kapelrud: coded
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
- subroutine particles_spin/read_particles_spin_init_pars(iomsg)
Read initialization parameters from namelist particles_spin_init_pars.
06-oct-15/ccyang: coded.
- Parameters:
iomsg [character,out]
- Use :
- Call to:
- subroutine particles_spin/write_particles_spin_init_pars(unit)
Write initialization parameters from namelist particles_spin_init_pars.
06-oct-15/ccyang: coded.
- Parameters:
unit [integer,in]
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),particles_pde_pencil(),particles_calc_pencil_diags(),particles_pde_blocks(),read_all_particles_init_pars(),write_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
- subroutine particles_spin/read_particles_spin_run_pars(iomsg)
Read runtime parameters from namelist particles_spin_run_pars.
06-oct-15/ccyang: coded.
- Parameters:
iomsg [character,out]
- Use :
- Call to:
- subroutine particles_spin/write_particles_spin_run_pars(unit)
Write runtime parameters from namelist particles_spin_run_pars.
06-oct-15/ccyang: coded.
- Parameters:
unit [integer,in]
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),particles_pde_pencil(),particles_calc_pencil_diags(),particles_pde_blocks(),read_all_particles_init_pars(),write_all_particles_init_pars(),read_all_particles_run_pars(),write_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
- subroutine particles_spin/rprint_particles_spin(lreset[, lwrite])
Read and register print parameters relevant for particles spin.
21-jul-08/kapelrud: coded. 06-oct-15/ccyang: continued.
- Parameters:
lreset [logical,in]
lwrite [logical,in,]
- Use :
- Called from:
- Call to:
- subroutine particles_spin/calc_liftforce(fp, k, rep, liftforce)
Calculate lifting forces for a given particle. It should be possible to make this a routine operating on pencils.
22-jul-08/kapelrud: coded
- Parameters:
fp (mparray) [real,in]
k [integer,in]
rep [real,in]
liftforce (3) [real,out]
- Call to: