Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.mrao.cam.ac.uk/~bn204/devman/dust/namespaceDust.html
Дата изменения: Thu Jul 10 16:19:52 2008
Дата индексирования: Tue Oct 2 11:06:37 2012
Кодировка:
DUST: Dust Namespace Reference

Dust Namespace Reference


Classes

class  GenEigenModes
class  GenPAHCC
class  GenSilModes
class  EBins
class  EquivTempRes
class  PowerOutInt
class  PowerInInt
class  EquiTRes
class  TMatrix
class  TUpwardI
class  TUpwardLimContInt
class  TUpwardLimInt
class  TCDownInt
class  TUpwardEval
class  AttRF
class  AttSlab
class  BBRadField
class  iMMPUV
class  MMPUV
class  RadField
class  ThinShell
class  RastSDS
class  CarbSD
class  SilSD
struct  Dielectrics

Typedefs

typedef std::pair
< InterpolatorBase
*, InterpolatorBase * > 
DielctrcIplt

Enumerations

enum  CETmethod { Exact, Debye }

Functions

double BoltzDist (double E, double T)
double PAHCHSum (double a, double E, double T)
double EigenSum (std::vector< double > &Evect, double T)
void PAHCCOPModes (std::vector< double > &Evect, double a, unsigned maxmodes, dust_nmoded *nm)
void PAHCCIPModes (std::vector< double > &Evect, double a, unsigned maxmodes, dust_nmoded *nm)
double PAHEnergyExact (double a, double T, dust_nmoded *nm)
double BoltzSum (GenEigenModes &modegen, double T, double BoltzCut)
double PAHEnergyExactFast (double a, double T, dust_nmoded *nm, double BoltzCut)
double PAHEnergyExactFast (double a, double T, dust_nmoded *dm)
void Sil2dModes (std::vector< double > &Evect, double a, unsigned maxmodes, dust_nmoded *nm)
void Sil3dModes (std::vector< double > &Evect, double a, unsigned maxmodes, dust_nmoded *nm)
double SilEnergyExact (double a, double T, dust_nmoded *nm)
double SilEnergyExactFast (double a, double T, dust_nmoded *nm, double BoltzCut)
double SilEnergyExactFast (double a, double T, dust_nmoded *dm)
double * PAHLowStates (double a, unsigned n, dust_nmoded *dm)
double * SilLowStates (double a, unsigned n, dust_nmoded *dm)
double PAHEnergyDebye (double a, double T, dust_nmoded *nm)
double SilEnergyDebye (double a, double T, dust_nmoded *nm)
EBinsMkEBins (double *lowstates, unsigned NLow, unsigned NLin, unsigned NLog, dust_model *dm, double LogFact)
double * LowStates (double a, unsigned NLow, dust_type type, dust_model *dm)
EBinsMkEBins (double a, dust_type type, dust_model *dm)
void BinDist (unsigned &NLog, double &LogFact, double a, dust_type type, dust_model *dm)
dust_EBinsdust_cEBinsv2 (double a, dust_type type, dust_model *dm, double debyerad)
double BinTEquiv (dust_EBins *eb, unsigned i)
std::ostream & operator<< (std::ostream &os, EBins &eb)
std::istream & operator>> (std::istream &is, EBins &eb)
void EBWrite (EBins &eb, char *fname)
EBinsEBLoad (char *fname)
void Print (dust_pvector *pvect, size_t n)
double CalcEquivTempVmin (double a, double E, dust_type type, dust_model *dm, CETmethod method)
double CalcEquivTempVroot (double a, double E, dust_type type, dust_model *dm, CETmethod method, double Tmin, double Tmax)
double CalcEquivTemp (double a, double E, dust_type type, dust_model *dm, CETmethod method)
void CalcBinTemps (EBins &eb, double a, dust_type type, dust_model *dm, double debyerad)
double PowerOut (UnaryDD &Cabs, double T)
double PowerIn (UnaryDD &Cabs, RadField &rf)
 Calculates he power absorbed by a grain.
double EquiT (UnaryDD &Cabs, RadField &rf)
 Calculates the equilibrium temperature for a dust grain.
double EquiEmm (double lambda, double T, UnaryDD &Cabs)
double CTEmission (double lambda, EBins *eb, dust_pvector *pvect, UnaryDD &Cabs)
double CTEmission (double lambda, EBins *eb, dust_pvector *pvect, BNLib::UnaryDD &Cabs)
double TUpward (EBins *eb, unsigned u, unsigned l, UnaryDD &Cabs, RadField &rf)
double TUpwardLim (EBins *eb, unsigned l, UnaryDD &Cabs, RadField &rf)
double TCDown (EBins *eb, unsigned u, UnaryDD &Cabs)
TMatrixCTMatrix (EBins *eb, UnaryDD &Cabs, RadField &rf, bool fast_upward)
double TUpward (EBins *eb, unsigned u, unsigned l, TUpwardEval &tue)
double IRF_Solar_UV (double lambda_m)
double ulconvert (double ul, double lambda_m)
 Converts erg cm**-2, s**-1 micron**-1 to m**-3.
void AdjustSmallG (dust_sdpars *sd, double f)
dust_sdparsDraineBestFit (void)
DielctrcIplt MkStaticDielectric (const double *data, size_t size)
DielctrcIplt MkEpsGraphitePar (void)
 Makes the interpolators for Graphite in the 'parallel' direction.
DielctrcIplt MkEpsGraphitePerp (void)
 Makes the interpolators for Graphite in the 'perpendicular' direction.
DielctrcIplt MkEpsSil (void)
 Make the interpolator for silicate grains.
double EvalReal (DielctrcIplt iplt, double lambda)
double EvalImag (DielctrcIplt iplt, double lambda)
std::vector< double > * CarbRaster (double a, dust_model *dm)
std::vector< double > * SilRaster (double a, dust_model *dm)
 as CarbRaster but for silicate grains
double GraphCAbs (double lambda, double a, Dielectrics &d, dust_model *m)
double PAHCAbs (double lambda, double a, dust_ionisation state, Dielectrics &d, dust_model *m)
double CarbCAbs (double lambda, double a, double ionf, Dielectrics &d, dust_model *m)
InterpolatorBase * CarbCAbsIplt (double a, double ionf, dust_model *m)
double SilCAbs (double lambda, double a, Dielectrics &d, dust_model *m)
BNLib::InterpolatorBase * SilCabsIplt (double a, dust_model *m)


Detailed Description

rastsizedist.hxx Bojan Nikolic <bojan@bnikolic.co.uk>, <b.nikolic@mrao.cam.ac.uk>

Collect all size -distribution parameters in one place


Typedef Documentation

typedef std::pair< InterpolatorBase * , InterpolatorBase * > Dust::DielctrcIplt

Pair of interpolator for use in evaluating the real and imag. parts of the dilectric constants.


Enumeration Type Documentation

Exact: do the sum over the discrete normal modes Debye: use the continuum approximation


Function Documentation

void Dust::AdjustSmallG ( dust_sdpars sd,
double  f 
)

Reduce the frequency of grains in the two log-normal distributions by multiplying by the factor f

References dust_lognormalpars::Bi, dust_sdpars::carbpars, and dust_carbsdpars::lnd.

void Dust::BinDist ( unsigned &  NLog,
double &  LogFact,
double  a,
dust_type  type,
dust_model dm 
)

This is a function used by the bin creation routines. It returns the number of bins and their spacing at high energy for grains of given size and type.

NLog is the number of bins in the log-spaced regime (i.e., at high energies). LogFact is a factor by which the size of bins is increased from default.

Referenced by dust_cEBinsv2().

double Dust::BinTEquiv ( dust_EBins eb,
unsigned  i 
)

Just a convenience function for use from python

void Dust::CalcBinTemps ( EBins &  eb,
double  a,
dust_type  type,
dust_model dm,
double  debyerad = 1.0 
)

Calculate bin temperatures. For grains larger than debyerad use only debye approximation.

References bndust_PAHatoHc(), bndust_PAHatoNC(), CalcEquivTemp(), dust_silatona(), Dust::EBins::E(), LowStates(), dust_EBins::n, and dust_EBins::Teqi.

Referenced by dust_cEBinsv2().

Here is the call graph for this function:

double Dust::CalcEquivTemp ( double  a,
double  E,
dust_type  type,
dust_model dm,
CETmethod  method 
)

Calculate temperature which equivalent to grain energy E.

References CalcEquivTempVmin(), and CalcEquivTempVroot().

Referenced by CalcBinTemps().

Here is the call graph for this function:

double Dust::CalcEquivTempVmin ( double  a,
double  E,
dust_type  type,
dust_model dm,
CETmethod  method 
)

Calculate equivalent temperature using the 1-d minimisation algorithm. Uses derivatives so relatively fast. Not obvious what goes wrong when real root not stradled by endpoints. Returns a negative value when minimisation fails.

Referenced by CalcEquivTemp().

double Dust::CalcEquivTempVroot ( double  a,
double  E,
dust_type  type,
dust_model dm,
CETmethod  method,
double  Tmin,
double  Tmax 
)

As CalcEquivTempVmin but uses true root finding algorithm

Referenced by CalcEquivTemp().

double Dust::CarbCAbs ( double  lambda,
double  a,
double  ionf,
Dielectrics &  d,
dust_model m 
)

Calculates the cross section of a carbonacous grain (PAH or graphite).

ionf is the ionisation fraction

References dust_carbprops::axi, bndust_xiPAH(), dust_model::carbprops, GraphCAbs(), PAHCAbs(), and dust_carbprops::qgra.

Referenced by dust_cAbsXSection().

Here is the call graph for this function:

BNLib::InterpolatorBase * Dust::CarbCAbsIplt ( double  a,
double  ionf,
dust_model m 
)

Returns an interplator with carbonacious grain cross section

References CarbRaster(), and dust_cAbsXSection().

Referenced by dust_mkAbsXSection().

Here is the call graph for this function:

std::vector< double > * Dust::CarbRaster ( double  a,
dust_model dm 
)

Makes a vector of wavelengths suitable for sampling carbonaceous grains.

a is the grain radius

Referenced by CarbCAbsIplt().

double Dust::CTEmission ( double  lambda,
EBins *  eb,
dust_pvector pvect,
BNLib::UnaryDD &  Cabs 
)

Returns the emitted specific intensity at wavelength lambda from a transiently heated grain given the energy bins (eb), probability distribution (pvect) and absorption cross section (Cabs). After eq 56 of Draine and Li 2001.

Referenced by dust_ctemission().

TMatrix * Dust::CTMatrix ( EBins *  eb,
UnaryDD &  Cabs,
RadField &  rf,
bool  fast_upward = true 
)

Calculates the complete transition matrix.

References dust_EBins::n, TCDown(), TUpward(), and TUpwardLim().

Referenced by dust_ctmatrix().

Here is the call graph for this function:

dust_EBins * Dust::dust_cEBinsv2 ( double  a,
dust_type  type,
dust_model dm,
double  debyerad 
)

This is a version of dust_cEBinsv2 with an extra parameter: `debyerad` which is the grain radius at which _all_ energy bin temperatures are calculate using the continuum approximation rather than the exact calculation.

References BinDist(), CalcBinTemps(), LowStates(), and MkEBins().

Referenced by dust_cEBins().

Here is the call graph for this function:

void Dust::EBWrite ( EBins &  eb,
char *  fname 
)

Use this just for testing -- writes out the bins to a file

double Dust::EquiEmm ( double  lambda,
double  T,
UnaryDD &  Cabs 
)

Equilibrium emission from a grain. Return value is W per Hz per steradian.

Referenced by dust_equiemm().

double Dust::GraphCAbs ( double  lambda,
double  a,
Dielectrics &  d,
dust_model m 
)

Calculate the abosrption cross section of a graphitic grain

References dust_miecalc(), Dust::Dielectrics::GraphPar, and Dust::Dielectrics::GraphPerp.

