cloudy trunk
Loading...
Searching...
No Matches
grains_mie.cpp File Reference
#include "cddefines.h"
#include "continuum.h"
#include "thirdparty.h"
#include "elementnames.h"
#include "physconst.h"
#include "dense.h"
#include "called.h"
#include "version.h"
#include "grainvar.h"
#include "rfield.h"
#include "atmdat.h"
#include "grains.h"
Include dependency graph for grains_mie.cpp:

Go to the source code of this file.

Data Structures

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 }
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_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 char *, bool *)
STATIC void mie_repair (const char *, 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_rfi (const char *, grain_data *)
STATIC void mie_read_mix (const char *, 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 char *, sd_data *)
STATIC void mie_read_long (const char *, const char[], long int *, bool, long int)
STATIC void mie_read_realnum (const char *, const char[], realnum *, bool, long int)
STATIC void mie_read_double (const char *, const char[], double *, bool, long int)
STATIC void mie_read_form (const char *, double[], double *, double *)
STATIC void mie_write_form (const double[], char[])
STATIC void mie_read_word (const char[], char[], long, bool)
STATIC void mie_next_data (const char *, FILE *, char *, long int *)
STATIC void mie_next_line (const char *, FILE *, char *, 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 char *chString, bool *lgWarning)
STATIC void mie_repair (const char *chString, long int n, int val, int del, const double anu[], double data[], vector< int > &ErrorIndex, bool lgRound, bool *lgWarning)
STATIC void mie_read_form (const char chWord[], double elmAbun[], double *no_atoms, double *mol_weight)
STATIC void mie_next_data (const char *chFile, FILE *io, char chLine[], long int *dl)
STATIC void mie_next_line (const char *chFile, FILE *io, char chLine[], long int *dl)
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 WORDLEN = 5
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
const int NPTS_COMB = NPTS_DERIV*(NPTS_DERIV-1)/2
static int NMXLIM = 16000

Enumeration Type Documentation

◆ emt_type

enum emt_type
Enumerator
FARAFONOV00 
STOGNIENKO95 
BRUGGEMAN35 

Definition at line 76 of file grains_mie.cpp.

◆ rfi_type

enum rfi_type
Enumerator
RFI_TABLE 
OPC_TABLE 
OPC_GREY 
OPC_PAH1 
OPC_PAH2N 
OPC_PAH2C 
OPC_PAH3N 
OPC_PAH3C 

Definition at line 71 of file grains_mie.cpp.

◆ 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 

Definition at line 81 of file grains_mie.cpp.

Function Documentation

◆ anomal()

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

Definition at line 4913 of file grains_mie.cpp.

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 )

Definition at line 4955 of file grains_mie.cpp.

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 )

Definition at line 3793 of file grains_mie.cpp.

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

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ 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

Definition at line 1733 of file grains_mie.cpp.

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

Definition at line 1961 of file grains_mie.cpp.

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

Definition at line 2097 of file grains_mie.cpp.

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 )

Definition at line 3701 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, LOOP_MAX, pow2(), ShowMe(), 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 )

Definition at line 4995 of file grains_mie.cpp.

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

Definition at line 2231 of file grains_mie.cpp.

References PI, and pow2().

Referenced by pah2_fun(), and pah3_fun().

Here is the call graph for this function:

◆ 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

Definition at line 4563 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, 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[]

Definition at line 4425 of file grains_mie.cpp.

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[]

Definition at line 4453 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, 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 )

Definition at line 3657 of file grains_mie.cpp.

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 )

Definition at line 1694 of file grains_mie.cpp.

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 )

Definition at line 913 of file grains_mie.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, min(), ShowMe(), and STATIC.

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 char * ,
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 char * 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 )

Definition at line 2669 of file grains_mie.cpp.

References ASSERT, DEBUG_ENTRY, ioQQQ, max(), NPTS_COMB, NPTS_DERIV, 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() [1/2]

STATIC void mie_next_data ( const char * ,
FILE * ,
char * ,
long int *  )

◆ mie_next_data() [2/2]

STATIC void mie_next_data ( const char * chFile,
FILE * io,
char chLine[],
long int * dl )

Definition at line 4365 of file grains_mie.cpp.

References DEBUG_ENTRY, mie_next_line(), STATIC, and strstr_s().

