ARTS  2.4.0(git:4fb77825)
m_nlte.cc File Reference

User interface to NLTE variables and functions. More...

#include "absorption.h"
#include "arts.h"
#include "auto_md.h"
#include "lin_alg.h"
#include "nlte.h"

Go to the source code of this file.

Functions

void ArrayOfQuantumIdentifierFromLines (ArrayOfQuantumIdentifier &qid, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Index &global, const Verbosity &)
 WORKSPACE METHOD: ArrayOfQuantumIdentifierFromLines. More...
 
void nlte_fieldRescalePopulationLevels (EnergyLevelMap &nlte_field, const Numeric &scale, const Verbosity &)
 WORKSPACE METHOD: nlte_fieldRescalePopulationLevels. More...
 
void nlte_fieldForSingleSpeciesNonOverlappingLines (Workspace &ws, EnergyLevelMap &nlte_field, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfGriddedField1 &collision_coefficients, const ArrayOfQuantumIdentifier &collision_line_identifiers, const SpeciesAuxData &isotopologue_ratios, const Agenda &iy_main_agenda, const Agenda &ppath_agenda, const Agenda &iy_space_agenda, const Agenda &iy_surface_agenda, const Agenda &iy_cloudbox_agenda, const Agenda &propmat_clearsky_agenda, const Agenda &, const Tensor4 &vmr_field, const Tensor3 &t_field, const Tensor3 &z_field, const Vector &p_grid, const Index &atmosphere_dim, const Vector &refellipsoid, const Tensor3 &surface_props_data, const Index &nlte_do, const Numeric &df, const Numeric &convergence_limit, const Index &nz, const Index &nf, const Index &dampened, const Index &iteration_limit, const Verbosity &verbosity)
 WORKSPACE METHOD: nlte_fieldForSingleSpeciesNonOverlappingLines. More...
 
void collision_coefficientsFromSplitFiles (ArrayOfArrayOfGriddedField1 &collision_coefficients, ArrayOfQuantumIdentifier &collision_line_identifiers, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basename, const Verbosity &verbosity)
 WORKSPACE METHOD: collision_coefficientsFromSplitFiles. More...
 
void nlteOff (Index &nlte_do, EnergyLevelMap &nlte_field, ArrayOfQuantumIdentifier &nlte_level_identifiers, const Verbosity &)
 WORKSPACE METHOD: nlteOff. More...
 

Detailed Description

User interface to NLTE variables and functions.

Author
Richard Larsson
Date
2018-03-07

Definition in file m_nlte.cc.

Function Documentation

◆ ArrayOfQuantumIdentifierFromLines()

void ArrayOfQuantumIdentifierFromLines ( ArrayOfQuantumIdentifier out,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Index global,
const Verbosity verbosity 
)

WORKSPACE METHOD: ArrayOfQuantumIdentifierFromLines.

Sets an ArrayOfQuantumIdentifier to all levels in abs_lines_per_species with defined quantum numbers

Lines without defined quantum numbers are ignored

Author
Richard Larsson
Parameters
[out]outGeneric output
[in]abs_lines_per_speciesWS Input
[in]globalGeneric Input (Default: "1")

Definition at line 34 of file m_nlte.cc.

References ARTS::Var::abs_lines_per_species().

Referenced by ArrayOfQuantumIdentifierFromLines_g().

◆ collision_coefficientsFromSplitFiles()

void collision_coefficientsFromSplitFiles ( ArrayOfArrayOfGriddedField1 collision_coefficients,
ArrayOfQuantumIdentifier collision_line_identifiers,
const ArrayOfArrayOfSpeciesTag abs_species,
const String basename,
const Verbosity verbosity 
)

WORKSPACE METHOD: collision_coefficientsFromSplitFiles.

Reads collision_coefficients and collision_line_identifiers from location on filesystem with many species. The species in this location must match abs_species. The location must also contain an ArrayOfQuantumIdentifier file ending with qid.xml

Author
Richard Larsson
Parameters
[out]collision_coefficientsWS Output
[out]collision_line_identifiersWS Output
[in]abs_speciesWS Input
[in]basenameGeneric Input (Default: "./")

Definition at line 245 of file m_nlte.cc.

References ARTS::Var::abs_species(), check_collision_line_identifiers(), ARTS::Var::collision_coefficients(), ARTS::Var::collision_line_identifiers(), Array< base >::nelem(), ARTS::Var::verbosity(), and xml_read_from_file().

Referenced by collision_coefficientsFromSplitFiles_g().

◆ nlte_fieldForSingleSpeciesNonOverlappingLines()

