ARTS  2.4.0(git:4fb77825)
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, ARTS::Var::abs_lines_per_species(), ARTS::Var::abs_species(), Zeeman::AllPolarization(), Zeeman::AllPolarization_deta(), Zeeman::AllPolarization_dtheta(), any_negative(), bad_abs_species(), bad_propmat(), dabs, Linefunctions::dDopplerConstant_dT(), Conversion::deg2rad(), Linefunctions::InternalData::dF, Linefunctions::InternalData::dN, ARTS::Var::dnlte_dx_source(), dnumber_density_dt(), Linefunctions::DopplerConstant(), dplanck_dt(), ARTS::Var::dpropmat_clearsky_dx(), dsingle_partition_function_dT(), equivalent_propmattype_indexes(), Linefunctions::InternalData::F, ARTS::Var::f_grid(), Zeeman::FromGrids(), Zeeman::FromPreDerived(), is_zeeman(), ARTS::Var::isotopologue_ratios(), ARTS::Var::jacobian_quantities(), joker, MapToEigen(), Linefunctions::InternalData::N, Array< base >::nelem(), Absorption::nelem(), ARTS::Var::nlte_dsource_dx(), ARTS::Var::nlte_source(), ns, number_density(), ARTS::Var::partition_functions(), planck(), ARTS::Var::propmat_clearsky(), ARTS::Var::rtp_los(), ARTS::Var::rtp_mag(), ARTS::Var::rtp_nlte(), ARTS::Var::rtp_pressure(), ARTS::Var::rtp_temperature(), ARTS::Var::rtp_vmr(), Zeeman::SelectPolarization(), Linefunctions::set_cross_section_of_band(), Zeeman::SigmaMinus, single_partition_function(), and temperature_perturbation().

Referenced by propmat_clearskyAddZeeman().