Fix formula in notes; axial T-matrix WIP

Former-commit-id: a94506c8f40e20b425167bc56fd632cfde335a7a
This commit is contained in:
Marek Nečada 2019-08-08 22:52:06 +03:00
parent beef0ea9b8
commit f5288318bf
2 changed files with 25 additions and 4 deletions

View File

@ -111,8 +111,8 @@ literal "false"
:
\begin_inset Formula
\begin{align*}
R_{nn'} & =ik^{2}\iint_{S_{s}}\left(\frac{\eta}{\eta_{1}}\wfkcreg_{n}\left(k\vect r\right)\times\wfkcreg_{\overline{n'}}\left(k\vect r\right)+\wfkcreg_{\overline{n'}}\left(k\vect r\right)\times\wfkcreg_{n}\left(k\vect r\right)\right)\cdot\uvec{\nu}\,\ud S,\\
Q_{nn'} & =ik^{2}\iint_{S_{s}}\left(\frac{\eta}{\eta_{1}}\wfkcout_{n}\left(k\vect r\right)\times\wfkcreg_{\overline{n'}}\left(k\vect r\right)+\wfkcout_{\overline{n'}}\left(k\vect r\right)\times\wfkcreg_{n}\left(k\vect r\right)\right)\cdot\uvec{\nu}\,\ud S,
R_{nn'} & =ik^{2}\iint_{S_{s}}\left(\frac{\eta}{\eta_{1}}\wfkcreg_{n}\left(k\vect r\right)\times\wfkcreg_{\overline{n'}}\left(k_{1}\vect r\right)+\wfkcreg_{\overline{n}}\left(k\vect r\right)\times\wfkcreg_{n'}\left(k_{1}\vect r\right)\right)\cdot\uvec{\nu}\,\ud S,\\
Q_{nn'} & =ik^{2}\iint_{S_{s}}\left(\frac{\eta}{\eta_{1}}\wfkcout_{n}\left(k\vect r\right)\times\wfkcreg_{\overline{n'}}\left(k_{1}\vect r\right)+\wfkcout_{\overline{n}}\left(k\vect r\right)\times\wfkcreg_{n'}\left(k_{1}\vect r\right)\right)\cdot\uvec{\nu}\,\ud S,
\end{align*}
\end_inset
@ -121,11 +121,15 @@ where
\begin_inset Formula $S_{s}$
\end_inset
is the scatterer surface and
is the scatterer surface,
\begin_inset Formula $\uvec{\nu}$
\end_inset
is the outwards pointing unit normal to it; then
is the outwards pointing unit normal to it, and the subscript
\begin_inset Formula $_{1}$
\end_inset
refers to the particle inside; then
\begin_inset Formula
\[
T_{nn'}=-\sum_{n''}R_{nn''}Q_{n''n}^{-1}.

View File

@ -609,7 +609,24 @@ qpms_arc_function_retval_t qpms_arc_cylinder(double theta, const void *param) {
return res;
}
struct tmatrix_axialsym_integral_param_t {
const qpms_vswf_set_spec_t *bspec;
qpms_l_t l1, l2;
qpms_m_t m1; // m2 = -m1
qpms_vswf_type_t t1; // t2 = 2 - t1
qpms_arc_function_t f;
complex double k_in, k, z_in, z;
bool realpart; // Otherwise imaginary part
bool Q; // Otherwise R
};
#if 0
static double tmatrix_axialsym_integrand(double theta, void *param) {
struct tmatrix_axialsym_integral_param_t *p = param;
}
qpms_errno_t qpms_tmatrix_axialsym_fill(
qpms_tmatrix_t *t, complex double omega, qpms_epsmu_generator_t outside,
qpms_epsmu_generator_t inside,qpms_arc_function_t shape)