void nlte_fieldForSingleSpeciesNonOverlappingLines ( Workspace ws,
EnergyLevelMap nlte_field,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfGriddedField1 collision_coefficients,
const ArrayOfQuantumIdentifier collision_line_identifiers,
const SpeciesAuxData isotopologue_ratios,
const Agenda iy_main_agenda,
const Agenda ppath_agenda,
const Agenda iy_space_agenda,
const Agenda iy_surface_agenda,
const Agenda iy_cloudbox_agenda,
const Agenda propmat_clearsky_agenda,
const Agenda water_p_eq_agenda,
const Tensor4 vmr_field,
const Tensor3 t_field,
const Tensor3 z_field,
const Vector p_grid,
const Index atmosphere_dim,
const Vector refellipsoid,
const Tensor3 surface_props_data,
const Index nlte_do,
const Numeric df,
const Numeric convergence_limit,
const Index nz,
const Index nf,
const Index dampened,
const Index iteration_limit,
const Verbosity verbosity 
)

WORKSPACE METHOD: nlte_fieldForSingleSpeciesNonOverlappingLines.

NLTE field for a simple setup.

This will solve for nlte_field in the input atmosphere. The solver depends on the lines not overlapping and that there is only a single species in the atmosphere.

Author
Richard Larsson
Parameters
[in,out]wsWorkspace
[in,out]nlte_fieldWS Input/Output
[in]abs_speciesWS Input
[in]abs_lines_per_speciesWS Input
[in]collision_coefficientsWS Input
[in]collision_line_identifiersWS Input
[in]isotopologue_ratiosWS Input
[in]iy_main_agendaWS Input
[in]ppath_agendaWS Input
[in]iy_space_agendaWS Input
[in]iy_surface_agendaWS Input
[in]iy_cloudbox_agendaWS Input
[in]propmat_clearsky_agendaWS Input
[in]water_p_eq_agendaWS Input
[in]vmr_fieldWS Input
[in]t_fieldWS Input
[in]z_fieldWS Input
[in]p_gridWS Input
[in]atmosphere_dimWS Input
[in]refellipsoidWS Input
[in]surface_props_dataWS Input
[in]nlte_doWS Input
[in]dfGeneric Input
[in]convergence_limitGeneric Input (Default: "1e-6")
[in]nzGeneric Input
[in]nfGeneric Input
[in]dampenedGeneric Input
[in]iteration_limitGeneric Input (Default: "20")

Definition at line 87 of file m_nlte.cc.

References abs, ARTS::Var::abs_lines_per_species(), ARTS::Var::abs_species(), ARTS::Var::atmosphere_dim(), ARTS::Var::collision_coefficients(), ARTS::Var::collision_line_identifiers(), CREATE_OUT2, createAij(), createBij(), createBji(), dampened_statistical_equilibrium_equation(), find_first_unique_in_lower(), ARTS::Var::isotopologue_ratios(), ARTS::Var::iy_cloudbox_agenda(), ARTS::Var::iy_main_agenda(), ARTS::Var::iy_space_agenda(), ARTS::Var::iy_surface_agenda(), joker, ARTS::Var::line_irradiance(), line_irradianceCalcForSingleSpeciesNonOverlappingLinesPseudo2D(), ARTS::Var::line_transmission(), max, Absorption::nelem(), nlines, nlte_collision_factorsCalcFromCoeffs(), ARTS::Var::nlte_do(), ARTS::Var::nlte_field(), nlte_positions_in_statistical_equilibrium_matrix(), ARTS::Var::p_grid(), ARTS::Var::ppath_agenda(), ARTS::Var::propmat_clearsky_agenda(), ARTS::Var::refellipsoid(), set_constant_statistical_equilibrium_matrix(), solve(), statistical_equilibrium_equation(), ARTS::Var::surface_props_data(), ARTS::Var::t_field(), ARTS::Var::verbosity(), ARTS::Var::vmr_field(), ARTS::Var::x(), and ARTS::Var::z_field().

Referenced by nlte_fieldForSingleSpeciesNonOverlappingLines_g().

◆ nlte_fieldRescalePopulationLevels()

void nlte_fieldRescalePopulationLevels ( EnergyLevelMap nlte_field,
const Numeric s,
const Verbosity verbosity 
)

WORKSPACE METHOD: nlte_fieldRescalePopulationLevels.

Rescale NLTE field to expected total distribution amongst levels

Author
Richard Larsson
Parameters
[in,out]nlte_fieldWS Input/Output
[in]sGeneric Input

Definition at line 80 of file m_nlte.cc.

References ARTS::Var::nlte_field().

Referenced by nlte_fieldRescalePopulationLevels_g().

◆ nlteOff()

void nlteOff ( Index nlte_do,
EnergyLevelMap nlte_field,
ArrayOfQuantumIdentifier nlte_level_identifiers,
const Verbosity verbosity 
)

WORKSPACE METHOD: nlteOff.

Disable Non-LTE calculations.

The variables are set as follows: <br> nlte_field : Empty. <br> nlte_level_identifiers : Empty.

Author
Oliver Lemke
Parameters
[out]nlte_doWS Output
[out]nlte_fieldWS Output
[out]nlte_level_identifiersWS Output

Definition at line 280 of file m_nlte.cc.

References ARTS::Var::nlte_do(), ARTS::Var::nlte_field(), and ARTS::Var::nlte_level_identifiers().

Referenced by nlteOff_g().