You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See comments on NanoComp/meep#1129. Artifacts and fuzziness appear along the prism boundary with nonzero values of sidewall_angle. See these comments in particular (1)(2)(3).
Some strange artifacts are found in the epsilon profile of a hexagonal prism in the xy plane of a 2d cell whenever the sidewall_angle is not zero as shown below.
Note that the size of the cross section is shrinking as the sidewall_angle increases. This is correct given the intersection of the prism with the z=0 plane.
Artifacts along the prism boundaries also appear in 3d.
As a quick check I added this test to utils/test-prism.c (constructing the same prism defined in the above tests) to see if libctl is having issues with this geometry for some reason.
/************************************************************************//* 8th unit test: quick test of hexagon test prism to see if the *//* vertices are calculated correctly *//************************************************************************/inttest_hex_prism() {
void*m=NULL;
vector3_listnodes;
nodes.num_items=6;
nodes.items= (vector3*) malloc(nodes.num_items*sizeof(vector3));
nodes.items[0] =make_vector3(-1.0, 0.0, 0.0);
nodes.items[1] =make_vector3(-0.5, sqrt(3.0) / 2.0, 0.0);
nodes.items[2] =make_vector3(0.5, sqrt(3.0) / 2.0, 0.0);
nodes.items[3] =make_vector3(1.0, 0.0, 0.0);
nodes.items[4] =make_vector3(0.5, -sqrt(3.0) / 2.0, 0.0);
nodes.items[5] =make_vector3(-0.5, -sqrt(3.0) / 2.0, 0.0);
doubleheight=1.5;
vector3zhat=make_vector3(0, 0, 1);
doubleten_degree_sidewall=10.0*K_PI / 180.0;
geometric_objecthex_ten_degree_sidewall_geom_object=make_slanted_prism(m, nodes, nodes.num_items, height, zhat,
ten_degree_sidewall);
prism*hex_ten_degree_sidewall_prism=hex_ten_degree_sidewall_geom_object.subclass.prism_data;
prism2gnuplot(hex_ten_degree_sidewall_prism, "hex_ten_degree_sidewall_gnu_plot.dat");
return0;
}
Plotting the calculated vertices with gnuplot, we see that the vertices look as expected. So it seems that libctl doesn't have an inherent problem with this geometry, but that the problem is the way meep calls libctl or just something in meep internals.
See comments on NanoComp/meep#1129. Artifacts and fuzziness appear along the prism boundary with nonzero values of
sidewall_angle
. See these comments in particular (1)(2)(3).The text was updated successfully, but these errors were encountered: