viscosity

Module

Description

$Id$

This modules implements viscous heating and diffusion terms here for cases 1) nu constant, 2) mu = rho.nu 3) constant and

** 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 :: lviscosity = .true.

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0

PENCILS PROVIDED fvisc(3); diffus_total; diffus_total2; diffus_total3 PENCILS PROVIDED visc_heat; nu; gradnu(3), nu_smag, gnu_smag(3)


Quick access

Variables:

ascale_visc, c_smag, calc_lambda, calc_lambda_cylindric, calc_visc_slope_limited, carreau_exponent, cs_t, damp_sound, der_lv0_rprof, der_lv1_rprof, detat_x, detat_y, detat_z, diffus_nu, diffus_nu3, div_sld_visc, dynu, ell_gam, enum_div_sld_visc, enum_nnewton_type, etat_x, etat_y, etat_z, eth0z, gamma_smag, get_gradnu, get_viscosity_implicit, getnu_non_newtonian, gnu_y, h_sld_visc, idiag_dtnu, idiag_dtnu3, idiag_ell_gam, idiag_epsk, idiag_epsk2, idiag_epsk3, idiag_epsk4, idiag_epsk_les, idiag_epskint, idiag_epskmz, idiag_fviscm, idiag_fviscmax, idiag_fviscmin, idiag_fviscmx, idiag_fviscmxy, idiag_fviscmz, idiag_fviscrmsx, idiag_fviscrsphmphi, idiag_fviscsmmxy, idiag_fviscsmmz, idiag_fviscymxy, idiag_mesh3remax, idiag_meshremax, idiag_nu_les, idiag_nu_tdep, idiag_nud2uxbxm, idiag_nud2uxbym, idiag_nud2uxbzm, idiag_num, idiag_numax, idiag_numin, idiag_numx, idiag_nusmagm, idiag_nusmagmax, idiag_nusmagmin, idiag_qfviscm, idiag_reshock, idiag_sij2m, idiag_sijoiojm, idiag_sijxxmz, idiag_sijxymz, idiag_sijxzmz, idiag_sijyymz, idiag_sijyzmz, idiag_sijzzmz, idiag_ufviscm, idiag_visc_heatm, idiag_viscforcezdownmz, idiag_viscforcezmz, idiag_viscforcezupmz, initialize_lambda, isij, ivis_res, ivisc, lambda_h1, lambda_jump, lambda_profile, lambda_v0, lambda_v0b, lambda_v0t, lambda_v1, lambda_v1b, lambda_v1t, lcalc_uuavg, lconservative, lh1_rprof, limplicit_viscosity, lkit_olem, llambda_effect, llambda_scale_with_nu, lmagfield_nu, lmeanfield_nu, lno_visc_heat_zbound, lnusmag_as_aux, lrate_of_strain_as_aux, lrelativistic, lshear_rateofstrain, lsld_notensor, luse_nu_rmn_prof, lv0_rprof, lv1_rprof, lvisc_const_below_ascale, lvisc_first, lvisc_forc_as_aux, lvisc_heat_as_aux, lvisc_hyper2_simplified, lvisc_hyper2_simplified_tdep, lvisc_hyper3_cmu_const_strt_otf, lvisc_hyper3_csmesh, lvisc_hyper3_mesh, lvisc_hyper3_mesh_residual, lvisc_hyper3_mu_const_strict, lvisc_hyper3_nu_const, lvisc_hyper3_nu_const_aniso, lvisc_hyper3_nu_const_strict, lvisc_hyper3_polar, lvisc_hyper3_rho_nu_const, lvisc_hyper3_rho_nu_const_aniso, lvisc_hyper3_rho_nu_const_bulk, lvisc_hyper3_rho_nu_const_symm, lvisc_hyper3_simplified, lvisc_hyper3_simplified_tdep, lvisc_mixture, lvisc_mu_cspeed, lvisc_nu_const, lvisc_nu_const_bulk, lvisc_nu_cspeed, lvisc_nu_non_newtonian, lvisc_nu_prof, lvisc_nu_profr, lvisc_nu_profr_powerlaw, lvisc_nu_profr_twosteps, lvisc_nu_profx, lvisc_nu_profy_bound, lvisc_nu_reduce_ddr, lvisc_nu_shock, lvisc_nu_shock_profr, lvisc_nu_shock_profz, lvisc_nu_tdep, lvisc_nu_tdep_t0_norm, lvisc_nut_from_magnetic, lvisc_rho_nu_const, lvisc_rho_nu_const_bulk, lvisc_rho_nu_const_prefact, lvisc_schur_223, lvisc_shock_simple, lvisc_simplified, lvisc_slope_limited, lvisc_smag_cross_simplified, lvisc_smag_ma, lvisc_smag_simplified, lvisc_snr_damp, lvisc_spitzer, lvisc_sqrtrho_nu_const, lviscosity_heat, maxeffectivenu, meanfield_nub, mu, nlf_sld_visc, nnewton_step_width, nnewton_tscale, nnewton_type, no_visc_heat_z0, no_visc_heat_zwidth, non_newton_lambda, nu, nu0, nu_aniso_hyper3, nu_cspeed, nu_hyper2, nu_hyper3, nu_hyper3_mesh, nu_infinity, nu_jump, nu_jump2, nu_jump_shock, nu_mol, nu_r_reduce, nu_rcyl_min, nu_shock, nu_smag_ma2_power, nu_spitzer, nu_spitzer_max, nu_tdep, nu_tdep_ascale_power, nu_tdep_exponent, nu_tdep_kcs, nu_tdep_t0, nu_tdep_t1, nu_tdep_t2, nu_tdep_toffset, nu_var, nu_y, nuf_djo, nvisc_max, offamp_lambda, pnlaw, pnu, prm, prm_turb, q_djo, r1_lambda, r2_lambda, rmax_lambda, roffset_lambda, rzero_lambda, sigem_all, t0_djo, tdep_nu_type, tf_djo, ti_djo, vis_xaver_range, widthnu, widthnu2, widthnu_shock, wlambda, xmask_vis, xnu, xnu2, xnu_shock, zeta, znu, znu_shock

