ARTS 2.5.0 (git: 9ee3ac6c)
zeeman.h File Reference
#include "species_tags.h"
#include "global_data.h"
#include "physics_funcs.h"
#include "quantum.h"
#include "rte.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...
 

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().