Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
atmdat_char_tran.cpp File Reference
#include "cddefines.h"
#include "phycon.h"
#include "abund.h"
#include "dense.h"
#include "iso.h"
#include "thermal.h"
#include "elementnames.h"
#include "heavy.h"
#include "trace.h"
#include "conv.h"
#include "atmdat.h"
#include "ion_trim.h"
#include "mole.h"
#include "parser.h"
Include dependency graph for atmdat_char_tran.cpp:

Macros

#define FRAC   0.1
 

Functions

STATIC double HCTIon (long int ion, long int nelem)
 
STATIC double HCTRecom (long int ion, long int nelem)
 
STATIC void MakeHCTData (void)
 
void ChargTranEval (void)
 
double ChargTranSumHeat (void)
 
void ChargTranPun (FILE *ipPnunit, char *chSave)
 

Variables

static double CTIonData [LIMELM][4][8]
 
static double CTRecombData [LIMELM][4][7]
 
static bool lgCTDataDefined = false
 

Macro Definition Documentation

◆ FRAC

#define FRAC   0.1

Function Documentation

◆ ChargTranEval()

void ChargTranEval ( void )

atmdat fill in the CharExcIonOf[ipHYDROGEN] and Rec arrays with Kingdon's fitted CT with H,

Todo
1 update ct to Kimura et al. (1996)
Todo
1 above rate not intended for very low temperatures - find ref for low-T rate, probably is 1e-9 like above
Todo
0 these should be values at 1e5 K
Todo
2 not currently used - include as deexcitation process

References atmdat, conv, DEBUG_ENTRY, fp_equal(), HCTIon(), HCTRecom(), hmrate4(), ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, LIMELM, MIN2, mole_global, phycon, pow(), SDIV(), and sexp().

Referenced by ChargTranPun(), and ConvBase().

Here is the call graph for this function:

◆ ChargTranPun()

void ChargTranPun ( FILE * ipPnunit,
char * chSave )

save charge transfer rate coefficients

Parameters
ipPnunit
chSave

References abund, ASSERT, atmdat, cdEXIT, ChargTranEval(), DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, fprintf(), HCTIon(), HCTRecom(), Heavy, ion_trim_untrim(), ioQQQ, ipHELIUM, ipHYDROGEN, LIMELM, phycon, and TempChange().

Referenced by SaveDo().

Here is the call graph for this function:

◆ ChargTranSumHeat()

double ChargTranSumHeat ( void )

sum up the charge transfer heating

Returns

References ASSERT, atmdat, CTIonData, CTRecombData, DEBUG_ENTRY, dense, fixit, fprintf(), FRAC, ioQQQ, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipLITHIUM, iso_sp, lgCTDataDefined, LIMELM, MAX2, MIN2, and thermal.

Referenced by ConvBase().

Here is the call graph for this function:

◆ HCTIon()

STATIC double HCTIon ( long int ion,
long int nelem )

References ASSERT, CTIonData, DEBUG_ENTRY, fprintf(), ioQQQ, lgCTDataDefined, LIMELM, MakeHCTData(), MAX2, MIN2, phycon, pow(), STATIC, and trace.

Referenced by ChargTranEval(), and ChargTranPun().

Here is the call graph for this function:

◆ HCTRecom()

STATIC double HCTRecom ( long int ion,
long int nelem )

References ASSERT, atmdat, CTRecombData, DEBUG_ENTRY, fprintf(), ioQQQ, lgCTDataDefined, LIMELM, MakeHCTData(), MAX2, MIN2, phycon, pow(), sexp(), STATIC, and trace.

Referenced by ChargTranEval(), and ChargTranPun().

Here is the call graph for this function:

◆ MakeHCTData()

Variable Documentation

◆ CTIonData

double CTIonData[LIMELM][4][8]
static

◆ CTRecombData

double CTRecombData[LIMELM][4][7]
static

◆ lgCTDataDefined

bool lgCTDataDefined = false
static

Referenced by ChargTranSumHeat(), HCTIon(), and HCTRecom().