/home66/gary/public_html/cloudy/c08_branch/source/grains_mie.cpp File Reference

#include <ctype.h>
#include "cddefines.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

struct  sd_data
struct  grain_data

Defines

#define NPTS_DERIV   8
#define NPTS_COMB   (NPTS_DERIV*(NPTS_DERIV-1)/2)
#define NMXLIM   16000

Enumerations

enum  rfi_type { RFI_TABLE, OPC_TABLE, OPC_GREY, OPC_PAH1 }
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
}

Functions

STATIC void mie_auxiliary (sd_data *, const char *)
STATIC void mie_integrate (sd_data *, double, double, double *, bool)
STATIC void mie_cs_size_distr (double, sd_data *, grain_data *, void(*)(double, sd_data *, grain_data *, double *, double *, double *, int *), double *, double *, double *, int *)
STATIC void mie_cs (double, sd_data *, grain_data *, double *, double *, double *, int *)
STATIC void pah1_fun (double, sd_data *, grain_data *, double *, double *, double *, int *)
STATIC void tbl_fun (double, sd_data *, grain_data *, double *, double *, double *, int *)
STATIC double size_distr (double, sd_data *)
STATIC double search_limit (double, double, double, sd_data)
STATIC void mie_calc_ial (grain_data *, long, double[], const char *, bool *)
STATIC void mie_repair (const char *, long, int, int, realnum[], double[], int[], bool, bool *)
STATIC double mie_find_slope (const realnum[], const double[], const 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, grain_data[], complex< double >[])
STATIC complex< double > cnewton (void(*)(complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *), double[], complex< double >[], long, complex< double >, double)
STATIC void Stognienko (complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *)
STATIC void Bruggeman (complex< double >, double[], 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, int)
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, GrainPar gp)
STATIC void mie_calc_ial (grain_data *gd, long int n, double invlen[], const char *chString, bool *lgWarning)
STATIC void mie_repair (const char *chString, long int n, int val, int del, realnum anu[], double data[], 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, double x[], double a[], double rr[], double ww[])
void gauss_legendre (long int nn, double x[], double a[])
void find_arr (double x, 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 = 3030307L
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}


Define Documentation

#define NMXLIM   16000

Definition at line 4334 of file grains_mie.cpp.

Referenced by sinpar().

#define NPTS_COMB   (NPTS_DERIV*(NPTS_DERIV-1)/2)

Definition at line 2157 of file grains_mie.cpp.

Referenced by mie_find_slope().

#define NPTS_DERIV   8

Definition at line 2156 of file grains_mie.cpp.

Referenced by mie_find_slope(), and mie_repair().


Enumeration Type Documentation

enum emt_type

Enumerator:
FARAFONOV00 
STOGNIENKO95 
BRUGGEMAN35 

Definition at line 75 of file grains_mie.cpp.

enum rfi_type

Enumerator:
RFI_TABLE 
OPC_TABLE 
OPC_GREY 
OPC_PAH1 

Definition at line 70 of file grains_mie.cpp.

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 

Definition at line 80 of file grains_mie.cpp.


Function Documentation

STATIC void anomal ( double  ,
double *  ,
double *  ,
double *  ,
double *  ,
double  ,
double   
)

Definition at line 4600 of file grains_mie.cpp.

References bigk(), DEBUG_ENTRY, and POW2.

Referenced by mie_cs().

Here is the call graph for this function:

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

Definition at line 4642 of file grains_mie.cpp.

References DEBUG_ENTRY.

Referenced by anomal().

STATIC void Bruggeman ( complex< double >  ,
double  [],
complex< double >  [],
long  ,
complex< double > *  ,
double *  ,
double *   
)

Definition at line 3482 of file grains_mie.cpp.

References DEBUG_ENTRY, h2, and POW2.

STATIC complex< double > cnewton ( void(*)(complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *)  ,
double  [],
complex< double >  [],
long  ,
complex< double >  ,
double   
)

Definition at line 3391 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, LOOP_MAX, POW2, ShowMe(), and x1.

Here is the call graph for this function:

STATIC void dftori ( double *  ,
double *  ,
double  ,
double   
)

Definition at line 4682 of file grains_mie.cpp.

References ASSERT, and DEBUG_ENTRY.

Referenced by mie_read_rfi().

void find_arr ( double  ,
double  [],
long  int,
long int *  ,
bool *   
)

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 4244 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, MAX2, MIN2, and sign3().

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

Here is the call graph for this function:

void gauss_init ( long  int,
double  ,
double  ,
double  [],
double  [],
double  [],
double  [] 
)

set up Gaussian quadrature for arbitrary interval

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

Definition at line 4104 of file grains_mie.cpp.

References DEBUG_ENTRY.

Referenced by DebyeDeriv(), and mie_integrate().

void gauss_legendre ( long  int,
double  [],
double  [] 
)

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

Parameters:
nn 
x[] 
a[] 

Definition at line 4132 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, MALLOC, POW2, and SAFETY.

Referenced by DebyeDeriv(), and mie_integrate().

STATIC void init_eps ( double  ,
long  ,
grain_data  [],
complex< double >  [] 
)

Definition at line 3347 of file grains_mie.cpp.

References ASSERT, DEBUG_ENTRY, find_arr(), grain_data::n, grain_data::nAxes, ritodf(), and grain_data::wavlen.

Here is the call graph for this function:

STATIC void mie_auxiliary ( sd_data ,
const char *   
)

Definition at line 789 of file grains_mie.cpp.

References sd_data::a, sd_data::aa, sd_data::area, cdEXIT, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, ipBHi, ipBLo, ipSize, sd_data::lgLogScale, sd_data::lim, mie_integrate(), MIN2, sd_data::nmul, sd_data::nPart, PI, POW2, POW3, sd_data::radius, sd_data::rr, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, ShowMe(), TOLER, sd_data::unity, sd_data::unity_bin, sd_data::vol, sd_data::ww, and sd_data::xx.

Referenced by mie_write_opc().

Here is the call graph for this function:

STATIC void mie_calc_ial ( grain_data gd,
long int  n,
double  invlen[],
const char *  chString,
bool *  lgWarning 
)

Definition at line 2089 of file grains_mie.cpp.

References t_rfield::anu, ASSERT, DEBUG_ENTRY, find_arr(), MALLOC, grain_data::n, grain_data::ndata, t_rfield::nupper, PI4, RFI_TABLE, rfield, grain_data::rfiType, grain_data::wavlen, WAVNRYD, and grain_data::wt.

Here is the call graph for this function:

STATIC void mie_calc_ial ( grain_data ,
long  ,
double  [],
const char *  ,
bool *   
)

STATIC void mie_cs ( double  ,
sd_data ,
grain_data ,
double *  ,
double *  ,
double *  ,
int *   
)

Definition at line 1533 of file grains_mie.cpp.

References anomal(), ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, find_arr(), MAX2, grain_data::n, grain_data::ndata, grain_data::nr1, PI, POW2, sinpar(), and grain_data::wavlen.

Here is the call graph for this function:

STATIC void mie_cs_size_distr ( double  ,
sd_data ,
grain_data ,
void(*)(double, sd_data *, grain_data *, double *, double *, double *, int *)  ,
double *  ,
double *  ,
double *  ,
int *   
)

Definition at line 1432 of file grains_mie.cpp.

References sd_data::a, ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, ipBHi, ipBLo, ipSize, NAX, grain_data::nAxes, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, ShowMe(), size_distr(), and sd_data::unity.

Here is the call graph for this function:

STATIC double mie_find_slope ( const   realnum[],
const   double[],
const   int[],
long  ,
long  ,
int  ,
bool  ,
bool *   
)

Definition at line 2309 of file grains_mie.cpp.

References ASSERT, DEBUG_ENTRY, MAX2, NPTS_COMB, NPTS_DERIV, and POW2.

Referenced by mie_repair().

STATIC void mie_integrate ( sd_data ,
double  ,
double  ,
double *  ,
bool   
)

Definition at line 922 of file grains_mie.cpp.

References sd_data::aa, sd_data::area, sd_data::clim, DEBUG_ENTRY, gauss_init(), gauss_legendre(), ipBHi, ipBLo, sd_data::lgLogScale, MALLOC, MAX2, MIN2, sd_data::nmul, sd_data::nn, POW2, POW3, sd_data::radius, sd_data::rr, size_distr(), sd_data::vol, sd_data::ww, and sd_data::xx.

Referenced by mie_auxiliary().

Here is the call graph for this function:

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

Definition at line 4045 of file grains_mie.cpp.

References DEBUG_ENTRY, and mie_next_line().

Here is the call graph for this function:

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

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

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

Definition at line 4073 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, and read_whole_line().

Here is the call graph for this function:

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

Referenced by mie_next_data().

STATIC void mie_read_double ( const char *  ,
const   char[],
double *  ,
bool  ,
long  int 
)

Definition at line 3909 of file grains_mie.cpp.

References cdEXIT, and DEBUG_ENTRY.

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

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

Definition at line 3932 of file grains_mie.cpp.

References t_dense::AtomicWeight, t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, and ipHYDROGEN.

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

Referenced by mie_read_rfi().

STATIC void mie_read_long ( const char *  ,
const   char[],
long int *  ,
bool  ,
long  int 
)

Definition at line 3861 of file grains_mie.cpp.

References cdEXIT, and DEBUG_ENTRY.

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

STATIC void mie_read_mix ( const char *  ,
grain_data  
)

Definition at line 2890 of file grains_mie.cpp.

References grain_data::abun, AS_LOCAL_ONLY, grain_data::bandgap, BRUGGEMAN35, cdEXIT, DEBUG_ENTRY, grain_data::depl, grain_data::elmAbun, FARAFONOV00, FILENAME_PATH_LENGTH_2, grain_data::magic, MAGIC_MIX, MALLOC, grain_data::matType, MAX2, mie_next_data(), mie_read_double(), mie_read_long(), mie_read_rfi(), mie_read_word(), MIN2, MIX_TABLE_SIZE, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::ndata, nMatch(), grain_data::nOpcCols, grain_data::nr1, grain_data::opcAnu, open_data(), RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), STOGNIENKO95, grain_data::subl_temp, grain_data::therm_eff, WORDLEN, grain_data::work, and grain_data::wt.

Referenced by mie_write_opc().

Here is the call graph for this function:

void mie_read_opc ( const char *  ,
GrainPar   
)

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

Parameters:
*chFile 
gp 

Definition at line 990 of file grains_mie.cpp.

References AS_DATA_LOCAL, called, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, gv, t_called::lgTalk, LIMELM, open_data(), t_gv::ReadPtr, and t_gv::ReadRecord.

Referenced by ParseGrain().

Here is the call graph for this function:

STATIC void mie_read_realnum ( const char *  ,
const   char[],
realnum ,
bool  ,
long  int 
)

Definition at line 3884 of file grains_mie.cpp.

References cdEXIT, and DEBUG_ENTRY.

STATIC void mie_read_rfi ( const char *  ,
grain_data  
)

Definition at line 2407 of file grains_mie.cpp.

References grain_data::abun, AS_LOCAL_ONLY, ASSERT, grain_data::atom_weight, grain_data::bandgap, cdEXIT, DEBUG_ENTRY, grain_data::depl, dftori(), grain_data::elmAbun, FILENAME_PATH_LENGTH_2, grain_data::magic, MAGIC_RFI, MALLOC, MAT_TOP, grain_data::matType, mie_next_data(), mie_read_double(), mie_read_form(), mie_read_long(), mie_read_word(), MIN2, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::ndata, nMatch(), grain_data::nOpcCols, grain_data::nOpcData, grain_data::nr1, OPC_GREY, OPC_PAH1, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), sign3(), grain_data::subl_temp, grain_data::therm_eff, grain_data::wavlen, WORDLEN, grain_data::work, and grain_data::wt.

Referenced by mie_read_mix(), and mie_write_opc().

Here is the call graph for this function:

STATIC void mie_read_szd ( const char *  ,
sd_data  
)

Definition at line 3515 of file grains_mie.cpp.

References sd_data::a, AS_LOCAL_ONLY, cdEXIT, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, ipAlpha, ipBeta, ipBHi, ipBLo, ipExp, ipGCen, ipGSig, ipSHi, ipSize, ipSLo, LARGEST_GRAIN, sd_data::lim, sd_data::ln_a, sd_data::ln_a4dNda, sd_data::magic, MAGIC_SZD, MALLOC, mie_next_data(), mie_read_double(), mie_read_long(), mie_read_word(), nMatch(), sd_data::npts, open_data(), POW2, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, search_limit(), SMALLEST_GRAIN, and WORDLEN.

Referenced by mie_write_opc().

Here is the call graph for this function:

STATIC void mie_read_word ( const   char[],
char  [],
long  ,
int   
)

Definition at line 4020 of file grains_mie.cpp.

References DEBUG_ENTRY.

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

STATIC void mie_repair ( const char *  chString,
long int  n,
int  val,
int  del,
realnum  anu[],
double  data[],
int  ErrorIndex[],
bool  lgRound,
bool *  lgWarning 
)

Definition at line 2160 of file grains_mie.cpp.

References cdEXIT, DEBUG_ENTRY, MAX2, mie_find_slope(), NPTS_DERIV, and ShowMe().

Here is the call graph for this function:

STATIC void mie_repair ( const char *  ,
long  ,
int  ,
int  ,
realnum  [],
double  [],
int  [],
bool  ,
bool *   
)

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

Definition at line 3983 of file grains_mie.cpp.

References ASSERT, t_elementnames::chElementSym, DEBUG_ENTRY, elementnames, FILENAME_PATH_LENGTH_2, and nint().

Here is the call graph for this function:

void mie_write_opc ( const char *  ,
const char *  ,
long  int 
)

mie_write_opc

Parameters:
[in] *rfi_file 
[in] *szd_file 

Definition at line 208 of file grains_mie.cpp.

References grain_data::abun, sd_data::area, AS_LOCAL_ONLY, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, cdEXIT, t_elementnames::chElementSym, DEBUG_ENTRY, grain_data::depl, elementnames, grain_data::elmAbun, FILENAME_PATH_LENGTH_2, Singleton< T >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::ln_a, sd_data::ln_a4dNda, sd_data::magic, grain_data::magic, MAGIC_OPC, MALLOC, grain_data::matType, MAX2, mie_auxiliary(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), MIN2, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::nOpcCols, grain_data::norm, sd_data::nPart, grain_data::nr1, t_rfield::nupper, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), POW4, radius, sd_data::radius, rfield, grain_data::rfiType, grain_data::rho, SD_SINGLE_SIZE, sd_data::sdCase, size_distr(), grain_data::subl_temp, grain_data::therm_eff, sd_data::unity, sd_data::vol, grain_data::wavlen, and grain_data::work.

Referenced by ParseCompile().

Here is the call graph for this function:

STATIC void pah1_fun ( double  ,
sd_data ,
grain_data ,
double *  ,
double *  ,
double *  ,
int *   
)

Definition at line 1671 of file grains_mie.cpp.

References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, sd_data::cSize, DEBUG_ENTRY, dense, EVRYD, Singleton< T >::Inst(), ipCARBON, ipHYDROGEN, MAX2, MIN2, PHFIT95, PI, POW2, POW3, grain_data::rho, RYD_INF, x1, and x2.

Here is the call graph for this function:

STATIC void ritodf ( double  ,
double  ,
double *  ,
double *   
)

Definition at line 4667 of file grains_mie.cpp.

References DEBUG_ENTRY.

Referenced by init_eps().

STATIC double search_limit ( double  ,
double  ,
double  ,
sd_data   
)

Definition at line 2008 of file grains_mie.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, ipBHi, ipBLo, sd_data::lim, MAX2, POW4, size_distr(), SMALLEST_GRAIN, TOLER, x1, and x2.

Referenced by mie_read_szd().

Here is the call graph for this function:

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 4336 of file grains_mie.cpp.

References DEBUG_ENTRY, MALLOC, MAX2, MAX4, nint(), NMXLIM, POW2, and POW3.

Here is the call graph for this function:

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

Referenced by mie_cs().

STATIC double size_distr ( double  ,
sd_data  
)

Definition at line 1935 of file grains_mie.cpp.

References sd_data::a, ASSERT, cdEXIT, DEBUG_ENTRY, find_arr(), ipAlpha, ipBeta, ipBHi, ipBLo, ipExp, ipGCen, ipGSig, ipSHi, ipSLo, sd_data::lim, sd_data::ln_a, sd_data::ln_a4dNda, nint(), sd_data::npts, POW2, POW4, powi(), SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, and ShowMe().

Referenced by mie_cs_size_distr(), mie_integrate(), mie_write_opc(), and search_limit().

Here is the call graph for this function:

STATIC void Stognienko ( complex< double >  ,
double  [],
complex< double >  [],
long  ,
complex< double > *  ,
double *  ,
double *   
)

Definition at line 3440 of file grains_mie.cpp.

References DEBUG_ENTRY, h2, PI, and POW2.

STATIC void tbl_fun ( double  ,
sd_data ,
grain_data ,
double *  ,
double *  ,
double *  ,
int *   
)

Definition at line 1882 of file grains_mie.cpp.

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

Here is the call graph for this function:


Variable Documentation

const int ipAlpha = 6 [static]

Definition at line 65 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipBeta = 3 [static]

Definition at line 62 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipBHi = 1 [static]

Definition at line 60 of file grains_mie.cpp.

Referenced by mie_auxiliary(), mie_cs_size_distr(), mie_integrate(), mie_read_szd(), mie_write_opc(), search_limit(), and size_distr().

const int ipBLo = 0 [static]

Definition at line 59 of file grains_mie.cpp.

Referenced by mie_auxiliary(), mie_cs_size_distr(), mie_integrate(), mie_read_szd(), mie_write_opc(), search_limit(), and size_distr().

const int ipExp = 2 [static]

Definition at line 61 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipGCen = 2 [static]

Definition at line 66 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipGSig = 3 [static]

Definition at line 67 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipSHi = 5 [static]

Definition at line 64 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int ipSize = 0 [static]

Definition at line 58 of file grains_mie.cpp.

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

const int ipSLo = 4 [static]

Definition at line 63 of file grains_mie.cpp.

Referenced by mie_read_szd(), and size_distr().

const int LABELSIZE = LABELSUB1 + LABELSUB2 + 4 [static]

Definition at line 152 of file grains_mie.cpp.

Referenced by mie_write_opc().

const int LABELSUB1 = 3 [static]

Definition at line 150 of file grains_mie.cpp.

Referenced by mie_write_opc().

const int LABELSUB2 = 5 [static]

Definition at line 151 of file grains_mie.cpp.

Referenced by mie_write_opc().

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

Definition at line 51 of file grains_mie.cpp.

Referenced by mie_read_szd().

const long MAGIC_MIX = 4030103L [static]

Definition at line 40 of file grains_mie.cpp.

Referenced by mie_read_mix().

const long MAGIC_OPC = 3030307L [static]

Definition at line 39 of file grains_mie.cpp.

Referenced by mie_write_opc().

const long MAGIC_RFI = 1030103L [static]

Definition at line 37 of file grains_mie.cpp.

Referenced by mie_read_rfi().

const long MAGIC_SZD = 2010403L [static]

Definition at line 38 of file grains_mie.cpp.

Referenced by mie_read_szd().

const long MIX_TABLE_SIZE = 2000L [static]

Definition at line 155 of file grains_mie.cpp.

Referenced by mie_read_mix().

const int NAX = 3 [static]

Definition at line 112 of file grains_mie.cpp.

Referenced by mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), and mie_write_opc().

const int NDAT = 4 [static]

Definition at line 113 of file grains_mie.cpp.

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

const int NSD = 7 [static]

Definition at line 54 of file grains_mie.cpp.

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 1667 of file grains_mie.cpp.

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

Definition at line 1669 of file grains_mie.cpp.

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

Definition at line 1668 of file grains_mie.cpp.

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

Definition at line 50 of file grains_mie.cpp.

Referenced by mie_read_szd(), and search_limit().

const int WORDLEN = 5 [static]

Definition at line 147 of file grains_mie.cpp.

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


Generated on Mon Feb 16 12:06:24 2009 for cloudy by  doxygen 1.4.7