noeos

Module

Description

$Id$

This module takes care of everything related to equation of state.

** 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 :: leos = .false., leos_ionization=.false., leos_temperature_ionization=.false. CPARAM logical, parameter :: leos_idealgas = .false., leos_chemistry = .false.

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0

PENCILS PROVIDED ss; gss(3); ee; pp; lnTT; cs2; cv1; cp1; cp1tilde PENCILS PROVIDED glnTT(3); TT; TT1; cp; cv; gTT(3); mu1; glnmu(3); gmu1(3) PENCILS PROVIDED yH; hss(3,3); hlnTT(3,3); del2ss; del6ss; del2TT; del2lnTT; del6TT; del6lnTT PENCILS PROVIDED glnmumol(3); csvap2; rho_anel PENCILS PROVIDED rho1gpp(3)


Quick access

Variables:

b_ext_eos, bc_lnrho_hdss_z_liso, calc_pencils_eos, calc_pencils_eos_pencpar, calc_pencils_eos_std, chih_ev, chihminus_ev, cp_const, cpdry, cpdry1, cs0, cs20, cs20_tdep_rate, cs2_tdep_ascale_power, cs2bot, cs2top, cvdry, cvdry1, dlnrho0dz, ee_ion, enum_tdep_cs2_type, eos_before_boundary, eos_update_aux, eoscalc, eoscalc_elem, eoscalc_farray, eoscalc_farray_range, eoscalc_pencil, eoscalc_point, eoscalc_point_f, eosperturb, error_cp, fac_cs, find_mass, get_average_pressure, get_cp, get_cv, get_soundspeed, get_ss, get_ss_pencil, get_stratz, getmu, gz_coeff, gztype, ics, icv, idelta, ieosvar1, ieosvar2, ieosvar_count, ieosvars, ifvap, iglobal_cs2, iglobal_glntt, imumol1, inabad, init_eos, input_file, ioncalc, ioninit, isothermal_lnrho_ss, isothmid, ivars_mod, kappa0, kappa_cst, l_cp, l_gamma, l_gamma_m1, lcalc_cp, lcalc_cp_full, lcheminp_eos, lconst_yh, lcp_as_aux, lcs2_tdep, lcs_as_aux, lcs_as_comaux, lcv_as_aux, ldelta_as_aux, leos_isentropic, leos_isobaric, leos_isochoric, leos_isothermal, leos_localisothermal, lgamma_as_aux, lhminus_opacity_correction, lhubble_eos, linterp_pressure, ll1, ll2, lnabad_as_aux, lnpp_bot, lnrho0, lnrho_e, lnrho_e_, lnrho_h, lnrho_he, lnrho_p, lntt_ion, lntt_ion_, lnttlnrho, lnttss, lpp_as_aux, lpres_grad, lrevise_chih_ev, lrevise_chihminus_ev, lss_as_aux, lstratset, mm1, mm2, mu1_0, mu1_full, mu1yhxhe, mudry, mudry1, muvap, muvap1, nabla_ad, nn1, nn2, one_yh_term, opacity_type, pp0, pp_ion, pr_number, pres_corr, pressure_gradient, pressure_gradient_farray, pressure_gradient_point, read_species, read_thermodyn, rgas_cgs, rho0, rho02, rho_e, rho_e_, rho_h, rho_he, rtsafe, rtsafe_pencil, saha, scale_rgas, set_stratz, sigmasbt, srad0, ss_ion, ss_ion1, tau_relax, tdep_cs2_type, temperature_gradient, temperature_hessian, temperature_laplacian, tt_ion, tt_ion_, va2max_eos, va2power_eos, write_thermodyn, xh2, xhe, xhe_term, xtop, yh0, yh_const, yh_term, yhacc, yhmax, yhmin, ymetals

Routines:

