Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
rt_ots.cpp File Reference
#include "cddefines.h"
#include "taulines.h"
#include "opacity.h"
#include "dense.h"
#include "iso.h"
#include "hmi.h"
#include "h2.h"
#include "rfield.h"
#include "conv.h"
#include "rt.h"
#include "heavy.h"
#include "he.h"
#include "trace.h"
#include "mole.h"
#include "freebound.h"
#include "two_photon.h"
#include "cosmology.h"
Include dependency graph for rt_ots.cpp:

Functions

STATIC void RT_OTS_AddCont (realnum ots, long int ip)
 
void RT_OTS (void)
 
void RT_OTS_AddLine (double ots, long int ip)
 
void RT_OTS_Update (double *SumOTS)
 
void RT_OTS_Zero (void)
 
void RT_OTS_ChkSum (long int ipPnt)
 
void RT_OTS_PrtRate (double weak, int chFlag)
 

Variables

static int nOTS_Line_type = -1
 
static int nOTS1 =-1
 
static int nOTS2 =-1
 

Function Documentation

◆ RT_OTS()

void RT_OTS ( void )

RT_OTS compute diffuse fields due to helium atom, metals, hydro done in HydroOTS

Todo
2 should also check whether IonLo is in bounds - in func_set_ion test He0 is set to zero, so this does not do anything. as NISO grows this will become larger waste of time

References ASSERT, dBaseSpecies, dBaseTrans, DEBUG_ENTRY, dense, DEST0, diatoms, ExtraLymanLinesJ05, ExtraLymanLinesJ15, findspecieslocal(), fnzone, fprintf(), he, Heavy, hmi, ioQQQ, ipExtraLymanLinesJ05, ipExtraLymanLinesJ15, ipH1s, ipH2p, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipRecEsc, ipRecRad, iso_sp, L_, lgIsLymanLine(), LIMELM, MAX2, N_, NISO, nOTS1, nOTS2, nOTS_Line_type, nSpecies, nWindLine, nzone, opac, rfield, RT_OTS_AddCont(), RT_OTS_AddLine(), SMALLFLOAT, TauLine2, and trace.

Referenced by ConvBase().

Here is the call graph for this function:

◆ RT_OTS_AddCont()

STATIC void RT_OTS_AddCont ( realnum ots,
long int ip )

References ASSERT, DEBUG_ENTRY, opac, rfield, and STATIC.

Referenced by RT_OTS().

◆ RT_OTS_AddLine()

void RT_OTS_AddLine ( double ots,
long int ip )

RT_OTS_AddLine add local destruction of lines to ots field

Parameters
ots
ippointer on the f scale

References ASSERT, DEBUG_ENTRY, fprintf(), ioQQQ, iteration, nOTS1, nOTS2, nOTS_Line_type, opac, and rfield.

Referenced by diatomics::H2_RT_OTS(), and RT_OTS().

Here is the call graph for this function:

◆ RT_OTS_ChkSum()

void RT_OTS_ChkSum ( long int ipPnt)

RT_OTS_ChkSum sanity check confirms summed continua reflect contents of individuals

References DEBUG_ENTRY, fprintf(), ioQQQ, rfield, and TotalInsanity().

Referenced by ConvPresTempEdenIoniz().

Here is the call graph for this function:

◆ RT_OTS_PrtRate()

void RT_OTS_PrtRate ( double weak,
int chFlag )

RT_OTS_PrtRate print ots arrays, called by ionize

Parameters
weakarg is weakest rate to print
chFlagflag, 'c' continuum, 'l' line, 'b' both

References ASSERT, conv, DEBUG_ENTRY, dense, fnzone, fprintf(), ioQQQ, ipHELIUM, ipOXYGEN, opac, rfield, and TorF().

Referenced by ConvBase().

Here is the call graph for this function:

◆ RT_OTS_Update()

void RT_OTS_Update ( double * SumOTS)

RTOTSUpdata sum flux, otscon, otslin, ConInterOut, outlin, to form SummeDif, SummedCon SummedOcc,
int * is pointer to energy in continuum where this change happened,

Parameters
SumOTS
Returns
sum of ots rates

References ASSERT, CalcTwoPhotonEmission(), cosmology, DEBUG_ENTRY, dense, ipH_LIKE, iso_ctrl, iso_sp, LIMELM, MAX2, NISO, opac, rfield, SMALLDOUBLE, t_iso_sp::TwoNu, and vzero().

Referenced by ConvBase(), EdenError(), and IterRestart().

Here is the call graph for this function:

◆ RT_OTS_Zero()

void RT_OTS_Zero ( void )

zero these things out, called in zero

References DEBUG_ENTRY, and rfield.

Referenced by ContSetIntensity().

Variable Documentation

◆ nOTS1

int nOTS1 =-1
static

Referenced by RT_OTS(), and RT_OTS_AddLine().

◆ nOTS2

int nOTS2 =-1
static

Referenced by RT_OTS(), and RT_OTS_AddLine().

◆ nOTS_Line_type

int nOTS_Line_type = -1
static

Referenced by RT_OTS(), and RT_OTS_AddLine().