FastFieldSolvers Forum
FastFieldSolvers Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
 All Forums
 FastFieldSolvers
 FasterCap and FastCap2
 Inconclusive test of normal flipping
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Emile0205

South Africa
8 Posts

Posted - Oct 13 2017 :  15:58:59  Show Profile  Reply with Quote
Hi

I am currently using FastCap (not FastCap2) and creating a model generator that does the meshing for the user.

I am currently busy with the dielectric meshing, which from the forums and the white paper is known to not be allowed to overlap with the conductive layers. So if you have something like a parallel plate capacitor where one plate is smaller than the other, and the dielectric is the size of the bigger plate, we need some algorithm to ensure the dielectric is created that it only surrounds the smaller plate and does not overlap it at any point. This is easily done, but the problem comes when the dielectric is at an angle to the capacitance metal plate.

So when the two are at an angle the meshing needs to be done carefully, as when you are going to overlap the metal plate with the meshing you need to create triangles and smaller squares than the meshes that do not overlap. I have created the perfect algorithm for this and it works in terms of coordinates, but when a file with such triangle meshes are added given to FastCap as the input the error of 'Inconclusive test for normal flipping' is given and no calculation is done. I have also tried to make all the meshes triangles (splitting the squares into to triangles) but the same error is received. The only time the error is not received is if all the triangles are equal size.

Does FastCap demand equal sized meshes? Or is there some other trick that I currently don't get?

Thanks for the help!!

Emile Engelbrecht

Enrico

530 Posts

Posted - Oct 13 2017 :  18:35:01  Show Profile  Reply with Quote
No, there is no need to use panels all of the same size (even if huge difference in dimensions will affect precision, as you average the charge on a large panel).

Most probably, instead, there is some error in the input file, relative to the input panel vs. the dielectric reference point.

The test is done (as you can see in the source code) to "determine if normal needs to be flipped to get dielectric boundary condition right".

However, FastCap should have printed some other debugging information, as per this printf statement:


viewprintf(stderr, 
	    "flip_normal: inconclusive test for normal flipping\n");
    viewprintf(stderr, "  Surface: %s\n", hack_path(surf_name));
    viewprintf(stderr, "  Translation: (%g %g %g)\n", surf->trans[0],
	    surf->trans[1], surf->trans[2]);
    viewprintf(stderr, "  Reference point: (%g %g %g)\n",
	    ref[0], ref[1], ref[2]);
    viewprintf(stderr, "  Panel corner: (%g %g %g)\n",
	    panel->corner[0][0], panel->corner[0][1], panel->corner[0][2]);
    viewprintf(stderr, "  Normal: (%g %g %g)\n",
	    normal[0], normal[1], normal[2]);


Please provide also the additional traces, or the smallest offending input file you can generate (please do not C&P a 5k lines input file. You should be able to narrow down the issue to a few panels).

Best Regards,
Enrico

Go to Top of Page

Emile0205

South Africa
8 Posts

Posted - Oct 18 2017 :  15:23:06  Show Profile  Reply with Quote
Hi

Yes you are correct, I figured out that due to me testing it on one side of of the metal layer and not simultaneously the other side it gives the error.

Thanks

Emile Engelbrecht
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
FastFieldSolvers Forum © 2020 FastFieldSolvers S.R.L. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.06