#include <ctype.h>
#include "cddefines.h"
#include "elementnames.h"
#include "physconst.h"
#include "path.h"
#include "dense.h"
#include "called.h"
#include "version.h"
#include "grainvar.h"
#include "rfield.h"
#include "atmdat.h"
#include "grains.h"
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, float[], double[], int[], bool, bool *) |
static double | mie_find_slope (const float[], 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_float (const char *, const char[], float *, 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, float 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 NMXLIM 16000 |
#define NPTS_COMB (NPTS_DERIV*(NPTS_DERIV-1)/2) |
#define NPTS_DERIV 8 |
enum emt_type |
enum rfi_type |
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 |
Definition at line 81 of file grains_mie.cpp.
static void anomal | ( | double | x, | |
double * | qext, | |||
double * | qabs, | |||
double * | qphase, | |||
double * | xistar, | |||
double | delta, | |||
double | beta | |||
) | [static] |
Definition at line 4833 of file grains_mie.cpp.
References bigk(), DEBUG_ENTRY, DEBUG_EXIT, and POW2.
Referenced by mie_cs().
static void bigk | ( | complex< double > | cw, | |
complex< double > * | cbigk | |||
) | [static] |
Definition at line 4877 of file grains_mie.cpp.
References DEBUG_ENTRY, and DEBUG_EXIT.
Referenced by anomal().
static void Bruggeman | ( | complex< double > | x, | |
double | frdelta[], | |||
complex< double > | eps[], | |||
long | sumAxes, | |||
complex< double > * | f, | |||
double * | dudx, | |||
double * | dudy | |||
) | [static] |
Definition at line 3655 of file grains_mie.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, h2, and POW2.
Referenced by mie_read_mix().
static complex< double > cnewton | ( | void(*)(complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *) | fun, | |
double | frdelta[], | |||
complex< double > | eps[], | |||
long | sumAxes, | |||
complex< double > | x0, | |||
double | tol | |||
) | [static] |
Definition at line 3559 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, LOOP_MAX, POW2, ShowMe(), and x1.
Referenced by mie_read_mix().
static void dftori | ( | double * | nr, | |
double * | ni, | |||
double | eps1, | |||
double | eps2 | |||
) | [static] |
Definition at line 4921 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, and DEBUG_EXIT.
Referenced by mie_read_mix(), and 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.
x | ||
xa[] | ||
n | ||
[out] | *ind | |
[out] | *lgOutOfBounds |
Definition at line 4470 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, MAX2, MIN2, and sign3().
Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().
void gauss_init | ( | long | int, | |
double | , | |||
double | , | |||
double | [], | |||
double | [], | |||
double | [], | |||
double | [] | |||
) |
set up Gaussian quadrature for arbitrary interval
nn | ||
xbot | ||
xtop | ||
x[] | ||
a[] | ||
rr[] | ||
ww[] |
Definition at line 4324 of file grains_mie.cpp.
References DEBUG_ENTRY, and DEBUG_EXIT.
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
nn | ||
x[] | ||
a[] |
Definition at line 4354 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, MALLOC, POW2, and SAFETY.
Referenced by DebyeDeriv(), and mie_integrate().
static void init_eps | ( | double | wavlen, | |
long | nMaterial, | |||
grain_data | gdArr[], | |||
complex< double > | eps[] | |||
) | [static] |
Definition at line 3513 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, find_arr(), grain_data::n, grain_data::nAxes, ritodf(), and grain_data::wavlen.
Referenced by mie_read_mix().
static void mie_auxiliary | ( | sd_data * | sd, | |
const char * | auxCase | |||
) | [static] |
Definition at line 818 of file grains_mie.cpp.
References sd_data::a, sd_data::aa, sd_data::area, cdEXIT(), sd_data::clim, sd_data::cPart, DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, 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().
static void mie_calc_ial | ( | grain_data * | gd, | |
long int | n, | |||
double | invlen[], | |||
const char * | chString, | |||
bool * | lgWarning | |||
) | [static] |
Definition at line 2184 of file grains_mie.cpp.
References t_rfield::anu, ASSERT, DEBUG_ENTRY, DEBUG_EXIT, find_arr(), MALLOC, mie_repair(), grain_data::n, grain_data::nAxes, grain_data::ndata, t_rfield::nupper, PI4, RFI_TABLE, rfield, grain_data::rfiType, grain_data::wavlen, WAVNRYD, and grain_data::wt.
static void mie_calc_ial | ( | grain_data * | , | |
long | , | |||
double | [], | |||
const char * | , | |||
bool * | ||||
) | [static] |
Referenced by mie_write_opc().
static void mie_cs | ( | double | wavlen, | |
sd_data * | sd, | |||
grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) | [static] |
Definition at line 1610 of file grains_mie.cpp.
References anomal(), ASSERT, grain_data::cAxis, cdEXIT(), sd_data::cSize, DEBUG_ENTRY, DEBUG_EXIT, find_arr(), ioQQQ, MAX2, grain_data::n, grain_data::ndata, grain_data::nr1, PI, POW2, sinpar(), and grain_data::wavlen.
Referenced by mie_write_opc().
static void mie_cs_size_distr | ( | double | wavlen, | |
sd_data * | sd, | |||
grain_data * | gd, | |||
void(*)(double, sd_data *, grain_data *, double *,double *, double *, int *) | cs_fun, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) | [static] |
Definition at line 1504 of file grains_mie.cpp.
References sd_data::a, ASSERT, grain_data::cAxis, cdEXIT(), sd_data::cSize, DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, 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(), and size_distr().
Referenced by mie_write_opc().
static double mie_find_slope | ( | const float | anu[], | |
const double | data[], | |||
const int | ErrorIndex[], | |||
long | i1, | |||
long | i2, | |||
int | val, | |||
bool | lgVerbose, | |||
bool * | lgWarning | |||
) | [static] |
Definition at line 2411 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, MAX2, NPTS_COMB, NPTS_DERIV, and POW2.
Referenced by mie_repair().
static void mie_integrate | ( | sd_data * | sd, | |
double | amin, | |||
double | amax, | |||
double * | normalization, | |||
bool | lgFreeMem | |||
) | [static] |
Definition at line 957 of file grains_mie.cpp.
References sd_data::aa, sd_data::area, cdEXIT(), sd_data::clim, DEBUG_ENTRY, DEBUG_EXIT, gauss_init(), gauss_legendre(), ioQQQ, ipBHi, ipBLo, sd_data::lgLogScale, MALLOC, MAX2, MIN2, sd_data::nmul, sd_data::nn, PI, POW2, POW3, sd_data::radius, sd_data::rr, size_distr(), sd_data::vol, sd_data::ww, and sd_data::xx.
Referenced by mie_auxiliary().
static void mie_next_data | ( | const char * | chFile, | |
FILE * | io, | |||
char | chLine[], | |||
long int * | dl | |||
) | [static] |
Definition at line 4260 of file grains_mie.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, and mie_next_line().
static void mie_next_data | ( | const char * | , | |
FILE * | , | |||
char * | , | |||
long int * | ||||
) | [static] |
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
static void mie_next_line | ( | const char * | chFile, | |
FILE * | io, | |||
char | chLine[], | |||
long int * | dl | |||
) | [static] |
Definition at line 4290 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, FILENAME_PATH_LENGTH_2, and ioQQQ.
static void mie_next_line | ( | const char * | , | |
FILE * | , | |||
char * | , | |||
long int * | ||||
) | [static] |
Referenced by mie_next_data(), and mie_read_opc().
static void mie_read_double | ( | const char * | chFile, | |
const char | chLine[], | |||
double * | data, | |||
bool | lgZeroIllegal, | |||
long int | dl | |||
) | [static] |
Definition at line 4115 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, and ioQQQ.
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
static void mie_read_float | ( | const char * | chFile, | |
const char | chLine[], | |||
float * | data, | |||
bool | lgZeroIllegal, | |||
long int | dl | |||
) | [static] |
Definition at line 4089 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, and ioQQQ.
Referenced by mie_read_opc().
static void mie_read_form | ( | const char | chWord[], | |
double | elmAbun[], | |||
double * | no_atoms, | |||
double * | mol_weight | |||
) | [static] |
Definition at line 4141 of file grains_mie.cpp.
References t_dense::AtomicWeight, t_elementnames::chElementSym, DEBUG_ENTRY, DEBUG_EXIT, dense, elementnames, ipHYDROGEN, and LIMELM.
static void mie_read_form | ( | const char * | , | |
double | [], | |||
double * | , | |||
double * | ||||
) | [static] |
Referenced by mie_read_rfi().
static void mie_read_long | ( | const char * | chFile, | |
const char | chLine[], | |||
long int * | data, | |||
bool | lgZeroIllegal, | |||
long int | dl | |||
) | [static] |
Definition at line 4063 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, and ioQQQ.
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
static void mie_read_mix | ( | const char * | chFile, | |
grain_data * | gd | |||
) | [static] |
Definition at line 3036 of file grains_mie.cpp.
References a1, a2, grain_data::abun, ASSERT, grain_data::atom_weight, grain_data::bandgap, Bruggeman(), BRUGGEMAN35, cdEXIT(), cnewton(), DEBUG_ENTRY, DEBUG_EXIT, grain_data::depl, dftori(), grain_data::elmAbun, FARAFONOV00, FILENAME_PATH_LENGTH_2, init_eps(), ioQQQ, LIMELM, 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(), mie_write_form(), 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, grain_data::opcData, RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), Stognienko(), STOGNIENKO95, grain_data::subl_temp, grain_data::therm_eff, grain_data::wavlen, WORDLEN, grain_data::work, and grain_data::wt.
Referenced by mie_write_opc().
void mie_read_opc | ( | const char * | , | |
GrainPar | ||||
) |
read in the *.opc file with opacities and other relevant information
*chFile | ||
gp |
Definition at line 1033 of file grains_mie.cpp.
References GrainBin::AccomCoef, ASSERT, GrainBin::asym, t_dense::AtomicWeight, GrainBin::atomWeight, GrainBin::AvArea, GrainBin::AvRadius, GrainBin::AvVol, GrainBin::BandGap, t_gv::bin, called, GrainBin::Capacity, cdEXIT(), chDataPath, GrainBin::chDstLab, GrainBin::cnv_GR_pH, GrainBin::cnv_H_pGR, DEBUG_ENTRY, DEBUG_EXIT, dense, GrainPar::dep, GrainBin::dstab1, GrainBin::dstfactor, GrainBin::dustp, GrainBin::DustWorkFcn, ELECTRIC_CONST, GrainBin::elmAbund, GrainBin::EnergyCheck, FILENAME_PATH_LENGTH_2, gv, GrainBin::IntArea, GrainBin::IntRadius, GrainBin::IntVol, GrainBin::inv_att_len, ioQQQ, LABELSIZE, GrainPar::lgAbunVsDepth, lgDataPathSet, GrainBin::lgDustFunc, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainBin::lgQHeat, GrainPar::lgRequestQHeating, t_called::lgTalk, LIMELM, MAGIC_OPC, MALLOC, GrainBin::matType, MAX_READ_RECORDS, mie_next_data(), mie_next_line(), mie_read_double(), mie_read_float(), mie_read_long(), NewGrainBin(), GrainBin::NFPCheck, path_not_set(), PI4, POW2, GrainBin::pure_sc1, t_gv::ReadPtr, t_gv::ReadRecord, GrainBin::ThermEff, and GrainBin::Tsublimat.
Referenced by ParseAbundances(), and ParseGrain().
static void mie_read_rfi | ( | const char * | chFile, | |
grain_data * | gd | |||
) | [static] |
Definition at line 2511 of file grains_mie.cpp.
References grain_data::abun, ASSERT, grain_data::atom_weight, grain_data::bandgap, cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, grain_data::depl, dftori(), grain_data::elmAbun, FILENAME_PATH_LENGTH_2, ioQQQ, LIMELM, 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, 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().
static void mie_read_szd | ( | const char * | chFile, | |
sd_data * | sd | |||
) | [static] |
Definition at line 3690 of file grains_mie.cpp.
References sd_data::a, cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, FILENAME_PATH_LENGTH_2, ioQQQ, 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, 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().
static void mie_read_word | ( | const char | chLine[], | |
char | chWord[], | |||
long | n, | |||
int | toUpper | |||
) | [static] |
Definition at line 4233 of file grains_mie.cpp.
References DEBUG_ENTRY, and DEBUG_EXIT.
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, | |||
float | anu[], | |||
double | data[], | |||
int | ErrorIndex[], | |||
bool | lgRound, | |||
bool * | lgWarning | |||
) | [static] |
Definition at line 2257 of file grains_mie.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, MAX2, mie_find_slope(), NPTS_DERIV, and ShowMe().
static void mie_repair | ( | const char * | , | |
long | , | |||
int | , | |||
int | , | |||
float | [], | |||
double | [], | |||
int | [], | |||
bool | , | |||
bool * | ||||
) | [static] |
Referenced by mie_calc_ial(), and mie_write_opc().
static void mie_write_form | ( | const double | elmAbun[], | |
char | chWord[] | |||
) | [static] |
Definition at line 4194 of file grains_mie.cpp.
References ASSERT, t_elementnames::chElementSym, DEBUG_ENTRY, DEBUG_EXIT, elementnames, FILENAME_PATH_LENGTH_2, LIMELM, and nint().
Referenced by mie_read_mix().
void mie_write_opc | ( | const char * | , | |
const char * | , | |||
long | int | |||
) |
mie_write_ops
[in] | *rfi_file | |
[in] | *szd_file |
Definition at line 209 of file grains_mie.cpp.
References grain_data::abun, t_rfield::anu, sd_data::area, ASSERT, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, grain_data::cAxis, cdEXIT(), t_version::chDate, t_elementnames::chElementSym, t_version::chVersion, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, DEBUG_EXIT, grain_data::depl, elementnames, grain_data::elmAbun, FILENAME_PATH_LENGTH_2, gv, IAL_CAR, IAL_SIL, 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_calc_ial(), mie_cs(), mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), mie_repair(), 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_GREY, OPC_PAH1, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, pah1_fun(), POW4, radius, sd_data::radius, RFI_TABLE, rfield, grain_data::rfiType, grain_data::rho, SD_SINGLE_SIZE, sd_data::sdCase, ShowMe(), size_distr(), grain_data::subl_temp, tbl_fun(), grain_data::therm_eff, sd_data::unity, sd_data::unity_bin, version, sd_data::vol, grain_data::wavlen, WAVNRYD, t_gv::which_ial, grain_data::work, and grain_data::wt.
Referenced by ParseCompile().
static void pah1_fun | ( | double | wavl, | |
sd_data * | sd, | |||
grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) | [static] |
Definition at line 1754 of file grains_mie.cpp.
References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, sd_data::cSize, DEBUG_ENTRY, DEBUG_EXIT, dense, EVRYD, Singleton< t_ADfA >::Inst(), ipCARBON, ipHYDROGEN, MAX2, MIN2, t_ADfA::phfit(), PHFIT95, PI, POW2, POW3, grain_data::rho, RYD_INF, t_ADfA::set_version(), x1, and x2.
Referenced by mie_write_opc().
static void ritodf | ( | double | nr, | |
double | ni, | |||
double * | eps1, | |||
double * | eps2 | |||
) | [static] |
Definition at line 4904 of file grains_mie.cpp.
References DEBUG_ENTRY, and DEBUG_EXIT.
Referenced by init_eps().
static double search_limit | ( | double | ref, | |
double | step, | |||
double | rel_cutoff, | |||
sd_data | sd | |||
) | [static] |
Definition at line 2099 of file grains_mie.cpp.
References ASSERT, cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, ipBHi, ipBLo, sd_data::lim, MAX2, POW4, size_distr(), SMALLEST_GRAIN, TOLER, x1, and x2.
Referenced by mie_read_szd().
static void sinpar | ( | double | nre, | |
double | nim, | |||
double | x, | |||
double * | qext, | |||
double * | qphase, | |||
double * | qscat, | |||
double * | ctbrqs, | |||
double * | qback, | |||
long int * | iflag | |||
) | [static] |
Definition at line 4567 of file grains_mie.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, MALLOC, MAX2, MAX4, nint(), NMXLIM, POW2, and POW3.
static void sinpar | ( | double | , | |
double | , | |||
double | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
long * | ||||
) | [static] |
Referenced by mie_cs().
static double size_distr | ( | double | size, | |
sd_data * | sd | |||
) | [static] |
Definition at line 2022 of file grains_mie.cpp.
References sd_data::a, ASSERT, cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, find_arr(), ioQQQ, 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().
static void Stognienko | ( | complex< double > | x, | |
double | frdelta[], | |||
complex< double > | eps[], | |||
long | sumAxes, | |||
complex< double > * | f, | |||
double * | dudx, | |||
double * | dudy | |||
) | [static] |
Definition at line 3611 of file grains_mie.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, h2, PI, and POW2.
Referenced by mie_read_mix().
static void tbl_fun | ( | double | wavl, | |
sd_data * | sd, | |||
grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) | [static] |
Definition at line 1967 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, find_arr(), grain_data::nOpcCols, grain_data::nOpcData, grain_data::opcAnu, grain_data::opcData, TotalInsanity(), and WAVNRYD.
Referenced by mie_write_opc().
const int ipAlpha = 6 [static] |
const int ipBeta = 3 [static] |
const int ipBHi = 1 [static] |
Definition at line 61 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 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 ipExp = 2 [static] |
const int ipGCen = 2 [static] |
const int ipGSig = 3 [static] |
const int ipSHi = 5 [static] |
const int ipSize = 0 [static] |
Definition at line 59 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), and mie_read_szd().
const int ipSLo = 4 [static] |
const int LABELSUB1 = 3 [static] |
const int LABELSUB2 = 5 [static] |
const double LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON) [static] |
const long MAGIC_MIX = 4030103L [static] |
const long MAGIC_OPC = 3030307L [static] |
const long MAGIC_RFI = 1030103L [static] |
const long MAGIC_SZD = 2010403L [static] |
const long MIX_TABLE_SIZE = 2000L [static] |
const int NAX = 3 [static] |
Definition at line 113 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 114 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 55 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 1750 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 1752 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 1751 of file grains_mie.cpp.
const double SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON) [static] |
const int WORDLEN = 5 [static] |
Definition at line 148 of file grains_mie.cpp.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_read_szd().