bc_ism(), bc_lnrho_hds_z_iso(), bc_lnrho_pressure_z(), bc_lnrho_temp_z(), bc_ss_a2stemp_x(), bc_ss_a2stemp_y(), bc_ss_a2stemp_z(), bc_ss_energy(), bc_ss_flux(), bc_ss_flux_condturb_mean_x(), bc_ss_flux_condturb_x(), bc_ss_flux_condturb_z(), bc_ss_flux_turb(), bc_ss_flux_turb_x(), bc_ss_stemp_x(), bc_ss_stemp_y(), bc_ss_stemp_z(), bc_ss_temp2_z(), bc_ss_temp3_z(), bc_ss_temp_old(), bc_ss_temp_x(), bc_ss_temp_y(), bc_ss_temp_z(), bc_stellar_surface(), eos_before_boundary(), get_average_pressure(), get_gamma_etc(), get_slices_eos(), get_soundspeed(), get_stratz(), getdensity(), getmu(), getpressure(), gettemperature(), init_eos(), initialize_eos(), ioncalc(), isothermal_entropy(), isothermal_lnrho_ss(), pencil_criteria_eos(), pencil_interdep_eos(), read_eos_init_pars(), read_eos_run_pars(), register_eos(), rprint_eos(), select_eos_variable(), temperature_gradient(), temperature_hessian(), temperature_laplacian(), units_eos(), write_eos_init_pars(), write_eos_run_pars()

Needed modules

Variables

  • equationofstate/calc_pencils_eos [public]
  • equationofstate/calc_pencils_eos_pencpar [private]
  • equationofstate/calc_pencils_eos_std [private]
  • equationofstate/cp_const [real,public/optional/default=impossible]
  • equationofstate/cs0 [real,public/optional/default=1.0]
  • equationofstate/cs20 [real,public/optional/default=1.0]
  • equationofstate/cs2bot [real,public/optional/default=1.0]
  • equationofstate/cs2top [real,public/optional/default=1.0]
  • equationofstate/eoscalc [public]
  • equationofstate/eoscalc_farray [private]
  • equationofstate/eoscalc_pencil [private]
  • equationofstate/eoscalc_point [private]
  • equationofstate/eoscalc_point_f [private]
  • equationofstate/gamma [real,private/optional/default=1.6666666666666667]
  • equationofstate/gamma1 [real,private]
  • equationofstate/gamma_m1 [real,private]
  • equationofstate/ilnrho_cs2 [integer,parameter=5]
  • equationofstate/ilnrho_ee [integer,parameter=2]
  • equationofstate/ilnrho_eth [integer,parameter=14]
  • equationofstate/ilnrho_lntt [integer,parameter=4]
  • equationofstate/ilnrho_pp [integer,parameter=3]
  • equationofstate/ilnrho_ss [integer,parameter=1]
  • equationofstate/ilnrho_tt [integer,parameter=9]
  • equationofstate/imass [integer,public/optional/default=1]
  • equationofstate/ipp_cs2 [integer,parameter=12]
  • equationofstate/ipp_ss [integer,parameter=11]
  • equationofstate/irho_cs2 [integer,parameter=6]
  • equationofstate/irho_ee [integer,parameter=15]
  • equationofstate/irho_eth [integer,parameter=13]
  • equationofstate/irho_lntt [integer,parameter=8]
  • equationofstate/irho_pp [integer,parameter=16]
  • equationofstate/irho_ss [integer,parameter=7]
  • equationofstate/irho_tt [integer,parameter=10]
  • equationofstate/lnrho0 [real,public/optional/default=0.0]
  • equationofstate/lntt0 [real,public/optional/default=impossible]
  • equationofstate/lpres_grad [logical,public/optional/default=.false.]
  • equationofstate/pr_number [real,public/optional/default=0.7]
  • equationofstate/pressure_gradient [public]
  • equationofstate/pressure_gradient_farray [private]
  • equationofstate/pressure_gradient_point [private]
  • equationofstate/rho0 [real,public/optional/default=1.0]
  • equationofstate/rho02 [real,private]

Subroutines and functions

subroutine  equationofstate/register_eos()

14-jun-03/axel: adapted from register_eos

Use :

sharedvariables (put_shared_variable())

Called from:

register_modules()

Call to:

svn_id(), not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/units_eos()
Called from:

register_modules(), initialize_modules()

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/initialize_eos(f)
Parameters:

f (mx,my,mz,mfarray) [real,inout]

Called from:

register_modules(), initialize_modules()

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/select_eos_variable(variable, findex)

02-apr-06/tony: dummy

Parameters:
  • variable [character,in]

  • findex [integer,in]

Called from:

register_density(), initialize_density(), register_energy(), initialize_energy()

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/getmu([f, mu_tmp])

Calculate mean molecular weight.

12-aug-03/tony: dummy

Parameters:
Called from:

register_energy(), initialize_energy(), read_energy_init_pars(), write_energy_init_pars(), read_energy_run_pars(), write_energy_run_pars(), init_energy(), pencil_criteria_energy(), pencil_interdep_energy(), calc_pencils_energy(), denergy_dt(), calc_diagnostics_energy(), energy_before_boundary(), rprint_energy(), get_slices_energy(), impose_energy_floor(), dynamical_thermal_diffusion(), split_update_energy()

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/rprint_eos(lreset[, lwrite])

02-apr-03/tony: dummy

Parameters:
  • lreset [logical]

  • lwrite [logical]

Called from:

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

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/get_slices_eos(f, slices)
Parameters:
Called from:

wvid_prepare(), wvid()

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/pencil_criteria_eos()

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

02-04-06/tony: dummy

Called from:

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

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/pencil_interdep_eos(lpencil_in)

Interdependency among pencils from the Entropy module is specified here.

20-11-04/anders: dummy

Parameters:

lpencil_in (npencils) [logical]

Called from:

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

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/init_eos(f)
Parameters:

f (mx,my,mz,mfarray) [real,inout]

Called from:

start

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/ioncalc(f)
Parameters:

f (mx,my,mz,mfarray) [real]

Called from:

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

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/getdensity([f[, ee[, tt[, yh, rho]]]])
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • ee [real,in,]

  • tt [real,in,]

  • yh [real,in,]

  • rho (mx,my,mz) [real,inout]

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/gettemperature([f, tt_tmp])
Parameters:
Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/getpressure(pp_tmp, tt_tmp, rho_tmp, mu1_tmp)
Parameters:
  • pp_tmp (nx) [real,out]

  • tt_tmp (nx) [real,in]

  • rho_tmp (nx) [real,in]

  • mu1_tmp (nx) [real,in]

Call to:

