ARTS 2.5.11 (git: 6827797f)
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"
#include "xml_io.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.
 
void nlte_fieldRescalePopulationLevels (EnergyLevelMap &nlte_field, const Numeric &scale, const Verbosity &)
 WORKSPACE METHOD: nlte_fieldRescalePopulationLevels.
 
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 SpeciesIsotopologueRatios &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.
 
void collision_coefficientsFromSplitFiles (ArrayOfArrayOfGriddedField1 &collision_coefficients, ArrayOfQuantumIdentifier &collision_line_identifiers, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basename, const Verbosity &verbosity)
 WORKSPACE METHOD: collision_coefficientsFromSplitFiles.
 
void nlteOff (Index &nlte_do, EnergyLevelMap &nlte_field, ArrayOfQuantumIdentifier &nlte_level_identifiers, const Verbosity &)
 WORKSPACE METHOD: nlteOff.
 

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 17 of file m_nlte.cc.

References Quantum::Number::GlobalState::LowerLevel(), and Quantum::Number::GlobalState::UpperLevel().

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 214 of file m_nlte.cc.

References ARTS_USER_ERROR_IF, check_collision_line_identifiers(), Array< base >::nelem(), 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 SpeciesIsotopologueRatios 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 57 of file m_nlte.cc.

References ARTS_USER_ERROR_IF, CREATE_OUT2, createAij(), createBij(), createBji(), dampened_statistical_equilibrium_equation(), find_first_unique_in_lower(), EnergyLevelMap::levels, line_irradianceCalcForSingleSpeciesNonOverlappingLinesPseudo2D(), max(), Array< base >::nelem(), nlte_collision_factorsCalcFromCoeffs(), nlte_positions_in_statistical_equilibrium_matrix(), set_constant_statistical_equilibrium_matrix(), solve(), statistical_equilibrium_equation(), and EnergyLevelMap::value.

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 50 of file m_nlte.cc.

References EnergyLevelMap::value.

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 248 of file m_nlte.cc.

Referenced by nlteOff_g().