/home66/gary/public_html/cloudy/c13_branch/source/thirdparty.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool linfit (long n, const double x[], const double y[], double &a, double &siga, double &b, double &sigb)
double factorial (long n)
double lfactorial (long n)
complex< double > cdgamma (complex< double > x)
double bessel_j0 (double x)
double bessel_y0 (double x)
double bessel_j1 (double x)
double bessel_y1 (double x)
double bessel_jn (int n, double x)
double bessel_yn (int n, double x)
double bessel_k0 (double x)
double bessel_k0_scaled (double x)
double bessel_k1 (double x)
double bessel_k1_scaled (double x)
double bessel_i0 (double x)
double bessel_i0_scaled (double x)
double bessel_i1 (double x)
double bessel_i1_scaled (double x)
double ellpk (double x)
double expn (int n, double x)
double erf (double)
double erfc (double)
double erfce (double)
void init_genrand (unsigned long s)
void init_by_array (unsigned long init_key[], int key_length)
unsigned long genrand_int32 (void)
long genrand_int31 (void)
double genrand_real1 (void)
double genrand_real2 (void)
double genrand_real3 (void)
double genrand_res53 (void)
void spline_cubic_set (long n, const double t[], const double y[], double ypp[], int ibcbeg, double ybcbeg, int ibcend, double ybcend)
void spline_cubic_val (long n, const double t[], double tval, const double y[], const double ypp[], double *yval, double *ypval, double *yppval)
void spline (const double x[], const double y[], long int n, double yp1, double ypn, double y2a[])
void splint (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y)
void spldrv (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y)
void splint_safe (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y, bool *lgOutOfBounds)
void spldrv_safe (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y, bool *lgOutOfBounds)
double lagrange (const double x[], const double y[], long n, double xval)
double linint (const double x[], const double y[], long n, double xval)
template<class T >
long hunt_bisect (const T x[], long n, T xval)
template<class T >
long hunt_bisect_reverse (const T x[], long n, T xval)
void getrf_wrapper (long M, long N, double *A, long lda, int32 *ipiv, int32 *info)
void getrs_wrapper (char trans, long N, long nrhs, double *A, long lda, int32 *ipiv, double *B, long ldb, int32 *info)
void humlik (int n, const realnum x[], realnum y, realnum k[])
realnum FastVoigtH (realnum a, realnum v)
void VoigtH (realnum a, const realnum v[], realnum y[], int n)
void VoigtU (realnum a, const realnum v[], realnum y[], int n)
double VoigtH0 (double a)
double VoigtU0 (double a)
string MD5file (const char *fnam, access_scheme scheme=AS_DATA_ONLY)
string MD5datafile (const char *fnam, access_scheme scheme=AS_DATA_ONLY)
string MD5string (const string &str)

Variables

static const int NPRE_FACTORIAL = 171
static const unsigned int NMD5 = 32

Function Documentation

double bessel_i0 ( double  x  ) 

Definition at line 1726 of file thirdparty.cpp.

References chbevl(), DEBUG_ENTRY, i0_A, and i0_B.

Referenced by bessel_k0(), and bessel_k0_scaled().

Here is the call graph for this function:

double bessel_i0_scaled ( double  x  ) 

Definition at line 1743 of file thirdparty.cpp.

References chbevl(), DEBUG_ENTRY, i0_A, and i0_B.

Here is the call graph for this function:

double bessel_i1 ( double  x  ) 

Definition at line 1908 of file thirdparty.cpp.

References chbevl(), DEBUG_ENTRY, i1_A, and i1_B.

Referenced by bessel_k1(), and bessel_k1_scaled().

Here is the call graph for this function:

double bessel_i1_scaled ( double  x  ) 

Definition at line 1929 of file thirdparty.cpp.

References chbevl(), DEBUG_ENTRY, i1_A, and i1_B.

Here is the call graph for this function:

double bessel_j0 ( double  x  ) 

Definition at line 708 of file thirdparty.cpp.

References b0_PP, b0_PQ, b0_QP, b0_QQ, b0_RP, b0_RQ, DEBUG_ENTRY, DR1, DR2, p1evl(), PIO4, polevl(), and SQ2OPI.

Referenced by bessel_jn(), and bessel_y0().

Here is the call graph for this function:

double bessel_j1 ( double  x  ) 

Definition at line 939 of file thirdparty.cpp.

References b1_PP, b1_PQ, b1_QP, b1_QQ, b1_RP, b1_RQ, DEBUG_ENTRY, p1evl(), polevl(), SQ2OPI, THPIO4, Z1, and Z2.

Referenced by bessel_jn(), and bessel_y1().

Here is the call graph for this function:

double bessel_jn ( int  n,
double  x 
)

Definition at line 1042 of file thirdparty.cpp.

References bessel_j0(), bessel_j1(), DEBUG_ENTRY, factorial(), powi(), and sign().

Here is the call graph for this function:

double bessel_k0 ( double  x  ) 

Definition at line 1359 of file thirdparty.cpp.

References bessel_i0(), cdEXIT, chbevl(), DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, k0_A, and k0_B.

Referenced by S62_Therm_ave_coll_str().

Here is the call graph for this function:

double bessel_k0_scaled ( double  x  ) 

Definition at line 1382 of file thirdparty.cpp.

References bessel_i0(), cdEXIT, chbevl(), DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, k0_A, and k0_B.

Here is the call graph for this function:

double bessel_k1 ( double  x  ) 

Definition at line 1535 of file thirdparty.cpp.

References bessel_i1(), cdEXIT, chbevl(), DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, k1_A, and k1_B.

Referenced by S62_Therm_ave_coll_str().

Here is the call graph for this function:

double bessel_k1_scaled ( double  x  ) 

Definition at line 1557 of file thirdparty.cpp.

References bessel_i1(), cdEXIT, chbevl(), DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, k1_A, and k1_B.

Here is the call graph for this function:

double bessel_y0 ( double  x  ) 

Definition at line 746 of file thirdparty.cpp.

References b0_PP, b0_PQ, b0_QP, b0_QQ, b0_YP, b0_YQ, bessel_j0(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, p1evl(), PIO4, polevl(), SQ2OPI, and TWOOPI.

Referenced by bessel_yn().

Here is the call graph for this function:

double bessel_y1 ( double  x  ) 

Definition at line 966 of file thirdparty.cpp.

References b1_PP, b1_PQ, b1_QP, b1_QQ, b1_YP, b1_YQ, bessel_j1(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, p1evl(), polevl(), SQ2OPI, THPIO4, and TWOOPI.

Referenced by bessel_yn().

Here is the call graph for this function:

double bessel_yn ( int  n,
double  x 
)

Definition at line 1177 of file thirdparty.cpp.

References bessel_y0(), bessel_y1(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, and sign().

Here is the call graph for this function:

complex<double> cdgamma ( complex< double >  x  ) 

Definition at line 432 of file thirdparty.cpp.

References DEBUG_ENTRY.

Referenced by DoSutherland(), and Hypergeometric2F1().

double ellpk ( double  x  ) 

Definition at line 2041 of file thirdparty.cpp.

References C1, cdEXIT, DEBUG_ENTRY, elk_P, elk_Q, EXIT_FAILURE, ioQQQ, and polevl().

Referenced by StarkCollTransProb_VF01().

Here is the call graph for this function:

double erf ( double   ) 

the standard error functions

Definition at line 2492 of file thirdparty.cpp.

References DEBUG_ENTRY, erf_T, erf_U, erfc(), p1evl(), and polevl().

Referenced by erfc().

Here is the call graph for this function:

double erfc ( double   ) 

Definition at line 2404 of file thirdparty.cpp.

References DEBUG_ENTRY, erf(), erf_P, erf_Q, erf_R, erf_S, expx2(), lgUSE_EXPXSQ, MAXLOG, p1evl(), and polevl().

Referenced by erf().

Here is the call graph for this function:

double erfce ( double   ) 

erfce(a) returns erfc(a)*exp(a^2)

Definition at line 2454 of file thirdparty.cpp.

References DEBUG_ENTRY, erf_P, erf_Q, erf_R, erf_S, p1evl(), and polevl().

Referenced by VoigtH0(), and VoigtU0().

Here is the call graph for this function:

double expn ( int  n,
double  x 
)

expn, returns exponential integral,

Parameters:
n is order, 1 for first integral integral
x is argument, must be positive

Definition at line 2121 of file thirdparty.cpp.

References BIG, cdEXIT, DEBUG_ENTRY, EULER, EXIT_FAILURE, factorial(), ioQQQ, is_odd(), MAXLOG, and powi().

Referenced by k2DampArg::operator()(), ParseDrive(), and SanityCheckBegin().

Here is the call graph for this function:

double factorial ( long  n  ) 

factorial: compute n! by lookup in table of predefined factorials

Definition at line 356 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, NPRE_FACTORIAL, and pre_factorial.

Referenced by bessel_jn(), bhg(), bhG(), DoSutherland(), expn(), fsff(), and hrii().

realnum FastVoigtH ( realnum  a,
realnum  v 
)

Definition at line 3171 of file thirdparty.cpp.

References ASSERT, dawson(), DEBUG_ENTRY, dsexp(), order(), pow2(), and SQRTPI.

Referenced by VoigtH().

Here is the call graph for this function:

long genrand_int31 ( void   ) 

Definition at line 2918 of file thirdparty.cpp.

References next_state(), nexxt, and nleft.

Here is the call graph for this function:

unsigned long genrand_int32 ( void   ) 

Definition at line 2901 of file thirdparty.cpp.

References next_state(), nexxt, and nleft.

Referenced by genrand_res53().

Here is the call graph for this function:

double genrand_real1 ( void   ) 

Definition at line 2935 of file thirdparty.cpp.

References next_state(), nexxt, and nleft.

Here is the call graph for this function:

double genrand_real2 ( void   ) 

Definition at line 2953 of file thirdparty.cpp.

References next_state(), nexxt, and nleft.

Here is the call graph for this function:

double genrand_real3 ( void   ) 

Definition at line 2971 of file thirdparty.cpp.

References next_state(), nexxt, and nleft.

Referenced by RandGauss().

Here is the call graph for this function:

double genrand_res53 ( void   ) 

Definition at line 2989 of file thirdparty.cpp.

References genrand_int32().

Here is the call graph for this function:

void getrf_wrapper ( long  M,
long  N,
double *  A,
long  lda,
int32 *  ipiv,
int32 *  info 
)

getrf_wrapper return value is zero for success, non-zero is error condition

Parameters:
M 
N 
*A 
lda 
*ipiv 
*info 

Definition at line 47 of file thirdparty_lapack.cpp.

References ASSERT, DGETRF(), and INT32_MAX.

Referenced by atom_pop5(), AtomSeqBeryllium(), FeIILevelPops(), find_solution(), iso_level(), oi_level_pops(), SanityCheckBegin(), and solve_system().

Here is the call graph for this function:

void getrs_wrapper ( char  trans,
long  N,
long  nrhs,
double *  A,
long  lda,
int32 *  ipiv,
double *  B,
long  ldb,
int32 *  info 
)

getrs_wrapper return value is zero for success, non-zero is error condition

Parameters:
trans 
N 
nrhs 
*A 
lda 
*ipiv 
*B 
ldb 
*info 

Definition at line 69 of file thirdparty_lapack.cpp.

References ASSERT, DGETRS(), and INT32_MAX.

Referenced by atom_pop5(), AtomSeqBeryllium(), FeIILevelPops(), find_solution(), iso_level(), oi_level_pops(), SanityCheckBegin(), and solve_system().

Here is the call graph for this function:

void humlik ( int  n,
const realnum  x[],
realnum  y,
realnum  k[] 
)

Definition at line 3257 of file thirdparty.cpp.

References a0, DEBUG_ENTRY, e2(), and h2.

Referenced by VoigtH().

Here is the call graph for this function:

template<class T >
long hunt_bisect ( const T  x[],
long  n,
xval 
) [inline]

find index ilo such that x[ilo] <= xval < x[ilo+1] using bisection this version implicitly assumes that x is monotonically increasing

Definition at line 270 of file thirdparty.h.

Referenced by t_fe2ovr_la::fe2par(), GrainsInit(), iso_collapsed_bnl_set(), iso_dielec_recomb_rate(), linint(), qheat_init(), spline_cubic_val(), TempInterp(), TempInterp2(), and UpdatePot1().

template<class T >
long hunt_bisect_reverse ( const T  x[],
long  n,
xval 
) [inline]

find index ilo such that x[ilo] <= xval < x[ilo+1] using bisection this version implicitly assumes that x is monotonically decreasing

Definition at line 290 of file thirdparty.h.

void init_by_array ( unsigned long  init_key[],
int  key_length 
)

Definition at line 2853 of file thirdparty.cpp.

References init_genrand(), initf, N, nleft, and state.

Here is the call graph for this function:

void init_genrand ( unsigned long  s  ) 

Definition at line 2834 of file thirdparty.cpp.

References initf, N, nleft, and state.

Referenced by init_by_array(), next_state(), ParseAtomH2(), ParseAtomISO(), and ParseSet().

double lagrange ( const double  x[],
const double  y[],
long  n,
double  xval 
)

lagrange: do lagrange interpolation of order n on x[], y[] use with caution, especialy for high order n! using spline interpolation above is preferred

Parameters:
x[] 
y[] 
n 
xval do lagrange interpolation of order n on x[], y[]

Definition at line 433 of file thirdparty_interpolate.cpp.

References DEBUG_ENTRY.

Referenced by TempInterp(), and TempInterp2().

double lfactorial ( long  n  ) 

lfactorial: compute log10(n!), this sroutine cahes its results for efficiency

Definition at line 399 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, t_lfact::get_lfact(), Singleton< t_lfact >::Inst(), and ioQQQ.

Referenced by bhg_log(), bhG_mx(), hrii_log(), and log10_fsff().

Here is the call graph for this function:

bool linfit ( long  n,
const double  x[],
const double  y[],
double &  a,
double &  siga,
double &  b,
double &  sigb 
)

Definition at line 46 of file thirdparty.cpp.

References ASSERT, DEBUG_ENTRY, and pow2().

Referenced by iter_track::deriv(), and iter_track::zero_fit().

Here is the call graph for this function:

double linint ( const double  x[],
const double  y[],
long  n,
double  xval 
)

do linear interpolation on x[], y[]; it is assumed that x[] is strictly monotonically increasing

Parameters:
x[] 
y[] 
n 
xval do linear interpolation on x[], y[]; it is assumed that x[] is strictly monotonically increasing

Definition at line 456 of file thirdparty_interpolate.cpp.

References ASSERT, DEBUG_ENTRY, and hunt_bisect().

Referenced by CHIANTI_Upsilon(), cross_section(), DynaIterStart(), GetHS98CrossSection(), InterpCollRate(), lines_helium(), MolDissocCrossSection(), and StoutCollRate().

Here is the call graph for this function:

string MD5datafile ( const char *  fnam,
access_scheme  scheme = AS_DATA_ONLY 
)

non-standard MD5 algorithm that skips eol characters and comments lines

Definition at line 3444 of file thirdparty.cpp.

References DEBUG_ENTRY, MD5string(), mode_r, and open_data().

Referenced by t_continuum::t_continuum().

Here is the call graph for this function:

string MD5file ( const char *  fnam,
access_scheme  scheme = AS_DATA_ONLY 
)

calculate the MD5 sum of a file

Definition at line 3425 of file thirdparty.cpp.

References DEBUG_ENTRY, MD5string(), mode_r, and open_data().

Here is the call graph for this function:

string MD5string ( const string &  str  ) 

calculate the MD5 sum of a string

Definition at line 3461 of file thirdparty.cpp.

References ASSERT, cpu, DEBUG_ENTRY, t_cpu::i(), t_cpu_i::little_endian(), MD5_Transform(), and state.

Referenced by MD5datafile(), and MD5file().

Here is the call graph for this function:

void spldrv ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y 
) [inline]

Definition at line 151 of file thirdparty.h.

References spline_cubic_val().

Referenced by spldrv_safe().

Here is the call graph for this function:

void spldrv_safe ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y,
bool *  lgOutOfBounds 
) [inline]

Definition at line 206 of file thirdparty.h.

References DEBUG_ENTRY, MAX2, MIN2, SAFETY, and spldrv().

Referenced by GetProbDistr_LowLimit(), and qheat().

Here is the call graph for this function:

void spline ( const double  x[],
const double  y[],
long int  n,
double  yp1,
double  ypn,
double  y2a[] 
) [inline]

spline: set of routines to do spline interpolation call spline first to set coefficients up, then call splint to interpolate spldrv gives dy/dx(x) rather than y(x) splint_safe and spldrv_safe check whether x is within bounds

Parameters:
x[] - array of x values given
y[] - array of y values given
n - number of points in these arrays
yp1 some sort of boundary condition, set to 2e31
yp2 some sort of boundary condition, set to 2e31
y2a[] - array n long to save coefficients

Definition at line 117 of file thirdparty.h.

References spline_cubic_set().

Referenced by atmdat_2phot_setSplineCoefs(), atmdat_CHIANTI_readin(), hmiopc(), InitEmissivities(), and InitEnthalpy().

Here is the call graph for this function:

void spline_cubic_set ( long  n,
const double  t[],
const double  y[],
double  ypp[],
int  ibcbeg,
double  ybcbeg,
int  ibcend,
double  ybcend 
)

Definition at line 105 of file thirdparty_interpolate.cpp.

References ASSERT, cdEXIT, d3_np_fs(), DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, and MALLOC.

Referenced by spline().

Here is the call graph for this function:

void spline_cubic_val ( long  n,
const double  t[],
double  tval,
const double  y[],
const double  ypp[],
double *  yval,
double *  ypval,
double *  yppval 
)

Definition at line 331 of file thirdparty_interpolate.cpp.

References DEBUG_ENTRY, and hunt_bisect().

Referenced by spldrv(), and splint().

Here is the call graph for this function:

void splint ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y 
) [inline]

splint: do spline interpolation

Parameters:
x[] - array of x values given
y[] - array of y valus
y2a[] - array of save values found above
n - number of points in these arrays
x value where x is desired
y2a[] - array n long to save coefficients

Definition at line 140 of file thirdparty.h.

References spline_cubic_val().

Referenced by atmdat_2phot_shapefunction(), hmiopc(), InitEmissivities(), and splint_safe().

Here is the call graph for this function:

void splint_safe ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y,
bool *  lgOutOfBounds 
) [inline]

Definition at line 166 of file thirdparty.h.

References DEBUG_ENTRY, MAX2, MIN2, SAFETY, and splint().

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), inv_ufunct(), RebinQHeatResults(), TryDoubleStep(), and ufunct().

Here is the call graph for this function:

void VoigtH ( realnum  a,
const realnum  v[],
realnum  y[],
int  n 
) [inline]

Definition at line 350 of file thirdparty.h.

References FastVoigtH(), and humlik().

Referenced by my_Integrand_con_pump_op::operator()(), ParseDrive(), RT_line_fine_opacity(), and VoigtU().

Here is the call graph for this function:

double VoigtH0 ( double  a  )  [inline]

Definition at line 372 of file thirdparty.h.

References erfce().

Here is the call graph for this function:

void VoigtU ( realnum  a,
const realnum  v[],
realnum  y[],
int  n 
) [inline]

Definition at line 364 of file thirdparty.h.

References SQRTPI, and VoigtH().

Referenced by k2DampArg::operator()(), and outline_base().

Here is the call graph for this function:

double VoigtU0 ( double  a  )  [inline]

Definition at line 378 of file thirdparty.h.

References erfce(), and SQRTPI.

Here is the call graph for this function:


Variable Documentation

const unsigned int NMD5 = 32 [static]

the size of an MD5 checksum in characters

Definition at line 384 of file thirdparty.h.

Referenced by InitGrid(), lgCompileAtmosphere(), lgCompileAtmosphereCoStar(), lgValidBinFile(), mie_read_opc(), and ReadTable().

const int NPRE_FACTORIAL = 171 [static]

number of predefined factorials, so largest factorial that can be represented as double is (NPRE_FACTORIAL-1)!

Definition at line 24 of file thirdparty.h.

Referenced by factorial(), and H_photo_cs_lin().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1