ARTS 2.5.11 (git: 6827797f)
|
Go to the source code of this file.
Functions | |
void | statistical_equilibrium_equation (MatrixView A, const ConstVectorView &Aij, const ConstVectorView &Bij, const ConstVectorView &Bji, const ConstVectorView &Cij, const ConstVectorView &Cji, const ConstVectorView &Jij, const ArrayOfIndex &upper, const ArrayOfIndex &lower) |
Sets up the solution matrix for linear statistical equilibrium equation. | |
void | dampened_statistical_equilibrium_equation (MatrixView A, const ConstVectorView &x, const ConstVectorView &Aij, const ConstVectorView &Bij, const ConstVectorView &Bji, const ConstVectorView &Cij, const ConstVectorView &Cji, const ConstVectorView &Jij, const ConstVectorView &Lambda, const ArrayOfIndex &upper, const ArrayOfIndex &lower, const Numeric &total_number_count) |
Sets up the solution matrix for linear dampened statistical equilibrium equation. | |
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. | |
Vector | createAij (const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Aij object. | |
Vector | createBij (const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Bij object. | |
Vector | createBji (const Vector &Bij, const ArrayOfArrayOfAbsorptionLines &abs_lines) |
Create a Bji object. | |
Vector | createCji (const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T) |
Create a Cji object. | |
void | setCji (Vector &Cji, const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T) |
Set the Cji object. | |
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 SpeciesIsotopologueRatios &isotopologue_ratios, const ConstVectorView &vmr, const Numeric &T, const Numeric &P) |
Gets collisional factors from coefficients. | |
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. | |
Index | find_first_unique_in_lower (const ArrayOfIndex &upper, const ArrayOfIndex &lower) ARTS_NOEXCEPT |
Finds a unique lower state if one exists or returns index to last element. | |
void | check_collision_line_identifiers (const ArrayOfQuantumIdentifier &collision_line_identifiers) |
Checks that a WSV is OK or throws a run-time error. | |
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 259 of file nlte.cc.
References ARTS_USER_ERROR_IF.
Referenced by collision_coefficientsFromSplitFiles().
Vector createAij | ( | const ArrayOfArrayOfAbsorptionLines & | abs_lines | ) |
Create a Aij object.
[in] | abs_lines | All lines of interest |
Definition at line 79 of file nlte.cc.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Vector createBij | ( | const ArrayOfArrayOfAbsorptionLines & | abs_lines | ) |
Create a Bij object.
[in] | abs_lines | All lines of interest |
Definition at line 96 of file nlte.cc.
References Constant::c, Constant::h, Math::pow2(), and Math::pow3().
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 116 of file nlte.cc.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Vector createCji | ( | const Vector & | Cij, |
const ArrayOfArrayOfAbsorptionLines & | abs_lines, | ||
const Numeric & | T | ||
) |
void dampened_statistical_equilibrium_equation | ( | MatrixView | A, |
const ConstVectorView & | x, | ||
const ConstVectorView & | Aij, | ||
const ConstVectorView & | Bij, | ||
const ConstVectorView & | Bji, | ||
const ConstVectorView & | Cij, | ||
const ConstVectorView & | Cji, | ||
const ConstVectorView & | Jij, | ||
const 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 37 of file nlte.cc.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().
Index find_first_unique_in_lower | ( | const ArrayOfIndex & | upper, |
const ArrayOfIndex & | lower | ||
) |
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 250 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 SpeciesIsotopologueRatios & | 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 162 of file nlte.cc.
References interp(), interpweights(), Constant::k, Array< base >::nelem(), and setCji().
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 217 of file nlte.cc.
References ARTS_USER_ERROR_IF, EnergyLevelMap::levels, and Array< base >::nelem().
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 71 of file nlte.cc.
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 143 of file nlte.cc.
References Constant::boltzmann_constant, and Constant::planck_constant.
Referenced by createCji(), and nlte_collision_factorsCalcFromCoeffs().
void statistical_equilibrium_equation | ( | MatrixView | A, |
const ConstVectorView & | Aij, | ||
const ConstVectorView & | Bij, | ||
const ConstVectorView & | Bji, | ||
const ConstVectorView & | Cij, | ||
const ConstVectorView & | Cji, | ||
const 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 13 of file nlte.cc.
Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines().