opacity.h File Reference

Go to the source code of this file.

Data Structures

struct  t_opac

Functions

void OpacityCreateAll (void)
void OpacityAdd1Subshell (long int ipOpac, long int ipLowLim, long int ipUpLim, float abundance, char chStat)
void OpacityAddTotal (void)
void OpacityAdd1Element (long int ipZ)
void OpacityZero (void)
void OpacityZeroOld (void)
void OpacityAdd1SubshellInduc (long int ipOpac, long int low, long int ihi, double a, double b, char chStat)

Variables

bool lgOpacMalloced
EXTERN struct t_opac opac


Detailed Description

routines dealing with creation and evaluration of opacities

Definition in file opacity.h.


Function Documentation

void OpacityAdd1Element ( long int  ipZ  ) 

OpacityAdd1Element enter total photo cross section for all subshells of a single element into opacity array

Parameters:
ipZ is 0 for H, 1 for He, etc

Definition at line 11 of file opacity_add1element.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, dense, t_iso::DepartCoef, Heavy, t_opac::ipElement, t_iso::ipIsoLevNIonCon, t_iso::ipOpac, iso, LIMELM, MAX2, t_rfield::nflux, NISO, t_Heavy::nsShells, t_iso::numLevels_local, opac, OpacityAdd1Subshell(), OpacityAdd1SubshellInduc(), t_iso::Pop2Ion, rfield, and t_dense::xIonDense.

Referenced by OpacityAddTotal(), punch_opacity(), and SanityCheckBegin().

Here is the call graph for this function:

void OpacityAdd1Subshell ( long int  ipOpac,
long int  ipLowLim,
long int  ipUpLim,
float  abundance,
char  chStat 
)

OpacityAdd1Subshell add opacity due to single species to main opacity array

Parameters:
ipOpac ipOpac is opacity index within opac opacity offset for this species
ipLowLim lower freq limit to opacity range on energy mesh
ipUpLim upper limit to opacity range on energy mesh
abundance abundance, we bail if zero
chStat either static 's' or volitile 'v'

Definition at line 10 of file opacity_add1subshell.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, t_opac::lgRedoStatic, MIN2, t_rfield::nflux, opac, t_opac::opacity_abs, t_opac::OpacStack, t_opac::OpacStatic, and rfield.

Referenced by OpacityAdd1Element(), and OpacityAddTotal().

void OpacityAdd1SubshellInduc ( long int  ipOpac,
long int  low,
long int  ihi,
double  a,
double  b,
char  chStat 
)

OpacityAdd1SubshellInduc add opacity of individual species, including stimulated emission

Parameters:
ipOpac pointer to opacity offset with stack
low low energy limit to opacity bound
ihi high-energy limit to opacity bound
a the abundance of the species in this level
b the departure coefficient
chStat either 's' for static opacities, or 'v' for volitile

Definition at line 68 of file opacity_add1subshell.cpp.

References ASSERT, t_rfield::ContBoltz, DEBUG_ENTRY, DEBUG_EXIT, hydro, t_hydro::lgHInducImp, t_rfield::lgInducProcess, t_opac::lgRedoStatic, MAX2, MIN2, t_rfield::nflux, opac, t_opac::opacity_abs, t_opac::OpacStack, t_opac::OpacStatic, and rfield.

Referenced by OpacityAdd1Element(), and punch_opacity().

void OpacityAddTotal ( void   ) 

OpacityAddTotal derive total opacity for this position

Todo:
2 add charged heavy elements

Todo:
1 stupid - why this test on opacity_abs ? - we only get here if we already passed above test on this very thing

Todo:
0 these RJRW macros are permanent - remove tests & make final

Definition at line 24 of file opacity_addtotal.cpp.

