|
| subroutine | mod_fld::fld_params_read (files) |
| | public methods these are called in mod_hd_phys or mod_mhd_phys
|
| |
| subroutine, public | mod_fld::fld_init (he_abundance, r_gamma) |
| | Initialising FLD-module Read opacities Initialise Multigrid and adimensionalise kappa.
|
| |
| subroutine | mod_fld::fld_set_mg_bounds |
| | Set the boundaries for the diffusion of E.
|
| |
| subroutine, public | mod_fld::add_fld_rad_force (qdt, ixil, ixol, wct, wctprim, w, x, qsourcesplit, active) |
| | w[iw]=w[iw]+qdt*S[wCT,qtC,x] where S is the source based on wCT within ixO This subroutine handles the radiation force and its work added explicitly and the energy interaction term combined with photon tiring using an implicit update
|
| |
| subroutine, public | mod_fld::fld_radforce_get_dt (w, ixil, ixol, dtnew, dxd, x) |
| | get dt limit for radiation force and FLD explicit source additions NOTE: w is primitive on entry
|
| |
| subroutine, public | mod_fld::fld_get_opacity_prim (w, x, ixil, ixol, fld_kappa) |
| | Sets the opacity in the w-array by calling mod_opal_opacity NOTE: assumes primitives in w NOTE: assuming opacity is local, not ok with cak line force.
|
| |
| subroutine, public | mod_fld::fld_get_radpress (w, x, ixil, ixol, rad_pressure) |
| | Returns Radiation Pressure as tensor NOTE: w is primitive on entry.
|
| |
| subroutine, public | mod_fld::fld_get_fluxlimiter (w, x, ixil, ixol, fld_lambda, fld_r, nth) |
| | This subroutine calculates flux limiter lambda according to fld_fluxlimiter It also calculates fld_R which is ratio of radiation scaleheight and mean free path NOTE: nth and ixI and ixO not free to choose here: TODO.
|
| |
| subroutine, public | mod_fld::fld_get_fluxlimiter_prim (w, x, ixil, ixol, fld_lambda, fld_r, nth) |
| | This subroutine calculates flux limiter lambda according to fld_fluxlimiter It also calculates fld_R which is ratio of radiation scaleheight and mean free path NOTE: this one operates on primitives NOTE: nth and ixI and ixO not free to choose.
|
| |
| subroutine, public | mod_fld::fld_get_radflux (w, x, ixil, ixol, rad_flux) |
| | Calculate Radiation Flux (use of cgs units) NOTE: only for diagnostics purposes (w conservative on entry) This returns cell centered values for radiation flux.
|
| |
| subroutine | mod_fld::fld_get_eddington (w, x, ixil, ixol, eddington_tensor, lambda, fld_r, nth) |
| | Calculate Eddington-tensor (where w is primitive) also feeds back the flux limiter lambda and R.
|
| |
| subroutine | mod_fld::fld_implicit_update (dtfactor, qdt, qtc, psa, psb) |
| | Calling all subroutines to perform the multigrid method Communicates rad_e and diff_coeff to multigrid library Advance psa=psb+dtfactor*qdt*F_im(psa)
|
| |
| subroutine | mod_fld::update_diffcoeff (psa) |
| |
| subroutine | mod_fld::fld_evaluate_implicit (qtc, psa) |
| | inplace update of psa==>F_im(psa)
|
| |
| subroutine | mod_fld::evaluate_diffterm_onegrid (ixil, ixol, w) |
| | inplace update of psa==>F_im(psa)
|
| |
| subroutine, public | mod_fld::fld_get_diffcoef_central (w, x, ixil, ixol) |
| | Calculates cell-centered diffusion coefficient to be used in multigrid.
|
| |
| subroutine | mod_fld::bisection_method (e_gas, e_rad, c0, c1) |
| | Find the root of the 4th degree polynomial using the bisection method.
|
| |
| subroutine | mod_fld::newton_method (e_gas, e_rad, c0, c1) |
| | Find the root of the 4th degree polynomial using the Newton method.
|
| |
| subroutine | mod_fld::halley_method (e_gas, e_rad, c0, c1) |
| | Find the root of the 4th degree polynomial using the Halley method.
|
| |
| double precision function | mod_fld::polynomial_bisection (e_gas, c0, c1) |
| | Evaluate polynomial at argument e_gas.
|
| |
| double precision function | mod_fld::dpolynomial_bisection (e_gas, c0, c1) |
| | Evaluate first derivative of polynomial at argument e_gas.
|
| |
| double precision function | mod_fld::ddpolynomial_bisection (e_gas, c0, c1) |
| | Evaluate second derivative of polynomial at argument e_gas.
|
| |