Author |
Topic |
|
teny
China
14 Posts |
Posted - Sep 03 2023 : 14:32:14
|
Dear Enrico, When using FasterCap, I encountered some confusion and would like to consult with you. * conductor | dielectric | offset * name | constant | in space * C cube3.qui 1.000000 0.0 0.0 0.0 C cube3.qui 2.000000 2.0 0.0 0.0 Is it not accurate enough to describe the metal cube embedded in different electrolytes in this way?" Do we need to introduce two more dielectric structures#65311; D cube4.qui 2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 D cube5.qui 1.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0
"Is it correct that the computed results show C12 != C21?"
|
|
Enrico
542 Posts |
Posted - Sep 09 2023 : 14:21:09
|
Hi Teny,
C12 should be almost equal to C21.
I am not sure from your input file if the specification is correct or not; however something is strange. I would expect e.g. a dielectric cube containing the second conductor cube3.qui, defining an enclosing dielectric volume, with a 2 to 1 relative dielectric interface.
I am not sure what is the purpose of cube4.qui.
In general, you should specify the dielectric interface between the different dielectric materials. Usually this is a closed surface; it may be open if the 'far away' parts of the dielectric interface are distant enough to play a limited role in the calculations.
Best Regards, Enrico
|
|
|
teny
China
14 Posts |
Posted - Sep 11 2023 : 07:12:52
|
quote: Originally posted by Enrico
Hi Teny,
C12 should be almost equal to C21.
I am not sure from your input file if the specification is correct or not; however something is strange. I would expect e.g. a dielectric cube containing the second conductor cube3.qui, defining an enclosing dielectric volume, with a 2 to 1 relative dielectric interface.
I am not sure what is the purpose of cube4.qui.
In general, you should specify the dielectric interface between the different dielectric materials. Usually this is a closed surface; it may be open if the 'far away' parts of the dielectric interface are distant enough to play a limited role in the calculations.
Best Regards, Enrico
Dear Enrico, I've created a simple test case. test.lst
C in_cube.qui 3.0 0.0 0.0 0.0 0xd8d8d8ff
* dielectric medium D big_cube.qui 1.0 3.0 0.0 0.0 0.0 2.000000000 2.000000000 2.000000000 - 0xa793b4ff
C out_cube.qui 1.0 0.0 0.0 0.0 0xd8d8d8ff
in_cube.qui T 5 2.000000000 2.000000000 2.000000000 3.000000000 3.000000000 2.000000000 3.000000000 2.000000000 2.000000000 T 5 2.000000000 3.000000000 2.000000000 3.000000000 3.000000000 2.000000000 2.000000000 2.000000000 2.000000000 T 5 2.000000000 2.000000000 2.000000000 2.000000000 3.000000000 3.000000000 2.000000000 3.000000000 2.000000000 T 5 2.000000000 2.000000000 3.000000000 2.000000000 3.000000000 3.000000000 2.000000000 2.000000000 2.000000000 T 5 3.000000000 2.000000000 2.000000000 3.000000000 2.000000000 3.000000000 2.000000000 2.000000000 2.000000000 T 5 2.000000000 2.000000000 2.000000000 3.000000000 2.000000000 3.000000000 2.000000000 2.000000000 3.000000000 T 5 2.000000000 2.000000000 3.000000000 3.000000000 2.000000000 3.000000000 3.000000000 3.000000000 3.000000000 T 5 2.000000000 3.000000000 3.000000000 2.000000000 2.000000000 3.000000000 3.000000000 3.000000000 3.000000000 T 5 3.000000000 2.000000000 2.000000000 3.000000000 3.000000000 2.000000000 3.000000000 3.000000000 3.000000000 T 5 3.000000000 2.000000000 3.000000000 3.000000000 2.000000000 2.000000000 3.000000000 3.000000000 3.000000000 T 5 3.000000000 3.000000000 2.000000000 2.000000000 3.000000000 2.000000000 3.000000000 3.000000000 3.000000000 T 5 2.000000000 3.000000000 2.000000000 2.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 out_cube.qui T 3 6.000000000 2.000000000 2.000000000 7.000000000 3.000000000 2.000000000 7.000000000 2.000000000 2.000000000 T 3 6.000000000 3.000000000 2.000000000 7.000000000 3.000000000 2.000000000 6.000000000 2.000000000 2.000000000 T 3 6.000000000 2.000000000 2.000000000 6.000000000 3.000000000 3.000000000 6.000000000 3.000000000 2.000000000 T 3 6.000000000 2.000000000 3.000000000 6.000000000 3.000000000 3.000000000 6.000000000 2.000000000 2.000000000 T 3 7.000000000 2.000000000 2.000000000 7.000000000 2.000000000 3.000000000 6.000000000 2.000000000 2.000000000 T 3 6.000000000 2.000000000 2.000000000 7.000000000 2.000000000 3.000000000 6.000000000 2.000000000 3.000000000 T 3 6.000000000 2.000000000 3.000000000 7.000000000 2.000000000 3.000000000 7.000000000 3.000000000 3.000000000 T 3 6.000000000 3.000000000 3.000000000 6.000000000 2.000000000 3.000000000 7.000000000 3.000000000 3.000000000 T 3 7.000000000 2.000000000 2.000000000 7.000000000 3.000000000 2.000000000 7.000000000 3.000000000 3.000000000 T 3 7.000000000 2.000000000 3.000000000 7.000000000 2.000000000 2.000000000 7.000000000 3.000000000 3.000000000 T 3 7.000000000 3.000000000 2.000000000 6.000000000 3.000000000 2.000000000 7.000000000 3.000000000 3.000000000 T 3 6.000000000 3.000000000 2.000000000 6.000000000 3.000000000 3.000000000 7.000000000 3.000000000 3.000000000
big_cube.qui
T 3 0.000000000 0.000000000 0.000000000 4.000000000 4.000000000 0.000000000 4.000000000 0.000000000 0.000000000 T 3 0.000000000 4.000000000 0.000000000 4.000000000 4.000000000 0.000000000 0.000000000 0.000000000 0.000000000 T 3 0.000000000 0.000000000 0.000000000 0.000000000 4.000000000 4.000000000 0.000000000 4.000000000 0.000000000 T 3 0.000000000 0.000000000 4.000000000 0.000000000 4.000000000 4.000000000 0.000000000 0.000000000 0.000000000 T 3 4.000000000 0.000000000 0.000000000 4.000000000 0.000000000 4.000000000 0.000000000 0.000000000 0.000000000 T 3 0.000000000 0.000000000 0.000000000 4.000000000 0.000000000 4.000000000 0.000000000 0.000000000 4.000000000 T 3 0.000000000 0.000000000 4.000000000 4.000000000 0.000000000 4.000000000 4.000000000 4.000000000 4.000000000 T 3 0.000000000 4.000000000 4.000000000 0.000000000 0.000000000 4.000000000 4.000000000 4.000000000 4.000000000 T 3 4.000000000 0.000000000 0.000000000 4.000000000 4.000000000 0.000000000 4.000000000 4.000000000 4.000000000 T 3 4.000000000 0.000000000 4.000000000 4.000000000 0.000000000 0.000000000 4.000000000 4.000000000 4.000000000 T 3 4.000000000 4.000000000 0.000000000 0.000000000 4.000000000 0.000000000 4.000000000 4.000000000 4.000000000 T 3 0.000000000 4.000000000 0.000000000 0.000000000 4.000000000 4.000000000 4.000000000 4.000000000 4.000000000
The iterative error needs to be set to 0.001 for the results to converge. Is it true that for structures with dielectrics, the results are hard to converge?
I would like to ask you how to construct a model of multilayer dielectric stacking#65311; "For example, Figure 7 in Reference“An Efficient Algorithm for the Parameter Extraction of 3-D Interconnect Structures in the VLSI Circuits: Domain-Decomposition Method”
How should the boundary between different dielectrics be defined? And there is metal at the boundary?
Is it cumbersome to handle the interfaces between different dielectrics separately#65311;
|
|
|
Enrico
542 Posts |
Posted - Sep 21 2023 : 17:56:17
|
Dear Teny,
I am not sure what you mean by 'reaching convergence', i.e. if the algorithm takes a long time to provide you a result, or if you mean seeing C12 reasonably approaching the value of C21. I ran your example files and I get
g1_5 1.49362e-010 -2.2514e-011
g2_3 -2.35493e-011 7.68439e-011
out of the box (i.e. without tuning any parameter) from FasterCap.
You may note however that this results from a (still) quite coarse discretization of the geometry.
You may try running the same refined input file in FastCap2; you will see that in this case C12 = C21 exactly. However, be aware that FastCap2 enforces the symmetry, by averaging C12 and C21.
Said that, are there ways to improve the symmetry?
You may try increasing the -a parameter in FasterCap, so you have more panels. However your best option in this case is enabling -g, as the collocaton method is less precise for the same number of panels with respect to the integrals calculations. Using -g, you get
g1_5 1.48506e-010 -2.30382e-011
g2_3 -2.37325e-011 7.7381e-011
which is actually quite good for the level of discretization you have, that is still coarse. The symmetrized C12 value is (23.04 pF + 23.73 pF) / 2 = 23.39 pF with an error of 1.5% (remember that the target error of FasterCap is around 1%).
Regarding your question
quote: I would like to ask you how to construct a model of multilayer dielectric stacking, for example, Figure 7 in Reference “An Efficient Algorithm for the Parameter Extraction of 3-D Interconnect Structures in the VLSI Circuits: Domain-Decomposition Method”
How should the boundary between different dielectrics be defined? And there is metal at the boundary?
The boundary between different dielectrics must be defined with the D statement; note however that when the metal is at the interface, you should NOT overlap panels belonging to D and C definitions, but use two or more C definitions, connected together with a trailing '+', and specified with different permittivities according to which surface (group of panels) is in contact with what. You can find some example in the 'samples' directory.
I agree that the definition of the dielectric interface is not easy when manually writing the input file, as most of the time you need to cut the dielectric interface where the metal intersect it. This is why for complex shapes you probably could benefit from the help of a CAD; I published for instance some Python script to be used with FreeCAD for easing the creation and export of the panel definitions, you can find them with the E.M. Workbench for FreeCAD.
In the case at hand, however, note that you don't actually have 7 different dielectric interfaces, as the regions with different permittivities are 'only' four: 2, 3, 4, and 5 relative permittivity values. Best, Enrico
|
|
|
teny
China
14 Posts |
Posted - Sep 24 2023 : 16:04:46
|
Dear Enrico, Thank you very much for your response!
quote:
I am not sure what you mean by 'reaching convergence', i.e. if the algorithm takes a long time to provide you a result, or if you mean seeing C12 reasonably approaching the value of C21.
When C12 = C21, does that mean a smaller iteration error should be set?
quote:
The boundary between different dielectrics must be defined with the D statement; note however that when the metal is at the interface, you should NOT overlap panels belonging to D and C definitions, but use two or more C definitions, connected together with a trailing '+', and specified with different permittivities according to which surface (group of panels) is in contact with what. You can find some example in the 'samples' directory.
Does this imply that the interfaces between the two dielectrics need to be defined separately? What if I choose not to define this interface and simply delete it?
If a metal plate is located at the interface between two dielectrics, how should the permittivity around this metal plate be defined? Should it be set to the permittivity of dielectric 1 or dielectric 2?"
|
|
|
Enrico
542 Posts |
Posted - Sep 25 2023 : 16:40:30
|
Hi Teny,
there will always be a small asymmetry between C12 and C21 due to numerical errors. However you may try to minimize it by playing on some parameters; a smaller iteration error not necessarily helps you in this respect. Some of the asymmetry can be caused by the geometrical discretization of the structure, in particular of the dielectric interfaces; this can be solved only by a more physical representation, not by lowering the target error. However, in case there are large geometrical ratios (i.e. large flat structures with small gaps etc.) you may have to play with the '-d' parameter, see the Samples for the parallel plate capacitors for some tips & tricks here.
For what regards the dielectric interfaces, I suggest you to read our paper "The Treatment of Dielectrics in FasterCap", available at ht*ps://w*w.fastfieldsolvers.com/Papers/The_Treatment_of_Dielectrics_in_FasterCap_WP130527_R01.pdf (replace the anti-spam characters with the obvious correspondents). This should help shedding some light on the matter.
Best, Enrico
|
|
|
|
Topic |
|
|
|