The SKIRT project
advanced radiative transfer for astrophysics
Public Member Functions | Protected Member Functions | List of all members
MultiGrainPopulationInterface Class Referenceabstract

#include <MultiGrainPopulationInterface.hpp>

Inheritance diagram for MultiGrainPopulationInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~MultiGrainPopulationInterface ()
 
virtual int numPopulations () const =0
 
virtual double populationBulkDensity (int c) const =0
 
virtual string populationGrainType (int c) const =0
 
virtual double populationMass (int c) const =0
 
virtual const GrainSizeDistributionpopulationSizeDistribution (int c) const =0
 
virtual Range populationSizeRange (int c) const =0
 
virtual double totalMass () const =0
 

Protected Member Functions

 MultiGrainPopulationInterface ()
 

Detailed Description

MultiGrainPopulationInterface is a pure interface exposing information about the individual grain populations making up a multi-grain dust mixture. It is implemented by the MultiGrainDustMix and CompositeDustMix classes so that probes can retrieve such details.

Constructor & Destructor Documentation

◆ MultiGrainPopulationInterface()

MultiGrainPopulationInterface::MultiGrainPopulationInterface ( )
inlineprotected

The empty constructor for the interface.

◆ ~MultiGrainPopulationInterface()

virtual MultiGrainPopulationInterface::~MultiGrainPopulationInterface ( )
inlinevirtual

The empty destructor for the interface.

Member Function Documentation

◆ numPopulations()

virtual int MultiGrainPopulationInterface::numPopulations ( ) const
pure virtual

This function returns the number of dust grain populations (with indices \(c\)). Each grain population represents the combination of a grain composition, providing the optical and calorimetric properties of the grain material, and a grain size distribution with some normalization to specify the the amount of dust contained in the population. No grain size discretization has been applied to these populations.

Implemented in FragmentDustMixDecorator, and MultiGrainDustMix.

◆ populationBulkDensity()

virtual double MultiGrainPopulationInterface::populationBulkDensity ( int  c) const
pure virtual

This function returns the bulk mass density \(\rho_\text{bulk}\) of the grain material represented by the population with index \(c\).

Implemented in MultiGrainDustMix, and FragmentDustMixDecorator.

◆ populationGrainType()

virtual string MultiGrainPopulationInterface::populationGrainType ( int  c) const
pure virtual

This function returns a brief human-readable identifier for the type of grain material represented by the population with index \(c\). The identifier does not contain white space.

Implemented in MultiGrainDustMix, and FragmentDustMixDecorator.

◆ populationMass()

virtual double MultiGrainPopulationInterface::populationMass ( int  c) const
pure virtual

This function returns the dust mass \(\mu_c\) per hydrogen atom for the population with index \(c\).

Implemented in MultiGrainDustMix, and FragmentDustMixDecorator.

◆ populationSizeDistribution()

virtual const GrainSizeDistribution * MultiGrainPopulationInterface::populationSizeDistribution ( int  c) const
pure virtual

This function returns the grain size distribution object for the population with index \(c\).

Implemented in MultiGrainDustMix, and FragmentDustMixDecorator.

◆ populationSizeRange()

virtual Range MultiGrainPopulationInterface::populationSizeRange ( int  c) const
pure virtual

This function returns the minimum and maximum grain sizes \(a_{\text{min},c}, a_{\text{max},c}\) for the population with index \(c\).

Implemented in MultiGrainDustMix, and FragmentDustMixDecorator.

◆ totalMass()

virtual double MultiGrainPopulationInterface::totalMass ( ) const
pure virtual

This function returns the total dust mass \(\mu\) per hydrogen atom for all populations combined.

Implemented in FragmentDustMixDecorator, and MultiGrainDustMix.


The documentation for this class was generated from the following file: