ARTS 2.5.0 (git: 9ee3ac6c)
zeeman.cc File Reference

Public methods of ARTS to compute Zeeman effects. More...

#include "zeeman.h"
#include "constants.h"
#include "linescaling.h"
#include "species_info.h"
#include "lineshape.h"

Go to the source code of this file.

Functions

void zeeman_on_the_fly (PropagationMatrix &propmat_clearsky, StokesVector &nlte_source, ArrayOfPropagationMatrix &dpropmat_clearsky_dx, ArrayOfStokesVector &dnlte_source_dx, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const SpeciesIsotopologueRatios &isotopologue_ratios, const Vector &f_grid, const Vector &rtp_vmr, const EnergyLevelMap &rtp_nlte, const Vector &rtp_mag, const Vector &rtp_los, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Index &nlte_do, const Index &manual_tag, const Numeric &H0, const Numeric &theta0, const Numeric &eta0)
 Main and only way to compute Zeeman effect. More...
 

Detailed Description

Public methods of ARTS to compute Zeeman effects.

Header of Zeeman propagation matrix calculations.

Implementations of Zeeman propagation matrix calculations.

Author
Richard Larsson <larsson (at) mps.mpg.de>
Date
2012-08-14

Several methods to change and alter and in other way set up Zeeman effect calculations are implemented in this file

Author
Richard Larsson <larsson (at) mps.mpg.de>
Date
2014-10-14

This file implements Zeeman propagation matrix calculations while also computing the derivatives that might be interesting for later Jacobian deductions.

Author
Richard Larsson <larsson (at) mps.mpg.de>
Date
2014-10-14

Definition in file zeeman.cc.

Function Documentation

◆ zeeman_on_the_fly()

void zeeman_on_the_fly ( PropagationMatrix propmat_clearsky,
StokesVector nlte_source,
ArrayOfPropagationMatrix dpropmat_clearsky_dx,
ArrayOfStokesVector dnlte_source_dx,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfRetrievalQuantity jacobian_quantities,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const SpeciesIsotopologueRatios isotopologue_ratios,
const Vector f_grid,
const Vector rtp_vmr,
const EnergyLevelMap rtp_nlte,
const Vector rtp_mag,
const Vector rtp_los,
const Numeric rtp_pressure,
const Numeric rtp_temperature,
const Index nlte_do,
const Index manual_tag,
const Numeric H0,
const Numeric theta0,
const Numeric eta0 
)

Main and only way to compute Zeeman effect.

Computes the effect and the derivatives.

Should work in NLTE settings but this is not well-tested

Parameters
[in,out]propmat_clearskyas WSV
[in,out]nlte_sourceas WSV
[in,out]dpropmat_clearsky_dxas WSV
[in,out]dnlte_source_dxas WSV
[in]abs_speciesas WSV
[in]jacobian_quantitiesas WSV
[in]abs_lines_per_speciesas WSV
[in]isotopologue_ratiosas WSV
[in]partition_functionsas WSV
[in]f_gridas WSV
[in]rtp_vmras WSV
[in]rtp_nlteas WSV
[in]rtp_magas WSV
[in]rtp_losas WSV
[in]rtp_pressureas WSV
[in]rtp_temperatureas WSV
[in]nlte_doas WSV
[in]manual_zeeman_tagSets whether the the magnetic field is input manually
[in]manual_zeeman_magnetic_field_strengthMagnetic field strength
[in]manual_zeeman_thetaMagnetic field theta angle
[in]manual_zeeman_etaMagnetic field eta angle

Definition at line 37 of file zeeman.cc.

References Zeeman::AllPolarization(), Zeeman::AllPolarization_deta(), Zeeman::AllPolarization_dtheta(), any_negative(), ARTS_USER_ERROR_IF, bad_propmat(), check_abs_species(), LineShape::compute(), EnergyLevelMap::Data(), Conversion::deg2rad(), LineShape::ComputeData::dF, LineShape::ComputeData::dN, Zeeman::dsum(), LineShape::ComputeData::F, Zeeman::FromGrids(), Zeeman::FromPreDerived(), Hitran::isotopologue_ratios(), joker, Jacobian::MagneticU, Jacobian::MagneticV, Jacobian::MagneticW, LineShape::ComputeData::N, Array< base >::nelem(), ConstVectorView::nelem(), Absorption::nelem(), Options::None, ns, PropagationMatrix::NumberOfFrequencies(), Zeeman::Pi, Zeeman::SelectPolarization(), Zeeman::SigmaMinus, Zeeman::SigmaPlus, PropagationMatrix::StokesDimensions(), and Zeeman::sum().

Referenced by propmat_clearskyAddZeeman().