ARTS  2.3.1285(git:92a29ea9-dirty)
LineShape::SingleSpeciesModel Class Reference

Compute the line shape parameters for a single broadening species. More...

#include <linefunctiondata.h>

Public Member Functions

constexpr SingleSpeciesModel (ModelParameters G0={TemperatureModel::None, 0, 0, 0}, ModelParameters D0={TemperatureModel::None, 0, 0, 0}, ModelParameters G2={TemperatureModel::None, 0, 0, 0}, ModelParameters D2={TemperatureModel::None, 0, 0, 0}, ModelParameters FVC={TemperatureModel::None, 0, 0, 0}, ModelParameters ETA={TemperatureModel::None, 0, 0, 0}, ModelParameters Y={TemperatureModel::None, 0, 0, 0}, ModelParameters G={TemperatureModel::None, 0, 0, 0}, ModelParameters DV={TemperatureModel::None, 0, 0, 0}, std::array< Numeric, nmaxInterpModels > interp={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})
 
Numeric compute (Numeric T, Numeric T0, Variable var) const noexcept
 
Numeric compute_dX0 (Numeric T, Numeric T0, Variable var) const noexcept
 
Numeric compute_dX1 (Numeric T, Numeric T0, Variable var) const noexcept
 
Numeric compute_dX2 (Numeric T, Numeric T0, Variable var) const noexcept
 
Numeric compute_dT (Numeric T, Numeric T0, Variable var) const noexcept
 
Numeric compute_dT0 (Numeric T, Numeric T0, Variable var) const noexcept
 
 ACCESS_INTERNAL (G0)
 
 ACCESS_INTERNAL (G2)
 
 ACCESS_INTERNAL (D0)
 
 ACCESS_INTERNAL (D2)
 
 ACCESS_INTERNAL (FVC)
 
 ACCESS_INTERNAL (ETA)
 
 ACCESS_INTERNAL (Y)
 
 ACCESS_INTERNAL (G)
 
 ACCESS_INTERNAL (DV)
 
std::array< ModelParameters, nVars > & Data () noexcept
 
const std::array< ModelParameters, nVars > & Data () const noexcept
 
std::array< Numeric, nmaxInterpModels > & Interp () noexcept
 
const std::array< Numeric, nmaxInterpModels > & Interp () const noexcept
 
void Set (Variable var, const ModelParameters &x) noexcept
 
ModelParameters Get (Variable var) const noexcept
 
std::istream & read (std::istream &is)
 
std::ostream & write (std::ostream &os) const
 
constexpr SingleSpeciesModel (ModelParameters G0=ModelParameters{}, ModelParameters D0=ModelParameters{}, ModelParameters G2=ModelParameters{}, ModelParameters D2=ModelParameters{}, ModelParameters FVC=ModelParameters{}, ModelParameters ETA=ModelParameters{}, ModelParameters Y=ModelParameters{}, ModelParameters G=ModelParameters{}, ModelParameters DV=ModelParameters{})
 Default initialization. More...
 
Numeric compute (Numeric T, Numeric T0, Variable var) const noexcept
 Compute the broadening parameter at the input. More...
 
