Types for vswfs
Former-commit-id: d868e91fa47206edc345780c009c464d11539ddb
This commit is contained in:
parent
6ef1adb60f
commit
b1f96695ae
|
@ -1,6 +1,8 @@
|
||||||
Konvence pro názvy alokačních, dealokačních aj. funkcí a "getrů"
|
Konvence pro názvy alokačních, dealokačních aj. funkcí a "getrů"
|
||||||
|
|
||||||
NÁZEV_t: identifikátor typu
|
NÁZEV_t: identifikátor typu
|
||||||
|
NÁZEV_t *NÁZEV_make(...): vytvoř a vrať ukazatel
|
||||||
|
?err_t? NÁZEV_fill(NÁZEV_t *, ...) naplň předalokovanou věc
|
||||||
NÁZEV_free(NÁZEV_t)
|
NÁZEV_free(NÁZEV_t)
|
||||||
NÁZEV_pfree(NÁZEV_t*)
|
NÁZEV_pfree(NÁZEV_t*)
|
||||||
NÁZEV_get_CO(const NÁZEV_t*, const ...): získej nějakou hodnotu (triviality lze přímo)
|
NÁZEV_get_CO(const NÁZEV_t*, const ...): získej nějakou hodnotu (triviality lze přímo)
|
||||||
|
|
|
@ -45,6 +45,11 @@ typedef struct {
|
||||||
double r, theta, phi;
|
double r, theta, phi;
|
||||||
} sph_t;
|
} sph_t;
|
||||||
|
|
||||||
|
// complex vector components in local spherical basis
|
||||||
|
typedef struct {
|
||||||
|
complex double rc, thetac, phic;
|
||||||
|
} csphvec_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
double r, phi;
|
double r, phi;
|
||||||
} pol_t;
|
} pol_t;
|
||||||
|
|
31
qpms/vswf.h
31
qpms/vswf.h
|
@ -2,15 +2,36 @@
|
||||||
#define QPMS_VSWF_H
|
#define QPMS_VSWF_H
|
||||||
#include "qpms_types.h"
|
#include "qpms_types.h"
|
||||||
|
|
||||||
|
// Electric wave N; NI
|
||||||
|
complex double qpms_vswf_single_el(int m, int n, sph_t kdlj,
|
||||||
|
qpms_bessel_t btyp, qpms_normalization_t norm);
|
||||||
|
// Magnetic wave M; NI
|
||||||
|
complex double qpms_vswf_single_mg(int m, int n, sph_t kdlj,
|
||||||
|
qpms_bessel_t btyp, qpms_normalization_t norm);
|
||||||
|
|
||||||
|
// Set of electric and magnetic VSWF in spherical coordinate basis
|
||||||
|
typedef struct {
|
||||||
|
//qpms_normalisation_t norm;
|
||||||
|
qpms_l_t lMax;
|
||||||
|
//qpms_y_t nelem;
|
||||||
|
//sph_t kdlj
|
||||||
|
csphvec_t *el, *mg;
|
||||||
|
} qpms_vswfset_sph_t;
|
||||||
|
|
||||||
|
qpms_vswfset_sph_t *qpms_vswfset_make(qpms_l_t lMax, sph_t kdlj,
|
||||||
|
qpms_bessel_t btyp, qpms_normalization_t norm);//NI
|
||||||
|
void qpms_vswfst_sph_pfree(qpms_vswfset_t *);//NI
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// array of pi, tau auxillary function (see [1,(37)])
|
// array of pi, tau auxillary function (see [1,(37)])
|
||||||
// TODO put this elsewhere (no need
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
//qpms_normalization_t norm;
|
//qpms_normalization_t norm;
|
||||||
//qpms_l_t lMax;
|
qpms_l_t lMax;
|
||||||
qpms_y_t nelem;
|
//qpms_y_t nelem;
|
||||||
double *pi, *tau;
|
double *pi, *tau;
|
||||||
} qpms_pitau_t;
|
} qpms_pitau_t;
|
||||||
void qpms_pitau_t_free(qpms_pitau_t);
|
void qpms_pitau_free(qpms_pitau_t);//NI
|
||||||
void qpms_pitau_t_pfree(qpms_pitau_t*);
|
void qpms_pitau_pfree(qpms_pitau_t*);//NI
|
||||||
|
|
||||||
#endif // QPMS_VSWF_H
|
#endif // QPMS_VSWF_H
|
||||||
|
|
Loading…
Reference in New Issue