ARTS
2.3.1285(git:92a29ea9-dirty)
|
Public methods of ARTS to compute Zeeman effects. More...
#include "zeeman.h"
#include "constants.h"
#include "linefunctions.h"
#include "linescaling.h"
#include "species_info.h"
Go to the source code of this file.
Functions | |
template<class T > | |
bool | bad_propmat (const Array< T > &main, const Vector &f_grid, const Index sd=4) |
Checks if a Propagation Matrix or something similar has good grids. More... | |
bool | bad_abs_species (const ArrayOfArrayOfSpeciesTag &abs_species) |
Checks if abs_species is acceptable. More... | |
bool | any_negative (const Vector &var) |
Checks for negative values. More... | |
bool | any_negative (const Tensor4 &var) |
Checks for negative values. More... | |
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... | |
Public methods of ARTS to compute Zeeman effects.
Header of Zeeman propagation matrix calculations.
Implementations of Zeeman propagation matrix calculations.
Several methods to change and alter and in other way set up Zeeman effect calculations are implemented in this file
This file implements Zeeman propagation matrix calculations while also computing the derivatives that might be interesting for later Jacobian deductions.
Definition in file zeeman.cc.
bool any_negative | ( | const Vector & | var | ) |
Checks for negative values.
Definition at line 66 of file zeeman.cc.
References ConstVectorView::empty(), and min.
Referenced by zeeman_on_the_fly().
bool any_negative | ( | const Tensor4 & | var | ) |
Checks for negative values.
Definition at line 76 of file zeeman.cc.
References ConstTensor4View::empty(), and min.
bool bad_abs_species | ( | const ArrayOfArrayOfSpeciesTag & | abs_species | ) |
Checks if abs_species is acceptable.
Definition at line 51 of file zeeman.cc.
References Species.
Referenced by zeeman_on_the_fly().
bool bad_propmat | ( | const Array< T > & | main, |
const Vector & | f_grid, | ||
const Index | sd = 4 |
||
) |
Checks if a Propagation Matrix or something similar has good grids.
Definition at line 38 of file zeeman.cc.
References ConstVectorView::nelem(), and linalg::var().
Referenced by 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
[in,out] | propmat_clearsky | as WSV |
[in,out] | nlte_source | as WSV |
[in,out] | dpropmat_clearsky_dx | as WSV |
[in,out] | dnlte_dx_source | as WSV |
[in,out] | nlte_dsource_dx | as WSV |
[in] | abs_species | as WSV |
[in] | jacobian_quantities | as WSV |
[in] | abs_lines_per_species | as WSV |
[in] | isotopologue_ratios | as WSV |
[in] | partition_functions | as WSV |
[in] | f_grid | as WSV |
[in] | rtp_vmr | as WSV |
[in] | rtp_nlte | as WSV |
[in] | rtp_mag | as WSV |
[in] | rtp_los | as WSV |
[in] | rtp_pressure | as WSV |
[in] | rtp_temperature | as WSV |
[in] | manual_zeeman_tag | Sets whether the the magnetic field is input manually |
[in] | manual_zeeman_magnetic_field_strength | Magnetic field strength |
[in] | manual_zeeman_theta | Magnetic field theta angle |
[in] | manual_zeeman_eta | Magnetic 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().