Numeric compute_dX0 (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt x0. More...
 
Numeric compute_dX1 (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt x1. More...
 
Numeric compute_dX2 (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt x2. More...
 
Numeric compute_dX3 (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt x3. More...
 
Numeric compute_dT (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt T. More...
 
Numeric compute_dT0 (Numeric T, Numeric T0, Variable var) const noexcept
 Derivative of compute(...) wrt T0. More...
 
 ACCESS_INTERNAL (G0)
 
 ACCESS_INTERNAL (D0)
 
 ACCESS_INTERNAL (G2)
 
 ACCESS_INTERNAL (D2)
 
 ACCESS_INTERNAL (FVC)
 
 ACCESS_INTERNAL (ETA)
 
 ACCESS_INTERNAL (Y)
 
 ACCESS_INTERNAL (G)
 
 ACCESS_INTERNAL (DV)
 
std::array< ModelParameters, nVars > & Data () noexcept
 Get internal Data reference. More...
 
const std::array< ModelParameters, nVars > & Data () const noexcept
 Get const internal Data reference. More...
 
void Set (Variable var, const ModelParameters &x) noexcept
 Set variable to a different ModelParameters. More...
 
ModelParameters Get (Variable var) const noexcept
 Get variable by type. More...
 
bifstreamread (bifstream &bif)
 Binary read for SingleSpeciesModel. More...
 
bofstreamwrite (bofstream &bof) const
 Binary write for SingleSpeciesModel. More...
 
bool MatchTypes (const SingleSpeciesModel &other) const noexcept
 

Private Member Functions

Numeric special_linemixing_aer (Numeric T, Variable var) const noexcept
 
Numeric special_linemixing_aer_dT (Numeric T, Variable var) const noexcept
 
constexpr Numeric special_linemixing_aer (Numeric T, ModelParameters mp) const noexcept
 Line mixing as done by AER data in ARTS. More...
 
constexpr Numeric special_linemixing_aer_dT (Numeric T, ModelParameters mp) const noexcept
 The temperature derivative of special_linemixing_aer. More...
 

Private Attributes

std::array< ModelParameters, nVarsX
 
std::array< Numeric, nmaxInterpModelsV
 

Detailed Description

Compute the line shape parameters for a single broadening species.

Definition at line 204 of file linefunctiondata.h.

Constructor & Destructor Documentation

◆ SingleSpeciesModel() [1/2]

constexpr LineShape::SingleSpeciesModel::SingleSpeciesModel ( ModelParameters  G0 = {TemperatureModel::None, 0, 0, 0},
ModelParameters  D0 = {TemperatureModel::None, 0, 0, 0},
ModelParameters  G2 = {TemperatureModel::None, 0, 0, 0},
ModelParameters  D2 = {TemperatureModel::None, 0, 0, 0},
ModelParameters  FVC = {TemperatureModel::None, 0, 0, 0},
ModelParameters  ETA = {TemperatureModel::None, 0, 0, 0},
ModelParameters  Y = {TemperatureModel::None, 0, 0, 0},
ModelParameters  G = {TemperatureModel::None, 0, 0, 0},
ModelParameters  DV = {TemperatureModel::None, 0, 0, 0},
std::array< Numeric, nmaxInterpModels interp = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 
)
inline

◆ SingleSpeciesModel() [2/2]

Member Function Documentation

◆ ACCESS_INTERNAL() [1/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G0  )

◆ ACCESS_INTERNAL() [2/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G2  )

◆ ACCESS_INTERNAL() [3/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( D0  )

◆ ACCESS_INTERNAL() [4/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( D2  )

◆ ACCESS_INTERNAL() [5/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( FVC  )

◆ ACCESS_INTERNAL() [6/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( ETA  )

◆ ACCESS_INTERNAL() [7/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G  )

◆ ACCESS_INTERNAL() [8/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( DV  )

◆ ACCESS_INTERNAL() [9/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( Y  )

◆ ACCESS_INTERNAL() [10/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G0  )

◆ ACCESS_INTERNAL() [11/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( D0  )

◆ ACCESS_INTERNAL() [12/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G2  )

◆ ACCESS_INTERNAL() [13/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( D2  )

◆ ACCESS_INTERNAL() [14/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( FVC  )

◆ ACCESS_INTERNAL() [15/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( ETA  )

◆ ACCESS_INTERNAL() [16/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( Y  )

◆ ACCESS_INTERNAL() [17/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( G  )

◆ ACCESS_INTERNAL() [18/18]

LineShape::SingleSpeciesModel::ACCESS_INTERNAL ( DV  )

◆ compute() [1/2]

Numeric LineShape::SingleSpeciesModel::compute ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute() [2/2]

Numeric LineShape::SingleSpeciesModel::compute ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Compute the broadening parameter at the input.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
The broadening parameter at temperature

Definition at line 426 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x0, x1, x2, and x3.

◆ compute_dT() [1/2]

Numeric LineShape::SingleSpeciesModel::compute_dT ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute_dT() [2/2]

Numeric LineShape::SingleSpeciesModel::compute_dT ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt T.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt T

Definition at line 606 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x0, x1, x2, and x3.

◆ compute_dT0() [1/2]

Numeric LineShape::SingleSpeciesModel::compute_dT0 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute_dT0() [2/2]

Numeric LineShape::SingleSpeciesModel::compute_dT0 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt T0.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt T0

Definition at line 644 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x0, x1, x2, and x3.

◆ compute_dX0() [1/2]

Numeric LineShape::SingleSpeciesModel::compute_dX0 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute_dX0() [2/2]

Numeric LineShape::SingleSpeciesModel::compute_dX0 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt x0.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt x0

Definition at line 462 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x1, and x2.

◆ compute_dX1() [1/2]

Numeric LineShape::SingleSpeciesModel::compute_dX1 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute_dX1() [2/2]

Numeric LineShape::SingleSpeciesModel::compute_dX1 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt x1.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt x1

Definition at line 498 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x0, x1, and x2.

◆ compute_dX2() [1/2]

Numeric LineShape::SingleSpeciesModel::compute_dX2 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

◆ compute_dX2() [2/2]

Numeric LineShape::SingleSpeciesModel::compute_dX2 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt x2.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt x2

Definition at line 534 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x0, x1, x2, and x3.

◆ compute_dX3()

Numeric LineShape::SingleSpeciesModel::compute_dX3 ( Numeric  T,
Numeric  T0,
Variable  var 
) const
inlinenoexcept

Derivative of compute(...) wrt x3.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]varThe variable
Returns
Derivative of compute(...) wrt x3

Definition at line 570 of file lineshapemodel.h.

References LineShape::DPL, LineShape::LM_AER, LineShape::None, pow(), LineShape::T0, LineShape::T1, LineShape::T2, LineShape::T3, LineShape::T4, LineShape::T5, linalg::var(), x2, and x3.

◆ Data() [1/4]

std::array<ModelParameters, nVars>& LineShape::SingleSpeciesModel::Data ( )
inlinenoexcept

Definition at line 427 of file linefunctiondata.h.

Referenced by MatchTypes(), LineShape::operator<<(), and LineShape::operator>>().

◆ Data() [2/4]

const std::array<ModelParameters, nVars>& LineShape::SingleSpeciesModel::Data ( ) const
inlinenoexcept

Definition at line 428 of file linefunctiondata.h.

◆ Data() [3/4]

std::array<ModelParameters, nVars>& LineShape::SingleSpeciesModel::Data ( )
inlinenoexcept

Get internal Data reference.

Definition at line 694 of file lineshapemodel.h.

◆ Data() [4/4]

const std::array<ModelParameters, nVars>& LineShape::SingleSpeciesModel::Data ( ) const
inlinenoexcept

Get const internal Data reference.

Definition at line 697 of file lineshapemodel.h.

◆ Get() [1/2]

ModelParameters LineShape::SingleSpeciesModel::Get ( Variable  var) const
inlinenoexcept

Definition at line 448 of file linefunctiondata.h.

References LineShape::G0, MODELPARAMCASEGETTER, and linalg::var().

◆ Get() [2/2]

ModelParameters LineShape::SingleSpeciesModel::Get ( Variable  var) const
inlinenoexcept

Get variable by type.

Parameters
[in]varThe variable type
Returns
ModelParameters copy

Definition at line 729 of file lineshapemodel.h.

References LineShape::G0, MODELPARAMCASEGETTER, and linalg::var().

◆ Interp() [1/2]

std::array<Numeric, nmaxInterpModels>& LineShape::SingleSpeciesModel::Interp ( )
inlinenoexcept

◆ Interp() [2/2]

const std::array<Numeric, nmaxInterpModels>& LineShape::SingleSpeciesModel::Interp ( ) const
inlinenoexcept

Definition at line 430 of file linefunctiondata.h.

◆ MatchTypes()

◆ read() [1/2]

std::istream& LineShape::SingleSpeciesModel::read ( std::istream &  is)
inline

Definition at line 466 of file linefunctiondata.h.

◆ read() [2/2]

bifstream& LineShape::SingleSpeciesModel::read ( bifstream bif)
inline

Binary read for SingleSpeciesModel.

Definition at line 748 of file lineshapemodel.h.

References data.

◆ Set() [1/2]

void LineShape::SingleSpeciesModel::Set ( Variable  var,
const ModelParameters x 
)
inlinenoexcept

Definition at line 432 of file linefunctiondata.h.

References LineShape::G0, MODELPARAMCASESETTER, and linalg::var().

◆ Set() [2/2]

void LineShape::SingleSpeciesModel::Set ( Variable  var,
const ModelParameters x 
)
inlinenoexcept

Set variable to a different ModelParameters.

Parameters
[in]varThe variable
[in]xThe new ModelParameters for var

Definition at line 704 of file lineshapemodel.h.

References LineShape::G0, MODELPARAMCASESETTER, and linalg::var().

◆ special_linemixing_aer() [1/2]

Numeric LineShape::SingleSpeciesModel::special_linemixing_aer ( Numeric  T,
Variable  var 
) const
inlineprivatenoexcept

Definition at line 209 of file linefunctiondata.h.

References i, linalg::var(), and LineShape::Y.

◆ special_linemixing_aer() [2/2]

constexpr Numeric LineShape::SingleSpeciesModel::special_linemixing_aer ( Numeric  T,
ModelParameters  mp 
) const
inlineprivatenoexcept

Line mixing as done by AER data in ARTS.

Uses piece-wise linear interpolation and extrapolates at the edges

var must be G or Y

Parameters
[in]TThe temperature
[in]varThe variable
Returns
The broadening parameter at temperature

Definition at line 374 of file lineshapemodel.h.

References LineShape::ModelParameters::X0, LineShape::ModelParameters::X1, LineShape::ModelParameters::X2, and LineShape::ModelParameters::X3.

◆ special_linemixing_aer_dT() [1/2]

Numeric LineShape::SingleSpeciesModel::special_linemixing_aer_dT ( Numeric  T,
Variable  var 
) const
inlineprivatenoexcept

Definition at line 223 of file linefunctiondata.h.

References i, linalg::var(), and LineShape::Y.

◆ special_linemixing_aer_dT() [2/2]

constexpr Numeric LineShape::SingleSpeciesModel::special_linemixing_aer_dT ( Numeric  T,
ModelParameters  mp 
) const
inlineprivatenoexcept

The temperature derivative of special_linemixing_aer.

Parameters
[in]TThe temperature
[in]varThe variable
Returns
The temperature derivative of the broadening parameter at temperature

Definition at line 390 of file lineshapemodel.h.

References LineShape::ModelParameters::X0, LineShape::ModelParameters::X1, LineShape::ModelParameters::X2, and LineShape::ModelParameters::X3.

◆ write() [1/2]

std::ostream& LineShape::SingleSpeciesModel::write ( std::ostream &  os) const
inline

Definition at line 472 of file linefunctiondata.h.

◆ write() [2/2]

bofstream& LineShape::SingleSpeciesModel::write ( bofstream bof) const
inline

Binary write for SingleSpeciesModel.

Definition at line 758 of file lineshapemodel.h.

References data.

Member Data Documentation

◆ V

std::array<Numeric, nmaxInterpModels> LineShape::SingleSpeciesModel::V
private

Definition at line 207 of file linefunctiondata.h.

◆ X

std::array< ModelParameters, nVars > LineShape::SingleSpeciesModel::X
private

Definition at line 206 of file linefunctiondata.h.


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