ARTS
2.2.66
|
T-Matrix related workspace methods. More...
#include <stdexcept>
#include <cmath>
#include "messages.h"
#include "tmatrix.h"
#include "check_input.h"
#include "make_array.h"
#include "refraction.h"
#include "special_interp.h"
Go to the source code of this file.
Functions | |
void | TMatrixTest (const Verbosity &verbosity) |
WORKSPACE METHOD: TMatrixTest. More... | |
void | scat_meta_arrayInit (ArrayOfScatteringMetaData &scat_meta_array, const Verbosity &) |
WORKSPACE METHOD: scat_meta_arrayInit. More... | |
void | scat_meta_arrayAddTmatrix (ArrayOfScatteringMetaData &scat_meta_array, const GriddedField3 &complex_refr_index, const String &description, const String &material, const String &shape, const String &particle_type, const Numeric &density, const Vector &aspect_ratio_grid, const Vector &diameter_max_grid, const Vector &scat_f_grid, const Vector &scat_T_grid, const Verbosity &) |
WORKSPACE METHOD: scat_meta_arrayAddTmatrix. More... | |
void | scat_data_arrayFromMeta (ArrayOfSingleScatteringData &scat_data_array, const ArrayOfScatteringMetaData &scat_meta_array, const Vector &za_grid, const Vector &aa_grid, const Numeric &precision, const Verbosity &) |
WORKSPACE METHOD: scat_data_arrayFromMeta. More... | |
void | scat_meta_arrayAddTmatrixOldVersion (ArrayOfScatteringMetaData &scat_meta_array, const GriddedField3 &complex_refr_index, const String &description, const String &material, const String &shape, const String &particle_type, const Numeric &density, const Numeric &aspect_ratio, const Vector &diameter_grid, const Vector &scat_f_grid, const Vector &scat_T_grid, const Verbosity &) |
WORKSPACE METHOD: scat_meta_arrayAddTmatrixOldVersion. More... | |
void scat_data_arrayFromMeta | ( | ArrayOfSingleScatteringData & | scat_data_array, |
const ArrayOfScatteringMetaData & | scat_meta_array, | ||
const Vector & | za_grid, | ||
const Vector & | aa_grid, | ||
const Numeric & | precision, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: scat_data_arrayFromMeta.
This workspace method calculates scattering data and adds it to scat_data_array* using particle meta data in scat_meta_array. The scattering data is calculated with the T-matrix method.
One set of scattering data is calculated for each particle in scat_meta_array*
[out] | scat_data_array | WS Output |
[in] | scat_meta_array | WS Input |
[in] | za_grid | Generic Input |
[in] | aa_grid | Generic Input |
[in] | precision | Generic Input |
Definition at line 161 of file m_tmatrix.cc.
References SingleScatteringData::aa_grid, calcSingleScatteringDataProperties(), complex_n_interp(), SingleScatteringData::f_grid, joker, Array< base >::nelem(), SingleScatteringData::particle_type, PI, precision, Tensor3::resize(), SingleScatteringData::T_grid, and SingleScatteringData::za_grid.
Referenced by scat_data_arrayFromMeta_g().
void scat_meta_arrayAddTmatrix | ( | ArrayOfScatteringMetaData & | scat_meta_array, |
const GriddedField3 & | complex_refr_index, | ||
const String & | description, | ||
const String & | material, | ||
const String & | shape, | ||
const String & | particle_type, | ||
const Numeric & | density, | ||
const Vector & | aspect_ratio_grid, | ||
const Vector & | diameter_max_grid, | ||
const Vector & | scat_f_grid, | ||
const Vector & | scat_T_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: scat_meta_arrayAddTmatrix.
This method adds particle meta data to the workspace variable scat_meta_array*.
One set of meta data is created and added to the array for each combination of maximum diameter and aspect ratio in the GINs diamter_max_grid and aspect_ratio_grid. The size of scat_meta_array and hence the usage has been extended. For that reason, a short summary below tells which input parameters are required for certain further calculations.
String[description] Not used for any particular calculations String[material] Used for PND calculations String[shape] Used for scattering and PND calculations Numeric[particle_type] Used for scattering calculations Numeric[density] Used for PND calculations Vector[diameter_max_grid] Used for both scattering and PND calculations Vector[aspect_ratio_grid] Used for scattering calculations and PND calculations Vector[scat_f_grid] Used for scattering calculations Vector[scat_T_grid] Used for scattering calculations Tensor3[complex_refr_index] Used for scattering calculations
[out] | scat_meta_array | WS Output |
[in] | complex_refr_index | WS Input |
[in] | description | Generic Input (Default: "") |
[in] | material | Generic Input (Default: "undefined") |
[in] | shape | Generic Input |
[in] | particle_type | Generic Input |
[in] | density | Generic Input (Default: "-999") |
[in] | aspect_ratio_grid | Generic Input |
[in] | diameter_max_grid | Generic Input |
[in] | scat_f_grid | Generic Input |
[in] | scat_T_grid | Generic Input |
Definition at line 59 of file m_tmatrix.cc.
References ScatteringMetaData::area_projected, ScatteringMetaData::aspect_ratio, ScatteringMetaData::complex_refr_index, ScatteringMetaData::density, ScatteringMetaData::description, ScatteringMetaData::diameter_max, ScatteringMetaData::material, ConstVectorView::nelem(), PARTICLE_SSDMETHOD_TMATRIX, ScatteringMetaData::particle_type, ParticleTypeFromString(), PI, ScatteringMetaData::scat_f_grid, ScatteringMetaData::scat_T_grid, ScatteringMetaData::shape, ScatteringMetaData::ssd_method, and ScatteringMetaData::volume.
Referenced by scat_meta_arrayAddTmatrix_g().
void scat_meta_arrayAddTmatrixOldVersion | ( | ArrayOfScatteringMetaData & | scat_meta_array, |
const GriddedField3 & | complex_refr_index, | ||
const String & | description, | ||
const String & | material, | ||
const String & | shape, | ||
const String & | particle_type, | ||
const Numeric & | density, | ||
const Numeric & | aspect_ratio, | ||
const Vector & | diameter_grid, | ||
const Vector & | scat_f_grid, | ||
const Vector & | scat_T_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: scat_meta_arrayAddTmatrixOldVersion.
This method adds particle meta data to the workspace variable scat_meta_array*.
One set of meta data is created and added to the array for each diameter in the GIN diamter_grid. The size of scat_meta_array and hence the usage has been extended. For that reason, a short summary below tells which input parameters are required for certain further calculations.
String[description] Not used for any particular calculations String[material] Not used for any particular calculations String[shape] Used for scattering properties calculations Numeric[particle_type] Used for scattering properties calculations Numeric[density] Used for PSD calculations Numeric[aspect_ratio] Used for scattering properties calculations Numeric[diameter_grid] Used for both scattering properties and PSD calculations Vector[scat_f_grid] Used for scattering properties calculations Vector[scat_T_grid] Used for scattering properties calculations Tensor3[complex_refr_index] Used for scattering properties calculations
[out] | scat_meta_array | WS Output |
[in] | complex_refr_index | WS Input |
[in] | description | Generic Input (Default: "") |
[in] | material | Generic Input (Default: "undefined") |
[in] | shape | Generic Input |
[in] | particle_type | Generic Input |
[in] | density | Generic Input (Default: "-999") |
[in] | aspect_ratio | Generic Input |
[in] | diameter_grid | Generic Input |
[in] | scat_f_grid | Generic Input |
[in] | scat_T_grid | Generic Input |
Definition at line 234 of file m_tmatrix.cc.
References ScatteringMetaData::area_projected, ScatteringMetaData::aspect_ratio, ScatteringMetaData::complex_refr_index, ScatteringMetaData::density, ScatteringMetaData::description, ScatteringMetaData::diameter_max, ScatteringMetaData::material, ConstVectorView::nelem(), PARTICLE_SSDMETHOD_TMATRIX, ScatteringMetaData::particle_type, ParticleTypeFromString(), PI, ScatteringMetaData::scat_f_grid, ScatteringMetaData::scat_T_grid, ScatteringMetaData::shape, ScatteringMetaData::ssd_method, and ScatteringMetaData::volume.
Referenced by scat_meta_arrayAddTmatrixOldVersion_g().
void scat_meta_arrayInit | ( | ArrayOfScatteringMetaData & | scat_meta_array, |
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: scat_meta_arrayInit.
Initializes the workspace variable scat_meta_array.
[out] | scat_meta_array | WS Output |
Definition at line 48 of file m_tmatrix.cc.
Referenced by scat_meta_arrayInit_g().
void TMatrixTest | ( | const Verbosity & | verbosity | ) |
WORKSPACE METHOD: TMatrixTest.
T-Matrix validation test.
Executes the standard test included with the T-Matrix Fortran code. Should give the same as running the tmatrix_lp executable in 3rdparty/tmatrix/.
Definition at line 37 of file m_tmatrix.cc.
References calc_ssp_fixed_test(), calc_ssp_random_test(), tmatrix_ampld_test(), and tmatrix_tmd_test().
Referenced by TMatrixTest_g().