! $Id$ ! ! This module takes care of everything related to dust particles. ! !** AUTOMATIC CPARAM.INC GENERATION **************************** ! ! Declare (for generation of cparam.inc) the number of f array ! variables and auxiliary variables added by this module ! ! CPARAM logical, parameter :: lparticles=.false. ! ! PENCILS PROVIDED rhop;grhop(3);peh ! PENCILS PROVIDED tauascalar ! PENCILS PROVIDED condensationRate ! PENCILS PROVIDED waterMixingRatio ! !*************************************************************** module Particles ! use Cdata use General, only: keep_compiler_quiet ! implicit none ! include 'particles.h' ! contains !*********************************************************************** subroutine register_particles ! ! Set up indices for access to the fp and dfp arrays ! ! 22-aug-05/anders: dummy ! endsubroutine register_particles !*********************************************************************** subroutine initialize_particles(f,fp) ! ! Perform any post-parameter-read initialization i.e. calculate derived ! parameters. ! ! 22-aug-05/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mpar_loc,mparray), intent (in) :: fp ! call keep_compiler_quiet(f) call keep_compiler_quiet(fp) ! endsubroutine initialize_particles !*********************************************************************** subroutine init_particles(f,fp) ! ! Initial positions and velocities of particles. ! ! 22-aug-05/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mpar_loc,mparray) :: fp ! call keep_compiler_quiet(f) call keep_compiler_quiet(fp) ! endsubroutine init_particles !*********************************************************************** subroutine read_particles_init_pars ! endsubroutine read_particles_init_pars !*********************************************************************** subroutine write_particles_init_pars(unit) ! integer, intent (in) :: unit ! call keep_compiler_quiet(unit) ! endsubroutine write_particles_init_pars !*********************************************************************** subroutine read_particles_run_pars ! endsubroutine read_particles_run_pars !*********************************************************************** subroutine write_particles_run_pars(unit) ! integer, intent (in) :: unit ! call keep_compiler_quiet(unit) ! endsubroutine write_particles_run_pars !*********************************************************************** subroutine pencil_criteria_particles ! ! All pencils that the Particles module depends on are specified here. ! ! 20-apr-06/anders: dummy ! endsubroutine pencil_criteria_particles !*********************************************************************** subroutine pencil_interdep_particles(lpencil_in) ! ! Interdependency among pencils provided by the Particles module ! is specified here. ! ! 16-feb-06/anders: dummy ! logical, dimension(npencils) :: lpencil_in ! call keep_compiler_quiet(lpencil_in) ! endsubroutine pencil_interdep_particles !*********************************************************************** subroutine calc_pencils_particles(f,p) ! ! Calculate particle pencils. ! ! 16-feb-06/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f type (pencil_case) :: p ! call keep_compiler_quiet(f) call keep_compiler_quiet(p) ! endsubroutine calc_pencils_particles !*********************************************************************** subroutine dxxp_dt(f,df,fp,dfp,ineargrid) ! ! Evolution of particle position. ! ! 22-aug-05/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine dxxp_dt !*********************************************************************** subroutine dvvp_dt(f,df,p,fp,dfp,ineargrid) ! ! Evolution of particle velocity. ! ! 22-aug-05/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid type (pencil_case) :: p ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine dvvp_dt !*********************************************************************** subroutine dxxp_dt_pencil(f,df,fp,dfp,p,ineargrid) ! ! Evolution of particle position (called from main pencil loop). ! ! 25-apr-06/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp type (pencil_case) :: p integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(p) call keep_compiler_quiet(ineargrid) ! endsubroutine dxxp_dt_pencil !*********************************************************************** subroutine dvvp_dt_pencil(f,df,fp,dfp,p,ineargrid) ! ! Evolution of dust particle velocity (called from main pencil loop). ! ! 20-apr-06/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp type (pencil_case) :: p integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(p) call keep_compiler_quiet(ineargrid) ! endsubroutine dvvp_dt_pencil !*********************************************************************** subroutine dxxp_dt_blocks(f,df,fp,dfp,ineargrid) ! ! Evolution of particle position in blocks. ! ! 29-nov-09/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine dxxp_dt_blocks !*********************************************************************** subroutine dvvp_dt_blocks(f,df,fp,dfp,ineargrid) ! ! Evolution of particle velocity in blocks. ! ! 29-nov-09/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mx,my,mz,mvar) :: df real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(df) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine dvvp_dt_blocks !*********************************************************************** subroutine remove_particles_sink_simple(f,fp,dfp,ineargrid) ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine remove_particles_sink_simple !*********************************************************************** subroutine create_particles_sink_simple(f,fp,dfp,ineargrid) ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mpar_loc,mparray) :: fp real, dimension (mpar_loc,mpvar) :: dfp integer, dimension (mpar_loc,3) :: ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(fp) call keep_compiler_quiet(dfp) call keep_compiler_quiet(ineargrid) ! endsubroutine create_particles_sink_simple !*********************************************************************** subroutine powersnap_particles(f) ! ! Calculate power spectra of particle variables. ! ! 01-jan-06/anders: dummy ! real, dimension (mx,my,mz,mfarray) :: f ! call keep_compiler_quiet(f) ! endsubroutine powersnap_particles !*********************************************************************** subroutine 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. ! real, dimension (mx,my,mz,mfarray) :: f real, dimension (mpar_loc,mparray) :: fp integer, dimension (mpar_loc,3) :: ineargrid ! intent (inout) :: fp,ineargrid ! call keep_compiler_quiet(f) call keep_compiler_quiet(fp) call keep_compiler_quiet(ineargrid) ! endsubroutine insert_particles !*********************************************************************** subroutine rprint_particles(lreset,lwrite) ! ! Read and register print parameters relevant for particles ! ! 22-aug-05/anders: dummy ! logical, optional :: lwrite ! call keep_compiler_quiet(lreset) call keep_compiler_quiet(lwrite) ! endsubroutine rprint_particles !*********************************************************************** subroutine particles_cleanup ! ! dummy subroutine. ! endsubroutine particles_cleanup !*********************************************************************** endmodule Particles