ARTS  2.2.66
m_tmatrix.cc File Reference

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

Detailed Description

T-Matrix related workspace methods.

Author
Oliver Lemke
Date
2013-06-25

Definition in file m_tmatrix.cc.

Function Documentation

◆ scat_data_arrayFromMeta()

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*

Author
Johan Strandgren, Oliver Lemke
Parameters
[out]scat_data_arrayWS Output
[in]scat_meta_arrayWS Input
[in]za_gridGeneric Input
[in]aa_gridGeneric Input
[in]precisionGeneric 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().

◆ scat_meta_arrayAddTmatrix()

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

Author
Johan Strandgren
Parameters
[out]scat_meta_arrayWS Output
[in]complex_refr_indexWS Input
[in]descriptionGeneric Input (Default: "")
[in]materialGeneric Input (Default: "undefined")
[in]shapeGeneric Input
[in]particle_typeGeneric Input
[in]densityGeneric Input (Default: "-999")
[in]aspect_ratio_gridGeneric Input
[in]diameter_max_gridGeneric Input
[in]scat_f_gridGeneric Input
[in]scat_T_gridGeneric 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().

◆ scat_meta_arrayAddTmatrixOldVersion()

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

Author
Johan Strandgren
Parameters
[out]scat_meta_arrayWS Output
[in]complex_refr_indexWS Input
[in]descriptionGeneric Input (Default: "")
[in]materialGeneric Input (Default: "undefined")
[in]shapeGeneric Input
[in]particle_typeGeneric Input
[in]densityGeneric Input (Default: "-999")
[in]aspect_ratioGeneric Input
[in]diameter_gridGeneric Input
[in]scat_f_gridGeneric Input
[in]scat_T_gridGeneric 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().

◆ scat_meta_arrayInit()

void scat_meta_arrayInit ( ArrayOfScatteringMetaData scat_meta_array,
const Verbosity verbosity 
)

WORKSPACE METHOD: scat_meta_arrayInit.

Initializes the workspace variable scat_meta_array.

Author
Johan Strandgren
Parameters
[out]scat_meta_arrayWS Output

Definition at line 48 of file m_tmatrix.cc.

Referenced by scat_meta_arrayInit_g().

◆ TMatrixTest()

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/.

Author
Oliver Lemke

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