80 static long ilev(
long ipHi,
long ipLo)
83 return (ipHi*(ipHi-1))/2+ipLo;
87 void alloc(
long nHi,
long ,
long nCollider)
90 m_a.alloc(
ilev(nHi+1,0),nCollider);
95 void junk(
long ipHi,
long ipLo,
long ipCollider)
97 m_a[
ilev(ipHi,ipLo)][ipCollider].junk();
99 bool&
lgIsRate(
long ipHi,
long ipLo,
long ipCollider)
101 return m_a[
ilev(ipHi,ipLo)][ipCollider].lgIsRate;
105 void setpoints(
long ipHi,
long ipLo,
long ipCollider,
long npoints)
108 long length = offset+npoints;
112 m_a[
ilev(ipHi,ipLo)][ipCollider].setslice(offset,npoints);
115 long ntemps(
long ipHi,
long ipLo,
long ipCollider)
117 return m_a[
ilev(ipHi,ipLo)][ipCollider].ntemps();
120 double*
temps(
long ipHi,
long ipLo,
long ipCollider)
125 double*
collstrs(
long ipHi,
long ipLo,
long ipCollider)
236 long int iHi,
long int iLo,
long int iZ,
double TempIn,
256#define NUM_HS98_DATA_POINTS 811
462 for(
int ion=0; ion < nelem+2; ++ion )
480 virtual void operator()(
long&,
long&,
const char*,
long&) = 0;
492 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
496 long index = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL );
502 ipHi = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
503 ipLo = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
515 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
517 diatom_.GetIndices( ipHi, ipLo, chLine, i );
532 stringstream Comment;
533 if( clo.length() > 0 && chi.length() > 0 )
534 Comment << clo <<
" -- " << chi;
535 return Comment.str();
multi_arr< long, 4 > OP_Helike_NumPts
Definition atmdat.cpp:65
multi_arr< vector< double >, 4 > OP_Helike_Xsectn
Definition atmdat.cpp:63
multi_arr< double, 4 > HS_He1_Xsectn
Definition atmdat.cpp:61
t_atmdat atmdat
Definition atmdat.cpp:7
multi_arr< vector< double >, 4 > OP_Helike_Energy
Definition atmdat.cpp:64
multi_arr< double, 4 > HS_He1_Energy
Definition atmdat.cpp:62
void atmdat_readin(void)
Definition atmdat_readin.cpp:80
void atmdat_outer_shell(long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
Definition atmdat_outer_shell.cpp:8
double InterpCollRate(const CollRateCoeffArray &rate_table, const long &ipHi, const long &ipLo, const double &ftemp)
Definition atmdat.cpp:188
double ChargTranSumHeat(void)
Definition atmdat_char_tran.cpp:569
void ReadCollisionRateTable(CollRateCoeffArray &coll_rate_table, FILE *io, FunctPtr GetIndices, long nMolLevs, long nTemps=-1, long nTrans=-1)
Definition atmdat.cpp:67
#define NLINEHS
Definition atmdat.h:253
void atmdat_STOUT_readin(long intNS, const string &chFileName)
Definition atmdat_chianti.cpp:107
double atmdat_dielrec_fe(long int ion, double t)
Definition atmdat_dielrec_fe.cpp:8
void ChargTranPun(FILE *ipPnunit, char *chSave)
Definition atmdat_char_tran.cpp:945
void ChargTranEval(void)
Definition atmdat_char_tran.cpp:44
double atmdat_2phot_shapefunction(double EbyE2nu, long ipISO, long nelem)
Definition atmdat_2photon.cpp:230
string db_comment_tran_levels(const string &clo="", const string &chi="")
Definition atmdat.h:530
#define NHSDIM
Definition atmdat.h:252
double atmdat_HS_caseB(long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase)
Definition atmdat_HS_caseb.cpp:7
void atmdat_3body(void)
Definition atmdat_3body.cpp:52
#define HS_NZ
Definition atmdat.h:254
void atmdat_CHIANTI_readin(long intNS, const string &chFileName)
Definition atmdat_chianti.cpp:669
Funct * FunctPtr
Definition atmdat.h:486
double CHIANTI_Upsilon(long, long, long, long, double)
Definition species2.cpp:869
void atmdat_H_phot_cs(void)
void LoadIsotopes()
Definition isotopes.cpp:9
void atmdat_LAMDA_readin(long intNS, const string &chFileName)
Definition atmdat_lamda.cpp:28
FILE * ioQQQ
Definition cddefines.cpp:9
const int FILENAME_PATH_LENGTH
Definition cddefines.h:303
const int LIMELM
Definition cddefines.h:318
#define EXIT_FAILURE
Definition cddefines.h:175
double FFmtRead(const char *chCard, long int *ipnt, long int last, bool *lgEOL)
Definition service.cpp:393
#define cdEXIT(FAIL)
Definition cddefines.h:480
int fprintf(const Output &stream, const char *format,...)
Definition service.cpp:1325
long max(int a, long b)
Definition cddefines.h:821
const int ipHYDROGEN
Definition cddefines.h:359
#define DEBUG_ENTRY(funcname)
Definition cddefines.h:730
multi_arr< double, 3 > collrates
Definition atmdat.h:18
vector< double > temps
Definition atmdat.h:16
CollSplinesArray()
Definition atmdat.h:39
vector< double > SplineSecDer
Definition atmdat.h:33
long intTranType
Definition atmdat.h:36
double EnergyDiff
Definition atmdat.h:37
double ScalingParam
Definition atmdat.h:38
long nSplinePts
Definition atmdat.h:35
vector< double > collspline
Definition atmdat.h:32
const diatomics & diatom_
Definition atmdat.h:520
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
Definition atmdat.h:515
FunctDiatoms(const diatomics &diatom)
Definition atmdat.h:514
virtual ~Funct()=0
Definition atmdat.h:484
virtual void operator()(long &, long &, const char *, long &)=0
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
Definition atmdat.h:492
FunctLAMDA(void)
Definition atmdat.h:491
void alloc(long nHi, long, long nCollider)
Definition atmdat.h:87
void junk(long ipHi, long ipLo, long ipCollider)
Definition atmdat.h:95
void setpoints(long ipHi, long ipLo, long ipCollider, long npoints)
Definition atmdat.h:105
multi_arr< StoutColls, 2 > m_a
Definition atmdat.h:78
bool & lgIsRate(long ipHi, long ipLo, long ipCollider)
Definition atmdat.h:99
vector< double > m_temps
Definition atmdat.h:79
long ntemps(long ipHi, long ipLo, long ipCollider)
Definition atmdat.h:115
static long ilev(long ipHi, long ipLo)
Definition atmdat.h:80
vector< double > m_collstrs
Definition atmdat.h:79
double * temps(long ipHi, long ipLo, long ipCollider)
Definition atmdat.h:120
double * collstrs(long ipHi, long ipLo, long ipCollider)
Definition atmdat.h:125
module()
Definition module.h:29
Definition container_classes.h:916
Definition cddefines.h:1299
long offset() const
Definition atmdat.h:67
long ntemps()
Definition atmdat.h:50
bool lgIsRate
Definition atmdat.h:72
void setslice(long offset, long ntemps)
Definition atmdat.h:62
long m_ntemps
Definition atmdat.h:47
long m_offset
Definition atmdat.h:47
void junk()
Definition atmdat.h:55
const long nDefaultCollLevels
Definition atmdat.h:367
const long nDefaultCollLevelsFe
Definition atmdat.h:365
const char * chName() const
Definition atmdat.h:259
const long nDefaultPhotoLevels
Definition atmdat.h:363
bool lgCTOn
Definition atmdat.h:326
char chLamdaFile[FILENAME_PATH_LENGTH]
Definition atmdat.h:394
long nChiantiMaxLevels
Definition atmdat.h:385
bool lgHCaseBOK[2][HS_NZ]
Definition atmdat.h:343
vector< t_wavl > CaseBWlHeI
Definition atmdat.h:359
bool lgLamdaPrint
Definition atmdat.h:392
long nLamdaMaxLevels
Definition atmdat.h:396
double ElecTemp[2][HS_NZ][NHSDIM]
Definition atmdat.h:331
bool lgStoutLvl2Hybrid
Definition atmdat.h:403
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
Definition atmdat.h:302
double getIonPot(long int nelem, long int ion)
Definition atmdat.h:290
long nChiantiMaxLevelsFe
Definition atmdat.h:383
long int nDensity[2][HS_NZ]
Definition atmdat.h:336
const long nDefaultMolLevels
Definition atmdat.h:369
bool lgLamdaOn
Definition atmdat.h:390
string chVersion
Definition atmdat.h:445
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
Definition atmdat.h:301
char chStoutFile[FILENAME_PATH_LENGTH]
Definition atmdat.h:407
double HCharHeatMax
Definition atmdat.h:303
CollIonRC
Definition atmdat.h:441
@ HYBRID
Definition atmdat.h:441
@ DIMA
Definition atmdat.h:441
bool lgGbarOn
Definition atmdat.h:420
void comment(t_warnings &)
Definition atmdat.h:264
double HCharCoolMax
Definition atmdat.h:304
double CharExcRecTotal[NCX]
Definition atmdat.h:312
bool lgUTAprint
Definition atmdat.h:432
long int nsbig
Definition atmdat.h:346
bool lgLamdaLevelsSet
Definition atmdat.h:398
double HCharExcRecTo_N0_2D
Definition atmdat.h:308
@ NCX
Definition atmdat.h:279
double HIonFracMax
Definition atmdat.h:318
char chCloudyChiantiFile[FILENAME_PATH_LENGTH]
Definition atmdat.h:381
double CharExcIonTotal[NCX]
Definition atmdat.h:311
bool lgdBaseSourceExists[LIMELM][LIMELM+1]
Definition atmdat.h:450
bool lgStoutOn
Definition atmdat.h:401
t_atmdat()
Definition atmdat.h:455
void zero()
Definition atmdat.cpp:9
const long nDefaultPhotoLevelsFe
Definition atmdat.h:361
bool lgChiantiLvl2Hybrid
Definition atmdat.h:375
double Emiss[2][HS_NZ][NHSDIM][NHSDIM][NLINEHS]
Definition atmdat.h:333
long int ntemp[2][HS_NZ]
Definition atmdat.h:336
bool lgChiantiExp
Definition atmdat.h:379
bool lgCollIonOn
Definition atmdat.h:350
double EIonPot[LIMELM][LIMELM]
Definition atmdat.h:282
bool lgChiantiOn
Definition atmdat.h:373
static const double aulThreshold
Definition atmdat.h:436
double collstrDefault
Definition atmdat.h:425
double HCTAlex
Definition atmdat.h:322
long nStoutMaxLevelsFe
Definition atmdat.h:409
long int ncut[2][HS_NZ]
Definition atmdat.h:338
bool lgCalpgmOn
Definition atmdat.h:418
double HIonFrac
Definition atmdat.h:315
char chdBaseSources[LIMELM][LIMELM+1][10]
Definition atmdat.h:448
bool lgInnerShell_Kisielius
Definition atmdat.h:430
multi_arr< long, 2 > ipSpecIon
Definition atmdat.h:453
CollIonRC CIRCData
Definition atmdat.h:442
long nStoutMaxLevels
Definition atmdat.h:412
double Density[2][HS_NZ][NHSDIM]
Definition atmdat.h:330
bool lgChiantiLevelsSet
Definition atmdat.h:387
bool lgChiantiPrint
Definition atmdat.h:377
bool lgStoutPrint
Definition atmdat.h:405
bool lgStoutLevelsSet
Definition atmdat.h:414
t_wavl WaveLengthCaseB[8][25][24]
Definition atmdat.h:356
double HCharHeatOn
Definition atmdat.h:305
bool lgInnerShellLine_on
Definition atmdat.h:428