Loading src/include/Commons.h +9 −5 Original line number Original line Diff line number Diff line Loading @@ -86,25 +86,29 @@ public: double **tqss; double **tqss; //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. dcomplex **tqsps; dcomplex **tqsps; //! \brief L-dependent coefficients of the geometric asymmetry parameter. double ****zpv; double ****zpv; //! \brief Mean geometric asymmetry parameters. //! \brief Mean geometric asymmetry parameters. double **gapm; double **gapm; //! \brief Mean polarized geometric asymmetry parameters. //! \brief Mean geometric asymmetry parameters referred to polarization plane. dcomplex **gappm; dcomplex **gappm; //! \brief Imaginary part of the harmonic functions argument. double *argi; double *argi; //! \brief Argument of the harmonic functions referred to the scattering plane. double *args; double *args; //! \brief Geometric asymmetry parameters. //! \brief Geometric asymmetry parameters. double **gap; double **gap; //! \brief Polarized geometric asymmetry parameters. //! \brief Geometric asymmetry parameters referred to polarization plane. dcomplex **gapp; dcomplex **gapp; //! \brief Components of extinction contribution to radiation torque on the cluster along k. //! \brief Components of extinction contribution to radiation torque on the cluster along k. double **tqce; double **tqce; //! \brief Components of polarized extinction contribution to radiation torque on the cluster along k. //! \brief Components of extinction contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcpe; dcomplex **tqcpe; //! \brief Components of scattering contribution to radiation torque on the cluster along k. //! \brief Components of scattering contribution to radiation torque on the cluster along k. double **tqcs; double **tqcs; //! \brief Components of polarized scattering contribution to radiation torque on the cluster along k. //! \brief Components of scattering contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcps; dcomplex **tqcps; //! \brief Variation of unitary radiation vector. QUESTION: correct? double *duk; double *duk; //! \brief Cluster extinction cross-section components. //! \brief Cluster extinction cross-section components. double **cextlr; double **cextlr; Loading Loading @@ -410,7 +414,7 @@ public: // >>> END OF SECTION NEEDED BY SPHERE AND CLUSTER <<< // // >>> END OF SECTION NEEDED BY SPHERE AND CLUSTER <<< // // >>> NEEDED BY CLUSTER <<< // >>> NEEDED BY CLUSTER <<< // \brief Vector of field intensity components. //! \brief Vector of field intensity components. dcomplex *vintt; dcomplex *vintt; //! \brief Total forward scattering amplitude. //! \brief Total forward scattering amplitude. dcomplex tfsas; dcomplex tfsas; Loading src/inclusion/inclusion.cpp +49 −0 Original line number Original line Diff line number Diff line Loading @@ -99,67 +99,116 @@ using namespace std; */ */ class InclusionIterationData { class InclusionIterationData { protected: protected: //! \brief Vectorized geometric asymmetry parameter components. double *vec_zpv; double *vec_zpv; public: public: //! \brief External layer index. int nimd; int nimd; //! \brief External layer radius. double extr; double extr; //! \brief Pointer to a ParticleDescriptor structure. //! \brief Pointer to a ParticleDescriptor structure. ParticleDescriptor *c1; ParticleDescriptor *c1; //! \brief Vector of geometric asymmetry factors. //! \brief Vector of geometric asymmetry factors. double *gaps; double *gaps; //! \brief Components of extinction contribution to radiation torque on a single sphere along k. double **tqse; double **tqse; //! \brief Components of polarized extinction contribution to radiation torque on a single sphere along k. dcomplex **tqspe; dcomplex **tqspe; //! \brief Components of scattering contribution to radiation torque on a single sphere along k. double **tqss; double **tqss; //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. dcomplex **tqsps; dcomplex **tqsps; //! \brief L-dependent coefficients of the geometric asymmetry parameter. double ****zpv; double ****zpv; //! \brief Mean geometric asymmetry parameters. double **gapm; double **gapm; //! \brief Mean geometric asymmetry parameters referred to polarization plane. dcomplex **gappm; dcomplex **gappm; //! \brief Imaginary part of the harmonic functions argument. double *argi; double *argi; //! \brief Argument of the harmonic functions referred to the scattering plane. double *args; double *args; //! \brief Geometric asymmetry parameters. double **gap; double **gap; //! \brief Geometric asymmetry parameters referred to polarization plane. dcomplex **gapp; dcomplex **gapp; //! \brief Components of extinction contribution to radiation torque on the cluster along k. double **tqce; double **tqce; //! \brief Components of extinction contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcpe; dcomplex **tqcpe; //! \brief Components of scattering contribution to radiation torque on the cluster along k. double **tqcs; double **tqcs; //! \brief Components of scattering contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcps; dcomplex **tqcps; //! \brief Variation of unitary radiation vector. QUESTION: correct? double *duk; double *duk; //! \brief Cluster extinction cross-section components. double **cextlr; double **cextlr; //! \brief Cluster extinction cross-section components. double **cext; double **cext; //! \brief Cluster Mueller Transformation Matrix components. double **cmullr; double **cmullr; //! \brief Cluster Mueller Transformation Matrix components. double **cmul; double **cmul; //! \brief Geometric asymmetry parameter components. double *gapv; double *gapv; //! \brief Radiation extinction torque components. double *tqev; double *tqev; //! \brief Radiation scattering torque components. double *tqsv; double *tqsv; //! \brief Incident unitary vector components. double *u; double *u; //! \brief Scattered unitary vector components. double *us; double *us; //! \brief Normal unitary vector components. double *un; double *un; //! \brief Normal scattered unitary vector components. double *uns; double *uns; //! \brief Incident unitary vector components on polarization plane. double *up; double *up; //! \brief Scattered unitary vector components on polarization plane. double *ups; double *ups; //! \brief Mean unitary vector components normal to polarization plane. double *unmp; double *unmp; //! \brief Mean scattered unitary vector components normal to polarization plane. double *unsmp; double *unsmp; //! \brief Mean incident unitary vector components on polarization plane. double *upmp; double *upmp; //! \brief Mean scattered unitary vector components on polarization plane. double *upsmp; double *upsmp; //! \brief Scattering angle. //! \brief Scattering angle. double scan; double scan; //! \brief Control parameter on incidence direction referred to meridional plane. double cfmp; double cfmp; //! \brief Control parameter on scattering direction referred to meridional plane. double sfmp; double sfmp; //! \brief Control parameter on incidence direction referred to scattering plane. double cfsp; double cfsp; //! \brief Control parameter on scattering direction referred to scattering plane. double sfsp; double sfsp; //! \brief SQSFI = XI^-2 double sqsfi; double sqsfi; //! \brief Vectorized scattering coefficient matrix. dcomplex *am_vector; dcomplex *am_vector; //! \brief Scattering coefficient matrix. dcomplex **am; dcomplex **am; //! \brief Argument of harmonic functions. QUESTION: correct? dcomplex arg; dcomplex arg; //! \brief Vacuum magnitude of wave vector. //! \brief Vacuum magnitude of wave vector. double vk; double vk; //! \brief Wave number. //! \brief Wave number. double wn; double wn; //! \brief Normalization scale. QUESTION: correct? double xip; double xip; //! \brief Number of scales (wavelengths) to be computed. int number_of_scales; int number_of_scales; //! \brief Size of the block of scales handled by the current process. int xiblock; int xiblock; //! \brief Index of the first scale handled by the current process. int firstxi; int firstxi; //! \brief Index of the last scale handled by the current process. int lastxi; int lastxi; //! \brief ID of the GPU used by one MPI process. //! \brief ID of the GPU used by one MPI process. int proc_device; int proc_device; Loading Loading
src/include/Commons.h +9 −5 Original line number Original line Diff line number Diff line Loading @@ -86,25 +86,29 @@ public: double **tqss; double **tqss; //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. dcomplex **tqsps; dcomplex **tqsps; //! \brief L-dependent coefficients of the geometric asymmetry parameter. double ****zpv; double ****zpv; //! \brief Mean geometric asymmetry parameters. //! \brief Mean geometric asymmetry parameters. double **gapm; double **gapm; //! \brief Mean polarized geometric asymmetry parameters. //! \brief Mean geometric asymmetry parameters referred to polarization plane. dcomplex **gappm; dcomplex **gappm; //! \brief Imaginary part of the harmonic functions argument. double *argi; double *argi; //! \brief Argument of the harmonic functions referred to the scattering plane. double *args; double *args; //! \brief Geometric asymmetry parameters. //! \brief Geometric asymmetry parameters. double **gap; double **gap; //! \brief Polarized geometric asymmetry parameters. //! \brief Geometric asymmetry parameters referred to polarization plane. dcomplex **gapp; dcomplex **gapp; //! \brief Components of extinction contribution to radiation torque on the cluster along k. //! \brief Components of extinction contribution to radiation torque on the cluster along k. double **tqce; double **tqce; //! \brief Components of polarized extinction contribution to radiation torque on the cluster along k. //! \brief Components of extinction contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcpe; dcomplex **tqcpe; //! \brief Components of scattering contribution to radiation torque on the cluster along k. //! \brief Components of scattering contribution to radiation torque on the cluster along k. double **tqcs; double **tqcs; //! \brief Components of polarized scattering contribution to radiation torque on the cluster along k. //! \brief Components of scattering contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcps; dcomplex **tqcps; //! \brief Variation of unitary radiation vector. QUESTION: correct? double *duk; double *duk; //! \brief Cluster extinction cross-section components. //! \brief Cluster extinction cross-section components. double **cextlr; double **cextlr; Loading Loading @@ -410,7 +414,7 @@ public: // >>> END OF SECTION NEEDED BY SPHERE AND CLUSTER <<< // // >>> END OF SECTION NEEDED BY SPHERE AND CLUSTER <<< // // >>> NEEDED BY CLUSTER <<< // >>> NEEDED BY CLUSTER <<< // \brief Vector of field intensity components. //! \brief Vector of field intensity components. dcomplex *vintt; dcomplex *vintt; //! \brief Total forward scattering amplitude. //! \brief Total forward scattering amplitude. dcomplex tfsas; dcomplex tfsas; Loading
src/inclusion/inclusion.cpp +49 −0 Original line number Original line Diff line number Diff line Loading @@ -99,67 +99,116 @@ using namespace std; */ */ class InclusionIterationData { class InclusionIterationData { protected: protected: //! \brief Vectorized geometric asymmetry parameter components. double *vec_zpv; double *vec_zpv; public: public: //! \brief External layer index. int nimd; int nimd; //! \brief External layer radius. double extr; double extr; //! \brief Pointer to a ParticleDescriptor structure. //! \brief Pointer to a ParticleDescriptor structure. ParticleDescriptor *c1; ParticleDescriptor *c1; //! \brief Vector of geometric asymmetry factors. //! \brief Vector of geometric asymmetry factors. double *gaps; double *gaps; //! \brief Components of extinction contribution to radiation torque on a single sphere along k. double **tqse; double **tqse; //! \brief Components of polarized extinction contribution to radiation torque on a single sphere along k. dcomplex **tqspe; dcomplex **tqspe; //! \brief Components of scattering contribution to radiation torque on a single sphere along k. double **tqss; double **tqss; //! \brief Components of polarized scattering contribution to radiation torque on a single sphere along k. dcomplex **tqsps; dcomplex **tqsps; //! \brief L-dependent coefficients of the geometric asymmetry parameter. double ****zpv; double ****zpv; //! \brief Mean geometric asymmetry parameters. double **gapm; double **gapm; //! \brief Mean geometric asymmetry parameters referred to polarization plane. dcomplex **gappm; dcomplex **gappm; //! \brief Imaginary part of the harmonic functions argument. double *argi; double *argi; //! \brief Argument of the harmonic functions referred to the scattering plane. double *args; double *args; //! \brief Geometric asymmetry parameters. double **gap; double **gap; //! \brief Geometric asymmetry parameters referred to polarization plane. dcomplex **gapp; dcomplex **gapp; //! \brief Components of extinction contribution to radiation torque on the cluster along k. double **tqce; double **tqce; //! \brief Components of extinction contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcpe; dcomplex **tqcpe; //! \brief Components of scattering contribution to radiation torque on the cluster along k. double **tqcs; double **tqcs; //! \brief Components of scattering contribution to radiation torque on the cluster along k referred to polarization plane. dcomplex **tqcps; dcomplex **tqcps; //! \brief Variation of unitary radiation vector. QUESTION: correct? double *duk; double *duk; //! \brief Cluster extinction cross-section components. double **cextlr; double **cextlr; //! \brief Cluster extinction cross-section components. double **cext; double **cext; //! \brief Cluster Mueller Transformation Matrix components. double **cmullr; double **cmullr; //! \brief Cluster Mueller Transformation Matrix components. double **cmul; double **cmul; //! \brief Geometric asymmetry parameter components. double *gapv; double *gapv; //! \brief Radiation extinction torque components. double *tqev; double *tqev; //! \brief Radiation scattering torque components. double *tqsv; double *tqsv; //! \brief Incident unitary vector components. double *u; double *u; //! \brief Scattered unitary vector components. double *us; double *us; //! \brief Normal unitary vector components. double *un; double *un; //! \brief Normal scattered unitary vector components. double *uns; double *uns; //! \brief Incident unitary vector components on polarization plane. double *up; double *up; //! \brief Scattered unitary vector components on polarization plane. double *ups; double *ups; //! \brief Mean unitary vector components normal to polarization plane. double *unmp; double *unmp; //! \brief Mean scattered unitary vector components normal to polarization plane. double *unsmp; double *unsmp; //! \brief Mean incident unitary vector components on polarization plane. double *upmp; double *upmp; //! \brief Mean scattered unitary vector components on polarization plane. double *upsmp; double *upsmp; //! \brief Scattering angle. //! \brief Scattering angle. double scan; double scan; //! \brief Control parameter on incidence direction referred to meridional plane. double cfmp; double cfmp; //! \brief Control parameter on scattering direction referred to meridional plane. double sfmp; double sfmp; //! \brief Control parameter on incidence direction referred to scattering plane. double cfsp; double cfsp; //! \brief Control parameter on scattering direction referred to scattering plane. double sfsp; double sfsp; //! \brief SQSFI = XI^-2 double sqsfi; double sqsfi; //! \brief Vectorized scattering coefficient matrix. dcomplex *am_vector; dcomplex *am_vector; //! \brief Scattering coefficient matrix. dcomplex **am; dcomplex **am; //! \brief Argument of harmonic functions. QUESTION: correct? dcomplex arg; dcomplex arg; //! \brief Vacuum magnitude of wave vector. //! \brief Vacuum magnitude of wave vector. double vk; double vk; //! \brief Wave number. //! \brief Wave number. double wn; double wn; //! \brief Normalization scale. QUESTION: correct? double xip; double xip; //! \brief Number of scales (wavelengths) to be computed. int number_of_scales; int number_of_scales; //! \brief Size of the block of scales handled by the current process. int xiblock; int xiblock; //! \brief Index of the first scale handled by the current process. int firstxi; int firstxi; //! \brief Index of the last scale handled by the current process. int lastxi; int lastxi; //! \brief ID of the GPU used by one MPI process. //! \brief ID of the GPU used by one MPI process. int proc_device; int proc_device; Loading