Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
grains_mie.cpp File Reference
#include "cddefines.h"
#include "elementnames.h"
#include "dense.h"
#include "called.h"
#include "version.h"
#include "grainvar.h"
#include "rfield.h"
#include "atmdat_adfa.h"
#include "grains.h"
Include dependency graph for grains_mie.cpp:

Classes

class  sd_data
 
class  grain_data
 

Enumerations

enum  rfi_type {
  RFI_TABLE , OPC_TABLE , OPC_GREY , OPC_PAH1 ,
  OPC_PAH2N , OPC_PAH2C , OPC_PAH3N , OPC_PAH3C
}
 
enum  emt_type { FARAFONOV00 , STOGNIENKO95 , BRUGGEMAN35 , MAXWELL_GARNETT04 }
 
enum  sd_type {
  SD_ILLEGAL , SD_SINGLE_SIZE , SD_POWERLAW , SD_EXP_CUTOFF1 ,
  SD_EXP_CUTOFF2 , SD_EXP_CUTOFF3 , SD_LOG_NORMAL , SD_LIN_NORMAL ,
  SD_TABLE , SD_NR_CARBON
}
 

Functions

STATIC void mie_auxiliary (sd_data *, const grain_data *, const char *)
 
STATIC bool mie_auxiliary2 (vector< int > &, multi_arr< double, 2 > &, multi_arr< double, 2 > &, multi_arr< double, 2 > &, long, long)
 
STATIC void mie_integrate (sd_data *, double, double, double *)
 
STATIC void mie_cs_size_distr (double, sd_data *, const grain_data *, void(*)(double, const sd_data *, const grain_data *, double *, double *, double *, int *), double *, double *, double *, int *)
 
STATIC void mie_step (double, sd_data *, const grain_data *, void(*)(double, const sd_data *, const grain_data *, double *, double *, double *, int *), double *, double *, const double[], double *, double *, double *, int *)
 
STATIC void mie_cs (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
 
STATIC void ld01_fun (void(*)(double, const sd_data *, const grain_data[], double *, double *, double *, int *), double, double, double, const sd_data *, const grain_data[], double *, double *, double *, int *)
 
void car1_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *)
 
STATIC void pah1_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
 
void car2_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *)
 
STATIC void pah2_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
 
void car3_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *)
 
STATIC void pah3_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
 
double Drude (double, double, double, double)
 
STATIC void tbl_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
 
STATIC double size_distr (double, const sd_data *)
 
STATIC double search_limit (double, double, double, sd_data)
 
STATIC void mie_calc_ial (const grain_data *, long, vector< double > &, const string &, bool *)
 
STATIC void mie_repair (const string &, long, int, int, const double[], double[], vector< int > &, bool, bool *)
 
STATIC double mie_find_slope (const double[], const double[], const vector< int > &, long, long, int, bool, bool *)
 
STATIC void mie_read_ocn (const string &, grain_data *)
 
STATIC void mie_read_rfi (const string &, grain_data *)
 
STATIC void mie_read_mix (const string &, grain_data *)
 
STATIC void init_eps (double, long, const vector< grain_data > &, vector< complex< double > > &)
 
STATIC complex< double > cnewton (void(*)(complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *), const vector< double > &, const vector< complex< double > > &, long, complex< double >, double)
 
STATIC void Stognienko (complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *)
 
STATIC void Bruggeman (complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *)
 
STATIC void mie_read_szd (const string &, sd_data *)
 
template<typename T>
STATIC void mie_read_number (const string &, const string &, T *, bool, long int, const string &)
 
STATIC void mie_read_form (const string &, double[], double *, double *)
 
STATIC void mie_write_form (const double[], string &)
 
STATIC void mie_read_word (const string &, string &, bool)
 
STATIC void mie_next_data (const string &, FILE *, string &, long int *)
 
STATIC void mie_next_line (const string &, FILE *, string &, long int *)
 
STATIC void sinpar (double, double, double, double *, double *, double *, double *, double *, long *)
 
