heatflux
Module
Description
$Id$
This module computes the time depentend heat flux equation. The non-Fourier form is written
tau * dq/dt + q = F(T,rho …)
The analytical solution for constant F is that q converges exponential to F with a time scale of tau.
** 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 :: lheatflux = .true.
MVAR CONTRIBUTION 3 MAUX CONTRIBUTION 0
PENCILS PROVIDED qq(3); q2; divq
Quick access
- Variables:
cool_wid,divq_r,divq_xy,divq_xy2,divq_xy3,divq_xy4,divq_xz,divq_xz2,divq_yz,e_m,eighth_moment_approx,hyper3_coeff,idiag_dtq,idiag_dtq2,idiag_qsatmin,idiag_qsatrms,idiag_qxmax,idiag_qxmin,idiag_qymax,idiag_qymin,idiag_qzmax,idiag_qzmin,idiag_tauqmax,iheatflux,ivid_divq,lnfs2,ltau_spitzer_va,noadvection_non_fourier_spitzer,non_fourier_spitzer,saturation_flux,tau1_eighthm,va2max_tau_boris,z_cutoff- Routines:
calc_diagnostics_heatflux(),calc_pencils_heatflux(),dheatflux_dt(),get_slices_heatflux(),init_heatflux(),initialize_heatflux(),pencil_criteria_heatflux(),pencil_interdep_heatflux(),read_heatflux_run_pars(),register_heatflux(),rprint_heatflux(),write_heatflux_run_pars()
Needed modules
cdata: $Id$general(keep_compiler_quiet()): $Id$messages(svn_id(),fatal_error(),not_implemented()): $Id$
Variables
- heatflux/cool_wid [real,private/pointer]
- heatflux/divq_r (*,*,*,*,*) [real,private/allocatable/target]
- heatflux/divq_xy (*,*) [real,private/allocatable/target]
- heatflux/divq_xy2 (*,*) [real,private/allocatable/target]
- heatflux/divq_xy3 (*,*) [real,private/allocatable/target]
- heatflux/divq_xy4 (*,*) [real,private/allocatable/target]
- heatflux/divq_xz (*,*) [real,private/allocatable/target]
- heatflux/divq_xz2 (*,*) [real,private/allocatable/target]
- heatflux/divq_yz (*,*) [real,private/allocatable/target]
- heatflux/e_m [real,private]
- heatflux/eighth_moment_approx [private]
- heatflux/hyper3_coeff [real,private/optional/default=0.0]
- heatflux/idiag_dtq [integer,private/optional/default=0]
- heatflux/idiag_dtq2 [integer,private/optional/default=0]
- heatflux/idiag_dtspitzer [integer,private/optional/default=0]
- heatflux/idiag_qmax [integer,private/optional/default=0]
- heatflux/idiag_qrms [integer,private/optional/default=0]
- heatflux/idiag_qsatmin [integer,private/optional/default=0]
- heatflux/idiag_qsatrms [integer,private/optional/default=0]
- heatflux/idiag_qxmax [integer,private/optional/default=0]
- heatflux/idiag_qxmin [integer,private/optional/default=0]
- heatflux/idiag_qymax [integer,private/optional/default=0]
- heatflux/idiag_qymin [integer,private/optional/default=0]
- heatflux/idiag_qzmax [integer,private/optional/default=0]
- heatflux/idiag_qzmin [integer,private/optional/default=0]
- heatflux/idiag_tauqmax [integer,private/optional/default=0]
- heatflux/iheatflux [character,private/optional/default='nothing']
- heatflux/ivid_divq [integer,private]
- heatflux/kc [real,private/optional/default=0.0]
- heatflux/ksaturation [real,private/optional/default=0.0]
- heatflux/ksaturation_si [real,private/optional/default=70000000.0]
- heatflux/kspitzer_para [real,private/optional/default=0.0]
- heatflux/lnfs2 [logical,private/optional/default=.false.]
- heatflux/lreset_heatflux [logical,private/optional/default=.false.]
- heatflux/ltau_spitzer_va [logical,private/optional/default=.false.]
- heatflux/noadvection_non_fourier_spitzer [private]
- heatflux/non_fourier_spitzer [private]
- heatflux/nu_ee [real,private]
- heatflux/saturation_flux [real,private/optional/default=0.0]
- heatflux/tau1_eighthm [real,private/optional/default=0.0]
- heatflux/tau_inv_spitzer [real,private/optional/default=0.0]
- heatflux/va2max_tau_boris [real,private/optional/default=0.0]
- heatflux/z_cutoff [real,private/pointer]
Subroutines and functions
- subroutine heatflux/register_heatflux()
Set up indices for variables in heatflux modules.
24-apr-13/bing: coded
- subroutine heatflux/initialize_heatflux(f)
Called after reading parameters, but before the time loop.
07-sept-17/bingert: updated
- Parameters:
- Use :
slices_methods(alloc_slice_buffers()),sharedvariables(get_shared_variable())- Call to:
not_implemented(),fatal_error(),dot2_mn(),div(),identify_bcs(),del6(),calc_diagnostics_heatflux(),max_mn_name(),save_name(),unit_vector(),gij()
- subroutine heatflux/init_heatflux(f)
initialise heatflux condition; called from start.f90 07-sept-17/bingert: updated
- Parameters:
- Call to:
dot2_mn(),div(),identify_bcs(),del6(),calc_diagnostics_heatflux(),max_mn_name(),save_name(),unit_vector(),gij()
- subroutine heatflux/pencil_criteria_heatflux()
All pencils that this heatflux module depends on are specified here.
07-sept-17/bingert: updated
- subroutine heatflux/pencil_interdep_heatflux(lpencil_in)
Interdependency among pencils provided by this module are specified here.
07-sept-17/bingert: updated
- Parameters:
lpencil_in (npencils) [logical,inout]
- Call to:
dot2_mn(),div(),identify_bcs(),del6(),calc_diagnostics_heatflux(),max_mn_name(),save_name(),unit_vector(),gij()
- subroutine heatflux/calc_pencils_heatflux(f, p)
Calculate Heatflux pencils. Most basic pencils should come first, as others may depend on them.
07-sept-17/bingert: updated
- Parameters:
- Use :
- Call to:
dot2_mn(),div(),identify_bcs(),del6(),calc_diagnostics_heatflux(),max_mn_name(),save_name(),unit_vector(),gij()
- subroutine heatflux/dheatflux_dt(f, df, p)
26-apr-13/bing: coded
- Parameters:
- Use :
- Call to:
identify_bcs(),del6(),calc_diagnostics_heatflux(),max_mn_name(),save_name(),unit_vector(),gij()
- subroutine heatflux/calc_diagnostics_heatflux(p)
- Parameters:
p [pencil_case]
- Use :
diagnostics(max_mn_name(),sum_mn_name(),save_name()),slices_methods(store_slices())- Call to:
- subroutine heatflux/read_heatflux_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
- subroutine heatflux/write_heatflux_run_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
- subroutine heatflux/rprint_heatflux(lreset[, lwrite])
Reads and registers print parameters relevant to heatflux.
07-sept-17/bingert: updated
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
diagnostics(parse_name()),farraymanager(farray_index_append())- Call to:
- subroutine heatflux/get_slices_heatflux(f, slices)
Write slices for animation of Heatflux variables.
07-sept-17/bingert: updated
- Parameters:
slices [slice_data]
- Use :
- Call to:
- subroutine heatflux/pushpars2c(p_par)
- Parameters:
p_par (20) [integer]
- Use :
syscalls(copy_addr()),general(string_to_enum())