Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_opac Struct Reference

#include <opacity.h>

Inheritance diagram for t_opac:
Collaboration diagram for t_opac:

Public Member Functions

const char * chName () const
 
void zero ()
 
void comment (t_warnings &)
 
- Public Member Functions inherited from module
 module ()
 
virtual ~module ()
 

Public Attributes

vector< realnumTauAbsGeo [2]
 
vector< realnumTauScatGeo [2]
 
vector< realnumTauTotalGeo [2]
 
vector< realnumTauAbsFace
 
vector< realnumTauScatFace
 
vector< double > opacity_abs
 
vector< double > opacity_sct
 
vector< double > OldOpacSave
 
vector< double > albedo
 
vector< double > opacity_abs_savzon1
 
vector< double > opacity_sct_savzon1
 
vector< double > OpacStatic
 
vector< double > FreeFreeOpacity
 
vector< double > eeFreeFreeOpacity
 
double eeFreeFreeTemp
 
vector_avx< double > ExpZone
 
vector< realnumE2TauAbsFace
 
vector< realnumE2TauAbsTotal
 
vector< realnumE2TauAbsOut
 
vector< realnumTauAbsTotal
 
vector< realnumExpmTau
 
vector< realnumtmn
 
bool lgOpacStatic
 
bool lgRedoStatic
 
vector< double > OpacStack
 
realnum taumin
 
realnum tlamin
 
bool lgCaseB
 
bool lgCaseB_HummerStorey
 
bool lgCaseB_no_photo
 
bool lgCaseB_no_pdest
 
realnum telec
 
realnum thmin
 
bool lgOpacNeg
 
bool lgScatON
 
bool lgNegOpacIO
 
bool lgCompileOpac
 
bool lgUseFileOpac
 
long int nOpacTot
 
long int ipRayScat
 
long int iopcom
 
long int ippr
 
long int ioppr
 
long int ipBrems
 
long int iphmra
 
long int iphmop
 
long int ih2pnt [2]
 
long int ih2pof
 
long int ih2pnt_ex [2]
 
long int ih2pof_ex
 
long int iophe1
 
long int ioptri
 
long int ipElement [LIMELM][LIMELM][7][3]
 
long int in1 [3]
 
long int ipo3exc [3]
 
long int ipo3exc3 [3]
 
long int ipo1exc [3]
 
double o3exc
 
double o3exc3
 
long iopo2d
 
long ipmgex
 
long ipOpMgEx
 
long ica2ex [2]
 
long ica2op
 
long int ipCKshell
 
realnum otsmin
 
realnum stimax [2]
 

Member Function Documentation

const char* t_opac::chName ( ) const
inlinevirtual

Implements module.

void t_opac::comment ( t_warnings )
inlinevirtual

Implements module.

void t_opac::zero ( void  )
virtual
Todo:
2 file opacities are disabled for now - reinstate this when arrays settle down

Implements module.

References DEBUG_ENTRY, lgCompileOpac, lgNegOpacIO, lgOpacNeg, lgOpacStatic, lgScatON, lgUseFileOpac, otsmin, and stimax.

Member Data Documentation

vector<double> t_opac::albedo
vector<realnum> t_opac::E2TauAbsFace

saves value of E2(tau), exponential integral, where tau is optical depth to illuminated face

Referenced by emergent_line(), IterRestart(), IterStart(), lines_continuum(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), and RT_recom_effic().

vector<realnum> t_opac::E2TauAbsOut
vector<realnum> t_opac::E2TauAbsTotal

same things but for outward direction. Only defined on second and later iteratios

Referenced by emergent_line(), rfield_opac_alloc(), rfield_opac_zero(), and RT_tau_reset().

vector<double> t_opac::eeFreeFreeOpacity
double t_opac::eeFreeFreeTemp

temperature used for the last ee brems evaluation

Referenced by InitDefaultsPreparse(), and OpacityAddTotal().

vector<realnum> t_opac::ExpmTau
vector_avx<double> t_opac::ExpZone

exp(-dTau) for the current zone, evaluated in radinc

Referenced by IterRestart(), IterStart(), outline_base_bin(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), and RT_recom_effic().

vector<double> t_opac::FreeFreeOpacity

density/temp factors needed for free-free opacity

Referenced by CoolEvaluate(), OpacityAddTotal(), rfield_opac_alloc(), rfield_opac_zero(), and save_opacity().

long t_opac::ica2ex[2]

calcium excited states

Referenced by ContCreatePointers(), OpacityAddTotal(), and OpacityCreateAll().

long t_opac::ica2op
long int t_opac::ih2pnt[2]

ih2pnt lower, upper limits to bound, ih2pof, opacity offset

Referenced by ContCreatePointers(), OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::ih2pnt_ex[2]
long int t_opac::ih2pof
long int t_opac::ih2pof_ex
long int t_opac::in1[3]

in1 is [NI] excited state

Referenced by ContCreatePointers(), ion_photo(), OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::iopcom

iopcom compton scatterin, total recoil

Referenced by highen(), OpacityAddTotal(), OpacityCreateAll(), and PresTotCurrent().

long int t_opac::iophe1

iophe1 points for photo from singlet levels

Referenced by OpacityCreateAll(), and save_opacity().

long t_opac::iopo2d

photo to excited O+ levels

Referenced by ion_photo(), and OpacityCreateAll().

long int t_opac::ioppr
long int t_opac::ioptri

lowest levels of he triplets

long int t_opac::ipBrems

ipBrems opacity offset pointer for brems (free-free)

Referenced by OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::ipCKshell

index of carbon k-shell threshold in energy array

Referenced by ContCreatePointers(), ContSetIntensity(), and OpacityCreateAll().

long int t_opac::ipElement[LIMELM][LIMELM][7][3]
* ipElement[nelem][ioniz][shell][purpose],
* array index on fortran scale, to energy range are set in ipShells, called by ContCreatePointers
* pointers to opacity stack offset defined in OpacityCreate1Element where
* opacities are set
*
* first dim 
* [0] is pointer to low-energy threshold in energy array
* [1] is highest energy for shell, set by LimitSh
* [2] is opacity offset within large opacity stack
*
* if shell does not exist, set upper limit
* to less than lower limit so this never looped upon
* these are used as flags by LimitSh to check whether
* this is a real shell - 
* following code is in ipShells for this non-existant case 
* OpacPoint.ipElement[nelem][ion][nshell][0] = 2;
* OpacPoint.ipElement[nelem][ion][nshell][1] = 1;
* all routines must protect against this since opacities for these
* undefined shells is also undefined
*
* second dim is shell, 0 for k shell, up to 6,
* (Shell.chShell[ns] give the label for each of these shells)
* These quantities are only defined for the number of shells that exist. 
* The number of shells is given by Heavy.nsShells[nelem][ion]
*
* third dimension is ion stage, 0 for atom
* 
* last dim is atomic number of element, 0 for H
*

Referenced by ContCreatePointers(), GammaPrtRate(), GammaPrtShells(), ion_photo(), ipShells(), LimitSh(), OpacityAdd1Element(), OpacityCreate1Element(), OpacityCreateAll(), OpacityValenceRescale(), RT_diffuse(), SanityCheckBegin(), save_opacity(), and SaveDo().

long int t_opac::iphmop

iphmop H- bound free opacity

Referenced by mole_h_reactions(), OpacityAddTotal(), OpacityCreateAll(), and RT_diffuse().

long int t_opac::iphmra

iphmra ratio of h minus to neut h ff brems opacity

Referenced by t_gaunt::brems_opac(), OpacityCreateAll(), and t_gaunt::p_setup_brems().

long t_opac::ipmgex

photoionization from upper lev of Mg II 2798

Referenced by ContCreatePointers(), ion_photo(), OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::ipo1exc[3]
long int t_opac::ipo3exc[3]

pointers to oxy excited states

Referenced by ContCreatePointers(), ContSetIntensity(), ion_photo(), OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::ipo3exc3[3]
long t_opac::ipOpMgEx
long int t_opac::ippr

ippr is threshold for pair production, ioppr is opacity offset

Referenced by ContCreatePointers(), highen(), OpacityAddTotal(), and OpacityCreateAll().

long int t_opac::ipRayScat

NBNBNBthis must exactly parallel the read/write statements in OpacityCreateAllipRayScat opacity pointer for Rayleigh scattering

Referenced by OpacityAddTotal(), and OpacityCreateAll().

bool t_opac::lgCaseB_HummerStorey

this flag turns off n=2 collisional excitations for comparison with their paper, keyword HUMMER on caseb command

Referenced by GetHlikeCollisionStrength(), InitDefaultsPreparse(), iso_collide(), iso_get_collision_strength(), and ParseCaseB().

bool t_opac::lgCaseB_no_pdest

another case b option, turn off background opacities, no Pdest

Referenced by InitDefaultsPreparse(), ParseCaseB(), and RT_line_all_escape().

bool t_opac::lgCaseB_no_photo

this flag turns off excited state photoionization, keyword NO PHOTO on caseb command

Referenced by InitDefaultsPreparse(), iso_photo(), and ParseCaseB().

bool t_opac::lgCompileOpac

variable dealing with the option to generate and use an ancillary file containing a stored opacity set. These are all initialized in zero1 lgCompileOpac flag saying to compile opacity only

Referenced by OpacityCreateAll(), ParseCompile(), and zero().

bool t_opac::lgNegOpacIO