STATIC void anomal (double, double *, double *, double *, double *, double, double)
 
STATIC void bigk (complex< double >, complex< double > *)
 
STATIC void ritodf (double, double, double *, double *)
 
STATIC void dftori (double *, double *, double, double)
 
void mie_write_opc (const char *rfi_file, const char *szd_file, long int nbin)
 
void mie_read_opc (const char *chFile, const GrainPar &gp)
 
STATIC void mie_calc_ial (const grain_data *gd, long int n, vector< double > &invlen, const string &chString, bool *lgWarning)
 
STATIC void mie_repair (const string &chString, long int n, int val, int del, const double anu[], double data[], vector< int > &ErrorIndex, bool lgRound, bool *lgWarning)
 
void gauss_init (long int nn, double xbot, double xtop, const vector< double > &x, const vector< double > &a, vector< double > &rr, vector< double > &ww)
 
void gauss_legendre (long int nn, vector< double > &x, vector< double > &a)
 
void find_arr (double x, const vector< double > &xa, long int n, long int *ind, bool *lgOutOfBounds)
 
STATIC void sinpar (double nre, double nim, double x, double *qext, double *qphase, double *qscat, double *ctbrqs, double *qback, long int *iflag)
 

Variables

static const long MAGIC_RFI = 1030103L
 
static const long MAGIC_SZD = 2010403L
 
static const long MAGIC_OPC = 3100827L
 
static const long MAGIC_MIX = 4030103L
 
static const double SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON)
 
static const double LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON)
 
static const int NSD = 7
 
static const int ipSize = 0
 
static const int ipBLo = 0
 
static const int ipBHi = 1
 
static const int ipExp = 2
 
static const int ipBeta = 3
 
static const int ipSLo = 4
 
static const int ipSHi = 5
 
static const int ipAlpha = 6
 
static const int ipGCen = 2
 
static const int ipGSig = 3
 
static const int NAX = 3
 
static const int NDAT = 4
 
static const int LABELSUB1 = 3
 
static const int LABELSUB2 = 5
 
static const int LABELSIZE = LABELSUB1 + LABELSUB2 + 4
 
static const long MIX_TABLE_SIZE = 2000L
 
static const double pah1_strength [7] = { 1.4e-21,1.8e-21,1.2e-20,6.0e-21,4.0e-20,1.9e-20,1.9e-20 }
 
static const double pah1_wlBand [7] = { 3.3, 6.18, 7.7, 8.6, 11.3, 12.0, 13.3 }
 
static const double pah1_width [7] = { 0.024, 0.102, 0.24, 0.168, 0.086, 0.174, 0.174 }
 
static const double pah2_wavl [14]
 
static const double pah2_width [14]
 
static const double pah2n_strength [14]
 
static const double pah2c_strength [14]
 
static const double pah3_wavl [30]
 
static const double pah3_width [30]
 
static const double pah3n_strength [30]
 
static const double pah3c_strength [30]
 
static const bool pah3_hoc [30]
 
const int NPTS_DERIV = 8
 
static const int NMXLIM = 80000
 

Enumeration Type Documentation

◆ emt_type

enum emt_type
Enumerator
FARAFONOV00 
STOGNIENKO95 
BRUGGEMAN35 
MAXWELL_GARNETT04 

◆ rfi_type

enum rfi_type
Enumerator
RFI_TABLE 
OPC_TABLE 
OPC_GREY 
OPC_PAH1 
OPC_PAH2N 
OPC_PAH2C 
OPC_PAH3N 
OPC_PAH3C 

◆ sd_type

enum sd_type
Enumerator
SD_ILLEGAL 
SD_SINGLE_SIZE 
SD_POWERLAW 
SD_EXP_CUTOFF1 
SD_EXP_CUTOFF2 
SD_EXP_CUTOFF3 
SD_LOG_NORMAL 
SD_LIN_NORMAL 
SD_TABLE 
SD_NR_CARBON 

Function Documentation

◆ anomal()

STATIC void anomal ( double x,
double * qext,
double * qabs,
double * qphase,
double * xistar,
double delta,
double beta )

References bigk(), DEBUG_ENTRY, pow2, and STATIC.

Referenced by mie_cs().

Here is the call graph for this function:

◆ bigk()

STATIC void bigk ( complex< double > cw,
complex< double > * cbigk )

References DEBUG_ENTRY, and STATIC.

Referenced by anomal().

◆ Bruggeman()

STATIC void Bruggeman ( complex< double > x,
const vector< double > & frdelta,
const vector< complex< double > > & eps,
long sumAxes,
complex< double > * f,
double * dudx,
double * dudy )

References DEBUG_ENTRY, h2, pow2, and STATIC.

Referenced by mie_read_mix().

◆ car1_fun()

void car1_fun ( double wavl,
const sd_data * sd,
const grain_data gdArr[],
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )
inline

References ld01_fun(), and pah1_fun().

Referenced by mie_write_opc().

Here is the call graph for this function:

◆ car2_fun()

void car2_fun ( double wavl,
const sd_data * sd,
const grain_data gdArr[],
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )
inline

References ld01_fun(), and pah2_fun().

Referenced by mie_write_opc().

Here is the call graph for this function:

◆ car3_fun()

void car3_fun ( double wavl,
const sd_data * sd,
const grain_data gdArr[],
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )
inline

References ld01_fun(), and pah3_fun().

Referenced by mie_write_opc().

Here is the call graph for this function:

◆ cnewton()

STATIC complex< double > cnewton ( void(* fun )(complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *),
const vector< double > & frdelta,
const vector< complex< double > > & eps,
long sumAxes,
complex< double > x0,
double tol )

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, LOOP_MAX, pow2, STATIC, x0, and x1.

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ dftori()

STATIC void dftori ( double * nr,
double * ni,
double eps1,
double eps2 )

References ASSERT, DEBUG_ENTRY, and STATIC.

Referenced by mie_read_mix(), and mie_read_rfi().

◆ Drude()

double Drude ( double lambda,
double lambdac,
double gamma,
double sigma )
inline

References pow2.

Referenced by pah2_fun(), and pah3_fun().

◆ find_arr()

void find_arr ( double x,
const vector< double > & xa,
long int n,
long int * ind,
bool * lgOutOfBounds )

find index ind such that min(xa[ind],xa[ind+1]) <= x <= max(xa[ind],xa[ind+1]). xa is assumed to be strictly monotically increasing or decreasing. if x is outside the range spanned by xa, lgOutOfBounds is raised and ind is set to -1 n is the number of elements in xa.

Parameters
x
xa[]
n
[out]*ind
[out]*lgOutOfBounds

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, max(), min(), and sign3().

Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().

Here is the call graph for this function:

◆ gauss_init()

void gauss_init ( long int nn,
double xbot,
double xtop,
const vector< double > & x,
const vector< double > & a,
vector< double > & rr,
vector< double > & ww )

set up Gaussian quadrature for arbitrary interval

Parameters
nn
xbot
xtop
x[]
a[]
rr[]
ww[]

References DEBUG_ENTRY.

Referenced by DebyeDeriv(), and mie_integrate().

◆ gauss_legendre()

void gauss_legendre ( long int nn,
vector< double > & x,
vector< double > & a )

set up abscissas and weights for Gauss-Legendre intergration of arbitrary even order

Parameters
nn
x[]
a[]

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, pow2, and SAFETY.

Referenced by DebyeDeriv(), and mie_integrate().

Here is the call graph for this function:

◆ init_eps()

STATIC void init_eps ( double wavlen,
long nMaterial,
const vector< grain_data > & gdArr,
vector< complex< double > > & eps )

References ASSERT, DEBUG_ENTRY, find_arr(), ritodf(), and STATIC.

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ ld01_fun()