not_implemented(), warning(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/get_gamma_etc([gamma[, cp[, cv[, f]]]])
Parameters:
  • gamma [real,out,]

  • cp [real,out,]

  • cv [real,out,] :: now (+-)cv*F/(K*T)

  • f (mfarray) [real,in,]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c(), register_energy(), initialize_energy(), initialize_energy_bcs(), bc_ss_flux(), register_eos(), units_eos(), initialize_eos(), select_eos_variable(), rprint_eos(), get_slices_eos(), pencil_criteria_eos(), pencil_interdep_eos(), getdensity(), gettemperature(), getpressure(), get_gamma_etc(), read_eos_init_pars(), write_eos_init_pars(), read_eos_run_pars(), write_eos_run_pars(), isothermal_entropy(), getmu(), temperature_gradient(), temperature_hessian(), isothermal_lnrho_ss(), temperature_laplacian(), get_average_pressure(), init_eos(), ioncalc(), register_particles_radius(), initialize_particles_radius(), initialize_solid_cells(), register_particles_drag(), initialize_particles_drag(), init_particles_drag(), read_particles_drag_init_pars(), write_particles_drag_init_pars(), read_particles_drag_run_pars(), write_particles_drag_run_pars(), integrate_drag(), special_calc_hydro(), special_calc_density(), special_calc_dustdensity(), special_calc_energy(), special_calc_magnetic(), special_calc_pscalar(), special_calc_particles(), special_calc_chemistry(), special_before_boundary()

Call to:

warning(), not_implemented(), fatal_error(), get_gamma_etc(), getdlnrho_z()

subroutine  equationofstate/temperature_gradient(f, glnrho, gss, glntt)

02-apr-04/tony: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • glnrho (nx,3) [real,in]

  • gss (nx,3) [real,in]

  • glntt (nx,3) [real,out]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/temperature_laplacian(f, p)

12-dec-05/tony: dummy

Parameters:
Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/temperature_hessian(f, hlnrho, hss, hlntt)

13-may-04/tony: dummy

Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • hlnrho (nx,3) [real,in]

  • hss (nx,3) [real,in]

  • hlntt (nx,3) [real]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/get_soundspeed(tt, cs2)
Parameters:
  • tt [real,in]

  • cs2 [real,out]

Called from:

register_energy(), initialize_energy(), read_energy_init_pars(), write_energy_init_pars(), read_energy_run_pars(), write_energy_run_pars(), init_energy(), pencil_criteria_energy(), pencil_interdep_energy(), calc_pencils_energy(), denergy_dt(), calc_diagnostics_energy(), energy_before_boundary(), energy_after_boundary(), rprint_energy(), get_slices_energy(), impose_energy_floor(), dynamical_thermal_diffusion(), split_update_energy()

subroutine  equationofstate/read_eos_init_pars(iomsg)
Parameters:

iomsg [character,out]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/write_eos_init_pars(unit)
Parameters:

unit [integer,in]

Called from:

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

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/read_eos_run_pars(iomsg)
Parameters:

iomsg [character,out]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/write_eos_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:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/isothermal_entropy(lnrho, t0, ss)

Isothermal stratification (for lnrho and ss) This routine should be independent of the gravity module used.

Sound speed (and hence Temperature), is initialised to the reference value:

sound speed: cs^2_0 from start.in density: rho0 = exp(lnrho0)

11-jun-03/tony: extracted from isothermal routine in Density module

to allow isothermal condition for arbitrary density

17-oct-03/nils: works also with leos_ionization=T 18-oct-03/tobi: distributed across ionization modules

Parameters:
  • lnrho (mx,my,mz) [real,in]

  • t0 [real,in]

  • ss (mx,my,mz) [real,out]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/isothermal_lnrho_ss(lnrho, t0, rho0, ss)
Parameters:
  • lnrho (mx,my,mz) [real,out]

  • t0 [real,in]

  • rho0 [real,in]

  • ss (mx,my,mz) [real,out]

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/get_average_pressure(average_density, average_pressure)

01-dec-2009/piyali+dhruba: dummy

Parameters:
  • average_density [real,in]

  • average_pressure [real,out]

Called from:

register_density(), initialize_density(), init_lnrho(), density_before_boundary(), pencil_criteria_density(), pencil_interdep_density(), density_after_boundary(), dlnrho_dt(), impose_density_floor(), read_density_init_pars(), write_density_init_pars(), read_density_run_pars(), write_density_run_pars(), rprint_density(), get_slices_density(), get_slices_pressure(), get_init_average_density(), calc_pencils_density(), anelastic_after_mn()

Call to:

not_implemented(), fatal_error(), get_gamma_etc(), warning(), getdlnrho_z()

subroutine  equationofstate/bc_ss_flux(f, topbot[, lone_sided])

constant flux boundary condition for entropy (called when bcz=’c1’) This implementation is intended to work for all supported EOS.

23-jan-2002/wolf: coded 11-jun-2002/axel: moved into the entropy module

8-jul-2002/axel: split old bc_ss into two

26-aug-2003/tony: distributed across ionization modules 13-mar-2011/pete: c1 condition for z-boundaries with Kramers’ opacity

4-jun-2015/MR: factor cp added in front of tmp_xy

30-sep-2016/MR: changes for use of one-sided BC formulation (chosen by setting new optional switch lone_sided) 21-jun-2024/Kishore: account for bounds on Kramers conductivity 07-dec-2024/Kishore: copied from eos_idealgas to eos_idealgas_vapor and modified to be EOS-agnostic. Also reduced duplicated code. 09-dec-2024/Kishore: moved to noeos.f90 to replace an earlier implementation that looked correct only for eos_idealgas. TODO: after verifying that this works correctly for all EOS, move it to entropy.f90 NOTE: non-dummy implementations (excluding this) are in eos_ionization and eos_temperature_ionization

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • topbot [integer,in]

  • lone_sided [logical]

Use :

densitymethods (getdlnrho_z(), getderlnrho_z(), getrho()), deriv (bval_from_neumann(), set_ghosts_for_onesided_ders()), general (loptest()), sharedvariables (get_shared_variable())

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), get_gamma_etc(), not_implemented(), warning(), getdlnrho_z()

subroutine  equationofstate/bc_ss_flux_turb(f, topbot)

4-may-2009/axel: dummy

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_flux_turb_x(f, topbot)

31-may-2010/pete: dummy

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_flux_condturb_x(f, topbot)

23-apr-2014/pete: dummy

Parameters:
Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_flux_condturb_mean_x(f, topbot)

07-jan-2015/pete: dummy

Parameters:
Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_flux_condturb_z(f, topbot)

15-jul-2014/pete: dummy

Parameters:
Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp_old(f, topbot)

boundary condition for entropy: constant temperature

23-jan-2002/wolf: coded 11-jun-2002/axel: moved into the entropy module