References t_opac::albedo, t_rfield::anu, ASSERT, atoms, ca, t_iso::ConOpacRatio, t_rfield::ContBoltz, conv, csphot(), DEBUG_ENTRY, DEBUG_EXIT, dense, t_iso::DepartCoef, t_gv::dstab, t_gv::dstsc, t_dense::eden, EmisLines, findspecies(), t_opac::FreeFreeOpacity, t_dense::gas_phase, t_rfield::gff, gv, t_hmi::H2_total, molecule::hevmol, hmi, t_hmi::hmidep, t_hmi::Hmolec, hydro, t_opac::ica2ex, t_opac::ica2op, t_opac::ih2pnt, t_opac::ih2pof, t_opac::in1, ionbal, t_dense::IonHigh, t_dense::IonLow, t_opac::iopcom, t_opac::ioppr, ioQQQ, t_opac::ipBrems, ipCARBON, t_ionbal::ipCompRecoil, ipH1s, t_opac::ipH2_photo_opac_offset, t_opac::ipH2_photo_thresh, ipH2p, ipH_LIKE, ipHe1s1S, ipHE_LIKE, ipHELIUM, t_hmi::iphmin, t_opac::iphmop, t_opac::iphmra, ipHYDROGEN, t_iso::ipIsoLevNIonCon, ipMAGNESIUM, t_opac::ipmgex, ipMH2p, ipMH3p, ipMHm, ipNITROGEN, t_opac::ipo1exc, t_opac::ipo3exc, t_opac::ipo3exc3, t_iso::ipOpac, t_opac::ipOpMgEx, ipOXYGEN, t_opac::ippr, t_opac::ipRayScat, iso, t_gv::lgDustOn, t_dense::lgElmtOn, t_conv::lgSearch, t_trace::lgTrace, LIMELM, MALLOC, MAX2, MIN2, t_ionbal::nCompRecoilElec, t_rfield::nflux, NISO, t_conv::nPres2Ioniz, t_iso::numLevels_local, t_rfield::nupper, nzone, opac, t_opac::opacity_abs, t_opac::opacity_sct, OpacityAdd1Element(), OpacityAdd1Subshell(), OpacityZero(), OpacityZeroOld(), t_opac::OpacStack, t_opac::OpacStatic, t_rfield::otscon, t_rfield::otslin, oxy, t_atoms::p2nit, phycon, t_oxy::poiexc, t_oxy::poiii2, t_oxy::poiii3, t_iso::Pop2Ion, t_ca::popca2ex, t_atoms::popmg2, POW2, rfield, RJRWLOOP, SMALLFLOAT, t_phycon::sqrte, t_opac::stimax, t_phycon::te, TE1RYD, trace, and t_dense::xIonDense.

Referenced by ConvBase().

Here is the call graph for this function:

void OpacityCreateAll ( void   ) 

OpacityCreateAll compute initial set of opacities for all species

Definition at line 188 of file opacity_createall.cpp.

References t_rfield::AnuOrg, t_rfield::anusqr, ASSERT, cdEXIT(), chDataPath, DEBUG_ENTRY, DEBUG_EXIT, dense, EVRYD, FILENAME_PATH_LENGTH_2, t_ADfA::get_version(), GrainsInit(), hmi, hmiopc(), t_oxy::i2d, t_opac::ica2ex, t_opac::ica2op, t_opac::ih2pnt, t_opac::ih2pof, t_opac::in1, Singleton< t_ADfA >::Inst(), t_opac::iopcom, t_opac::iophe1, t_opac::iopo2d, t_opac::ioppr, t_opac::ioptri, ioQQQ, t_opac::ipBrems, t_opac::ipCKshell, t_opac::ipElement, ipH1s, t_opac::ipH2_photo_opac_offset, t_opac::ipH2_photo_thresh, ipH_LIKE, ipHE_LIKE, ipHELIUM, t_hmi::iphmin, t_opac::iphmop, t_opac::iphmra, ipHYDROGEN, t_iso::ipIsoLevNIonCon, t_opac::ipmgex, t_opac::ipo1exc, t_opac::ipo3exc, t_opac::ipo3exc3, t_iso::ipOpac, t_opac::ipOpMgEx, ipOXYGEN, ipPOTASSIUM, t_opac::ippr, t_opac::ipRayScat, iso, t_opac::lgCompileOpac, lgDataPathSet, t_dense::lgElmtOn, t_opac::lgOpacExist, lgOpacMalloced, lgRealloc, t_trace::lgTrace, t_opac::lgUseFileOpac, LIMELM, MAGIC, MALLOC, NCSH2P, ndimOpacityStack, NMAGIC, t_opac::nOpacTot, t_iso::numLevels_max, t_rfield::nupper, ofit(), opac, t_opac::opacity_abs, Opacity_iso_photo_cs(), opacity_more_memory(), OpacityCreate1Element(), OpacityCreatePowerLaw(), OpacityCreateReilMan(), OpacityValenceRescale(), t_opac::OpacStack, oxy, path_not_set(), t_ADfA::phfit(), PHFIT96, POW2, POW3, rayleh(), rfield, t_opac::tmn, trace, t_iso::xIsoLevNIonRyd, and Yan_H2_CS().

