21 #include "math_util.h"
23 void bessel(nec_complex z, nec_complex *j0, nec_complex *j0p);
24 void hankel(nec_complex z, nec_complex *h0, nec_complex *h0p);
29 nec_float m_ck2, m_ck2sq, m_tkmag, m_tsmag, m_ck1r, m_zph, m_rho;
30 nec_complex m_ct1, m_ct2, m_ct3, m_ck1, m_ck1sq, m_cksm;
32 nec_complex m_contour_a, m_contour_b;
36 void lambda( nec_float t, nec_complex *xlam, nec_complex *dxlam )
const;
45 int nans,
complex_array& seed,
int ibk, nec_complex bk, nec_complex delb );
58 void evlua( nec_complex *erv, nec_complex *ezv,
59 nec_complex *erh, nec_complex *eph );
void rom1(int n, complex_array &sum, int nx)
rom1 integrates the 6 Sommerfeld integrals from m_contour_a to m_contour_b in lambda. The method of variable interval width Romberg integration is used.
Definition: c_evlcom.cpp:218
Definition: c_evlcom.h:26
void gshank(nec_complex start, nec_complex dela, complex_array &sum, int nans, complex_array &seed, int ibk, nec_complex bk, nec_complex delb)
gshank integrates the 6 Sommerfeld integrals from start to infinity (until convergence) in lambda...
Definition: c_evlcom.cpp:47
void lambda(nec_float t, nec_complex *xlam, nec_complex *dxlam) const
Compute integration parameter xlam=lambda from parameter t.
Definition: c_evlcom.cpp:35
void evlua(nec_complex *erv, nec_complex *ezv, nec_complex *erh, nec_complex *eph)
evlua controls the integration contour in the complex lambda plane for evaluation of the Sommerfeld i...
Definition: c_evlcom.cpp:491
void saoa(nec_float t, complex_array &ans)
saoa computes the integrand for each of the 6 Sommerfeld integrals for source and observer above grou...
Definition: c_evlcom.cpp:382