IO unit to save negative opacities

Referenced by ParseSet(), pnegopc(), and zero().

bool t_opac::lgOpacNeg

flag set if negative opacities occured

Referenced by PrtComment(), RT_continuum(), and zero().

bool t_opac::lgOpacStatic

true by default, and set false with the no static opacities command. When false always update all opacities

Referenced by ConvBase(), ParseDont(), and zero().

bool t_opac::lgRedoStatic

this flag is set true in OpacityZero when the OpacStatic array is zeroed, and is false if the array has been left alone. all later opacities must be reevaluated when this flag is true this is the stack used to hold opacities - entered one time when code is initialized, in routine OpacityCreateAll

Referenced by ConvBase(), GammaPrtShells(), ion_photo(), iso_photo(), OpacityAdd1Subshell(), OpacityAdd1SubshellInduc(), OpacityZero(), SanityCheckBegin(), and save_opacity().

bool t_opac::lgScatON

flag saying whether (true) or not (false) scattering opacity is enabled

Referenced by t_rfield::getCoarseTransCoef(), ParseDont(), ParseSphere(), RT_continuum(), and zero().

bool t_opac::lgUseFileOpac

set false if no file opacity command entered, option to ignore opacity file

Referenced by ParseDont(), and zero().

long int t_opac::nOpacTot

total number of opacity cells used in opacity stack in OpacityCreateAll used as a counter to remember where next opacity goes

Referenced by OpacityCreate1Element(), OpacityCreateAll(), OpacityCreatePowerLaw(), and OpacityCreateReilMan().

double t_opac::o3exc

threshold energies corresponding to ipo3exc[0] and ipo3exc3[0]

Referenced by ContCreatePointers(), and t_mesh::ValidateEdges().

double t_opac::o3exc3
vector<double> t_opac::OldOpacSave
vector<double> t_opac::opacity_abs_savzon1

initial opacities from zone 1, used to reset opacity at restart and the saved value of local opacity

Referenced by IterRestart(), IterStart(), and rfield_opac_alloc().

vector<double> t_opac::opacity_sct_savzon1

opacity_sct_savzon1 save local opacity at start of calculations

Referenced by IterRestart(), IterStart(), and rfield_opac_alloc().

vector<double> t_opac::OpacStatic
realnum t_opac::otsmin

smallest ots rate, set to 0 in scalar

Referenced by ParseDont(), RT_recom_effic(), and zero().

realnum t_opac::stimax[2]

max correction for stim emission in continuum opacities at Lyman and Balmer edges

Referenced by IterRestart(), OpacityAddTotal(), PrtComment(), and zero().

vector<realnum> t_opac::TauAbsFace

these are the integrated absorption and scattering optical depths to the illuminated face of the cloud

Referenced by ContCreateMesh(), IterRestart(), IterStart(), mole_h_reactions(), radius_increment(), rfield_opac_alloc(), RT_continuum(), RT_tau_reset(), and SaveDo().

vector<realnum> t_opac::TauAbsGeo[2]

[0] is optical depth for current position, [1] is total optical depth from previous iteration TauAbsGeo, TauScatGeo, absorption, scattering, optical depths, at current position, includes through far side of slab

Referenced by iso_radiative_recomb(), iter_end_check(), PrtAllTau(), PrtComment(), PrtFinal(), PrtZone(), radius_next(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), RT_recom_effic(), RT_tau_init(), RT_tau_reset(), SaveDo(), and tauff().

vector<realnum> t_opac::TauAbsTotal

total absorption optical depth across computed structure

Referenced by IterRestart(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), and RT_tau_reset().

vector<realnum> t_opac::TauScatFace
vector<realnum> t_opac::TauScatGeo[2]
vector<realnum> t_opac::TauTotalGeo[2]

TauTotalGeo is total optical depth at each energy, at current position, includes through far side of slab

Referenced by PrtAllTau(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), RT_tau_init(), and RT_tau_reset().

realnum t_opac::telec

optical depths to Compton and H-

Referenced by PrtAllTau(), PrtComment(), RT_tau_inc(), RT_tau_reset(), and SaveResults().

realnum t_opac::thmin
realnum t_opac::tlamin

tlamin is smallest Lya optical depth, modified to large value if case b used

Referenced by InitDefaultsPreparse(), ParseCaseB(), RT_tau_init(), and RT_tau_reset().

vector<realnum> t_opac::tmn

factors that account for attenuation of light across this zone should be nearly unity

Referenced by IterRestart(), lines_continuum(), outline_base_bin(), rfield_opac_alloc(), rfield_opac_zero(), RT_continuum(), RT_diffuse(), RT_recom_effic(), ZoneEnd(), and ZoneStart().


The documentation for this struct was generated from the following files: