neutralvelocity
Module
Description
$Id$
This module takes care of everything related to velocity
** 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 :: lneutralvelocity = .true.
MVAR CONTRIBUTION 3 MAUX CONTRIBUTION 0
PENCILS PROVIDED divun; visc_heatn; un2; unij(3,3); uun(3); snij(3,3); snij2 PENCILS PROVIDED ungun(3); del2un(3); del6un(3); graddivun(3); advec_uun; advec_csn2
Quick access
- Variables:
ampl_unx,ampl_uny,ampl_unz,ampluun,borderuun,cions_rhon,cneut_rho,colldrag,csn0,csn20,diffus_nun,electron_pressure,enum_borderuun,enum_iviscn,idiag_divunm,idiag_dtcn,idiag_dtnun,idiag_dtun,idiag_epskn,idiag_fricions,idiag_fricneut,idiag_neutralangmom,idiag_pndivunm,idiag_rnunxunymz,idiag_un2m,idiag_un2mphi,idiag_un2mr,idiag_un2mz,idiag_unm2,idiag_unmax,idiag_unmx,idiag_unmy,idiag_unmz,idiag_unp2m,idiag_unpmphi,idiag_unpmr,idiag_unr2m,idiag_unrmphi,idiag_unrmr,idiag_unrms,idiag_unrunpmr,idiag_unx2m,idiag_unx2mx,idiag_unx2my,idiag_unx2mz,idiag_unxm,idiag_unxmax,idiag_unxmx,idiag_unxmxy,idiag_unxmy,idiag_unxmz,idiag_unxpt,idiag_unxunym,idiag_unxunymx,idiag_unxunymy,idiag_unxunymz,idiag_unxunzm,idiag_unxunzmx,idiag_unxunzmy,idiag_unxunzmz,idiag_uny2m,idiag_uny2mx,idiag_uny2my,idiag_uny2mz,idiag_unym,idiag_unymax,idiag_unymx,idiag_unymxy,idiag_unymy,idiag_unymz,idiag_unypt,idiag_unyunzm,idiag_unyunzmx,idiag_unyunzmy,idiag_unyunzmz,idiag_unz2m,idiag_unz2mx,idiag_unz2my,idiag_unz2mz,idiag_unzm,idiag_unzmax,idiag_unzmphi,idiag_unzmr,idiag_unzmx,idiag_unzmxy,idiag_unzmy,idiag_unzmz,idiag_unzpt,idiag_unzrmaxs,idiag_unzrms,idiag_unzz2m,inituun,iviscn,kx_uun,ky_uun,kz_uun,ladvection_velocity,lcentrifugal_force,lelectron_pressure,lfreeze_unext,lfreeze_unint,lpressuregradient,lupw_uun,lviscneutral,nun,nun_hyper3,uun_const,uun_left,uun_right,widthuun- Routines:
calc_diagnostics_neutralvel(),calc_pencils_neutralvelocity(),calc_viscous_force_neutral(),duun_dt(),init_uun(),initialize_neutralvelocity(),pencil_criteria_neutralvelocity(),pencil_interdep_neutralvelocity(),read_neutralvelocity_init_pars(),read_neutralvelocity_run_pars(),register_neutralvelocity(),rprint_neutralvelocity(),set_border_neutralvelocity(),write_neutralvelocity_init_pars(),write_neutralvelocity_run_pars()
Needed modules
Variables
- neutralvelocity/ampl_unx [real,private/optional/default=0.0]
- neutralvelocity/ampl_uny [real,private/optional/default=0.0]
- neutralvelocity/ampl_unz [real,private/optional/default=0.0]
- neutralvelocity/borderuun [character,private/optional/default='nothing']
- neutralvelocity/colldrag [real,private/optional/default=0]
- neutralvelocity/csn0 [real,private/optional/default=0.0]
- neutralvelocity/csn20 [real,private]
- neutralvelocity/electron_pressure [real,private/optional/default=1]
- neutralvelocity/enum_borderuun [integer,private/optional/default=0]
- neutralvelocity/idiag_divunm [integer,private/optional/default=0]
- neutralvelocity/idiag_dtcn [integer,private/optional/default=0]
- neutralvelocity/idiag_dtnun [integer,private/optional/default=0]
- neutralvelocity/idiag_dtun [integer,private/optional/default=0]
- neutralvelocity/idiag_epskn [integer,private/optional/default=0]
- neutralvelocity/idiag_fricions [integer,private/optional/default=0]
- neutralvelocity/idiag_fricneut [integer,private/optional/default=0]
- neutralvelocity/idiag_neutralangmom [integer,private/optional/default=0]
- neutralvelocity/idiag_pndivunm [integer,private/optional/default=0]
- neutralvelocity/idiag_rnunxunymz [integer,private/optional/default=0]
- neutralvelocity/idiag_un2m [integer,private/optional/default=0]
- neutralvelocity/idiag_un2mphi [integer,private/optional/default=0]
- neutralvelocity/idiag_un2mr [integer,private/optional/default=0]
- neutralvelocity/idiag_un2mz [integer,private/optional/default=0]
- neutralvelocity/idiag_unm2 [integer,private/optional/default=0]
- neutralvelocity/idiag_unmax [integer,private/optional/default=0]
- neutralvelocity/idiag_unmx [integer,private/optional/default=0]
- neutralvelocity/idiag_unmy [integer,private/optional/default=0]
- neutralvelocity/idiag_unmz [integer,private/optional/default=0]
- neutralvelocity/idiag_unpmphi [integer,private/optional/default=0]
- neutralvelocity/idiag_unpmr [integer,private/optional/default=0]
- neutralvelocity/idiag_unrmphi [integer,private/optional/default=0]
- neutralvelocity/idiag_unrmr [integer,private/optional/default=0]
- neutralvelocity/idiag_unrms [integer,private/optional/default=0]
- neutralvelocity/idiag_unrunpmr [integer,private/optional/default=0]
- neutralvelocity/idiag_unx2m [integer,private/optional/default=0]
- neutralvelocity/idiag_unx2mx [integer,private/optional/default=0]
- neutralvelocity/idiag_unx2my [integer,private/optional/default=0]
- neutralvelocity/idiag_unx2mz [integer,private/optional/default=0]
- neutralvelocity/idiag_unxm [integer,private/optional/default=0]
- neutralvelocity/idiag_unxmax [integer,private/optional/default=0]
- neutralvelocity/idiag_unxmx [integer,private/optional/default=0]
- neutralvelocity/idiag_unxmxy [integer,private/optional/default=0]
- neutralvelocity/idiag_unxmy [integer,private/optional/default=0]
- neutralvelocity/idiag_unxmz [integer,private/optional/default=0]
- neutralvelocity/idiag_unxpt [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunym [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunymx [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunymy [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunymz [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunzm [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunzmx [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunzmy [integer,private/optional/default=0]
- neutralvelocity/idiag_unxunzmz [integer,private/optional/default=0]
- neutralvelocity/idiag_uny2m [integer,private/optional/default=0]
- neutralvelocity/idiag_uny2mx [integer,private/optional/default=0]
- neutralvelocity/idiag_uny2my [integer,private/optional/default=0]
- neutralvelocity/idiag_uny2mz [integer,private/optional/default=0]
- neutralvelocity/idiag_unym [integer,private/optional/default=0]
- neutralvelocity/idiag_unymax [integer,private/optional/default=0]
- neutralvelocity/idiag_unymx [integer,private/optional/default=0]
- neutralvelocity/idiag_unymxy [integer,private/optional/default=0]
- neutralvelocity/idiag_unymy [integer,private/optional/default=0]
- neutralvelocity/idiag_unymz [integer,private/optional/default=0]
- neutralvelocity/idiag_unypt [integer,private/optional/default=0]
- neutralvelocity/idiag_unyunzm [integer,private/optional/default=0]
- neutralvelocity/idiag_unyunzmx [integer,private/optional/default=0]
- neutralvelocity/idiag_unyunzmy [integer,private/optional/default=0]
- neutralvelocity/idiag_unyunzmz [integer,private/optional/default=0]
- neutralvelocity/idiag_unz2m [integer,private/optional/default=0]
- neutralvelocity/idiag_unz2mx [integer,private/optional/default=0]
- neutralvelocity/idiag_unz2my [integer,private/optional/default=0]
- neutralvelocity/idiag_unz2mz [integer,private/optional/default=0]
- neutralvelocity/idiag_unzm [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmax [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmphi [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmr [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmx [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmxy [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmy [integer,private/optional/default=0]
- neutralvelocity/idiag_unzmz [integer,private/optional/default=0]
- neutralvelocity/idiag_unzpt [integer,private/optional/default=0]
- neutralvelocity/idiag_unzrmaxs [integer,private/optional/default=0]
- neutralvelocity/idiag_unzrms [integer,private/optional/default=0]
- neutralvelocity/kx_uun [real,private/optional/default=1.0]
- neutralvelocity/ky_uun [real,private/optional/default=1.0]
- neutralvelocity/kz_uun [real,private/optional/default=1.0]
- neutralvelocity/ladvection_velocity [logical,private/optional/default=.true.]
- neutralvelocity/lcentrifugal_force [logical,private/optional/default=.false.]
- neutralvelocity/lcoriolis_force [logical,private/optional/default=.true.]
- neutralvelocity/lelectron_pressure [logical,private/optional/default=.false.]
- neutralvelocity/lfreeze_unext [logical,private/optional/default=.false.]
- neutralvelocity/lfreeze_unint [logical,private/optional/default=.false.]
- neutralvelocity/lpressuregradient [logical,private/optional/default=.true.]
- neutralvelocity/lupw_uun [logical,private/optional/default=.false.]
- neutralvelocity/lviscneutral [logical,private/optional/default=.true.]
- neutralvelocity/nun [real,private/optional/default=0.0]
- neutralvelocity/nun_hyper3 [real,private/optional/default=0.0]
- neutralvelocity/rnoise_ext [real,private/optional/default=impossible]
- neutralvelocity/rnoise_int [real,private/optional/default=impossible]
- neutralvelocity/uun_const (3) [real,private/optional/default=(/0.,0.,0./)]
- neutralvelocity/uun_left [real,private/optional/default=0.0]
- neutralvelocity/uun_right [real,private/optional/default=0.0]
- neutralvelocity/widthuun [real,private/optional/default=0.1]
Subroutines and functions
- subroutine neutralvelocity/register_neutralvelocity()
Initialise variables which should know that we solve the neutralvelocity equations: iuun, etc; increase nvar accordingly.
28-feb-07/wlad: adapted
- Use :
- Call to:
not_implemented(),svn_id(),fatal_error(),warning(),request_border_driving(),sinwave(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/initialize_neutralvelocity()
Perform any post-parameter-read initialization i.e. calculate derived parameters.
28-feb-07/wlad: adapted
- Use :
- Call to:
fatal_error(),warning(),request_border_driving(),sinwave(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/read_neutralvelocity_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
sinwave(),fatal_error(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/write_neutralvelocity_init_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
sinwave(),fatal_error(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/read_neutralvelocity_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
sinwave(),fatal_error(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/write_neutralvelocity_run_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
sinwave(),fatal_error(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/init_uun(f)
initialise uun and lnrhon; called from start.f90
28-feb-07/wlad: adapted
- Parameters:
- Use :
- Call to:
sinwave(),fatal_error(),initial_condition_uun(),dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6()
- subroutine neutralvelocity/pencil_criteria_neutralvelocity()
All pencils that the Neutralvelocity module depends on are specified here.
28-feb-07/wlad: adapted
- Call to:
dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6(),fatal_error()
- subroutine neutralvelocity/pencil_interdep_neutralvelocity(lpencil_in)
- Interdependency among pencils from the Neutralvelocity module
is specified here.
28-feb-07/wlad: adapted
- Parameters:
lpencil_in (npencils) [logical]
- Call to:
dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6(),fatal_error()
- subroutine neutralvelocity/calc_pencils_neutralvelocity(f, p)
Calculate Neutralvelocity pencils. Most basic pencils should come first, as others may depend on them.
28-feb-07/wlad: adapted
- Parameters:
- Use :
- Call to:
dot2_mn(),gij(),div_mn(),multm2_sym_mn(),del6v(),del2v_etc(),del2v(),identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),der6(),fatal_error()
- subroutine neutralvelocity/duun_dt(f, df, p)
velocity evolution calculate dun/dt = - un.gradun - 2Omega x un + Fpres + grav + Fvisc
28-feb-07/wlad: adapted
- Parameters:
- Use :
diagnostics(max_mn_name()),general(notanumber()),sub(identify_bcs())- Call to:
identify_bcs(),calc_viscous_force_neutral(),set_border_neutralvelocity(),calc_diagnostics_neutralvel(),max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),gij(),der6(),fatal_error()
- subroutine neutralvelocity/calc_diagnostics_neutralvel(p)
Calculate maxima and rms values for diagnostic purposes
- Parameters:
p [pencil_case]
- Use :
- Call to:
max_mn_name(),dot_mn(),save_name(),xysum_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),phizsum_mn_name_r(),phisum_mn_name_rz(),border_driving(),gij(),der6(),fatal_error()
- subroutine neutralvelocity/rprint_neutralvelocity(lreset[, lwrite])
reads and registers print parameters relevant for neutralvelocity part
28-feb-07/wlad: adapted
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
diagnostics(parse_name()),farraymanager(farray_index_append())