Here is the call graph for this function:

◆ mie_next_line() [1/2]

STATIC void mie_next_line ( const char * ,
FILE * ,
char * ,
long int *  )

References STATIC.

Referenced by mie_next_data(), and mie_read_opc().

◆ mie_next_line() [2/2]

STATIC void mie_next_line ( const char * chFile,
FILE * io,
char chLine[],
long int * dl )

Definition at line 4393 of file grains_mie.cpp.

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

Here is the call graph for this function:

◆ mie_read_double()

STATIC void mie_read_double ( const char * chFile,
const char chLine[],
double * data,
bool lgZeroIllegal,
long int dl )

Definition at line 4229 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, and STATIC.

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

◆ mie_read_form() [1/2]

STATIC void mie_read_form ( const char * ,
double [],
double * ,
double *  )

References STATIC.

Referenced by mie_read_rfi().

◆ mie_read_form() [2/2]

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

Definition at line 4252 of file grains_mie.cpp.

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

Here is the call graph for this function:

◆ mie_read_long()

STATIC void mie_read_long ( const char * chFile,
const char chLine[],
long int * data,
bool lgZeroIllegal,
long int dl )

Definition at line 4181 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, and STATIC.

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

◆ mie_read_mix()

◆ mie_read_opc()

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

◆ mie_read_realnum()

STATIC void mie_read_realnum ( const char * chFile,
const char chLine[],
realnum * data,
bool lgZeroIllegal,
long int dl )

Definition at line 4204 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, and STATIC.

Referenced by mie_read_opc().

◆ mie_read_rfi()

◆ mie_read_szd()

◆ mie_read_word()

STATIC void mie_read_word ( const char chLine[],
char chWord[],
long n,
bool lgToUpper )

Definition at line 4340 of file grains_mie.cpp.

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 char * ,
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 char * chString,
long int n,
int val,
int del,
const double anu[],
double data[],
vector< int > & ErrorIndex,
bool lgRound,
bool * lgWarning )

Definition at line 2517 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, max(), mie_find_slope(), NPTS_DERIV, ShowMe(), and STATIC.

Here is the call graph for this function:

◆ mie_write_form()

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

Definition at line 4303 of file grains_mie.cpp.

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

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ mie_write_opc()

void mie_write_opc ( const char * rfi_file,
const char * szd_file,
long int nbin )

◆ 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 )

Definition at line 1985 of file grains_mie.cpp.

References ATOMIC_MASS_UNIT, grain_data::charge, sd_data::cSize, DEBUG_ENTRY, dense, Drude(), ipCARBON, M, pah2_wavl, pah2_width, pah2c_strength, pah2n_strength, PI, pow2(), pow3(), grain_data::rho, STATIC, and TotalInsanity().

Referenced by car2_fun().

Here is the call graph for this function:

◆ 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 )

Definition at line 2132 of file grains_mie.cpp.

References ATOMIC_MASS_UNIT, grain_data::charge, sd_data::cSize, DEBUG_ENTRY, dense, Drude(), ipCARBON, M, pah3_hoc, pah3_wavl, pah3_width, pah3c_strength, pah3n_strength, PI, pow2(), pow3(), grain_data::rho, STATIC, and TotalInsanity().

Referenced by car3_fun().

Here is the call graph for this function:

◆ ritodf()

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

Definition at line 4980 of file grains_mie.cpp.

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 )

Definition at line 2368 of file grains_mie.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, 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 )

Definition at line 4655 of file grains_mie.cpp.

References DEBUG_ENTRY, max(), MAX4, nint(), NMXLIM, pow2(), pow3(), 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 mie_cs().

◆ 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 )

Definition at line 3751 of file grains_mie.cpp.

References DEBUG_ENTRY, h2, PI, pow2(), and STATIC.

Referenced by mie_read_mix().

Here is the call graph for this function:

◆ 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!!

Definition at line 2242 of file grains_mie.cpp.

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

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

Definition at line 66 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipBeta

const int ipBeta = 3
static

beta parameter for powerlaw

Definition at line 63 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipBHi

const int ipBHi = 1
static

◆ ipBLo

const int ipBLo = 0
static

◆ ipExp

const int ipExp = 2
static

