QPMS
Electromagnetic multiple scattering library and toolkit.
Data Structures
Here are the data structures with brief descriptions:
[detail level 123]
 Nqpms
 Nargproc
 Nlattices2d
 Nsymmetries
 Ntmatrices
 Ntypes
 Canycoord_point_tUnion type capable to contain various 1D, 2D and 3D coordinates
 Cbeyn_contour_tComplex plane integration contour structure
 Cbeyn_result_tBeyn algorithm result structure (pure C array version)
 CBeynSolver
 Cbspec_reindex_pair
 Ccart2_t2D cartesian coordinates. See also vectors.h
 Ccart3_t3D cartesian coordinates. See also vectors.h
 Cccart3_pair3D complex vector pair (represents the E, H fields)
 Cccart3_t3D complex (actually 6D) coordinates. See also vectors.h
 Ccsph_tSpherical coordinates with complex radial component. See also vectors.h
 Ccsphvec_t3D complex vector components in local spherical basis. See also vectors.h
 Choneycomb_lattice_gen_t
 Cintcoord2_t
 CPGenGeneric lattice point generator type
 CPGen_1D_StateData
 CPGen_FromPoint2DArray_StateData
 CPGen_LatticeRadialHeap_StateData
 CPGen_shifted_StateData
 CPGen_xyWeb_StateData
 CPGenCart2ReturnDataPGen single-point return data type (2D, cartesian coordinates)
 CPGenCart3ReturnDataPGen single-point return data type (3D, cartesian coordinates)
 CPGenClassInfoPGen class metadata
 CPGenPolReturnDataPGen single-point return data type (2D, polar coordinates)
 CPGenReturnDataGeneric PGen return type that might contain point represented in any of the supported coordinate systems
 CPGenReturnDataBulkMetadata generated by the fetch*() methods from PGenClassInfo
 CPGenSphReturnDataPGen single-point return data type (3D, spherical coordinates)
 CPGenZReturnDataPGen single-point return data type (1D)
 Cpoints2d_rordered_t
 Cpol_t2D polar coordinates. See also vectors.h
 Cqpms_abstract_tmatrix_tAn abstract T-matrix without actual elements, but with info about particle symmetry
 Cqpms_arc_cylinder_params_tParameter structure for qpms_arc_cylinder()
 Cqpms_arc_function_retval_tReturn value type for qpms_arc_function_t
 Cqpms_arc_function_tPrototype for general parametrisation of \( C_\infty \)-symmetric particle's surface
 Cqpms_csf_resultStructure for holding complex-valued result of computation and an error estimate
 Cqpms_epsmu_generator_tPrototype for general optical property generator for isotropic materials
 Cqpms_epsmu_tA type holding electric permittivity and magnetic permeability of a material
 Cqpms_ewald3_constants_tObject holding the Ewald sum constant factors
 Cqpms_finite_group_irrep_tTo be used only in qpms_finite_group_t
 Cqpms_finite_group_tA point group with its irreducible representations and some metadata
 Cqpms_incfield_planewave_params_tParameter structure for qpms_incfield_planewave()
 Cqpms_irot3_t3D improper rotations represented as a quaternion and a sign of the determinant
 Cqpms_ldparams_tStructure holding Lorentz-Drude model parameters of a material
 Cqpms_ldparams_triple_tA \( (f_j, \omega_j, \gamma_j) \) triple for qpms_ldparams_t
 Cqpms_particle_tA particle, defined by its T-matrix and position
 Cqpms_particle_tid_tA particle, defined by its T-matrix INDEX and position, to be used in qpms_scatsys_t
 Cqpms_permittivity_interpolator_tInterpolator of tabulated optical properties
 Cqpms_pitau_tArray of Legendre and and auxillary \(\pi_{lm}, \tau_{lm} \) functions
 Cqpms_pointgroup_tFull characterisation of a 3D point group
 Cqpms_quat4d_tQuaternion type as four doubles
 Cqpms_quat_tQuaternion type
 Cqpms_sbessel_calculator_t
 Cqpms_scatsys_at_omega_k_tScattering system at a given frequency and k-vector. Used only with periodic systems
 Cqpms_scatsys_at_omega_t
 Cqpms_scatsys_build_translation_matrix_e_irrep_packed_parallelR_thread_arg
 Cqpms_scatsys_finite_eval_Beyn_ImTS_param
 Cqpms_scatsys_periodic_eval_Beyn_ImTW_param
 Cqpms_scatsys_periodic_info_t
 Cqpms_scatsys_tCommon "class" for system of scatterers, both periodic and non-periodic
 Cqpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg
 Cqpms_ss_derived_tmatrix_tAuxillary type used in qpms_scatsys_t: A recepy to create another T-matrices by symmetry operations
 Cqpms_ss_LULU factorisation (LAPACKE_zgetrf) result holder
 Cqpms_ss_orbit_type_tStructure describing a particle's "orbit type" under symmetry group actions in a system
 Cqpms_ss_particle_orbitinfoAuxillary type used in qpms_scatsys_t that identifies the particle's orbit and its id inside that orbit
 Cqpms_tmatrix_axialsym_fill_integration_thread_arg
 Cqpms_tmatrix_function_tAn "abstract" T-matrix, contains a T-matrix generator instead of actual data
 Cqpms_tmatrix_generator_axialsym_param_tParameter structure for qpms_tmatrix_generator_axialsym
 Cqpms_tmatrix_generator_sphere_param_tParameter structure for qpms_tmatrix_generator_sphere()
 Cqpms_tmatrix_generator_tGeneric T-matrix generator function that fills a pre-initialised qpms_tmatrix_t given a frequency
 Cqpms_tmatrix_interpolator_t
 Cqpms_tmatrix_operation_compose_chainSpecifies a composed operation of type \( T' = f_{n-1}(f_{n-2}(\dots f_0(T)\dots))) \) for qpms_tmatrix_operation_t
 Cqpms_tmatrix_operation_compose_sumSpecifies a composed operation of type \( T' = c\sum_i f_i'(T) \) for qpms_tmatrix_operation_t
 Cqpms_tmatrix_operation_irot3arrSpecifies a symmetrisation using a set of rotoreflections (with equal weights) for qpms_tmatrix_operation_t
 Cqpms_tmatrix_operation_lrmatrixGeneral matrix transformation
 Cqpms_tmatrix_operation_scmulzSpecifies an elementwise complex multiplication of type \( T'_{ij} = M_{ij}T_{ij} \) for qpms_tmatrix_operation_t
 Cqpms_tmatrix_operation_tA generic T-matrix transformation operator
 Cqpms_tmatrix_tA T-matrix
 Cqpms_tolerance_spec_t
 Cqpms_trans_calculatorStructure holding the constant factors in normalisation operators
 Cqpms_vswf_set_spec_tSpecifies a finite set of VSWFs
 Cqpms_vswfset_sph_tSet of electric and magnetic VSWF values in spherical coordinate basis
 Csigma2_integrand_params
 Csigma2_integrand_params_ck
 Csph_tSpherical coordinates. See also vectors.h
 Ctestcase_single_trans_t
 Ctmatrix_axialsym_integral_param_t
 Ctriangular_lattice_gen_privstuff_t
 Ctriangular_lattice_gen_t