MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Loading...
Searching...
No Matches
mod_cak_opacity Module Reference

This module reads in CAK line opacities in the Gayley (1995) notation (alpha, Qbar, Q0, kappae) from corresponding tables. Tabulated values assume LTE conditions and are a function of mass density (D) and temperature (T), which are both given in base 10 logarithm. The construction of the tables is outlined in Poniatowski+ (2021), A&A 667. More...

Functions/Subroutines

subroutine, public init_cak_table (tabledir, set_custom_tabledir)
 This routine is called when the FLD or CAK module is initialised.
subroutine, public set_cak_opacity (rho, temp, alpha_output, qbar_output, q0_output, kappae_output)
 This subroutine calculates the opacity for a given temperature-density structure. Opacities are read from a table with given metalicity.

Variables

double precision, dimension(idmin:idmax, itmin:itmax), public alpha_vals
 The opacity tables are read once and stored globally.
double precision, dimension(idmin:idmax, itmin:itmax), public qbar_vals
double precision, dimension(idmin:idmax, itmin:itmax), public q0_vals
double precision, dimension(idmin:idmax, itmin:itmax), public kappae_vals
double precision, dimension(idmin:idmax), public logd_list
double precision, dimension(itmin:itmax), public logt_list

Detailed Description

This module reads in CAK line opacities in the Gayley (1995) notation (alpha, Qbar, Q0, kappae) from corresponding tables. Tabulated values assume LTE conditions and are a function of mass density (D) and temperature (T), which are both given in base 10 logarithm. The construction of the tables is outlined in Poniatowski+ (2021), A&A 667.

The CAK opacity tables are stored in src/tables/CAK_tables. It is possible to use different tables when giving the absolute or relative path to the directory containing the tables. The only limitation is that the size of the non-default tables equals the size of the tables in src/tables/CAK_tables.

This module is used in the FLD radiation module and the CAK force module.

Function/Subroutine Documentation

◆ init_cak_table()

subroutine, public mod_cak_opacity::init_cak_table ( character(len=*), intent(in) tabledir,
logical, intent(in), optional set_custom_tabledir )

This routine is called when the FLD or CAK module is initialised.

Definition at line 42 of file mod_cak_opacity.t.

◆ set_cak_opacity()

subroutine, public mod_cak_opacity::set_cak_opacity ( double precision, intent(in) rho,
double precision, intent(in) temp,
double precision, intent(out) alpha_output,
double precision, intent(out) qbar_output,
double precision, intent(out) q0_output,
double precision, intent(out) kappae_output )

This subroutine calculates the opacity for a given temperature-density structure. Opacities are read from a table with given metalicity.

Definition at line 70 of file mod_cak_opacity.t.

Here is the call graph for this function:

Variable Documentation

◆ alpha_vals

double precision, dimension(idmin:idmax,itmin:itmax), public mod_cak_opacity::alpha_vals

The opacity tables are read once and stored globally.

Definition at line 30 of file mod_cak_opacity.t.

◆ kappae_vals

double precision, dimension(idmin:idmax,itmin:itmax), public mod_cak_opacity::kappae_vals

Definition at line 33 of file mod_cak_opacity.t.

◆ logd_list

double precision, dimension(idmin:idmax), public mod_cak_opacity::logd_list

Definition at line 34 of file mod_cak_opacity.t.

◆ logt_list

double precision, dimension(itmin:itmax), public mod_cak_opacity::logt_list

Definition at line 34 of file mod_cak_opacity.t.

◆ q0_vals

double precision, dimension(idmin:idmax,itmin:itmax), public mod_cak_opacity::q0_vals

Definition at line 32 of file mod_cak_opacity.t.

◆ qbar_vals

double precision, dimension(idmin:idmax,itmin:itmax), public mod_cak_opacity::qbar_vals

Definition at line 31 of file mod_cak_opacity.t.