ARTS
2.4.0(git:4fb77825)
|
Go to the source code of this file.
Functions | |
void | statistical_equilibrium_equation (MatrixView A, ConstVectorView Aij, ConstVectorView Bij, ConstVectorView Bji, ConstVectorView Cij, ConstVectorView Cji, ConstVectorView Jij, const ArrayOfIndex &upper, const ArrayOfIndex &lower) |
Sets up the solution matrix for linear statistical equilibrium equation. More... | |
void | dampened_statistical_equilibrium_equation (MatrixView A, ConstVectorView x, ConstVectorView Aij, ConstVectorView Bij, ConstVectorView Bji, ConstVectorView Cij, ConstVectorView Cji, ConstVectorView Jij, ConstVectorView Lambda, const ArrayOfIndex &upper, const ArrayOfIndex &lower, const Numeric &total_number_count) |
Sets up the solution matrix for linear dampened statistical equilibrium equation. More... | |
void | set_constant_statistical_equilibrium_matrix (MatrixView A, VectorView x, const Numeric &sem_ratio, const Index row) |
Set a row of the SEE matrix and level distribution vector to constant. More... | |
Vector | createAij (const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Aij object. More... | |
Vector | createBij (const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Bij object. More... | |
Vector | createBji (const Vector &Bij, const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Bji object. More... | |
Vector | createCji (const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T) |
Create a Cji object. More... | |
void | setCji (Vector &Cji, const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T) |
Set the Cji object. More... | |
void | nlte_collision_factorsCalcFromCoeffs (Vector &Cij, Vector &Cji, const ArrayOfArrayOfAbsorptionLines &abs_lines, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfArrayOfGriddedField1 &collision_coefficients, const ArrayOfQuantumIdentifier &collision_line_identifiers, const SpeciesAuxData &isotopologue_ratios, const ConstVectorView vmr, const Numeric &T, const Numeric &P) |
Gets collisional factors from coefficients. More... | |
void | nlte_positions_in_statistical_equilibrium_matrix (ArrayOfIndex &upper, ArrayOfIndex &lower, const ArrayOfArrayOfAbsorptionLines &abs_lines, const EnergyLevelMap &nlte_field) |
Finds upper and lower states in SEE Matrix. More... | |
Index | find_first_unique_in_lower (const ArrayOfIndex &upper, const ArrayOfIndex &lower) noexcept |
Finds a unique lower state if one exists or returns index to last element. More... | |
void | check_collision_line_identifiers (const ArrayOfQuantumIdentifier &collision_line_identifiers) |
Checks that a WSV is OK or throws a run-time error. More... | |
void check_collision_line_identifiers | ( | const ArrayOfQuantumIdentifier & | collision_line_identifiers | ) |
Checks that a WSV is OK or throws a run-time error.
[in] | collision_line_identifiers | As WSV |
Definition at line 286 of file nlte.cc.
References ARTS::Var::collision_line_identifiers(), and ARTS::Var::x().
Referenced by collision_coefficientsFromSplitFiles().
Vector createAij | ( | const ArrayOfArrayOfAbsorptionLines & | abs_lines | ) |
Create a Aij object.
[in] | abs_lines | All lines of interest |
Definition at line 96 of file nlte.cc.
References ARTS::Var::abs_lines(), and Absorption::nelem().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Vector createBij | ( | const ArrayOfArrayOfAbsorptionLines & | abs_lines | ) |
Create a Bij object.
[in] | abs_lines | All lines of interest |
Definition at line 113 of file nlte.cc.
References ARTS::Var::abs_lines(), Absorption::nelem(), PLANCK_CONST, and SPEED_OF_LIGHT.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Vector createBji | ( | const Vector & | Bij, |
const ArrayOfArrayOfAbsorptionLines & | abs_lines | ||
) |
Create a Bji object.
[in] | Bij | Einstein coefficient for induced emission of all lines |
[in] | abs_lines | All lines of interest |
Definition at line 135 of file nlte.cc.
References ARTS::Var::abs_lines(), and ConstVectorView::nelem().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Vector createCji | ( | const Vector & | Cij, |
const ArrayOfArrayOfAbsorptionLines & | abs_lines, | ||
const Numeric & | T | ||
) |
Create a Cji object.
[in] | Cij | Collisional rate of change from upper to lower state level |
[in] | abs_lines | All lines of interest |
[in] | T | Temperature |
Definition at line 153 of file nlte.cc.
References ARTS::Var::abs_lines(), Absorption::nelem(), and setCji().
void dampened_statistical_equilibrium_equation | ( | MatrixView | A, |
ConstVectorView | x, | ||
ConstVectorView | Aij, | ||
ConstVectorView | Bij, | ||
ConstVectorView | Bji, | ||
ConstVectorView | Cij, | ||
ConstVectorView | Cji, | ||
ConstVectorView | Jij, | ||
ConstVectorView | Lambda, | ||
const ArrayOfIndex & | upper, | ||
const ArrayOfIndex & | lower, | ||
const Numeric & | total_number_count = 1.0 |
||
) |
Sets up the solution matrix for linear dampened statistical equilibrium equation.
[in,out] | A | Matrix to solve SEE |
[in] | x | Ratio of molecules for each state |
[in] | Aij | Einstein coefficient for spontaneuos emission of all lines |
[in] | Bij | Einstein coefficient for induced emission of all lines |
[in] | Bji | Einstein coefficient for induced absorption of all lines |
[in] | Cij | Collisional rate of change from upper to lower state level |
[in] | Cji | Collisional rate of change from lower to upper state level |
[in] | Jij | Radiation field for the upper to lower transition for each line |
[in] | Lambda | Transmission for the upper to lower transition for each line |
[in] | upper | Index list for upper state levels for each line |
[in] | lower | Index list for lower state levels for each line |
Definition at line 54 of file nlte.cc.
References ConstVectorView::nelem(), nlines, and ARTS::Var::x().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
|
noexcept |
Finds a unique lower state if one exists or returns index to last element.
[in] | upper | Index list for upper state levels for each line |
[in] | lower | Index list for lower state levels for each line |
Definition at line 277 of file nlte.cc.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
void nlte_collision_factorsCalcFromCoeffs | ( | Vector & | Cij, |
Vector & | Cji, | ||
const ArrayOfArrayOfAbsorptionLines & | abs_lines, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfArrayOfGriddedField1 & | collision_coefficients, | ||
const ArrayOfQuantumIdentifier & | collision_line_identifiers, | ||
const SpeciesAuxData & | isotopologue_ratios, | ||
const ConstVectorView | vmr, | ||
const Numeric & | T, | ||
const Numeric & | P | ||
) |
Gets collisional factors from coefficients.
[in,out] | Cij | Collisional rate of change from upper to lower state level |
[in,out] | Cji | Collisional rate of change from lower to upper state level |
[in] | abs_lines | All lines of interest |
[in] | abs_species | All absorption species |
[in] | collision_coefficients | As WSV |
[in] | collision_line_identifiers | As WSV |
[in] | isotopologue_ratios | As WSV |
[in] | vmr | Volume mixing ratios of absoprtion species |
[in] | T | Temperature |
[in] | P | Pressure |
Definition at line 182 of file nlte.cc.
References ARTS::Var::abs_lines(), ARTS::Var::abs_species(), BOLTZMAN_CONST, ARTS::Var::collision_line_identifiers(), and ARTS::Var::isotopologue_ratios().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
void nlte_positions_in_statistical_equilibrium_matrix | ( | ArrayOfIndex & | upper, |
ArrayOfIndex & | lower, | ||
const ArrayOfArrayOfAbsorptionLines & | abs_lines, | ||
const EnergyLevelMap & | nlte_field | ||
) |
Finds upper and lower states in SEE Matrix.
[in,out] | upper | Index list for upper state levels for each line |
[in,out] | lower | Index list for lower state levels for each line |
[in] | abs_lines | All lines of interest |
[in] | nlte_quantum_identifiers | As WSV |
Definition at line 244 of file nlte.cc.
References ARTS::Var::abs_lines(), Absorption::nelem(), and ARTS::Var::nlte_field().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
void set_constant_statistical_equilibrium_matrix | ( | MatrixView | A, |
VectorView | x, | ||
const Numeric & | sem_ratio, | ||
const Index | row | ||
) |
Set a row of the SEE matrix and level distribution vector to constant.
[in] | A | Matrix to solve SEE |
[in] | x | Ratio of molecules for each state |
[in] | sem_ratio | Largest ratio possible |
[in] | row | Row of SEE Matrix being zero |
Definition at line 88 of file nlte.cc.
References joker, and ARTS::Var::x().
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
void setCji | ( | Vector & | Cji, |
const Vector & | Cij, | ||
const ArrayOfArrayOfAbsorptionLines & | abs_lines, | ||
const Numeric & | T | ||
) |
Set the Cji object.
[in,out] | Cji | Collisional rate of change from lower to upper state level |
[in] | Cij | Collisional rate of change from upper to lower state level |
[in] | abs_lines | All lines of interest |
[in] | T | Temperature |
[in] | n | Size of Cij |
Definition at line 162 of file nlte.cc.
References ARTS::Var::abs_lines(), BOLTZMAN_CONST, and PLANCK_CONST.
Referenced by createCji().
void statistical_equilibrium_equation | ( | MatrixView | A, |
ConstVectorView | Aij, | ||
ConstVectorView | Bij, | ||
ConstVectorView | Bji, | ||
ConstVectorView | Cij, | ||
ConstVectorView | Cji, | ||
ConstVectorView | Jij, | ||
const ArrayOfIndex & | upper, | ||
const ArrayOfIndex & | lower | ||
) |
Sets up the solution matrix for linear statistical equilibrium equation.
[in,out] | A | Matrix to solve SEE |
[in] | Aij | Einstein coefficient for spontaneuos emission of all lines |
[in] | Bij | Einstein coefficient for induced emission of all lines |
[in] | Bji | Einstein coefficient for induced absorption of all lines |
[in] | Cij | Collisional rate of change from upper to lower state level |
[in] | Cji | Collisional rate of change from lower to upper state level |
[in] | Jij | Radiation field for the upper to lower transition for each line |
[in] | upper | Index list for upper state levels for each line |
[in] | lower | Index list for lower state levels for each line |
Definition at line 30 of file nlte.cc.
References ConstVectorView::nelem(), and nlines.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().