Referenced by cloudy(), and ParseCompile().

Here is the call graph for this function:

void OpacityZero ( void   ) 

OpacityZero - called by OpacityAddTotal to zero opacity array after saving it into oldopac

Definition at line 8 of file opacity_zero.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, t_opac::lgRedoStatic, t_rfield::nupper, t_opac::OldOpacSave, opac, t_opac::opacity_abs, t_opac::opacity_sct, t_opac::OpacStatic, and rfield.

Referenced by OpacityAddTotal(), punch_opacity(), and SanityCheckBegin().

void OpacityZeroOld ( void   ) 

OpacityZeroOld - only set old opac to current value during search phase

Definition at line 39 of file opacity_zero.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, t_rfield::nupper, t_opac::OldOpacSave, opac, t_opac::opacity_abs, and rfield.

Referenced by OpacityAddTotal().


Variable Documentation

set true when malloced, init to false

Definition at line 111 of file cddefines.cpp.

Referenced by OpacityCreateAll(), and tauff().

EXTERN struct t_opac opac

Referenced by atom_oi_calc(), cdSPEC2(), ContCreatePointers(), ContRate(), ContSetIntensity(), ConvBase(), CoolCalc(), CoolDima(), CoolEvaluate(), csphot(), DumpLine(), emergent_line(), EmLineZero(), esc_CRDcore(), esc_CRDwing(), esc_PRD(), GammaBn(), GammaK(), GammaPrt(), GammaPrtRate(), GammaPrtShells(), GrainRateDr(), H2_Create(), HeCollid(), HeRecom(), highen(), hmole_reactions(), hmole_step(), HydroCollid(), HydroRecom(), ion_photo(), IonIron(), IonMagne(), IonNitro(), IonOxyge(), ipShells(), iso_photo(), iso_zero(), iter_end_check(), IterEnd(), IterRestart(), IterStart(), lgTauGood(), LimitSh(), lindst(), lines_continuum(), lines_helium(), lines_setup(), opacity_more_memory(), OpacityAdd1Element(), OpacityAdd1Subshell(), OpacityAdd1SubshellInduc(), OpacityAddTotal(), OpacityCreate1Element(), OpacityCreateAll(), OpacityCreatePowerLaw(), OpacityCreateReilMan(), OpacityValenceRescale(), OpacityZero(), OpacityZeroOld(), outline(), ParseCommands(), ParseCompile(), ParseDont(), ParseSet(), ParseSphere(), pltcon(), pltopc(), pnegopc(), PrtAllTau(), PrtComment(), PrtContinuum(), PrtFinal(), PrtHydroTrace1(), PrtZone(), Punch_Line_RT(), punch_opacity(), PunchDo(), punResults(), radius_first(), radius_increment(), radius_next(), ReadTable(), rfield_opac_malloc(), rfield_opac_zero(), RT_DestProb(), RT_diffuse(), RT_line_all(), RT_line_one_tau_reset(), RT_line_static(), RT_LineWidth(), RT_OTS(), RT_OTS_AddCont(), RT_OTS_AddLine(), RT_OTS_PrtRate(), RT_OTS_Update(), RT_radiative_acceleration(), RT_recom_effic(), RT_tau_inc(), RT_tau_init(), RT_tau_reset(), RTesc_lya(), RTesc_lya_1side(), SanityCheckBegin(), state_get_put(), tauff(), zero(), ZoneEnd(), and ZoneStart().


Generated for cloudy by doxygen 1.5.9