Referenced by CarbCAbs(), and PAHCAbs().

Here is the call graph for this function:

double Dust::IRF_Solar_UV ( double  lambda_m  ) 

This is what is in the UV compononet as it is in the paper. The units are erg cm**-2 s**-1 micron**-1. Needs to be divided by c to get RF density.

double * Dust::LowStates ( double  a,
unsigned  NLow,
dust_type  type,
dust_model dm 
)

Return the lowest n states switching on dust type

References dust_model::norm, PAHLowStates(), and SilLowStates().

Referenced by CalcBinTemps(), and dust_cEBinsv2().

Here is the call graph for this function:

EBins * Dust::MkEBins ( double  a,
dust_type  type,
dust_model dm 
)

Wraps creation of bins completely up

References dust_cEBins().

Here is the call graph for this function:

EBins * Dust::MkEBins ( double *  lowstates,
unsigned  NLow,
unsigned  NLin,
unsigned  NLog,
dust_model dm,
double  LogFact = 1.0 
)

Make suitable energy bins for a particular grain. lowstates is a double array of length NLow which contains the lowest states of the grains. NLin is the number of bins linear in energy and NLog is the number of bins logarthmic in energy. LogFact is a factor to increase spacing of the log bins.

References Dust::EBins::EBins().

Referenced by dust_cEBinsv2().

Here is the call graph for this function:

DielctrcIplt Dust::MkStaticDielectric ( const double *  data,
size_t  size 
)

Makes the interpolators for real and imaginary dielectric constants of the dust given a static structure like resides in the file epsdrainedata.c .

Referenced by MkEpsGraphitePar(), MkEpsGraphitePerp(), and MkEpsSil().

std::ostream & Dust::operator<< ( std::ostream &  os,
EBins &  eb 
)

Write the energy bins the output stream. May use binary format -- may not translate between architectures.

References dust_EBins::Emax, dust_EBins::Emin, dust_EBins::n, and dust_EBins::Teqi.

double Dust::PAHCAbs ( double  lambda,
double  a,
dust_ionisation  state,
Dielectrics &  d,
dust_model m 
)

Calclates the overall absorption cross section of a pah molecule

References bndust_drudeS(), bndust_PAHatoNC(), bndust_PAHCutoff(), dust_CPAHDrudes(), GraphCAbs(), and dust_model::pahenhancements.

Referenced by CarbCAbs().

Here is the call graph for this function:

void Dust::PAHCCIPModes ( std::vector< double > &  Evect,
double  a,
unsigned  maxmodes,
dust_nmoded nm 
)

Returns the PAH C-C in-plane modes. if maxmodes == 0 return all modes;

References Dust::GenEigenModes::Fill().

Referenced by PAHEnergyExact(), and PAHLowStates().

Here is the call graph for this function:

void Dust::PAHCCOPModes ( std::vector< double > &  Evect,
double  a,
unsigned  maxmodes,
dust_nmoded nm 
)

Returns the PAH C-C out-of-plane modes

if maxmodes == 0 return all modes;

References Dust::GenEigenModes::Fill().

Referenced by PAHEnergyExact(), and PAHLowStates().

Here is the call graph for this function:

double Dust::PAHEnergyDebye ( double  a,
double  T,
dust_nmoded dm 
)

Returns the approximate expectation value of energy calculated using the continuum Debye approximation.

References bndust_PAHatoNC(), dust_nmoded::CHIP, dust_nmoded::CHOP, dust_nmoded::CHStretch, dust_boseyn(), dust_nmoded::PAHTDebCCIP, and dust_nmoded::PAHTDebCCOP.

Here is the call graph for this function:

double Dust::PAHEnergyExact ( double  a,
double  T,
dust_nmoded dm 
)

Calculate the exact energy expectation value of a PAH given its nominal temperature.

a is the grain radius, T is the temperature. Return value is energy in Joules.

References dust_nmoded::CHIP, dust_nmoded::CHOP, dust_nmoded::CHStretch, PAHCCIPModes(), and PAHCCOPModes().

Here is the call graph for this function:

double Dust::PAHEnergyExactFast ( double  a,
double  T,
dust_nmoded dm 
)

Uses a sensible default for BoltzCut

References PAHEnergyExactFast().

Here is the call graph for this function:

double Dust::PAHEnergyExactFast ( double  a,
double  T,
dust_nmoded dm,
double  BoltzCut 
)

As PAHEnergyExact but should truncate the serries and thus faster

References dust_nmoded::CHIP, dust_nmoded::CHOP, and dust_nmoded::CHStretch.

Referenced by PAHEnergyExactFast().

double * Dust::PAHLowStates ( double  a,
unsigned  n,
dust_nmoded dm 
)

Return the energies of n lowest PAH states

References PAHCCIPModes(), and PAHCCOPModes().

Referenced by LowStates().

Here is the call graph for this function:

double Dust::PowerOut ( UnaryDD &  Cabs,
double  T 
)

Calculate the power output of a grain with specified absorption cross section and temperature. Return value is W per grain.

Note that the integration limits are chosen to be appropriate for dust.

double Dust::SilCAbs ( double  lambda,
double  a,
Dielectrics &  d,
dust_model m 
)

Calculates the absorption cross section of silicate grains

References dust_miecalc(), and Dust::Dielectrics::Sil.

Referenced by dust_cAbsXSection().

Here is the call graph for this function:

BNLib::InterpolatorBase * Dust::SilCabsIplt ( double  a,
dust_model m 
)

Returns an interpolator with silicate grain cross section

References dust_cAbsXSection(), and SilRaster().

Referenced by dust_mkAbsXSection().

Here is the call graph for this function:

double Dust::SilEnergyDebye ( double  a,
double  T,
dust_nmoded dm 
)

As PAHEnergyDebye but for Silicate grains.

References dust_boseyn(), dust_silatona(), dust_nmoded::Sil2DT, and dust_nmoded::Sil3DT.

Here is the call graph for this function:

double Dust::SilEnergyExact ( double  a,
double  T,
dust_nmoded dm 
)

As PAHEnergyExact but for silicate grains.

double * Dust::SilLowStates ( double  a,
unsigned  n,
dust_nmoded dm 
)

Return the energies of n lowest Silicate states

Referenced by LowStates().

double Dust::TCDown ( EBins *  eb,
unsigned  u,
UnaryDD &  Cabs 
)

Calculates the transition rate from bin u to bin u-1 using the thermal-continuous approximation. See eq 41 of Draine and Li 2001

References Dust::EBins::E(), OUTINTEG_MAXSTEPS, and dust_EBins::Teqi.

Referenced by CTMatrix().

Here is the call graph for this function:

double Dust::TUpward ( EBins *  eb,
unsigned  u,
unsigned  l,
TUpwardEval &  tue 
)

double Dust::TUpward ( EBins *  eb,
unsigned  u,
unsigned  l,
UnaryDD &  Cabs,
RadField &  rf 
)

Calculates the upward transition rate from bin l to bin u given the grain absorption cross section Cabs and the radiation field rf. Note that there exists a version which faster when evaluating all upward rates (see file tupward.hxx).

References Dust::RadField::cuthigh_J, Dust::RadField::cutlow_J, Dust::EBins::DE(), Dust::EBins::E(), RFINTEG_MAXSTEPS, Dust::EBins::W1(), and Dust::EBins::W4().

Referenced by CTMatrix().

Here is the call graph for this function:

double Dust::TUpwardLim ( EBins *  eb,
unsigned  l,
UnaryDD &  Cabs,
RadField &  rf 
)

Limitting case of upward transtions from bin l to the top bin

References Dust::RadField::cuthigh_J, Dust::EBins::E(), dust_EBins::n, RFINTEG_MAXSTEPS, Dust::EBins::W1(), and Dust::EBins::Wc().

Referenced by CTMatrix().

Here is the call graph for this function:


Generated on Thu Jul 10 13:19:52 2008 for DUST by  doxygen 1.5.5