Loading src/include/Commons.h +273 −273 Original line number Original line Diff line number Diff line Loading @@ -40,118 +40,118 @@ class ParticleDescriptor; class ParticleDescriptor; class mixMPI; class mixMPI; /*! \brief Representation of the FORTRAN C1 common blocks. // /*! \brief Representation of the FORTRAN C1 common blocks. * // * * C1 common blocks are used to store vector field expansions and geometric // * C1 common blocks are used to store vector field expansions and geometric * properties, such as sphere sizes, positions and cross-sections. These are // * properties, such as sphere sizes, positions and cross-sections. These are * used by functions such as `aps`, `diel`, `pwma`, `rabas`, `sscr0`, `sscr2`, // * used by functions such as `aps`, `diel`, `pwma`, `rabas`, `sscr0`, `sscr2`, * `wmamp`, `wmasp` and `dme`. QUESTION: correct? // * `wmamp`, `wmasp` and `dme`. QUESTION: correct? * // * * Due to the necessity to share the class contents with many functions that // * Due to the necessity to share the class contents with many functions that * need to read and update various fields, all shared members of C1 are declared // * need to read and update various fields, all shared members of C1 are declared * public (i.e., the class is just a structure with more advanced constructor // * public (i.e., the class is just a structure with more advanced constructor * and destroyer). Further development may go in the direction of creating // * and destroyer). Further development may go in the direction of creating * a better encapsulation, either by unpacking the contents (recommended) or // * a better encapsulation, either by unpacking the contents (recommended) or * by creating public methods to access protected fields (standard way, but not // * by creating public methods to access protected fields (standard way, but not * recommended for HPC applications). // * recommended for HPC applications). */ // */ class C1 { // class C1 { protected: // protected: //! \brief Maximum order of field expansion. // //! \brief Maximum order of field expansion. int lm; // int lm; //! \brief Maximum order of internal field expansion. // //! \brief Maximum order of internal field expansion. int li; // int li; //! \brief Maximum order of external field expansion. // //! \brief Maximum order of external field expansion. int le; // int le; //! \brief Contiguous RMI vector. // //! \brief Contiguous RMI vector. dcomplex *vec_rmi; // dcomplex *vec_rmi; //! \brief Contiguous REI vector. // //! \brief Contiguous REI vector. dcomplex *vec_rei; // dcomplex *vec_rei; //! \brief Contiguous W vector. // //! \brief Contiguous W vector. dcomplex *vec_w; // dcomplex *vec_w; //! \brief Contiguous VINTS vector // //! \brief Contiguous VINTS vector dcomplex *vec_vints; // dcomplex *vec_vints; public: // public: //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NLEMT = 2 * LE * (LE + 2). // //! \brief NLEMT = 2 * LE * (LE + 2). int nlemt; // int nlemt; //! \brief Number of configurations // //! \brief Number of configurations int configurations; // int configurations; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **rmi; // dcomplex **rmi; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **rei; // dcomplex **rei; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **w; // dcomplex **w; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *fsas; // dcomplex *fsas; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vint; // dcomplex *vint; //! \brief Components of the scattered field intensities. // //! \brief Components of the scattered field intensities. dcomplex **vints; // dcomplex **vints; //! \brief Single sphere scattering cross-sections. // //! \brief Single sphere scattering cross-sections. double *sscs; // double *sscs; //! \brief Single sphere extinction cross-sections. // //! \brief Single sphere extinction cross-sections. double *sexs; // double *sexs; //! \brief Single sphere absorption cross-sections. // //! \brief Single sphere absorption cross-sections. double *sabs; // double *sabs; //! \brief Single sphere scattering efficiencies. // //! \brief Single sphere scattering efficiencies. double *sqscs; // double *sqscs; //! \brief Single sphere extinction efficiencies. // //! \brief Single sphere extinction efficiencies. double *sqexs; // double *sqexs; //! \brief Single sphere absorption efficiencies. // //! \brief Single sphere absorption efficiencies. double *sqabs; // double *sqabs; //! \brief Single sphere geometric cross-section vector. // //! \brief Single sphere geometric cross-section vector. double *gcsv; // double *gcsv; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *rxx; // double *rxx; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *ryy; // double *ryy; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *rzz; // double *rzz; //! \brief Vector of sphere radii. // //! \brief Vector of sphere radii. double *ros; // double *ros; //! \brief Matrix of spherical layer break radii. QUESTION: correct? // //! \brief Matrix of spherical layer break radii. QUESTION: correct? double **rc; // double **rc; //! \brief Vector of spherical component identifiers. // //! \brief Vector of spherical component identifiers. int *iog; // int *iog; //! \brief Vector of numbers of spherical layers. // //! \brief Vector of numbers of spherical layers. int *nshl; // int *nshl; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex ***sas; // dcomplex ***sas; /*! \brief C1 instance constructor. // /*! \brief C1 instance constructor. * // * * \param gconf: `GeometryConfiguration *` Pointer to a geometry configuration object. // * \param gconf: `GeometryConfiguration *` Pointer to a geometry configuration object. * \param sconf: `ScattererConfiguration *` Pointer to a scatterer configuration object. // * \param sconf: `ScattererConfiguration *` Pointer to a scatterer configuration object. */ // */ C1(GeometryConfiguration *gconf, ScattererConfiguration *sconf); // C1(GeometryConfiguration *gconf, ScattererConfiguration *sconf); /*! \brief C1 instance constructor copying all contents from a preexisting template // /*! \brief C1 instance constructor copying all contents from a preexisting template * // * * \param rhs: `C1` preexisting template. // * \param rhs: `C1` preexisting template. */ // */ C1(const C1& rhs); // C1(const C1& rhs); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C1 instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C1 instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C1(const mixMPI *mpidata); // C1(const mixMPI *mpidata); /*! \brief send C1 instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C1 instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif //! \brief C1 instance destroyer. // //! \brief C1 instance destroyer. ~C1(); // ~C1(); }; // }; /*! \brief Representation of the FORTRAN C2 blocks. /*! \brief Representation of the FORTRAN C2 blocks. * * Loading Loading @@ -254,169 +254,169 @@ public: }; }; /*! \brief Representation of the FORTRAN C4 blocks. // /*! \brief Representation of the FORTRAN C4 blocks. */ // */ class C4 { // class C4 { public: // public: //! \brief LITPO = 2 * LI + 1. // //! \brief LITPO = 2 * LI + 1. int litpo; // int litpo; //! \brief LITPOS = LITPO * LITPO // //! \brief LITPOS = LITPO * LITPO int litpos; // int litpos; //! \brief LMPO = LM + 1. // //! \brief LMPO = LM + 1. int lmpo; // int lmpo; //! \brief LMTPO = 2 * LM + 1. // //! \brief LMTPO = 2 * LM + 1. int lmtpo; // int lmtpo; //! \brief LMTPOS = LMTPO * LMTPO. // //! \brief LMTPOS = LMTPO * LMTPO. int lmtpos; // int lmtpos; //! \brief Internal field expansion order. // //! \brief Internal field expansion order. int li; // int li; //! \brief NLIM = LI * (LI + 2) // //! \brief NLIM = LI * (LI + 2) int nlim; // int nlim; //! \brief External field expansion order. // //! \brief External field expansion order. int le; // int le; //! \brief NLEM = LE * (LE + 2) // //! \brief NLEM = LE * (LE + 2) int nlem; // int nlem; //! \brief Maximum field expansion order. // //! \brief Maximum field expansion order. int lm; // int lm; //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 // //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 int nv3j; // int nv3j; /*! \brief C4 instance constructor. // /*! \brief C4 instance constructor. * // * * \param gconf: `GeometryConfiguration*` Pointer to a GeometryConfiguration instance. // * \param gconf: `GeometryConfiguration*` Pointer to a GeometryConfiguration instance. */ // */ C4(GeometryConfiguration *gconf); // C4(GeometryConfiguration *gconf); /*! \brief C4 instance constructor copying its contents from a preexisting object. // /*! \brief C4 instance constructor copying its contents from a preexisting object. * // * * \param rhs: `C4&` Reference of the object to be copied. // * \param rhs: `C4&` Reference of the object to be copied. */ // */ C4(const C4& rhs); // C4(const C4& rhs); /*! \brief C4 instance destroyer. // /*! \brief C4 instance destroyer. */ // */ ~C4(); // ~C4(); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C4 instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C4 instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C4(const mixMPI *mpidata); // C4(const mixMPI *mpidata); /*! \brief send C4 instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C4 instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif }; // }; /*! \brief Vectors and matrices that are specific to cluster C1 blocks. // /*! \brief Vectors and matrices that are specific to cluster C1 blocks. * // * */ // */ class C1_AddOns { // class C1_AddOns { protected: // protected: //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NLEMT = 2 * (LE * (LE + 2)) // //! \brief NLEMT = 2 * (LE * (LE + 2)) int nlemt; // int nlemt; //! \brief LMPO = LM + 1 // //! \brief LMPO = LM + 1 int lmpo; // int lmpo; //! \brief LITPO = 2 * LI + 1 // //! \brief LITPO = 2 * LI + 1 int litpo; // int litpo; //! \brief LMTPO = 2 * LM + 1 // //! \brief LMTPO = 2 * LM + 1 int lmtpo; // int lmtpo; //! \brief LITPOS = LITPO * LITPO // //! \brief LITPOS = LITPO * LITPO int litpos; // int litpos; //! \brief LMTPOS = LMTPO * LMTPO // //! \brief LMTPOS = LMTPO * LMTPO int lmtpos; // int lmtpos; //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 // //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 int nv3j; // int nv3j; //! \brief Maximum field expansion order. // //! \brief Maximum field expansion order. int lm; // int lm; public: // public: //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vh; // dcomplex *vh; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vj0; // dcomplex *vj0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vj; // dcomplex *vj; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vyhj; // dcomplex *vyhj; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vyj0; // dcomplex *vyj0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **am0m; // dcomplex **am0m; //! \brief Vectorized AM0M matrix. // //! \brief Vectorized AM0M matrix. dcomplex *am0v; // dcomplex *am0v; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vintm; // dcomplex *vintm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vintt; // dcomplex *vintt; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **fsac; // dcomplex **fsac; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **sac; // dcomplex **sac; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **fsacm; // dcomplex **fsacm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *scsc; // double *scsc; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *scscp; // dcomplex *scscp; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *ecsc; // double *ecsc; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *ecscm; // double *ecscm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *scscm; // double *scscm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *ecscp; // dcomplex *ecscp; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *scscpm; // dcomplex *scscpm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *ecscpm; // dcomplex *ecscpm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *v3j0; // double *v3j0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *sscs; // double *sscs; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? int **ind3j; // int **ind3j; /*! \brief C1_AddOns instance constructor. // /*! \brief C1_AddOns instance constructor. * // * * \param c4: `C4 *` Pointer to a C4 structure. // * \param c4: `C4 *` Pointer to a C4 structure. */ // */ C1_AddOns(C4 *c4); // C1_AddOns(C4 *c4); /*! \brief C1_AddOns instance constructor copying contents from a preexisting object. // /*! \brief C1_AddOns instance constructor copying contents from a preexisting object. * // * * \param rhs: `C1_AddOns` preexisting object to copy from. // * \param rhs: `C1_AddOns` preexisting object to copy from. */ // */ C1_AddOns(const C1_AddOns& rhs); // C1_AddOns(const C1_AddOns& rhs); //! \brief C1_AddOns instance destroyer. // //! \brief C1_AddOns instance destroyer. ~C1_AddOns(); // ~C1_AddOns(); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C1_AddOns instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C1_AddOns instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C1_AddOns(const mixMPI *mpidata); // C1_AddOns(const mixMPI *mpidata); /*! \brief send C1_AddOns instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C1_AddOns instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif }; // }; /*! \brief Representation of the FORTRAN C6 blocks. /*! \brief Representation of the FORTRAN C6 blocks. */ */ Loading src/libnptm/Commons.cpp +661 −661 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
src/include/Commons.h +273 −273 Original line number Original line Diff line number Diff line Loading @@ -40,118 +40,118 @@ class ParticleDescriptor; class ParticleDescriptor; class mixMPI; class mixMPI; /*! \brief Representation of the FORTRAN C1 common blocks. // /*! \brief Representation of the FORTRAN C1 common blocks. * // * * C1 common blocks are used to store vector field expansions and geometric // * C1 common blocks are used to store vector field expansions and geometric * properties, such as sphere sizes, positions and cross-sections. These are // * properties, such as sphere sizes, positions and cross-sections. These are * used by functions such as `aps`, `diel`, `pwma`, `rabas`, `sscr0`, `sscr2`, // * used by functions such as `aps`, `diel`, `pwma`, `rabas`, `sscr0`, `sscr2`, * `wmamp`, `wmasp` and `dme`. QUESTION: correct? // * `wmamp`, `wmasp` and `dme`. QUESTION: correct? * // * * Due to the necessity to share the class contents with many functions that // * Due to the necessity to share the class contents with many functions that * need to read and update various fields, all shared members of C1 are declared // * need to read and update various fields, all shared members of C1 are declared * public (i.e., the class is just a structure with more advanced constructor // * public (i.e., the class is just a structure with more advanced constructor * and destroyer). Further development may go in the direction of creating // * and destroyer). Further development may go in the direction of creating * a better encapsulation, either by unpacking the contents (recommended) or // * a better encapsulation, either by unpacking the contents (recommended) or * by creating public methods to access protected fields (standard way, but not // * by creating public methods to access protected fields (standard way, but not * recommended for HPC applications). // * recommended for HPC applications). */ // */ class C1 { // class C1 { protected: // protected: //! \brief Maximum order of field expansion. // //! \brief Maximum order of field expansion. int lm; // int lm; //! \brief Maximum order of internal field expansion. // //! \brief Maximum order of internal field expansion. int li; // int li; //! \brief Maximum order of external field expansion. // //! \brief Maximum order of external field expansion. int le; // int le; //! \brief Contiguous RMI vector. // //! \brief Contiguous RMI vector. dcomplex *vec_rmi; // dcomplex *vec_rmi; //! \brief Contiguous REI vector. // //! \brief Contiguous REI vector. dcomplex *vec_rei; // dcomplex *vec_rei; //! \brief Contiguous W vector. // //! \brief Contiguous W vector. dcomplex *vec_w; // dcomplex *vec_w; //! \brief Contiguous VINTS vector // //! \brief Contiguous VINTS vector dcomplex *vec_vints; // dcomplex *vec_vints; public: // public: //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NLEMT = 2 * LE * (LE + 2). // //! \brief NLEMT = 2 * LE * (LE + 2). int nlemt; // int nlemt; //! \brief Number of configurations // //! \brief Number of configurations int configurations; // int configurations; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **rmi; // dcomplex **rmi; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **rei; // dcomplex **rei; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **w; // dcomplex **w; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *fsas; // dcomplex *fsas; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vint; // dcomplex *vint; //! \brief Components of the scattered field intensities. // //! \brief Components of the scattered field intensities. dcomplex **vints; // dcomplex **vints; //! \brief Single sphere scattering cross-sections. // //! \brief Single sphere scattering cross-sections. double *sscs; // double *sscs; //! \brief Single sphere extinction cross-sections. // //! \brief Single sphere extinction cross-sections. double *sexs; // double *sexs; //! \brief Single sphere absorption cross-sections. // //! \brief Single sphere absorption cross-sections. double *sabs; // double *sabs; //! \brief Single sphere scattering efficiencies. // //! \brief Single sphere scattering efficiencies. double *sqscs; // double *sqscs; //! \brief Single sphere extinction efficiencies. // //! \brief Single sphere extinction efficiencies. double *sqexs; // double *sqexs; //! \brief Single sphere absorption efficiencies. // //! \brief Single sphere absorption efficiencies. double *sqabs; // double *sqabs; //! \brief Single sphere geometric cross-section vector. // //! \brief Single sphere geometric cross-section vector. double *gcsv; // double *gcsv; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *rxx; // double *rxx; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *ryy; // double *ryy; //! \brief Vector of sphere X coordinates. // //! \brief Vector of sphere X coordinates. double *rzz; // double *rzz; //! \brief Vector of sphere radii. // //! \brief Vector of sphere radii. double *ros; // double *ros; //! \brief Matrix of spherical layer break radii. QUESTION: correct? // //! \brief Matrix of spherical layer break radii. QUESTION: correct? double **rc; // double **rc; //! \brief Vector of spherical component identifiers. // //! \brief Vector of spherical component identifiers. int *iog; // int *iog; //! \brief Vector of numbers of spherical layers. // //! \brief Vector of numbers of spherical layers. int *nshl; // int *nshl; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex ***sas; // dcomplex ***sas; /*! \brief C1 instance constructor. // /*! \brief C1 instance constructor. * // * * \param gconf: `GeometryConfiguration *` Pointer to a geometry configuration object. // * \param gconf: `GeometryConfiguration *` Pointer to a geometry configuration object. * \param sconf: `ScattererConfiguration *` Pointer to a scatterer configuration object. // * \param sconf: `ScattererConfiguration *` Pointer to a scatterer configuration object. */ // */ C1(GeometryConfiguration *gconf, ScattererConfiguration *sconf); // C1(GeometryConfiguration *gconf, ScattererConfiguration *sconf); /*! \brief C1 instance constructor copying all contents from a preexisting template // /*! \brief C1 instance constructor copying all contents from a preexisting template * // * * \param rhs: `C1` preexisting template. // * \param rhs: `C1` preexisting template. */ // */ C1(const C1& rhs); // C1(const C1& rhs); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C1 instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C1 instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C1(const mixMPI *mpidata); // C1(const mixMPI *mpidata); /*! \brief send C1 instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C1 instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif //! \brief C1 instance destroyer. // //! \brief C1 instance destroyer. ~C1(); // ~C1(); }; // }; /*! \brief Representation of the FORTRAN C2 blocks. /*! \brief Representation of the FORTRAN C2 blocks. * * Loading Loading @@ -254,169 +254,169 @@ public: }; }; /*! \brief Representation of the FORTRAN C4 blocks. // /*! \brief Representation of the FORTRAN C4 blocks. */ // */ class C4 { // class C4 { public: // public: //! \brief LITPO = 2 * LI + 1. // //! \brief LITPO = 2 * LI + 1. int litpo; // int litpo; //! \brief LITPOS = LITPO * LITPO // //! \brief LITPOS = LITPO * LITPO int litpos; // int litpos; //! \brief LMPO = LM + 1. // //! \brief LMPO = LM + 1. int lmpo; // int lmpo; //! \brief LMTPO = 2 * LM + 1. // //! \brief LMTPO = 2 * LM + 1. int lmtpo; // int lmtpo; //! \brief LMTPOS = LMTPO * LMTPO. // //! \brief LMTPOS = LMTPO * LMTPO. int lmtpos; // int lmtpos; //! \brief Internal field expansion order. // //! \brief Internal field expansion order. int li; // int li; //! \brief NLIM = LI * (LI + 2) // //! \brief NLIM = LI * (LI + 2) int nlim; // int nlim; //! \brief External field expansion order. // //! \brief External field expansion order. int le; // int le; //! \brief NLEM = LE * (LE + 2) // //! \brief NLEM = LE * (LE + 2) int nlem; // int nlem; //! \brief Maximum field expansion order. // //! \brief Maximum field expansion order. int lm; // int lm; //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 // //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 int nv3j; // int nv3j; /*! \brief C4 instance constructor. // /*! \brief C4 instance constructor. * // * * \param gconf: `GeometryConfiguration*` Pointer to a GeometryConfiguration instance. // * \param gconf: `GeometryConfiguration*` Pointer to a GeometryConfiguration instance. */ // */ C4(GeometryConfiguration *gconf); // C4(GeometryConfiguration *gconf); /*! \brief C4 instance constructor copying its contents from a preexisting object. // /*! \brief C4 instance constructor copying its contents from a preexisting object. * // * * \param rhs: `C4&` Reference of the object to be copied. // * \param rhs: `C4&` Reference of the object to be copied. */ // */ C4(const C4& rhs); // C4(const C4& rhs); /*! \brief C4 instance destroyer. // /*! \brief C4 instance destroyer. */ // */ ~C4(); // ~C4(); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C4 instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C4 instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C4(const mixMPI *mpidata); // C4(const mixMPI *mpidata); /*! \brief send C4 instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C4 instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif }; // }; /*! \brief Vectors and matrices that are specific to cluster C1 blocks. // /*! \brief Vectors and matrices that are specific to cluster C1 blocks. * // * */ // */ class C1_AddOns { // class C1_AddOns { protected: // protected: //! \brief Number of spheres. // //! \brief Number of spheres. int nsph; // int nsph; //! \brief NLEMT = 2 * (LE * (LE + 2)) // //! \brief NLEMT = 2 * (LE * (LE + 2)) int nlemt; // int nlemt; //! \brief LMPO = LM + 1 // //! \brief LMPO = LM + 1 int lmpo; // int lmpo; //! \brief LITPO = 2 * LI + 1 // //! \brief LITPO = 2 * LI + 1 int litpo; // int litpo; //! \brief LMTPO = 2 * LM + 1 // //! \brief LMTPO = 2 * LM + 1 int lmtpo; // int lmtpo; //! \brief LITPOS = LITPO * LITPO // //! \brief LITPOS = LITPO * LITPO int litpos; // int litpos; //! \brief LMTPOS = LMTPO * LMTPO // //! \brief LMTPOS = LMTPO * LMTPO int lmtpos; // int lmtpos; //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 // //! \brief NV3J = (LM * (LM + 1) * (2 * LM + 7)) / 6 int nv3j; // int nv3j; //! \brief Maximum field expansion order. // //! \brief Maximum field expansion order. int lm; // int lm; public: // public: //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vh; // dcomplex *vh; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vj0; // dcomplex *vj0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vj; // dcomplex *vj; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vyhj; // dcomplex *vyhj; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vyj0; // dcomplex *vyj0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **am0m; // dcomplex **am0m; //! \brief Vectorized AM0M matrix. // //! \brief Vectorized AM0M matrix. dcomplex *am0v; // dcomplex *am0v; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vintm; // dcomplex *vintm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *vintt; // dcomplex *vintt; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **fsac; // dcomplex **fsac; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **sac; // dcomplex **sac; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex **fsacm; // dcomplex **fsacm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *scsc; // double *scsc; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *scscp; // dcomplex *scscp; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *ecsc; // double *ecsc; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *ecscm; // double *ecscm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *scscm; // double *scscm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *ecscp; // dcomplex *ecscp; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *scscpm; // dcomplex *scscpm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? dcomplex *ecscpm; // dcomplex *ecscpm; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *v3j0; // double *v3j0; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? double *sscs; // double *sscs; //! \brief QUESTION: definition? // //! \brief QUESTION: definition? int **ind3j; // int **ind3j; /*! \brief C1_AddOns instance constructor. // /*! \brief C1_AddOns instance constructor. * // * * \param c4: `C4 *` Pointer to a C4 structure. // * \param c4: `C4 *` Pointer to a C4 structure. */ // */ C1_AddOns(C4 *c4); // C1_AddOns(C4 *c4); /*! \brief C1_AddOns instance constructor copying contents from a preexisting object. // /*! \brief C1_AddOns instance constructor copying contents from a preexisting object. * // * * \param rhs: `C1_AddOns` preexisting object to copy from. // * \param rhs: `C1_AddOns` preexisting object to copy from. */ // */ C1_AddOns(const C1_AddOns& rhs); // C1_AddOns(const C1_AddOns& rhs); //! \brief C1_AddOns instance destroyer. // //! \brief C1_AddOns instance destroyer. ~C1_AddOns(); // ~C1_AddOns(); #ifdef MPI_VERSION // #ifdef MPI_VERSION /*! \brief C1_AddOns instance constructor copying all contents off MPI broadcast from MPI process 0 // /*! \brief C1_AddOns instance constructor copying all contents off MPI broadcast from MPI process 0 * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ C1_AddOns(const mixMPI *mpidata); // C1_AddOns(const mixMPI *mpidata); /*! \brief send C1_AddOns instance from MPI process 0 via MPI broadcasts to all other processes // /*! \brief send C1_AddOns instance from MPI process 0 via MPI broadcasts to all other processes * // * * \param mpidata: `mixMPI *` pointer to MPI data structure. // * \param mpidata: `mixMPI *` pointer to MPI data structure. */ // */ void mpibcast(const mixMPI *mpidata); // void mpibcast(const mixMPI *mpidata); #endif // #endif }; // }; /*! \brief Representation of the FORTRAN C6 blocks. /*! \brief Representation of the FORTRAN C6 blocks. */ */ Loading
src/libnptm/Commons.cpp +661 −661 File changed.Preview size limit exceeded, changes collapsed. Show changes