|
string | filename () const |
|
double | asymmpar (double lambda) const override |
|
Array | emissionSpectrum (const MaterialState *state, const Array &Jv) const override |
|
DisjointWavelengthGrid * | emissionWavelengthGrid () const override |
|
Array | emissivity (const Array &Jv) const override |
|
bool | hasContinuumEmission () const override |
|
double | indicativeTemperature (const MaterialState *state, const Array &Jv) const override |
|
double | mass () const override |
|
MaterialType | materialType () const override |
|
double | opacityAbs (double lambda, const MaterialState *state, const PhotonPacket *pp) const override |
|
double | opacityExt (double lambda, const MaterialState *state, const PhotonPacket *pp) const override |
|
double | opacitySca (double lambda, const MaterialState *state, const PhotonPacket *pp) const override |
|
void | peeloffScattering (double &I, double &Q, double &U, double &V, double &lambda, Direction bfkobs, Direction bfky, const MaterialState *state, const PhotonPacket *pp) const override |
|
void | performScattering (double lambda, const MaterialState *state, PhotonPacket *pp) const override |
|
virtual ScatteringMode | scatteringMode () const |
|
double | sectionAbs (double lambda) const override |
|
double | sectionExt (double lambda) const override |
|
const Array & | sectionsAbs (double lambda) const override |
|
const Array & | sectionsAbspol (double lambda) const override |
|
double | sectionSca (double lambda) const override |
|
vector< StateVariable > | specificStateVariableInfo () const override |
|
const Array & | thetaGrid () const override |
|
virtual double | asymmpar (double lambda) const |
|
virtual Array | emissionSpectrum (const MaterialState *state, const Array &Jv) const |
|
virtual DisjointWavelengthGrid * | emissionWavelengthGrid () const |
|
virtual Array | emissivity (const Array &Jv) const |
|
virtual bool | hasContinuumEmission () const |
|
virtual DynamicStateType | hasDynamicMediumState () const |
|
virtual bool | hasExtraSpecificState () const |
|
virtual bool | hasLineEmission () const |
|
virtual bool | hasNegativeExtinction () const |
|
virtual bool | hasPolarizedAbsorption () const |
|
virtual bool | hasPolarizedEmission () const |
|
virtual bool | hasPolarizedScattering () const |
|
virtual bool | hasResonantScattering () const |
|
virtual bool | hasScatteringDispersion () const |
|
virtual bool | hasStochasticDustEmission () const |
|
virtual double | indicativeTemperature (const MaterialState *state, const Array &Jv) const |
|
virtual void | initializeSpecificState (MaterialState *state, double metallicity, double temperature, const Array ¶ms) const |
|
bool | isDust () const |
|
bool | isElectrons () const |
|
bool | isGas () const |
|
virtual bool | isSpecificStateConverged (int numCells, int numUpdated, int numNotConverged, MaterialState *currentAggregate, MaterialState *previousAggregate) const |
|
virtual Array | lineEmissionCenters () const |
|
virtual Array | lineEmissionMasses () const |
|
virtual Array | lineEmissionSpectrum (const MaterialState *state, const Array &Jv) const |
|
virtual double | mass () const =0 |
|
virtual MaterialType | materialType () const =0 |
|
virtual double | opacityAbs (double lambda, const MaterialState *state, const PhotonPacket *pp) const =0 |
|
virtual double | opacityExt (double lambda, const MaterialState *state, const PhotonPacket *pp) const =0 |
|
virtual double | opacitySca (double lambda, const MaterialState *state, const PhotonPacket *pp) const =0 |
|
virtual vector< SnapshotParameter > | parameterInfo () const |
|
virtual void | peeloffScattering (double &I, double &Q, double &U, double &V, double &lambda, Direction bfkobs, Direction bfky, const MaterialState *state, const PhotonPacket *pp) const =0 |
|
virtual void | performScattering (double lambda, const MaterialState *state, PhotonPacket *pp) const =0 |
|
virtual double | sectionAbs (double lambda) const =0 |
|
virtual double | sectionExt (double lambda) const =0 |
|
virtual const Array & | sectionsAbs (double lambda) const |
|
virtual const Array & | sectionsAbspol (double lambda) const |
|
virtual double | sectionSca (double lambda) const =0 |
|
virtual vector< StateVariable > | specificStateVariableInfo () const =0 |
|
virtual const Array & | thetaGrid () const |
|
virtual UpdateStatus | updateSpecificState (MaterialState *state, const Array &Jv) const |
|
template<class T > |
T * | find (bool setup=true) const |
|
template<class T > |
T * | interface (int levels=-999999, bool setup=true) const |
|
virtual string | itemName () const |
|
void | setup () |
|
string | typeAndName () const |
|
| Item (const Item &)=delete |
|
virtual | ~Item () |
|
void | addChild (Item *child) |
|
const vector< Item * > & | children () const |
|
virtual void | clearItemListProperty (const PropertyDef *property) |
|
void | destroyChild (Item *child) |
|
virtual bool | getBoolProperty (const PropertyDef *property) const |
|
virtual vector< double > | getDoubleListProperty (const PropertyDef *property) const |
|
virtual double | getDoubleProperty (const PropertyDef *property) const |
|
virtual string | getEnumProperty (const PropertyDef *property) const |
|
virtual int | getIntProperty (const PropertyDef *property) const |
|
virtual vector< Item * > | getItemListProperty (const PropertyDef *property) const |
|
virtual Item * | getItemProperty (const PropertyDef *property) const |
|
virtual string | getStringProperty (const PropertyDef *property) const |
|
int | getUtilityProperty (string name) const |
|
virtual void | insertIntoItemListProperty (const PropertyDef *property, int index, Item *item) |
|
Item & | operator= (const Item &)=delete |
|
Item * | parent () const |
|
virtual void | removeFromItemListProperty (const PropertyDef *property, int index) |
|
virtual void | setBoolProperty (const PropertyDef *property, bool value) |
|
virtual void | setDoubleListProperty (const PropertyDef *property, vector< double > value) |
|
virtual void | setDoubleProperty (const PropertyDef *property, double value) |
|
virtual void | setEnumProperty (const PropertyDef *property, string value) |
|
virtual void | setIntProperty (const PropertyDef *property, int value) |
|
virtual void | setItemProperty (const PropertyDef *property, Item *item) |
|
virtual void | setStringProperty (const PropertyDef *property, string value) |
|
void | setUtilityProperty (string name, int value) |
|
virtual string | type () const |
|
|
| MeanFileDustMix () |
|
double | getDustProperties (Array &lambdav, Array &kappaextv, Array &albedov, Array &asymmparv) const override |
|
| TabulatedDustMix () |
|
virtual double | getDustProperties (Array &lambdav, Array &kappaextv, Array &albedov, Array &asymmparv) const =0 |
|
double | getOpticalProperties (const Array &lambdav, const Array &thetav, Array &sigmaabsv, Array &sigmascav, Array &asymmparv, Table< 2 > &S11vv, Table< 2 > &S12vv, Table< 2 > &S33vv, Table< 2 > &S34vv, ArrayTable< 2 > &sigmaabsvv, ArrayTable< 2 > &sigmaabspolvv) override |
|
| DustMix () |
|
virtual double | getOpticalProperties (const Array &lambdav, const Array &thetav, Array &sigmaabsv, Array &sigmascav, Array &asymmparv, Table< 2 > &S11vv, Table< 2 > &S12vv, Table< 2 > &S33vv, Table< 2 > &S34vv, ArrayTable< 2 > &sigmaabsvv, ArrayTable< 2 > &sigmaabspolvv)=0 |
|
void | informAvailableWavelengthRange (Range available) |
|
virtual size_t | initializeExtraProperties (const Array &lambdav) |
|
void | setupSelfAfter () override |
|
| MaterialMix () |
|
Configuration * | config () const |
|
Random * | random () const |
|
void | setupSelfBefore () override |
|
| SimulationItem () |
|
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
|
virtual void | setupSelfAfter () |
|
virtual void | setupSelfBefore () |
|
| Item () |
|
A MeanFileDustMix object represents a basic dust mix defined by optical properties loaded from a file, describing a single representative grain and using the Henyey-Greenstein scattering mode.
The floating point numbers in the first four columns of the text file specify respectively the wavelength \(\lambda\), the extinction mass coefficient \(\kappa^\text{ext}_\lambda\), the scattering albedo \(\varpi_\lambda\), and the scattering asymmetry parameter \(g_\lambda\). Any additional columns in the file are ignored.
The wavelengths are by default given in micron (the units can be overridden by column header info in the file). The extinction mass coefficients are by default given in \(\text{m}^2\,\text{kg}^{-2}\) (again, this can be overridden by column header info in the file). The wavelengths must be listed in increasing or decreasing order. Property values outside of the tabulated wavelength range are clamped to the nearest border value. As a special-case consequence, if only a single wavelength is tabulated, the properties are considered to be constant for all wavelengths.
Because a basic dust mix such as this one is usually used in isolation and the dust distribution is normalized to a given optical depth or total dust mass, the value of the extinction coefficient is essentially scale free. This class uses a fixed arbitrary value of the dust mass per hydrogen atom, \(\mu=1.5\times 10^{-29} \text{kg}\,\text{H}^{-1}\) to set the absolute scale of the cross sections listed by some of the probes in relation to the mass coefficients.