Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.mrao.cam.ac.uk/~bn204/devman/dust/dustiface_8h.html
Дата изменения: Fri Jul 11 10:32:07 2008
Дата индексирования: Tue Oct 2 10:49:35 2012
Кодировка:

Поисковые слова: п п п п п п п п п р п р п р п р п р р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п
DUST: dustiface.h File Reference

dustiface.h File Reference

#include "dustmodel.h"
#include <cbnlib.h>

Include dependency graph for dustiface.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dust_EBins
 Energy bins of a grain. More...
struct  dust_tmatrix
 A representation of the transition matrix. More...

Typedefs

typedef void dust_AbsXSec
 Absorption Cross section.
typedef void dust_RF
 Radiation field.
typedef double dust_pvector
 Energy bin grain probability distribution vector.

Functions

void dust_cAbsXSection (const double *wavev, double *absx, unsigned n, double a, dust_type type, double ionf, dust_model *dm)
dust_AbsXSecdust_mkAbsXSection (double a, dust_type type, double ionf, dust_model *dm)
 Makes a handle to a function which gives absorption section as function of radius.
dust_RFdust_simplebbrf (double T, double W)
 Black body radiation field.
double dust_EquiT (dust_AbsXSec *xsection, dust_RF *rf)
 Calculates the equilibrium temperature given the absorption cross section and a radiation field.
double dust_equiemm (double lambda, double T, dust_AbsXSec *xsection)
 Calculate emissivity of a grain in equilibrium.
dust_EBinsdust_cEBins (double a, dust_type type, dust_model *dm)
 Calculate energy bins appropriate for a grain.
dust_tmatrixdust_ctmatrix (dust_EBins *ebins, dust_AbsXSec *xsec, dust_RF *rf)
 Calculate the transition matrix.
dust_pvectordust_TMSolve (dust_tmatrix *tm)
 Calculate the energy bin probability distribution of a grain by solving transition matrix.
double dust_ctemission (double lambda, dust_EBins *ebins, dust_pvector *pvector, dust_AbsXSec *xsec)
 Calculate the specific emissivity of a grain.


Detailed Description

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

A C-based interface to the dust code


Typedef Documentation

typedef void dust_AbsXSec

Absorption Cross section.

Infact define as opaque pointer which is later recast to UnaryDD.

typedef double dust_pvector

Energy bin grain probability distribution vector.

Represents the probability distribution that the grain is in a particular bin

typedef void dust_RF

Radiation field.

Just an opaque pointer -- will need to cast it to the c++ type to make use.


Function Documentation

void dust_cAbsXSection ( const double *  wavev,
double *  absx,
unsigned  n,
double  a,
dust_type  type,
double  ionf,
dust_model dm 
)

Calculates the absortion cross section of a species/size of dust grain

Parameters:
wavel Array of wavelenghts at which the * absorption cross section should be calculated
absx Calculated absorption cross section is saved here (should be inunits of m^2)
n the number of elements in the arrays wavev and absx
a The grain size
dust_type The species of the dust particle
ionf the ionisation fraction
dust_model Structure containing dust model parameters

dust_EBins* dust_cEBins ( double  a,
dust_type  type,
dust_model dm 
)

Calculate energy bins appropriate for a grain.

Parameters:
a The grain radius in metres

double dust_ctemission ( double  lambda,
dust_EBins ebins,
dust_pvector pvector,
dust_AbsXSec xsec 
)

Calculate the specific emissivity of a grain.

Takes energy bins appropriate for this grain(ebins), calculated probability vector (pvector), and absorption cross section (xsec).

Implemented in dustemm/transientemm.cxx

Parameters:
ebins The energy bins of this grain
pvector The vector representing probability distribution that the grain is in a state in one of the bins above
xsec The grain absorption cross section
Returns:
Specific emissivity

dust_tmatrix* dust_ctmatrix ( dust_EBins ebins,
dust_AbsXSec xsec,
dust_RF rf 
)

Calculate the transition matrix.

Implemented in heatemm/transitionm.cxx

Parameters:
ebins The energy bins of the grain
xsec The absorption cross section of the grain
rf The radiation field the grain is in

double dust_equiemm ( double  lambda,
double  T,
dust_AbsXSec xsection 
)

Calculate emissivity of a grain in equilibrium.

Calculates the equilibrium emission at wavelength lambda from a (large) grain at temperature T and with absorption cross section xsection.

double dust_EquiT ( dust_AbsXSec xsection,
dust_RF rf 
)

Calculates the equilibrium temperature given the absorption cross section and a radiation field.

Parameters:
xsection The absorption cross section of the grain
rf The radiation field
Returns:
The temperature in Kelvin.

dust_AbsXSec* dust_mkAbsXSection ( double  a,
dust_type  type,
double  ionf,
dust_model dm 
)

Makes a handle to a function which gives absorption section as function of radius.

See dust_cAbsXSection for parameter description.

dust_RF* dust_simplebbrf ( double  T,
double  W 
)

Black body radiation field.

Returns a very simple radiation field corresponding to a black body -- useful just for the testing really. T is the temerature in Kelvin, W is the diluation factor. Implemented in radfield/blackbrf.cxx.

dust_pvector* dust_TMSolve ( dust_tmatrix tm  ) 

Calculate the energy bin probability distribution of a grain by solving transition matrix.

Implemented in heatemm/tmsolve.c

Parameters:
tm The transition matrix to solve
Returns:
The probability vector

References dust_tmatrix::data, dust_mkBmatrix(), dust_normalisepvect(), and dust_tmatrix::M.

Here is the call graph for this function:


Generated on Fri Jul 11 07:32:07 2008 for DUST by  doxygen 1.5.5