Scatsystem field evaluation prototypes

Former-commit-id: 987bc900c8383bcaae4b096ec9164351da54dded
This commit is contained in:
Marek Nečada 2019-06-24 14:03:45 +03:00
parent c29a284bc6
commit f9d3d3baa0
1 changed files with 11 additions and 13 deletions

View File

@ -232,28 +232,28 @@ complex double *qpms_scatsys_build_modeproblem_matrix_full(
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
complex double *target, complex double *target,
const qpms_scatsys_t *ss, const qpms_scatsys_t *ss,
double k ///< Wave number to use in the translation matrix. /*COMPLEXIFY*/double k ///< Wave number to use in the translation matrix.
); );
/// Creates the mode problem matrix directly in the irrep-packed form. /// Creates the mode problem matrix directly in the irrep-packed form.
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed( complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed(
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
complex double *target, complex double *target,
const qpms_scatsys_t *ss, qpms_iri_t iri, const qpms_scatsys_t *ss, qpms_iri_t iri,
double k ///< Wave number to use in the translation matrix. /*COMPLEXIFY*/double k ///< Wave number to use in the translation matrix.
); );
/// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed(). /// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed().
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR( complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
complex double *target, complex double *target,
const qpms_scatsys_t *ss, qpms_iri_t iri, const qpms_scatsys_t *ss, qpms_iri_t iri,
double k ///< Wave number to use in the translation matrix. /*COMPLEXIFY*/double k ///< Wave number to use in the translation matrix.
); );
/// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed(). /// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed().
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorder_parallelR( complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorder_parallelR(
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
complex double *target, complex double *target,
const qpms_scatsys_t *ss, qpms_iri_t iri, const qpms_scatsys_t *ss, qpms_iri_t iri,
double k ///< Wave number to use in the translation matrix. /*COMPLEXIFY*/double k ///< Wave number to use in the translation matrix.
); );
/// NOT IMPLEMENTED Dumps a qpms_scatsys_t structure to a file. /// NOT IMPLEMENTED Dumps a qpms_scatsys_t structure to a file.
@ -325,10 +325,9 @@ complex double *qpms_orbit_irrep_basis(
* \return Complex electric field at the point defined by \a where. * \return Complex electric field at the point defined by \a where.
*/ */
ccart3_t qpms_scatsys_eval_field(const qpms_scatsys_t *ss, ccart3_t qpms_scatsys_eval_field(const qpms_scatsys_t *ss,
const complex double *coeff_vector, //< A full-length excitation vector. const complex double *coeff_vector, ///< A full-length excitation vector.
cart3_t where, //< Evaluation point. cart3_t where, ///< Evaluation point.
complex double omega, //< Angular frequency complex double k ///< Wave number.
complex double refindex //< Background medium refractive index
); );
@ -338,10 +337,9 @@ ccart3_t qpms_scatsys_eval_field(const qpms_scatsys_t *ss,
* \return Complex electric field at the point defined by \a where. * \return Complex electric field at the point defined by \a where.
*/ */
ccart3_t qpms_scatsys_eval_field_irrep(const qpms_scatsys_t *ss, ccart3_t qpms_scatsys_eval_field_irrep(const qpms_scatsys_t *ss,
qpms_iri_t iri, //< Irreducible representation qpms_iri_t iri, ///< Irreducible representation
const complex double *coeff_vector, //< A reduced excitation vector, corresponding to \a iri. const complex double *coeff_vector, ///< A reduced excitation vector, corresponding to \a iri.
cart3_t where, //< Evaluation point. cart3_t where, ///< Evaluation point.
complex double omega, //< Angular frequency complex double k ///< Wave number.
complex double refindex //< Background medium refractive index
); );
#endif //QPMS_SCATSYSTEM_H #endif //QPMS_SCATSYSTEM_H