ARTS  2.3.1285(git:92a29ea9-dirty)
zeeman.h File Reference
#include "abs_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 (ArrayOfPropagationMatrix &propmat_clearsky, ArrayOfStokesVector &nlte_source, ArrayOfPropagationMatrix &dpropmat_clearsky_dx, ArrayOfStokesVector &dnlte_dx_source, ArrayOfStokesVector &nlte_dsource_dx, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const SpeciesAuxData &isotopologue_ratios, const SpeciesAuxData &partition_functions, 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 &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 ( ArrayOfPropagationMatrix propmat_clearsky,
ArrayOfStokesVector nlte_source,
ArrayOfPropagationMatrix dpropmat_clearsky_dx,
ArrayOfStokesVector dnlte_dx_source,
ArrayOfStokesVector nlte_dsource_dx,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfRetrievalQuantity jacobian_quantities,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const SpeciesAuxData isotopologue_ratios,
const SpeciesAuxData partition_functions,
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 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_dx_sourceas WSV
[in,out]nlte_dsource_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]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 85 of file zeeman.cc.

References abs, Zeeman::AllPolarization(), Zeeman::AllPolarization_deta(), Zeeman::AllPolarization_dtheta(), any_negative(), bad_abs_species(), bad_propmat(), dabs, EnergyLevelMap::Data(), Linefunctions::dDopplerConstant_dT(), Conversion::deg2rad(), Linefunctions::InternalData::dF, Linefunctions::InternalData::dN, dnumber_density_dt(), Linefunctions::DopplerConstant(), dplanck_dt(), dsingle_partition_function_dT(), equivalent_propmattype_indexes(), Linefunctions::InternalData::F, Zeeman::FromGrids(), Zeeman::FromPreDerived(), SpeciesAuxData::getIsotopologueRatio(), SpeciesAuxData::getParam(), SpeciesAuxData::getParamType(), is_zeeman(), joker, EnergyLevelMap::Levels(), MagneticU, MagneticV, MagneticW, MapToEigen(), Linefunctions::InternalData::N, Array< base >::nelem(), ConstVectorView::nelem(), Absorption::nelem(), ns, number_density(), Zeeman::Pi, planck(), Zeeman::SelectPolarization(), Linefunctions::set_cross_section_of_band(), Zeeman::SigmaMinus, Zeeman::SigmaPlus, single_partition_function(), Temperature, temperature_perturbation(), and VMR.

Referenced by propmat_clearskyAddZeeman().