visc_smagorinsky
Module
Description
$Id$
This modules implements viscous heating and diffusion terms here smagorinsky viscosity
** 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 1
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
cdata: $Id$general(keep_compiler_quiet()): $Id$density: $Id$messages: $Id$
Variables
- viscosity/c_smag [real,optional/default=0.0]
- viscosity/idiag_dtnu [integer,optional/default=0]
- viscosity/idiag_nu_les [integer,optional/default=0]
- viscosity/ivisc [character,optional/default='smagorinsky']
- viscosity/lvisc_first [logical,optional/default=.false.]
Subroutines and functions
- subroutine viscosity/register_viscosity()
19-nov-02/tony: coded 16-july-04/nils: adapted from visc_shock
- Use :
- Call to:
svn_id(),fatal_error(),multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/initialize_viscosity()
20-nov-02/tony: coded 16-july-04/nils: adapted from visc_shock
- Use :
- Call to:
fatal_error(),multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/rprint_viscosity(lreset[, lwrite])
Writes ismagorinsky to index.pro file
16-july-04/nils: adapted from visc_shock
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
- Call to:
multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/pencil_criteria_viscosity()
All pencils that the Viscosity module depends on are specified here.
21-11-04/anders: coded
- subroutine viscosity/pencil_interdep_viscosity(lpencil_in)
Interdependency among pencils from the Viscosity module is specified here.
21-11-04/anders: coded
- Parameters:
lpencil_in (npencils) [logical]
- Use :
- Call to:
multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/calc_pencils_viscosity(f, p)
Calculate Viscosity pencils. Most basic pencils should come first, as others may depend on them.
21-11-04/anders: coded
- Parameters:
- Use :
- Call to:
multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/calc_viscosity(f)
calculate nu_smag for full domain
16-july-04/nils: coded
- Parameters:
- Use :
- Call to:
multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/calc_viscous_heat(f, df, glnrho, divu, rho1, cs2, tt1, shock, hmax)
calculate viscous heating term for right hand side of entropy equation
20-nov-02/tony: coded
- Parameters:
- Use :
- Call to:
multm2_mn(),del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/calc_viscous_force(f, df, glnrho, divu, rho, rho1, shock, gshock, bij)
calculate viscous heating term for right hand side of entropy equation
16-jul-04/nils: coded
- Parameters:
- Use :
- Call to:
del2v_etc(),multmv_mn(),multsv_mn(),fatal_error(),max_mn_name(),calc_diagnostics_viscosity()
- subroutine viscosity/calc_diagnostics_viscosity(p)
- Parameters:
p [pencil_case]
- Use :