Routines:

calc_diagnostics_viscosity(), calc_pencils_viscosity(), calc_visc_heat_ppd(), calc_viscosity(), calc_viscous_force(), calc_viscous_heat(), divgrad_2nd(), dynamical_viscosity(), getnu(), initialize_viscosity(), pencil_criteria_viscosity(), pencil_interdep_viscosity(), read_viscosity_run_pars(), register_viscosity(), rprint_viscosity(), shock_divu(), split_update_viscosity(), viscosity_after_boundary(), write_viscosity(), write_viscosity_run_pars()

Needed modules

Variables

  • viscosity/ascale_visc [real,private/optional/default=1.0]

    PAR_DOC: value of ascale below which nu for recombination is constant

  • viscosity/c_smag [real,private/optional/default=0.0]
  • viscosity/calc_lambda [private]
  • viscosity/calc_lambda_cylindric [private]
  • viscosity/calc_visc_slope_limited [private]
  • viscosity/carreau_exponent [real,private/optional/default=0.0]
  • viscosity/cs_t [real,private/pointer]
  • viscosity/damp_sound [real,private/optional/default=0.0]
  • viscosity/der_lv0_rprof (mx) [real,private]
  • viscosity/der_lv1_rprof (mx) [real,private]
  • viscosity/detat_x (*) [real,private/pointer]
  • viscosity/detat_y (*) [real,private/pointer]
  • viscosity/detat_z (*) [real,private/pointer]
  • viscosity/diffus_nu (nx) [real,private]
  • viscosity/diffus_nu3 (nx) [real,private]
  • viscosity/div_sld_visc [character,private/optional/default='2nd']
  • viscosity/dynu [real,private/optional/default=0.0]
  • viscosity/ell_gam [real,private/optional/default=0.0]

    PAR_DOC: photon mean-free path in the tight coupling regime

  • viscosity/enum_div_sld_visc [integer,private/optional/default=0]
  • viscosity/enum_nnewton_type [integer,private/optional/default=0]
  • viscosity/etat_x (*) [real,private/pointer]
  • viscosity/etat_y (*) [real,private/pointer]
  • viscosity/etat_z (*) [real,private/pointer]
  • viscosity/eth0z (mz) [real,private/optional/default=0.0]
  • viscosity/gamma_smag [real,private/optional/default=0.0]
  • viscosity/get_gradnu [private]
  • viscosity/get_viscosity_implicit [private]
  • viscosity/getnu_non_newtonian [private]
  • viscosity/gnu_y (my) [real,private]
  • viscosity/h_sld_visc [real,private/optional/default=2.0]
  • viscosity/idiag_dtnu [integer,private/optional/default=0]

    DIAG_DOC: $delta t/[c_{delta t,{rm v}},

  • viscosity/idiag_dtnu3 [integer,private/optional/default=0]
  • viscosity/idiag_ell_gam [integer,private/optional/default=0]

    DIAG_DOC: time-dependent photon mean free path

  • viscosity/idiag_epsk [integer,private/optional/default=0]

    DIAG_DOC: $left<2nuvarrhoStrain^2right>$

  • viscosity/idiag_epsk2 [integer,private/optional/default=0]

    DIAG_DOC: $left<(2nuvarrhoStrain^2)^2right>$

  • viscosity/idiag_epsk3 [integer,private/optional/default=0]

    DIAG_DOC: $left<(2nuvarrhoStrain^2)^3right>$

  • viscosity/idiag_epsk4 [integer,private/optional/default=0]

    DIAG_DOC: $left<(2nuvarrhoStrain^2)^4right>$

  • viscosity/idiag_epsk_les [integer,private/optional/default=0]

    DIAG_DOC:

  • viscosity/idiag_epskint [integer,private/optional/default=0]

    DIAG_DOC: $int(2nuvarrhoStrain^2),dV$

  • viscosity/idiag_epskmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<2nuvarrhoStrain^2 right>_{xy}$

  • viscosity/idiag_fviscm [integer,private/optional/default=0]

    DIAG_DOC: Mean value of viscous acceleration

  • viscosity/idiag_fviscmax [integer,private/optional/default=0]

    DIAG_DOC: Max absolute viscous acceleration

  • viscosity/idiag_fviscmin [integer,private/optional/default=0]

    DIAG_DOC: Min value of viscous acceleration (redundant)

  • viscosity/idiag_fviscmx [integer,private/optional/default=0]

    YZAVG_DOC: $left<2nuvarrho u_i

  • viscosity/idiag_fviscmxy [integer,private/optional/default=0]

    ZAVG_DOC: $left<2nuvarrho u_i

  • viscosity/idiag_fviscmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<2nuvarrho u_i

  • viscosity/idiag_fviscrmsx [integer,private/optional/default=0]

    DIAG_DOC: Rms value of viscous acceleration

  • viscosity/idiag_fviscrsphmphi [integer,private/optional/default=0]

    PHIAVG_DOC: $left<2nuvarrho u_i

  • viscosity/idiag_fviscsmmxy [integer,private/optional/default=0]

    ZAVG_DOC: $left<2nu_{rm Smag}varrho u_i

  • viscosity/idiag_fviscsmmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<2nu_{rm Smag}varrho u_i

  • viscosity/idiag_fviscymxy [integer,private/optional/default=0]

    ZAVG_DOC: $left<2nuvarrho u_i

  • viscosity/idiag_mesh3remax [integer,private/optional/default=0]

    DIAG_DOC: Max hyper3 mesh Reynolds number

  • viscosity/idiag_meshremax [integer,private/optional/default=0]

    DIAG_DOC: Max mesh Reynolds number

  • viscosity/idiag_nu_les [integer,private/optional/default=0]

    DIAG_DOC: Mean value of Smagorinsky viscosity

  • viscosity/idiag_nu_tdep [integer,private/optional/default=0]

    DIAG_DOC: time-dependent viscosity

  • viscosity/idiag_nud2uxbxm [integer,private/optional/default=0]

    DIAG_DOC:

  • viscosity/idiag_nud2uxbym [integer,private/optional/default=0]

    DIAG_DOC:

  • viscosity/idiag_nud2uxbzm [integer,private/optional/default=0]

    DIAG_DOC:

  • viscosity/idiag_num [integer,private/optional/default=0]

    DIAG_DOC: Mean value of viscosity

  • viscosity/idiag_numax [integer,private/optional/default=0]

    DIAG_DOC: Max value of viscosity

  • viscosity/idiag_numin [integer,private/optional/default=0]

    DIAG_DOC: Min value of viscosity

  • viscosity/idiag_numx [integer,private/optional/default=0]

    YZAVG_DOC: $left< nu right>_{yz}$

  • viscosity/idiag_nusmagm [integer,private/optional/default=0]

    DIAG_DOC: Mean value of Smagorinsky viscosity

  • viscosity/idiag_nusmagmax [integer,private/optional/default=0]

    DIAG_DOC: Max value of Smagorinsky viscosity

  • viscosity/idiag_nusmagmin [integer,private/optional/default=0]

    DIAG_DOC: Min value of Smagorinsky viscosity

  • viscosity/idiag_qfviscm [integer,private/optional/default=0]

    DIAG_DOC: $left<qvcdot

  • viscosity/idiag_reshock [integer,private/optional/default=0]

    DIAG_DOC: Mesh Reynolds number at shock

  • viscosity/idiag_sij2m [integer,private/optional/default=0]

    DIAG_DOC: $left<Strain^2right>$

  • viscosity/idiag_sijoiojm [integer,private/optional/default=0]

    DIAG_DOC: $left<S_{i,j} omega_i omega_jright>$

  • viscosity/idiag_sijxxmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{xx} right>_{xy}$

  • viscosity/idiag_sijxymz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{xy} right>_{xy}$

  • viscosity/idiag_sijxzmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{xz} right>_{xy}$

  • viscosity/idiag_sijyymz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{yy} right>_{xy}$

  • viscosity/idiag_sijyzmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{yz} right>_{xy}$

  • viscosity/idiag_sijzzmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<Strain_{zz} right>_{xy}$

  • viscosity/idiag_ufviscm [integer,private/optional/default=0]

    DIAG_DOC: $left<uvcdot

  • viscosity/idiag_visc_heatm [integer,private/optional/default=0]

    DIAG_DOC: Mean value of viscous heating

  • viscosity/idiag_viscforcezdownmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<(varrhofv_{rm visc})_zright>_{xy-}$

  • viscosity/idiag_viscforcezmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<(varrhofv_{rm visc})_zright>_{xy}$

  • viscosity/idiag_viscforcezupmz [integer,private/optional/default=0]

    XYAVG_DOC: $left<(varrhofv_{rm visc})_zright>_{xy+}$

  • viscosity/initialize_lambda [private]
  • viscosity/isij [integer,private/optional/default=0]
  • viscosity/ivis_res [character,private]
  • viscosity/ivisc (4) [character,private/optional/default='']
  • viscosity/lambda_h1 [real,private/optional/default=0.0]
  • viscosity/lambda_jump [real,private/optional/default=0.0]
  • viscosity/lambda_profile [character,private/optional/default='uniform']
  • viscosity/lambda_v0 [real,private/optional/default=0.0]
  • viscosity/lambda_v0b [real,private/optional/default=0.0]
  • viscosity/lambda_v0t [real,private/optional/default=0.0]
  • viscosity/lambda_v1 [real,private/optional/default=0.0]
  • viscosity/lambda_v1b [real,private/optional/default=0.0]
  • viscosity/lambda_v1t [real,private/optional/default=0.0]
  • viscosity/lcalc_uuavg [logical,private/pointer]
  • viscosity/lconservative [logical,private/pointer]
  • viscosity/lh1_rprof (mx) [real,private]
  • viscosity/limplicit_viscosity [logical,private/optional/default=.false.]
  • viscosity/lkit_olem [logical,private]
  • viscosity/llambda_effect [logical,private/optional/default=.false.]
  • viscosity/llambda_scale_with_nu [logical,private/optional/default=.false.]
  • viscosity/lmagfield_nu [logical,private/optional/default=.false.]
  • viscosity/lmeanfield_nu [logical,private/optional/default=.false.]
  • viscosity/lno_visc_heat_zbound [logical,private/optional/default=.false.]
  • viscosity/lnusmag_as_aux [logical,private/optional/default=.false.]
  • viscosity/lrate_of_strain_as_aux [logical,private/optional/default=.false.]
  • viscosity/lrelativistic [logical,private/pointer]
  • viscosity/lshear_rateofstrain [logical,private/pointer]
  • viscosity/lsld_notensor [logical,private/optional/default=.false.]
  • viscosity/luse_nu_rmn_prof [logical,private/optional/default=.false.]
  • viscosity/lv0_rprof (mx) [real,private]
  • viscosity/lv1_rprof (mx) [real,private]
  • viscosity/lvisc_const_below_ascale [logical,private/optional/default=.false.]

    PAR_DOC: visc=const for ascale below ascale_visc

  • viscosity/lvisc_forc_as_aux [logical,private/optional/default=.false.]
  • viscosity/lvisc_heat_as_aux [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper2_simplified [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper2_simplified_tdep [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_cmu_const_strt_otf [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_csmesh [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_mesh [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_mesh_residual [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_mu_const_strict [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_nu_const [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_nu_const_aniso [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_nu_const_strict [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_polar [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_rho_nu_const [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_rho_nu_const_aniso [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_rho_nu_const_bulk [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_rho_nu_const_symm [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_simplified [logical,private/optional/default=.false.]
  • viscosity/lvisc_hyper3_simplified_tdep [logical,private/optional/default=.false.]
  • viscosity/lvisc_mixture [logical,private/optional/default=.false.]
  • viscosity/lvisc_mu_cspeed [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_const [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_const_bulk [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_cspeed [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_non_newtonian [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_prof [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_profr [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_profr_powerlaw [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_profr_twosteps [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_profx [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_profy_bound [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_reduce_ddr [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_shock [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_shock_profr [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_shock_profz [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_tdep [logical,private/optional/default=.false.]
  • viscosity/lvisc_nu_tdep_t0_norm [logical,private/optional/default=.false.]
  • viscosity/lvisc_nut_from_magnetic [logical,private/optional/default=.false.]
  • viscosity/lvisc_rho_nu_const [logical,private/optional/default=.false.]
  • viscosity/lvisc_rho_nu_const_bulk [logical,private/optional/default=.false.]
  • viscosity/lvisc_rho_nu_const_prefact [logical,private/optional/default=.false.]
  • viscosity/lvisc_schur_223 [logical,private/optional/default=.false.]
  • viscosity/lvisc_shock_simple [logical,private/optional/default=.false.]
  • viscosity/lvisc_simplified [logical,private/optional/default=.false.]
  • viscosity/lvisc_slope_limited [logical,private/optional/default=.false.]
  • viscosity/lvisc_smag_cross_simplified [logical,private/optional/default=.false.]
  • viscosity/lvisc_smag_ma [logical,private/optional/default=.false.]
  • viscosity/lvisc_smag_simplified [logical,private/optional/default=.false.]
  • viscosity/lvisc_snr_damp [logical,private/optional/default=.false.]
  • viscosity/lvisc_spitzer [logical,private/optional/default=.false.]
  • viscosity/lvisc_sqrtrho_nu_const [logical,private/optional/default=.false.]
  • viscosity/lviscosity_heat [logical,private/pointer]
  • viscosity/meanfield_nub [real,private/optional/default=0.0]
  • viscosity/mu [real,private/optional/default=0.0]
  • viscosity/nlf_sld_visc [real,private/optional/default=1.0]
  • viscosity/nnewton_step_width [real,private/optional/default=0.0]
  • viscosity/nnewton_tscale [real,private/optional/default=0.0]
  • viscosity/nnewton_type [character,private/optional/default='none']
  • viscosity/no_visc_heat_z0 [real,private/optional/default=max_real]
  • viscosity/no_visc_heat_zwidth [real,private/optional/default=0.0]
  • viscosity/non_newton_lambda [real,private/optional/default=0.0]
  • viscosity/nu [real,private/optional/default=0.0]
  • viscosity/nu0 [real,private/optional/default=0.0]
  • viscosity/nu_aniso_hyper3 (3) [real,private/optional/default=0.0]
  • viscosity/nu_cspeed [real,private/optional/default=0.5]
  • viscosity/nu_hyper2 [real,private/optional/default=0.0]
  • viscosity/nu_hyper3 [real,private/optional/default=0.0]
  • viscosity/nu_hyper3_mesh [real,private/optional/default=5.0]
  • viscosity/nu_infinity [real,private/optional/default=0.0]
  • viscosity/nu_jump [real,private/optional/default=1.0]
  • viscosity/nu_jump2 [real,private/optional/default=1.0]
  • viscosity/nu_jump_shock [real,private/optional/default=1.0]
  • viscosity/nu_mol [real,private/optional/default=0.0]
  • viscosity/nu_r_reduce [real,private/optional/default=0.0]
  • viscosity/nu_rcyl_min [real,private/optional/default=impossible]
  • viscosity/nu_shock [real,private/optional/default=0.0]
  • viscosity/nu_smag_ma2_power [real,private/optional/default=0.0]
  • viscosity/nu_spitzer [real,private/optional/default=0.0]
  • viscosity/nu_spitzer_max [real,private/optional/default=0.0]
  • viscosity/nu_tdep [real,private/optional/default=0.0]
  • viscosity/nu_tdep_ascale_power [real,private/optional/default=0.0]
  • viscosity/nu_tdep_exponent [real,private/optional/default=0.0]
  • viscosity/nu_tdep_kcs [real,private/optional/default=0.0]
  • viscosity/nu_tdep_t0 [real,private/optional/default=0.0]
  • viscosity/nu_tdep_t1 [real,private/optional/default=0.0]
  • viscosity/nu_tdep_t2 [real,private/optional/default=0.0]
  • viscosity/nu_tdep_toffset [real,private/optional/default=0.0]
  • viscosity/nu_y (my) [real,private]
  • viscosity/nvisc_max [integer,private/parameter/optional/default=4]
  • viscosity/offamp_lambda [real,private/optional/default=1.0]
  • viscosity/pnlaw [real,private/optional/default=0.0]
  • viscosity/pnu (nx) [real,private/optional/default=0.]
  • viscosity/prm [real,private/optional/default=0.0]

    PAR_DOC: given value to compute nu based on sigEm_all

  • viscosity/prm_turb [real,private/optional/default=0.0]
  • viscosity/r1_lambda [real,private/optional/default=impossible]
  • viscosity/r2_lambda [real,private/optional/default=impossible]
  • viscosity/rmax_lambda [real,private/optional/default=impossible]
  • viscosity/roffset_lambda [real,private/optional/default=0.0]
  • viscosity/rzero_lambda [real,private/optional/default=impossible]
  • viscosity/sigem_all [real,private/pointer]
  • viscosity/tdep_nu_type [character,private/optional/default='powerlaw']
  • viscosity/vis_xaver_range (2) [real,private/optional/default=(/-max_real,max_real/)]
  • viscosity/widthnu [real,private/optional/default=0.1]
  • viscosity/widthnu2 [real,private/optional/default=0.1]
  • viscosity/widthnu_shock [real,private/optional/default=0.1]
  • viscosity/wlambda [real,private/optional/default=0.0]
  • viscosity/xmask_vis (nx) [real,private/optional/default=0.]
  • viscosity/xnu [real,private/optional/default=1.0]
  • viscosity/xnu2 [real,private/optional/default=1.0]
  • viscosity/xnu_shock [real,private/optional/default=1.0]
  • viscosity/zeta [real,private/optional/default=0.0]
  • viscosity/znu [real,private/optional/default=1.0]
  • viscosity/znu_shock [real,private/optional/default=1.0]

Subroutines and functions

subroutine  viscosity/register_viscosity()
Use :

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

Called from:

register_modules()

Call to:

svn_id(), warning(), fatal_error(), not_implemented(), write_zprof(), der_step(), write_yprof(), get_stratz(), stepdown(), der_stepdown(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), del6fjv(), der_x(), der2_x(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/initialize_viscosity()

20-nov-02/tony: coded

Use :

equationofstate (get_stratz()), mpicomm (stop_it()), sharedvariables (get_shared_variable()), sub (write_zprof(), write_yprof(), step(), der_step()), general (itoa())

Called from:

register_modules(), initialize_modules()

Call to:

warning(), fatal_error(), not_implemented(), write_zprof(), der_step(), write_yprof(), get_stratz(), stepdown(), der_stepdown(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), del6fjv(), der_x(), der2_x(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/read_viscosity_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

warning(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/write_viscosity_run_pars(unit)
Parameters:

unit [integer,in]

Called from:

get_datadir(), get_snapdir(), read_all_init_pars(), read_all_run_pars(), get_downpars()

Call to:

warning(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/rprint_viscosity(lreset[, lwrite])

Writes ishock to index.pro file

24-nov-03/tony: adapted from rprint_ionization

Parameters:
  • lreset [logical]

  • lwrite [logical,in,]

Use :

diagnostics (parse_name())

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils(), rprint_list()

Call to:

warning(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/pencil_criteria_viscosity()

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

20-11-04/anders: coded 18-05-12/MR: request of sij2 for lvisc_simplified.and.lboussinesq added

of graddivu for lboussinesq diasabled

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils()

Call to:

warning(), calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/pencil_interdep_viscosity(lpencil_in)

Interdependency among pencils from the Viscosity module is specified here.

20-11-04/anders: coded

Parameters:

lpencil_in (npencils) [logical]

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils()

Call to:

calc_slope_diff_flux(), div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), warning(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/calc_pencils_viscosity(f, p)

Calculate Viscosity pencils. Most basic pencils should come first, as others may depend on them.

20-nov-04/anders: coded 18-may-12/MR: calculation of viscous heat for boussinesq added 14-oct-15/MR: corrected viscous force for slope-limited flux 03-apr-20/joern: restructured and fixed slope-limited diffusion

Parameters:
  • f (,,*,*) [real,inout,contiguous]

  • p [pencil_case,inout] :: (=mu_hyper3/rho)

Use :

deriv (der5i1j(), der6(), der_x(), der2_x()), diagnostics (max_mn_name(), sum_mn_name()), sub

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

div_tensor(), multsv_mn(), multsv_mn_add(), der_step(), not_implemented(), warning(), del6fjv(), der_x(), der2_x(), fatal_error(), calc_sij2(), update_ghosts(), gij_v_times_s(), gij(), traceless_strain(), save_name(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/viscosity_after_boundary(f)
19-dec-16/MR: fixed bug: m,n must be from Cdata. Added precalculation of nu_smag in f array.

Rewritten viscous heating from slope-limited diffusion.

18-may-17/MR: corrected wrong order of loops for viscous heating by slope-limited diffusion. 16-jun-18/axel: reverted “severe bug…” of r74487; see “!AB_REM:” and “!AB_ADD” 16-aug-18/MR: replaced Joerns implementation of linear interpolation from staggered to normal

grid as it was not bi-/trilinear in 2D/3D; added 3rd order interpolation (default)

03-apr-20/joern: restructured and fixed slope-limited diffusion, SLD commented out here.

Parameters:

f (,,*,*) [real,contiguous]

Use :

sub (div(), calc_all_diff_fluxes(), grad(), dot_mn(), calc_sij2(), stagger_to_base_interp_1st(), stagger_to_base_interp_3rd(), gij_v_times_s(), gij(), traceless_strain()), general (reduce_grad_dim(), notanumber()), densitymethods (getrho()), boundcond (update_ghosts()), diagnostics (save_name())

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

calc_sij2(), update_ghosts(), not_implemented(), gij_v_times_s(), gij(), traceless_strain(), save_name(), fatal_error(), der_step(), calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/calc_viscous_heat(df, p, hmax)

Add viscous heating term to the right hand side of entropy equation.

20-nov-02/tony: coded

Parameters:
  • df (,,*,*) [real,contiguous]

  • p [pencil_case]

  • hmax (nx) [real,inout]

Use :

sub (cubic_step())

Called from:

register_energy(), initialize_energy(), init_energy(), pencil_criteria_energy(), pencil_interdep_energy(), calc_pencils_energy(), denergy_dt(), pencil_criteria_entropy(), pencil_interdep_entropy(), calc_pencils_entropy()

Call to:

calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), not_implemented(), fatal_error(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/calc_viscous_force(df, p)

Calculate viscous force term for right hand side of equation of motion.

20-nov-02/tony: coded

9-jul-04/nils: added Smagorinsky viscosity

Parameters:
  • df (,,*,*) [real,inout,contiguous]

  • p [pencil_case,in]

Use :

diagnostics (max_mn_name())

Call to:

calc_diagnostics_viscosity(), max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), not_implemented(), fatal_error(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/calc_diagnostics_viscosity(p)
Parameters:

p [pencil_case,in]

Use :

sub (cross(), dot(), dot2(), mult_mat_vv()), diagnostics

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), register_viscosity(), initialize_viscosity(), read_viscosity_run_pars(), write_viscosity_run_pars(), rprint_viscosity(), pencil_criteria_viscosity(), pencil_interdep_viscosity(), calc_pencils_viscosity(), viscosity_after_boundary(), calc_viscous_heat(), calc_viscous_force()

Call to:

max_mn_name(), integrate_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), phisum_mn_name_rz(), not_implemented(), fatal_error(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/calc_visc_heat_ppd(df, p)

Calculates viscous dissipation term from D’Angelo et al. (2003)

03/08 steveb

Parameters:
  • df (,,*,*) [real,contiguous]

  • p [pencil_case]

Use :

sub (get_radial_distance()), gravity (acceleration())

Call to:

not_implemented(), fatal_error(), get_radial_distance(), integrate_diffusion()

subroutine  viscosity/getnu([p[, nu_input[, nu_pencil[, ivis]]]])

Return the viscosity (by value)

14-aug-08/kapelrud: coded

Parameters:
  • p [pencil_case]

  • nu_input [real,out,]

  • nu_pencil (nx) [real,out,]

  • ivis [character]

Called from:

init_solid_cells(), output_solid_cells(), in_solid_cell(), register_particles_breakup(), initialize_particles_breakup(), read_particles_breakup_init_pars(), write_particles_breakup_init_pars(), read_particles_breakup_run_pars(), write_particles_breakup_run_pars(), rprint_particles_breakup(), dbreakup_dt(), particles_breakup_pencils(), get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), count_reactions(), find_species(), count_max_elements(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy(), cleanup_chemistry_pencils(), read_particles_chem_init_pars(), write_particles_chem_init_pars(), read_particles_chem_run_pars(), write_particles_chem_run_pars(), get_mass_chemistry(), get_surface_chemistry(), get_adsorbed_chemistry(), get_radius_chemistry(), get_temperature_chemistry(), particles_chemistry_clean_up(), register_particles_spin(), initialize_particles_spin(), init_particles_spin(), pencil_criteria_par_spin(), dps_dt_pencil(), dps_dt(), read_particles_spin_init_pars(), write_particles_spin_init_pars(), read_particles_spin_run_pars(), write_particles_spin_run_pars(), rprint_particles_spin(), calc_liftforce(), register_particles_tt(), initialize_particles_tt(), init_particles_tt(), pencil_criteria_par_tt(), dptt_dt_pencil(), dptt_dt(), read_particles_tt_init_pars(), write_particles_tt_init_pars(), read_particles_tt_run_pars(), write_particles_tt_run_pars(), rprint_particles_tt(), particles_tt_prepencil_calc(), time_step_ogrid(), register_testflow(), initialize_testflow()

Call to:

fatal_error(), not_implemented(), integrate_diffusion()

subroutine  viscosity/dynamical_viscosity(uc)

Dynamically set viscosity coefficient given fixed mesh Reynolds number.

27-jul-11/ccyang: coded

Parameters:

uc [real,in] :: haracteristic velocity of the system.

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics(), debug_imn_arrays()

Call to:

integrate_diffusion()

subroutine  viscosity/split_update_viscosity(f)

Update the velocity by integrating the operator split viscous terms.

22-aug-13/ccyang: coded.

Parameters:

f (,,*,*) [real,inout,contiguous]

Use :

implicitdiffusion (integrate_diffusion())

Call to:

integrate_diffusion()