STATIC void ld01_fun ( void(* pah_fun )(double, const sd_data *, const grain_data[], double *, double *, double *, int *),
double q_gra,
double wmin,
double wavl,
const sd_data * sd,
const grain_data gdArr[],
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

References DEBUG_ENTRY, mie_cs(), min(), pow3, and STATIC.

Referenced by car1_fun(), car2_fun(), and car3_fun().

Here is the call graph for this function:

◆ mie_auxiliary()

◆ mie_auxiliary2()

STATIC bool mie_auxiliary2 ( vector< int > & ErrorIndex,
multi_arr< double, 2 > & acs_abs,
multi_arr< double, 2 > & acs_sct,
multi_arr< double, 2 > & a1g,
long p,
long i )

References ASSERT, DEBUG_ENTRY, min(), STATIC, and TotalInsanity().

Referenced by mie_write_opc().

Here is the call graph for this function:

◆ mie_calc_ial() [1/2]

STATIC void mie_calc_ial ( const grain_data * ,
long ,
vector< double > & ,
const string & ,
bool *  )

References STATIC.

Referenced by mie_write_opc().

◆ mie_calc_ial() [2/2]

STATIC void mie_calc_ial ( const grain_data * gd,
long int n,
vector< double > & invlen,
const string & chString,
bool * lgWarning )

◆ mie_cs()

STATIC void mie_cs ( double wavlen,
const sd_data * sd,
const grain_data * gd,
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

◆ mie_cs_size_distr()

STATIC void mie_cs_size_distr ( double wavlen,
sd_data * sd,
const grain_data * gd,
void(* cs_fun )(double, const sd_data *, const grain_data *, double *, double *, double *, int *),
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

◆ mie_find_slope()

STATIC double mie_find_slope ( const double anu[],
const double data[],
const vector< int > & ErrorIndex,
long i1,
long i2,
int val,
bool lgVerbose,
bool * lgWarning )

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, max(), pow2, and STATIC.

Referenced by mie_repair().

Here is the call graph for this function:

◆ mie_integrate()

STATIC void mie_integrate ( sd_data * sd,
double amin,
double amax,
double * normalization )

◆ mie_next_data()

STATIC void mie_next_data ( const string & chFile,
FILE * io,
string & chLine,
long int * dl )

References DEBUG_ENTRY, mie_next_line(), and STATIC.

Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().

Here is the call graph for this function:

◆ mie_next_line()

STATIC void mie_next_line ( const string & chFile,
FILE * io,
string & chLine,
long int * dl )

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, read_whole_line(), and STATIC.

Referenced by mie_next_data(), and mie_read_opc().

Here is the call graph for this function:

◆ mie_read_form()

STATIC void mie_read_form ( const string & chWord,
double elmAbun[],
double * no_atoms,
double * mol_weight )

References DEBUG_ENTRY, dense, elementnames, frac(), ipHYDROGEN, LIMELM, no_atoms(), and STATIC.

Referenced by mie_read_rfi().

Here is the call graph for this function:

◆ mie_read_mix()

◆ mie_read_number()

template<typename T>
STATIC void mie_read_number ( const string & chFile,
const string & chLine,
T * data,
bool lgZeroIllegal,
long int dl,
const string & vartype )

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, and STATIC.

Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().

Here is the call graph for this function:

◆ mie_read_ocn()

STATIC void mie_read_ocn ( const string & chFile,
grain_data * gd )

References cdEXIT, EXIT_FAILURE, fprintf(), ioQQQ, mie_read_mix(), mie_read_rfi(), and STATIC.

Referenced by mie_read_mix(), and mie_write_opc().

Here is the call graph for this function:

◆ mie_read_opc()

void mie_read_opc ( const char * chFile,
const GrainPar & gp )

read in the *.opc file with opacities and other relevant information

Parameters
*chFile
gp

References ASSERT, called, cdEXIT, cpu, DEBUG_ENTRY, dense, GrainPar::dep, EXIT_FAILURE, fp_equal_tol(), fprintf(), gv, ioQQQ, LABELSIZE, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainPar::lgRequestQHeating, LIMELM, MAGIC_OPC, mie_next_data(), mie_next_line(), mie_read_number(), mie_read_word(), min(), GrainPar::nDustFunc, NULL, open_data(), pow(), pow2, rfield, and strstr_s().

Referenced by ParseGrain().

Here is the call graph for this function:

◆ mie_read_rfi()

◆ mie_read_szd()

◆ mie_read_word()

STATIC void mie_read_word ( const string & chLine,
string & chWord,
bool lgToUpper )

References DEBUG_ENTRY, STATIC, and toupper().

Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().

Here is the call graph for this function:

◆ mie_repair() [1/2]

STATIC void mie_repair ( const string & ,
long ,
int ,
int ,
const double [],
double [],
vector< int > & ,
bool ,
bool *  )

References STATIC.

Referenced by mie_calc_ial(), and mie_write_opc().

◆ mie_repair() [2/2]

STATIC void mie_repair ( const string & chString,
long int n,
int val,
int del,
const double anu[],
double data[],
vector< int > & ErrorIndex,
bool lgRound,
bool * lgWarning )

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, max(), mie_find_slope(), min(), NPTS_DERIV, STATIC, and TotalInsanity().

Here is the call graph for this function:

◆ mie_step()

STATIC void mie_step ( double wavlen,
sd_data * sd,
const grain_data * gd,
void(* cs_fun )(double, const sd_data *, const grain_data *, double *, double *, double *, int *),
double * x,
double * h,
const double toler[],
double * absval,
double * sctval,
double * cosb,
int * error )

References sd_data::clim, sd_data::cSize, DEBUG_ENTRY, e1(), e2(), fprintf(), ioQQQ, ipBLo, max(), safe_div(), size_distr(), and STATIC.

Referenced by mie_cs_size_distr().

Here is the call graph for this function:

◆ mie_write_form()

STATIC void mie_write_form ( const double elmAbun[],
string & chWord )

References DEBUG_ENTRY, elementnames, LIMELM, nint(), and STATIC.

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ mie_write_opc()

◆ pah1_fun()

STATIC void pah1_fun ( double wavl,
const sd_data * sd,
const grain_data * gd,
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

◆ pah2_fun()

STATIC void pah2_fun ( double wavl,
const sd_data * sd,
const grain_data * gd,
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

◆ pah3_fun()

STATIC void pah3_fun ( double wavl,
const sd_data * sd,
const grain_data * gd,
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )

◆ ritodf()

STATIC void ritodf ( double nr,
double ni,
double * eps1,
double * eps2 )

References DEBUG_ENTRY, and STATIC.

Referenced by init_eps().

◆ search_limit()

STATIC double search_limit ( double ref,
double step,
double rel_cutoff,
sd_data sd )

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, ipBHi, ipBLo, sd_data::lim, max(), POW4, size_distr(), SMALLEST_GRAIN, STATIC, TOLER, x1, and x2.

Referenced by mie_read_szd().

Here is the call graph for this function:

◆ sinpar() [1/2]

STATIC void sinpar ( double nre,
double nim,
double x,
double * qext,
double * qphase,
double * qscat,
double * ctbrqs,
double * qback,
long int * iflag )

References DEBUG_ENTRY, max(), MAX4, nint(), NMXLIM, pow2, pow3, sincos(), and STATIC.

Here is the call graph for this function:

◆ sinpar() [2/2]

STATIC void sinpar ( double ,
double ,
double ,
double * ,
double * ,
double * ,
double * ,
double * ,
long *  )

References STATIC.

Referenced by dqc25f_(), mie_cs(), and qc25f_().

◆ size_distr()

◆ Stognienko()

STATIC void Stognienko ( complex< double > x,
const vector< double > & frdelta,
const vector< complex< double > > & eps,
long sumAxes,
complex< double > * f,
double * dudx,
double * dudy )

References DEBUG_ENTRY, h2, pow2, and STATIC.

Referenced by mie_read_mix().

◆ tbl_fun()

STATIC void tbl_fun ( double wavl,
const sd_data * sd,
const grain_data * gd,
double * cs_abs,
double * cs_sct,
double * cosb,
int * error )
Todo
2 include code for interpolating inv_att_len somewhere!!

References ASSERT, DEBUG_ENTRY, find_arr(), frac(), grain_data::nOpcCols, grain_data::nOpcData, NULL, grain_data::opcAnu, grain_data::opcData, STATIC, and TotalInsanity().

Referenced by mie_write_opc().

Here is the call graph for this function:

Variable Documentation

◆ ipAlpha

const int ipAlpha = 6
static

alpha parameter for exp. cutoff

Referenced by mie_read_szd(), and size_distr().

◆ ipBeta

const int ipBeta = 3
static

beta parameter for powerlaw

Referenced by mie_read_szd(), and size_distr().

◆ ipBHi

const int ipBHi = 1
static

◆ ipBLo

◆ ipExp

const int ipExp = 2
static

exponent for powerlaw

Referenced by mie_read_szd(), and size_distr().

◆ ipGCen

const int ipGCen = 2
static

center of gaussian distribution

Referenced by mie_read_szd(), and size_distr().

◆ ipGSig

const int ipGSig = 3
static

1-sigma width of gaussian distribution

Referenced by mie_read_szd(), and size_distr().

◆ ipSHi

const int ipSHi = 5
static

scale size for upper exp. cutoff

Referenced by mie_read_szd(), and size_distr().

◆ ipSize

const int ipSize = 0
static

single size

Referenced by mie_auxiliary(), mie_cs_size_distr(), and mie_read_szd().

◆ ipSLo

const int ipSLo = 4
static

scale size for lower exp. cutoff

Referenced by mie_read_szd(), and size_distr().

◆ LABELSIZE

const int LABELSIZE = LABELSUB1 + LABELSUB2 + 4
static

Referenced by mie_read_opc().

◆ LABELSUB1

const int LABELSUB1 = 3
static

Referenced by mie_write_opc().

◆ LABELSUB2

const int LABELSUB2 = 5
static

Referenced by mie_write_opc().

◆ LARGEST_GRAIN

const double LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON)
static

Referenced by mie_read_szd().

◆ MAGIC_MIX

const long MAGIC_MIX = 4030103L
static

Referenced by mie_read_mix().

◆ MAGIC_OPC

const long MAGIC_OPC = 3100827L
static

Referenced by mie_read_opc(), and mie_write_opc().

◆ MAGIC_RFI

const long MAGIC_RFI = 1030103L
static

Referenced by mie_read_rfi().

◆ MAGIC_SZD

const long MAGIC_SZD = 2010403L
static

Referenced by mie_read_szd().

◆ MIX_TABLE_SIZE

const long MIX_TABLE_SIZE = 2000L
static

Referenced by mie_read_mix().

◆ NAX

const int NAX = 3
static

◆ NDAT

const int NDAT = 4
static

◆ NMXLIM

const int NMXLIM = 80000
static

Referenced by sinpar().

◆ NPTS_DERIV

const int NPTS_DERIV = 8

Referenced by mie_repair().

◆ NSD

const int NSD = 7
static

◆ pah1_strength

const double pah1_strength[7] = { 1.4e-21,1.8e-21,1.2e-20,6.0e-21,4.0e-20,1.9e-20,1.9e-20 }
static

Referenced by pah1_fun().

◆ pah1_width

const double pah1_width[7] = { 0.024, 0.102, 0.24, 0.168, 0.086, 0.174, 0.174 }
static

Referenced by pah1_fun().

◆ pah1_wlBand

const double pah1_wlBand[7] = { 3.3, 6.18, 7.7, 8.6, 11.3, 12.0, 13.3 }
static

Referenced by pah1_fun().

◆ pah2_wavl

const double pah2_wavl[14]
static
Initial value:
= { 0.0722, 0.2175, 3.3, 6.2, 7.7, 8.6, 11.3,
11.9, 12.7, 16.4, 18.3, 21.2, 23.1, 26.0 }

Referenced by pah2_fun().

◆ pah2_width

const double pah2_width[14]
static
Initial value:
= { 0.195, 0.217, 0.012, 0.032, 0.091, 0.047, 0.018,
0.025, 0.024, 0.010, 0.036, 0.038, 0.046, 0.69 }

Referenced by pah2_fun().

◆ pah2c_strength

const double pah2c_strength[14]
static
Initial value:
= { 7.97e-13, 1.23e-13, 4.47e-19, 1.57e-18, 5.48e-18, 2.42e-18, 4.00e-18,
6.14e-19, 1.49e-18, 5.52e-20, 6.04e-20, 1.08e-19, 2.78e-20, 1.52e-19 }

Referenced by pah2_fun().

◆ pah2n_strength

const double pah2n_strength[14]
static
Initial value:
= { 7.97e-13, 1.23e-13, 1.97e-18, 1.96e-19, 6.09e-19, 3.47e-19, 4.27e-18,
7.27e-19, 1.67e-18, 5.52e-20, 6.04e-20, 1.08e-19, 2.78e-20, 1.52e-19 }

Referenced by pah2_fun().

◆ pah3_hoc

const bool pah3_hoc[30]
static
Initial value:
= { false, false, false, false, false, true, false, false, false, false, false,
false, false, true, true, true, true, true, true, true, true, true, false,
false, false, false, false, false, false, false }

Referenced by pah3_fun().

◆ pah3_wavl

const double pah3_wavl[30]
static
Initial value:
= { 0.0722, 0.2175, 1.05, 1.26, 1.905, 3.3, 5.27, 5.7, 6.22, 6.69, 7.417, 7.598,
7.85, 8.33, 8.61, 10.68, 11.23, 11.33, 11.99, 12.62, 12.69, 13.48, 14.19,
15.9, 16.45, 17.04, 17.375, 17.87, 18.92, 15. }

Referenced by pah3_fun().

◆ pah3_width

const double pah3_width[30]
static
Initial value:
= { 0.195, 0.217, 0.055, 0.11, 0.09, 0.012, 0.034, 0.035, 0.03, 0.07, 0.126,
0.044, 0.053, 0.052, 0.039, 0.02, 0.012, 0.032, 0.045, 0.042, 0.013, 0.04,
0.025, 0.02, 0.014, 0.065, 0.012, 0.016, 0.1, 0.8 }

Referenced by pah3_fun().

◆ pah3c_strength

const double pah3c_strength[30]
static
Initial value:
= { 7.97e-13, 1.23e-13, 2.e-16, 7.8e-17, -1.465e-18, 8.94e-19, 2.e-19,
3.2e-19, 2.35e-18, 5.9e-19, 1.81e-18, 1.63e-18, 1.97e-18, 4.8e-19,
1.94e-18, 3.e-21, 1.77e-19, 4.9e-19, 2.05e-19, 3.1e-19, 1.3e-20,
8.e-20, 4.5e-21, 4.e-22, 5.e-21, 2.22e-20, 1.1e-21, 6.7e-22, 1.7e-21,
5.e-19 }

Referenced by pah3_fun().

◆ pah3n_strength

const double pah3n_strength[30]
static
Initial value:
= { 7.97e-13, 1.23e-13, 0., 0., 0., 3.94e-18, 2.5e-20, 4.e-20, 2.94e-19,
7.35e-20, 2.08e-19, 1.81e-19, 2.19e-19, 6.94e-20, 2.78e-19, 3.e-21,
1.89e-19, 5.2e-19, 2.42e-19, 3.5e-19, 1.3e-20, 8.e-20, 4.5e-21,
4.e-22, 5.e-21, 2.22e-20, 1.1e-21, 6.7e-22, 1.e-21, 5.e-19 }

Referenced by pah3_fun().

◆ SMALLEST_GRAIN

const double SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON)
static

Referenced by mie_read_szd(), and search_limit().