Move typedef qpms_vswf_set_spec_t to qpms_types.h
Former-commit-id: c81924f51823c999d91acf005e27105e16f96177
This commit is contained in:
parent
147bed193f
commit
e2722bc866
|
@ -280,6 +280,26 @@ typedef struct qpms_irot3_t {
|
||||||
short det; ///< Determinant of the transformation (valid values are 1 (rotation) or -1 (improper rotation)
|
short det; ///< Determinant of the transformation (valid values are 1 (rotation) or -1 (improper rotation)
|
||||||
} qpms_irot3_t;
|
} qpms_irot3_t;
|
||||||
|
|
||||||
|
/// Specifies a finite set of VSWFs.
|
||||||
|
/**
|
||||||
|
* When for example not all the M and N -type waves up to a degree lMax
|
||||||
|
* need to be computed, this will specify the subset.
|
||||||
|
*
|
||||||
|
* A typical use case would be when only even/odd fields wrt. z-plane
|
||||||
|
* mirror symmetry are considered.
|
||||||
|
*
|
||||||
|
* Check vswf.h for "methods".
|
||||||
|
*/
|
||||||
|
typedef struct qpms_vswf_set_spec_t {
|
||||||
|
size_t n; ///< Actual number of VSWF indices included in ilist.
|
||||||
|
qpms_uvswfi_t *ilist; ///< List of wave indices.
|
||||||
|
qpms_l_t lMax; ///< Maximum degree of the waves specified in ilist.
|
||||||
|
qpms_l_t lMax_M, ///< Maximum degree of the magnetic (M-type) waves.
|
||||||
|
lMax_N, ///< Maximum degree of the electric (N-type) waves.
|
||||||
|
lMax_L; ///< Maximum degree of the longitudinal (L-type) waves.
|
||||||
|
size_t capacity; ///< Allocated capacity of ilist.
|
||||||
|
qpms_normalisation_t norm; ///< Normalisation convention. To be set manually if needed.
|
||||||
|
} qpms_vswf_set_spec_t;
|
||||||
|
|
||||||
#define lmcheck(l,m) assert((l) >= 1 && abs(m) <= (l))
|
#define lmcheck(l,m) assert((l) >= 1 && abs(m) <= (l))
|
||||||
#endif // QPMS_TYPES
|
#endif // QPMS_TYPES
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*/
|
*/
|
||||||
#ifndef QPMS_SCATSYSTEM_H
|
#ifndef QPMS_SCATSYSTEM_H
|
||||||
#define QPMS_SCATSYSTEM_H
|
#define QPMS_SCATSYSTEM_H
|
||||||
#include "vswf.h"
|
#include "qpms_types.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <gsl/gsl_spline.h>
|
#include <gsl/gsl_spline.h>
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
*/
|
*/
|
||||||
#ifndef SYMMETRIES_H
|
#ifndef SYMMETRIES_H
|
||||||
#define SYMMETRIES_H
|
#define SYMMETRIES_H
|
||||||
#include "vswf.h"
|
|
||||||
#include "qpms_types.h"
|
#include "qpms_types.h"
|
||||||
#include <cblas.h>
|
#include <cblas.h>
|
||||||
|
|
||||||
|
|
19
qpms/vswf.h
19
qpms/vswf.h
|
@ -10,24 +10,7 @@
|
||||||
#include "qpms_types.h"
|
#include "qpms_types.h"
|
||||||
#include <gsl/gsl_sf_legendre.h>
|
#include <gsl/gsl_sf_legendre.h>
|
||||||
|
|
||||||
/// Specifies a finite set of VSWFs.
|
// Methods for qpms_vswf_spec_t
|
||||||
/**
|
|
||||||
* When for example not all the M and N -type waves up to a degree lMax
|
|
||||||
* need to be computed, this will specify the subset.
|
|
||||||
*
|
|
||||||
* A typical use case would be when only even/odd fields wrt. z-plane
|
|
||||||
* mirror symmetry are considered.
|
|
||||||
*/
|
|
||||||
typedef struct qpms_vswf_set_spec_t {
|
|
||||||
size_t n; ///< Actual number of VSWF indices included in ilist.
|
|
||||||
qpms_uvswfi_t *ilist; ///< List of wave indices.
|
|
||||||
qpms_l_t lMax; ///< Maximum degree of the waves specified in ilist.
|
|
||||||
qpms_l_t lMax_M, ///< Maximum degree of the magnetic (M-type) waves.
|
|
||||||
lMax_N, ///< Maximum degree of the electric (N-type) waves.
|
|
||||||
lMax_L; ///< Maximum degree of the longitudinal (L-type) waves.
|
|
||||||
size_t capacity; ///< Allocated capacity of ilist.
|
|
||||||
qpms_normalisation_t norm; ///< Normalisation convention. To be set manually if needed.
|
|
||||||
} qpms_vswf_set_spec_t;
|
|
||||||
/// Creates a qpms_vswf_set_spec_t structure with an empty list of wave indices.
|
/// Creates a qpms_vswf_set_spec_t structure with an empty list of wave indices.
|
||||||
qpms_vswf_set_spec_t *qpms_vswf_set_spec_init();
|
qpms_vswf_set_spec_t *qpms_vswf_set_spec_init();
|
||||||
/// Appends a VSWF index to a \ref qpms_vswf_set_spec_t, also updating metadata.
|
/// Appends a VSWF index to a \ref qpms_vswf_set_spec_t, also updating metadata.
|
||||||
|
|
Loading…
Reference in New Issue