8-jul-2002/axel: split old bc_ss into two

23-jun-2003/tony: implemented for leos_fixed_ionization 26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp_x(f, topbot)

boundary condition for entropy: constant temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp_y(f, topbot)

boundary condition for entropy: constant temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp_z(f, topbot[, lone_sided])

boundary condition for entropy: constant temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

3-oct-16/MR: added new optional switch lone_sided

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

  • topbot [integer,in]

  • lone_sided [logical]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_lnrho_temp_z(f, topbot)

boundary condition for lnrho and ss: constant temperature

27-sep-2002/axel: coded 19-aug-2005/tobi: distributed across ionization modules

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

  • topbot [integer,in]

Use :

gravity (gravz())

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_lnrho_pressure_z(f, topbot)

boundary condition for lnrho: constant pressure

4-apr-2003/axel: coded 1-may-2003/axel: added the same for top boundary

19-aug-2005/tobi: distributed across ionization modules

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

  • topbot [integer,in]

Use :

gravity (lnrho_bot(), lnrho_top(), ss_bot(), ss_top())

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp2_z(f, topbot)

boundary condition for entropy: constant temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_temp3_z(f, topbot)

31-jan-2013/axel: coded to impose cs2bot and dcs2bot at bottom

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

not_implemented(), fatal_error()

subroutine  equationofstate/bc_ss_stemp_x(f, topbot)

boundary condition for entropy: symmetric temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_stemp_y(f, topbot)

boundary condition for entropy: symmetric temperature

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_stemp_z(f, topbot)

Boundary condition for entropy: symmetric temperature.

3-aug-2002/wolf: coded

26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_a2stemp_x(f, topbot)

boundary condition for entropy: asymmetric temperature vanishing 2nd deriv

22-sep-2010/fred: adapted from bc_ss_stemp_z

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_a2stemp_y(f, topbot)

boundary condition for entropy: asymmetric temperature vanishing 2nd deriv

22-sep-2010/fred: adapted from bc_ss_stemp_y

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_a2stemp_z(f, topbot)

boundary condition for entropy: asymmetric temperature vanishing 2nd deriv

22-sep-2010/fred: adapted from bc_ss_stemp_z

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_ss_energy(f, topbot)

boundary condition for entropy

may-2002/nils: coded 11-jul-2002/nils: moved into the entropy module 26-aug-2003/tony: distributed across ionization modules

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

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/bc_stellar_surface(f, topbot)
Parameters:
  • f (,,*,*) [real]

  • topbot [integer,in]

Called from:

initialize_boundcond(), boundconds_x_c()

Call to:

not_implemented(), fatal_error()

subroutine  equationofstate/bc_ism(f, topbot, j)

30-nov-15/fred: Replaced bc_ctz and bc_cdz. Apply observed scale height locally from Reynolds 1991, Manchester & Taylor 1981 for warm ionized gas - dominant scale height above 500 parsecs. Apply constant local temperature across boundary for entropy. Motivation to prevent numerical spikes in shock fronts, which cannot be absorbed in only three ghost cells, but boundary thermodynamics still responsive to interior dynamics. 06-jun-22/fred update to allow setting scale height in start.in or run.in default is density_scale_factor=impossible so that scale_factor is 0.9, assuming unit_length = 1 kpc and scale is 900 pc. To change scale height add to start_pars or run_pars density_scale_factor=… in dimensionless units

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

  • topbot [integer,in]

  • j [integer]

Called from:

initialize_boundcond(), boundconds_x_c(), boundconds_y_c(), boundconds_z_c()

Call to:

fatal_error(), not_implemented()

subroutine  equationofstate/get_stratz(z[, rho0z[, dlnrho0dz[, eth0z]]])

Get background stratification in z direction.

13-oct-14/ccyang: dummy

Parameters:
  • z (*) [real,in]

  • rho0z (*) [real,out,]

  • dlnrho0dz (*) [real,out,]

  • eth0z (*) [real,out,]

Called from:

register_energy(), initialize_energy(), register_selfgravity(), initialize_selfgravity(), register_viscosity(), initialize_viscosity(), get_gas_density()

Call to:

not_implemented()

subroutine  equationofstate/eos_before_boundary(f)

05-dec-2024/Kishore: added dummy routine

Parameters:

f (mx,my,mz,mfarray) [real,inout]