ARTS  2.4.0(git:4fb77825)
nlte.h
Go to the documentation of this file.
1 /* Copyright (C) 2018
2  Richard Larsson
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License as published by the
6  Free Software Foundation; either version 2, or (at your option) any
7  later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  USA. */
18 
27 #include "absorption.h"
28 #include "gridded_fields.h"
29 #include "matpackI.h"
30 
44  ConstVectorView Aij,
45  ConstVectorView Bij,
46  ConstVectorView Bji,
47  ConstVectorView Cij,
48  ConstVectorView Cji,
49  ConstVectorView Jij,
50  const ArrayOfIndex& upper,
51  const ArrayOfIndex& lower);
52 
68  MatrixView A,
70  ConstVectorView Aij,
71  ConstVectorView Bij,
72  ConstVectorView Bji,
73  ConstVectorView Cij,
74  ConstVectorView Cji,
75  ConstVectorView Jij,
76  ConstVectorView Lambda,
77  const ArrayOfIndex& upper,
78  const ArrayOfIndex& lower,
79  const Numeric& total_number_count = 1.0);
80 
89  VectorView x,
90  const Numeric& sem_ratio,
91  const Index row);
92 
99 
106 
114 
122 Vector createCji(const Vector& Cij,
124  const Numeric& T);
125 
134 void setCji(Vector& Cji,
135  const Vector& Cij,
137  const Numeric& T);
138 
153  Vector& Cij,
154  Vector& Cji,
160  const ConstVectorView vmr,
161  const Numeric& T,
162  const Numeric& P);
163 
172  ArrayOfIndex& upper,
173  ArrayOfIndex& lower,
175  const EnergyLevelMap& nlte_field);
176 
184  const ArrayOfIndex& lower) noexcept;
185 
ARTS::Var::collision_coefficients
ArrayOfArrayOfGriddedField1 collision_coefficients(Workspace &ws) noexcept
Definition: autoarts.h:2789
gridded_fields.h
Implementation of gridded fields.
MatrixView
The MatrixView class.
Definition: matpackI.h:1093
absorption.h
Declarations required for the calculation of absorption coefficients.
setCji
void setCji(Vector &Cji, const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T)
Set the Cji object.
Definition: nlte.cc:162
check_collision_line_identifiers
void check_collision_line_identifiers(const ArrayOfQuantumIdentifier &collision_line_identifiers)
Checks that a WSV is OK or throws a run-time error.
Definition: nlte.cc:286
ARTS::Var::collision_line_identifiers
ArrayOfQuantumIdentifier collision_line_identifiers(Workspace &ws) noexcept
Definition: autoarts.h:2797
createAij
Vector createAij(const ArrayOfArrayOfAbsorptionLines &abs_lines)
Create a Aij object.
Definition: nlte.cc:96
createCji
Vector createCji(const Vector &Cij, const ArrayOfArrayOfAbsorptionLines &abs_lines, const Numeric &T)
Create a Cji object.
Definition: nlte.cc:153
SpeciesAuxData
Auxiliary data for isotopologues.
Definition: absorption.h:217
createBji
Vector createBji(const Vector &Bij, const ArrayOfArrayOfAbsorptionLines &abs_lines)
Create a Bji object.
Definition: nlte.cc:135
matpackI.h
Implementation of Matrix, Vector, and such stuff.
ARTS::Var::nlte_field
EnergyLevelMap nlte_field(Workspace &ws) noexcept
Definition: autoarts.h:4604
Array
This can be used to make arrays out of anything.
Definition: array.h:108
set_constant_statistical_equilibrium_matrix
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.
Definition: nlte.cc:88
VectorView
The VectorView class.
Definition: matpackI.h:610
ARTS::Var::abs_species
ArrayOfArrayOfSpeciesTag abs_species(Workspace &ws) noexcept
Definition: autoarts.h:2157
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
EnergyLevelMap
Definition: energylevelmap.h:60
statistical_equilibrium_equation
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.
Definition: nlte.cc:30
nlte_positions_in_statistical_equilibrium_matrix
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.
Definition: nlte.cc:244
dampened_statistical_equilibrium_equation
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.
Definition: nlte.cc:54
ARTS::Var::abs_lines
ArrayOfAbsorptionLines abs_lines(Workspace &ws) noexcept
Definition: autoarts.h:2013
ARTS::Var::isotopologue_ratios
SpeciesAuxData isotopologue_ratios(Workspace &ws) noexcept
Definition: autoarts.h:3669
find_first_unique_in_lower
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.
Definition: nlte.cc:277
nlte_collision_factorsCalcFromCoeffs
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.
Definition: nlte.cc:182
ARTS::Var::x
Vector x(Workspace &ws) noexcept
Definition: autoarts.h:7346
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Vector
The Vector class.
Definition: matpackI.h:860
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:476
createBij
Vector createBij(const ArrayOfArrayOfAbsorptionLines &abs_lines)
Create a Bij object.
Definition: nlte.cc:113