ABLATE Source Documentation  0.12.34
ablate::eos::radiationProperties::SootSpectrumProperties Class Reference
+ Inheritance diagram for ablate::eos::radiationProperties::SootSpectrumProperties:

Public Member Functions

 SootSpectrumProperties (std::shared_ptr< eos::EOS > eosIn, int num=0, double min=0.4E-6, double max=30E-6, const std::vector< double > &wavelengths={}, const std::vector< double > &bandwidths={})
 
ThermodynamicFunction GetRadiationPropertiesFunction (RadiationProperty property, const std::vector< domain::Field > &fields) const
 
ThermodynamicTemperatureFunction GetRadiationPropertiesTemperatureFunction (RadiationProperty property, const std::vector< domain::Field > &fields) const
 

Static Public Member Functions

static PetscErrorCode SootAbsorptionTemperatureFunction (const PetscReal *conserved, PetscReal temperature, PetscReal *kappa, void *ctx)
 
static PetscErrorCode SootEmissionTemperatureFunction (const PetscReal *conserved, PetscReal temperature, PetscReal *epsilon, void *ctx)
 
static PetscReal GetRefractiveIndex (PetscReal lambda)
 Polynomial fits to soot data for hydrocarbon combustion conditions (Modest, ch. 11 pg. 432)
 
static PetscReal GetAbsorptiveIndex (PetscReal lambda)
 

Constructor & Destructor Documentation

◆ SootSpectrumProperties()

ablate::eos::radiationProperties::SootSpectrumProperties::SootSpectrumProperties ( std::shared_ptr< eos::EOS eosIn,
int  num = 0,
double  min = 0.4E-6,
double  max = 30E-6,
const std::vector< double > &  wavelengths = {},
const std::vector< double > &  bandwidths = {} 
)

If a range is given, initialize a linear variation in wavelength over the desired range.

Default the bandwidths to cover the whole range.

Member Function Documentation

◆ GetRadiationPropertiesTemperatureFunction()

ablate::eos::ThermodynamicTemperatureFunction ablate::eos::radiationProperties::SootSpectrumProperties::GetRadiationPropertiesTemperatureFunction ( RadiationProperty  property,
const std::vector< domain::Field > &  fields 
) const
virtual

Function to produce radiation absorption properties based upon the available fields and temperature

Parameters
property
fields
Returns

Check if the species exist in this run. If all don't exist, throw an error. If some don't exist, then the values should be set to zero for their mass fractions in all cases.

Get the offsets that locate the position of the solid carbon field.

< Create a struct to hold the offsets

< Create a struct to hold the offsets

Implements ablate::eos::radiationProperties::RadiationModel.

◆ SootAbsorptionTemperatureFunction()

PetscErrorCode ablate::eos::radiationProperties::SootSpectrumProperties::SootAbsorptionTemperatureFunction ( const PetscReal *  conserved,
PetscReal  temperature,
PetscReal *  kappa,
void *  ctx 
)
static

This model depends on mass fraction, temperature, and density in order to predict the absorption properties of the medium.

< Variables to hold information gathered from the fields Standard PETSc error code returned by PETSc functions

< Get the density value at this location

< Get the mass fraction of carbon here

Must convert to micrometers because of the model fit

This is the wavelength. (We must integrate over the valid range of wavelengths.)

Fit of model to data.

Fit of model to data.

◆ SootEmissionTemperatureFunction()

PetscErrorCode ablate::eos::radiationProperties::SootSpectrumProperties::SootEmissionTemperatureFunction ( const PetscReal *  conserved,
PetscReal  temperature,
PetscReal *  epsilon,
void *  ctx 
)
static

Get the black body intensity at the temperature and wavelength specified.

Multiply it by the bandwidth under constant assumption to get the power integration.

In other models we may want to implement a smarter integration.


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