2 radiator = quad2tria(create_sphere_boundary(1, 6));
3 field = quad2tria(create_sphere_boundary(2, 6));
6 [r_nodes, r_elem] = extract_core_mesh(radiator);
7 [f_nodes, f_elem] = extract_core_mesh(field);
10 [Ls, Ms, Lf, Mf] = laplace_bem_3d(r_nodes, r_elem, f_nodes, f_elem);
14 [r_cent, r_norm] = centnorm(radiator);
15 [f_cent, f_norm] = centnorm(field);
16 [ps_ana, qs_ana] = incident(
'point', x0, r_cent, r_norm, 0);
17 [pf_ana, qf_ana] = incident(
'point', x0, f_cent, f_norm, 0);
23 ps_num = (Ms - .5 * I) \ (Ls * qs_ana);
24 pf_neu_num = Mf * ps_num - Lf * qs_ana;
25 ps_err = abs(ps_num ./ ps_ana - 1);
26 pf_neu_err = abs(pf_neu_num ./ pf_ana - 1);