exponent for powerlaw

Definition at line 62 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipGCen

const int ipGCen = 2
static

center of gaussian distribution

Definition at line 67 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipGSig

const int ipGSig = 3
static

1-sigma width of gaussian distribution

Definition at line 68 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipSHi

const int ipSHi = 5
static

scale size for upper exp. cutoff

Definition at line 65 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ ipSize

const int ipSize = 0
static

single size

Definition at line 59 of file grains_mie.cpp.

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

◆ ipSLo

const int ipSLo = 4
static

scale size for lower exp. cutoff

Definition at line 64 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

◆ LABELSIZE

const int LABELSIZE = LABELSUB1 + LABELSUB2 + 4
static

Definition at line 200 of file grains_mie.cpp.

Referenced by mie_read_opc(), and mie_write_opc().

◆ LABELSUB1

const int LABELSUB1 = 3
static

Definition at line 198 of file grains_mie.cpp.

Referenced by mie_write_opc().

◆ LABELSUB2

const int LABELSUB2 = 5
static

Definition at line 199 of file grains_mie.cpp.

Referenced by mie_write_opc().

◆ LARGEST_GRAIN

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

Definition at line 52 of file grains_mie.cpp.

Referenced by mie_read_szd().

◆ MAGIC_MIX

const long MAGIC_MIX = 4030103L
static

Definition at line 41 of file grains_mie.cpp.

Referenced by mie_read_mix().

◆ MAGIC_OPC

const long MAGIC_OPC = 3100827L
static

Definition at line 40 of file grains_mie.cpp.

Referenced by mie_read_opc(), and mie_write_opc().

◆ MAGIC_RFI

const long MAGIC_RFI = 1030103L
static

Definition at line 38 of file grains_mie.cpp.

Referenced by mie_read_rfi().

◆ MAGIC_SZD

const long MAGIC_SZD = 2010403L
static

Definition at line 39 of file grains_mie.cpp.

Referenced by mie_read_szd().

◆ MIX_TABLE_SIZE

const long MIX_TABLE_SIZE = 2000L
static

Definition at line 203 of file grains_mie.cpp.

Referenced by mie_read_mix().

◆ NAX

const int NAX = 3
static

Definition at line 132 of file grains_mie.cpp.

Referenced by mie_cs_size_distr(), mie_read_rfi(), and grain_data::p_clear1().

◆ NDAT

const int NDAT = 4
static

Definition at line 133 of file grains_mie.cpp.

Referenced by mie_read_rfi(), and grain_data::p_clear1().

◆ NMXLIM

int NMXLIM = 16000
static

Definition at line 4653 of file grains_mie.cpp.

Referenced by sinpar().

◆ NPTS_COMB

const int NPTS_COMB = NPTS_DERIV*(NPTS_DERIV-1)/2

Definition at line 2514 of file grains_mie.cpp.

Referenced by mie_find_slope().

◆ NPTS_DERIV

const int NPTS_DERIV = 8

Definition at line 2513 of file grains_mie.cpp.

Referenced by mie_find_slope(), and mie_repair().

◆ NSD

const int NSD = 7
static

Definition at line 55 of file grains_mie.cpp.

◆ 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

Definition at line 1750 of file grains_mie.cpp.

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

Definition at line 1752 of file grains_mie.cpp.

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

Definition at line 1751 of file grains_mie.cpp.

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 }

Definition at line 1974 of file grains_mie.cpp.

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 }

Definition at line 1976 of file grains_mie.cpp.

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 }

Definition at line 1980 of file grains_mie.cpp.

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 }

Definition at line 1978 of file grains_mie.cpp.

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 }

Definition at line 2126 of file grains_mie.cpp.

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. }

Definition at line 2110 of file grains_mie.cpp.

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 }

Definition at line 2113 of file grains_mie.cpp.

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 }

Definition at line 2120 of file grains_mie.cpp.

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 }

Definition at line 2116 of file grains_mie.cpp.

Referenced by pah3_fun().

◆ SMALLEST_GRAIN

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

Definition at line 51 of file grains_mie.cpp.

Referenced by mie_read_szd(), and search_limit().

◆ WORDLEN

const int WORDLEN = 5
static

Definition at line 195 of file grains_mie.cpp.

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