cloudy trunk
Loading...
Searching...
No Matches
helike_cs.cpp File Reference
#include "cddefines.h"
#include "atmdat.h"
#include "conv.h"
#include "dense.h"
#include "helike.h"
#include "helike_cs.h"
#include "hydro_vs_rates.h"
#include "iso.h"
#include "lines_service.h"
#include "opacity.h"
#include "phycon.h"
#include "physconst.h"
#include "rfield.h"
#include "taulines.h"
#include "thirdparty.h"
#include "trace.h"
Include dependency graph for helike_cs.cpp:

Go to the source code of this file.

Data Structures

class  my_Integrand_S62
class  my_Integrand_VF01_E
class  my_Integrand_VF01_alpha

Macros

#define chLine_LENGTH   1000

Functions

STATIC double S62_Therm_ave_coll_str (double proj_energy_overKT, long nelem, long Collider, double deltaE, double osc_strength, double temp, double stat_weight, double I_energy_eV)
STATIC double collision_strength_VF01 (long ipISO, long nelem, long n, long l, long lp, long s, long Collider, double ColliderCharge, double temp, double velOrEner, bool lgParamIsRedVel)
STATIC double L_mix_integrand_VF01 (long n, long l, long lp, double bmax, double red_vel, double an, double ColliderCharge, double alpha)
STATIC double StarkCollTransProb_VF01 (long int n, long int l, long int lp, double alpha, double deltaPhi)
void HeCollidSetup (void)
realnum HeCSInterp (long int nelem, long int ipHi, long int ipLo, long int Collider)
realnum AtomCSInterp (long int nelem, long int ipHi, long int ipLo, realnum *factor1, const char **where, long int Collider)
realnum IonCSInterp (long nelem, long ipHi, long ipLo, realnum *factor1, const char **where, long Collider)
double CS_l_mixing_S62 (long ipISO, long nelem, long ipLo, long ipHi, double temp, long Collider)
double CS_l_mixing_PS64 (long nelem, double tau, double target_charge, long n, long l, double gHi, long Collider)
double CS_l_mixing_VF01 (long int ipISO, long int nelem, long int n, long int l, long int lp, long int s, double temp, long int Collider)
STATIC double StarkCollTransProb_VF01 (long n, long l, long lp, double alpha, double deltaPhi)

Variables

vector< double > CSTemp
multi_arr< realnum, 3 > HeCS
static const double ColliderMass [4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0}
static const double ColliderCharge [4] = {1.0, 1.0, 1.0, 2.0}

Macro Definition Documentation

◆ chLine_LENGTH

#define chLine_LENGTH   1000

Function Documentation

◆ AtomCSInterp()

realnum AtomCSInterp ( long int nelem,
long int ipHi,
long int ipLo,
realnum * factor,
const char ** where,
long int Collider )

AtomCSInterp do the atom

Parameters
nelem
ipHi
ipLo
*factor
**where
Collider

Definition at line 289 of file helike_cs.cpp.

References ASSERT, CS_l_mixing_PS64(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), CSTemp, DEBUG_ENTRY, g, HeCS, ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, iso_ctrl, iso_sp, MAX2, phycon, S, and TotalInsanity().

Referenced by HeCSInterp().

Here is the call graph for this function:

◆ collision_strength_VF01()

◆ CS_l_mixing_PS64()

double CS_l_mixing_PS64 ( long nelem,
double tau,
double target_charge,
long n,
long l,
double gHi,
long Collider )

◆ CS_l_mixing_S62()

double CS_l_mixing_S62 ( long ipISO,
long nelem,
long ipLo,
long ipHi,
double temp,
long Collider )

◆ CS_l_mixing_VF01()

double CS_l_mixing_VF01 ( long int ipISO,
long int nelem,
long int n,
long int l,
long int lp,
long int s,
double temp,
long int Collider )

◆ HeCollidSetup()

void HeCollidSetup ( void )

HeCollidSetup read in helium collision data files

Definition at line 90 of file helike_cs.cpp.

References ASSERT, cdEXIT, chLine_LENGTH, COLLISMAGIC, CSTemp, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), HeCS, ioQQQ, ipHE_LIKE, ipHELIUM, iso_sp, open_data(), read_whole_line(), strchr_s(), and trace.

Referenced by iso_create().

Here is the call graph for this function:

◆ HeCSInterp()

realnum HeCSInterp ( long int nelem,
long int ipHi,
long int ipLo,
long int Collider )

HeCSInterp interpolate on He1 collision strengths

Parameters
nelem
ipHi
ipLo
Collider

Definition at line 227 of file helike_cs.cpp.

References ASSERT, AtomCSInterp(), DEBUG_ENTRY, IonCSInterp(), ioQQQ, ipHE_LIKE, ipHELIUM, ipOXYGEN, iso_ctrl, iso_sp, MAX2, and S.

Referenced by AGN_He1_CS(), and iso_collide().

Here is the call graph for this function:

◆ IonCSInterp()

realnum IonCSInterp ( long nelem,
long ipHi,
long ipLo,
realnum * factor1,
const char ** where,
long Collider )

◆ L_mix_integrand_VF01()

STATIC double L_mix_integrand_VF01 ( long n,
long l,
long lp,
double bmax,
double red_vel,
double an,
double ColliderCharge,
double alpha )

Definition at line 1380 of file helike_cs.cpp.

References ASSERT, ColliderCharge, DEBUG_ENTRY, PI, StarkCollTransProb_VF01(), and STATIC.

Referenced by my_Integrand_VF01_alpha::operator()().

Here is the call graph for this function:

◆ S62_Therm_ave_coll_str()

STATIC double S62_Therm_ave_coll_str ( double proj_energy_overKT,
long nelem,
long Collider,
double deltaE,
double osc_strength,
double temp,
double stat_weight,
double I_energy_eV )

◆ StarkCollTransProb_VF01() [1/2]

STATIC double StarkCollTransProb_VF01 ( long int n,
long int l,
long int lp,
double alpha,
double deltaPhi )

References STATIC.

Referenced by L_mix_integrand_VF01().

◆ StarkCollTransProb_VF01() [2/2]

STATIC double StarkCollTransProb_VF01 ( long n,
long l,
long lp,
double alpha,
double deltaPhi )

Definition at line 1407 of file helike_cs.cpp.

References ASSERT, DEBUG_ENTRY, ellpk(), PI, POW2, and STATIC.

Here is the call graph for this function:

Variable Documentation

◆ ColliderCharge

const double ColliderCharge[4] = {1.0, 1.0, 1.0, 2.0}
static

◆ ColliderMass

const double ColliderMass[4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0}
static

◆ CSTemp

vector<double> CSTemp

vector of temperatures corresponding to collision strengths stuffed into HeCS.

Definition at line 26 of file helike_cs.cpp.

Referenced by AtomCSInterp(), CS_l_mixing_PS64(), and HeCollidSetup().

◆ HeCS

multi_arr<realnum,3> HeCS

array of collision strengths read from data file...this is interpolated upon.

Definition at line 28 of file helike_cs.cpp.

Referenced by AtomCSInterp(), CS_l_mixing_PS64(), and HeCollidSetup().