FastFieldSolvers Forum
FastFieldSolvers Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
 All Forums
 FastFieldSolvers
 FasterCap and FastCap2
 fastercap simulation takes too long to run
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

liping

7 Posts

Posted - Oct 06 2023 :  13:38:33  Show Profile  Reply with Quote
Hello, I'm facing an issue related to automated 2D capacitance simulation. When I use automated methods to set the parameter -d0.5, I've noticed that the solution runs faster in certain input scenarios. This behavior seems inconsistent with the documentation. Interestingly, when I directly run the menu with -d0.5 through FasterCap, it indeed produces a faster solution.

My question is, when I use FasterCapObject.Run() to set -d0.5, does FasterCap also potentially modify other parameters simultaneously? Because when I input -a0.001 -d0.5 for the data-z2.lst file, the iteration time becomes excessively long and the simulation cannot complete successfully. I've noticed that removing -d0.5 allows the simulation to run normally. What's confusing to me is that when I input -a0.001 -d0.5 through FasterCap in the menu, it runs fine, which suggests that it's unlikely to be an issue with the input file. Moreover, this issue seems to only occur in certain cases, as it runs fine when the input file is data-z.lst. I would greatly appreciate any insights or assistance you can provide on this matter.

* 2D - data-z
*

* data is included in a single file
*

C cube_0.txt 2.5 0.0 0.0

C cube_1.txt 2.5 0.9539636313562916 0.24

C cube_2.txt 2.5 1.8704052341272623 0.24

C cube_3.txt 2.5 0.0 0.48

C cube_4.txt 2.5 1.745984802890689 0.48

* gnd plane below the signal lines
C gnd_plane.txt 2.5 0.0 -0.24


File cube_0.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.5662797250455648 0.06
S cube_2d 0.5662797250455648 0.06 0.5662797250455648 0.0
S cube_2d 0.5662797250455648 0.0 0.0 0.0
End


File cube_1.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0920727372874171 0.06
S cube_2d 0.0920727372874171 0.06 0.0920727372874171 0.0
S cube_2d 0.0920727372874171 0.0 0.0 0.0
End


File cube_2.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0770810568901302 0.06
S cube_2d 0.0770810568901302 0.06 0.0770810568901302 0.0
S cube_2d 0.0770810568901302 0.0 0.0 0.0
End


File cube_3.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.13
S cube_2d 0.0 0.13 1.3614262053193862 0.13
S cube_2d 1.3614262053193862 0.13 1.3614262053193862 0.0
S cube_2d 1.3614262053193862 0.0 0.0 0.0
End


File cube_4.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.13
S cube_2d 0.0 0.13 0.254015197109311 0.13
S cube_2d 0.254015197109311 0.13 0.254015197109311 0.0
S cube_2d 0.254015197109311 0.0 0.0 0.0
End


File gnd_plane.txt

0 1 unit segment
*
S gnd 0 0.0 2 0.0


End



* 2D - data-z2
*

* data is included in a single file
*

C cube_0.txt 2.5 0.0 0.0

C cube_1.txt 2.5 0.9537777053676844 0.24

C cube_2.txt 2.5 0.0 0.24

C cube_3.txt 2.5 1.7211230623140632 0.24

C cube_4.txt 2.5 0.0 0.48

* gnd plane below the signal lines
C gnd_plane.txt 2.5 0.0 -0.24


File cube_0.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 1.2104390758085908 0.06
S cube_2d 1.2104390758085908 0.06 1.2104390758085908 0.0
S cube_2d 1.2104390758085908 0.0 0.0 0.0
End


File cube_1.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0924445892646309 0.06
S cube_2d 0.0924445892646309 0.06 0.0924445892646309 0.0
S cube_2d 0.0924445892646309 0.0 0.0 0.0
End


File cube_2.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0694995325917452 0.06
S cube_2d 0.0694995325917452 0.06 0.0694995325917452 0.0
S cube_2d 0.0694995325917452 0.0 0.0 0.0
End


File cube_3.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0327350444904012 0.06
S cube_2d 0.0327350444904012 0.06 0.0327350444904012 0.0
S cube_2d 0.0327350444904012 0.0 0.0 0.0
End


File cube_4.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.13
S cube_2d 0.0 0.13 1.4986775766195883 0.13
S cube_2d 1.4986775766195883 0.13 1.4986775766195883 0.0
S cube_2d 1.4986775766195883 0.0 0.0 0.0
End


File gnd_plane.txt

0 1 unit segment
*
S gnd 0 0.0 2 0.0


End


The following is the report when run through automation, with the middle part omitted


Running FasterCap version 6.0.7
Copyright 2019 FastFieldSolvers S.R.L. ht*p://w*w.fastfieldsolvers.com, All Rights reserved
Starting capacitance extraction with the following parameters:
Input file: C:/Users/#38134;#27122;#20043;#21073;/Desktop/boxing/fastcap_solve/data-z2.lst
Auto calculation with max error: 0.001
Remark: Auto option overrides all other Manual settings

2D Solver Engine invoked
Solution scheme (-g): Collocation, GMRES tolerance (-t): 0.0005
Out-of-core free memory to link memory condition (-f): 5
Potential interaction coefficient to mesh refinement ratio (-d): 0.5
Mesh curvature (-mc): 3
Number of input panels to solver engine: 21

Iteration number #0 ***************************

***************************************
Refining the geometry..
Refinement completed
Mesh refinement (-m): 1e+032
***************************************
Computing the links..
Number of panels after refinement: 22
Number of links to be computed: 62
Done computing links
***************************************
Precond Type(s) (-p): Jacobi
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7 8
GMRES Iteration: 0 1 2 3 4 5 6 7 8
Capacitance matrix is:
Dimension 5 x 5
g1_cube_2d 1.86845e-010 -6.72977e-012 -1.48021e-011 2.8681e-012 -1.14486e-010
g2_cube_2d -7.70814e-012 5.47727e-011 3.65003e-012 -2.33042e-012 -3.89788e-011
g3_cube_2d -2.47472e-011 -1.20123e-012 3.82928e-011 -8.23898e-013 -1.19584e-011
g4_cube_2d 7.53201e-012 -5.94661e-012 -5.87511e-013 3.35812e-011 -1.59169e-011
g5_cube_2d -4.90338e-011 -1.96906e-011 -1.30791e-011 -6.72791e-012 1.55671e-010
Warning: capacitance matrix has a non-negative off-diagonal element at row 1 col 4
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 3
Warning: capacitance matrix has a non-negative off-diagonal element at row 4 col 1
Warning: capacitance matrix is not diagonally dominant due to row 3


Solve statistics:
Number of input panels: 21 of which 21 conductors and 0 dielectric
Number of input panels to solver engine: 21
Number of panels after refinement: 22
Number of potential estimates: 89
Number of links: 84 (uncompressed 484, compression ratio is 82.6%)
Max recursion level: 4
Max Mesh relative refinement value: 1.63392
Iteration time: 0.013000s (0 days, 0 hours, 0 mins, 0 s)
Iteration allocated memory: 16468 kilobytes

.......................................................

Iteration number #13 ***************************

***************************************
Increasing the geometric refinement..
Delta in refined panel and link count w.r.t. previous iteration less than 10%
(Panels # 12032, Links # 129198404)
Automatically increasing the refinement parameters
Refinement completed
Mesh refinement (-m): 0.000746188
***************************************
Computing the links..
Number of panels after refinement: 22379
Number of links to be computed: 348923200
Estimated memory required for storing panel interaction links is: 5324 Mbytes
Available free memory left is: 11737 Mbytes
Estimated links memory is more than 20% of the available free memory. Going out-of-core.
Out-of-core temporary files folder: 'C:\Users\#38134;#27122;#20043;#21073;\AppData\Local\Temp'
Done computing links
***************************************
Precond Type(s) (-p): Jacobi
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Capacitance matrix is:
Dimension 5 x 5
g1_cube_2d 2.53204e-010 -3.62172e-011 -2.93502e-011 -3.24414e-012 -4.73204e-011
g2_cube_2d -3.61954e-011 7.7316e-011 -4.68352e-014 -7.77318e-013 -3.88815e-011
g3_cube_2d -2.94876e-011 -6.35262e-014 6.67483e-011 -2.16869e-013 -3.29524e-011
g4_cube_2d -3.46781e-012 -8.01761e-013 -2.0838e-013 4.3621e-011 -2.05264e-011
g5_cube_2d -4.84927e-011 -3.90529e-011 -3.28927e-011 -2.04973e-011 1.65168e-010

Weighted Frobenius norm of the difference between capacitance (auto option): 0.00172351

Solve statistics:
Number of input panels: 21 of which 21 conductors and 0 dielectric
Number of input panels to solver engine: 21
Number of panels after refinement: 22379
Number of potential estimates: 312541289
Number of links: 348945579 (uncompressed 500819641, compression ratio is 30.3%)
Max recursion level: 31
Max Mesh relative refinement value: 0.000746188
Iteration time: 3609.763916s (0 days, 1 hours, 0 mins, 9 s)
Iteration allocated memory: 2406158 kilobytes

Iteration number #14 ***************************

***************************************
Increasing the geometric refinement..
Delta in refined panel and link count w.r.t. previous iteration less than 10%
(Panels # 24064, Links # 516816624)
Automatically increasing the refinement parameters
Refinement completed
Mesh refinement (-m): 0.000373094
***************************************
Computing the links..
Number of panels after refinement: 44758
Number of links to be computed: 1395714960
Estimated memory required for storing panel interaction links is: 21296 Mbytes
Available free memory left is: 11733 Mbytes
Estimated links memory is more than 20% of the available free memory. Going out-of-core.
Out-of-core temporary files folder: 'C:\Users\#38134;#27122;#20043;#21073;\AppData\Local\Temp'
Done computing links
***************************************
Precond Type(s) (-p): Jacobi
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
GMRES Iteration: 0 1 2
Warning: user break request received, stopping execution, please wait..

Total allocated memory: 2421575 kilobytes
Total time: 15657.608398s (0 days, 4 hours, 20 mins, 57 s)



Warning: Program execution stopped on user request!

liping

7 Posts

Posted - Oct 06 2023 :  14:05:48  Show Profile  Reply with Quote

I seem to have found the issue. Can I ask, when using automation, if you don't include "-d," is "-ap" enabled by default, and if you add "-d," is it defaultly disabled?
Go to Top of Page

Enrico

545 Posts

Posted - Oct 06 2023 :  17:39:04  Show Profile  Reply with Quote
Hi Liping,

yes, you found the reason. In a nutshell, the defaults when running FasterCap via automation are necessarily different from the defaults you have when you use the GUI.

The point is, -ap is used to tell FasterCap to use the automatic preconditioner selection. When launching FasterCap via automation, if this was the default, then you would need a switch to tell FasterCap NOT to use the automatic selection. The logic in the interface is that you select something if you want it, not that you select something that you don't want. This is the reason why in the GUI dialog you have a 'check' mark on -ap. I realize this may seem confusing. Perhaps we should update the documentation explicitly stating this point. However I was also wondering how many people are really using the Automation interface; my main point is that this is actually pretty Windows-specific. Possibly it could be a better solution to have an output parsable log. As you may know, you can launch FasterCap in pure text "shell" mode, so you could fully use it as a script command. Your opinion is welcome here, as obviously you are one of the users of the Automation interface.

Said that, regarding your last question, no: there is no change of parameters or meaning of the parameters when you specify '-d'. Simply, when using -d0.5, you get much more links between panels, and this triggers a different pre-conditioner selection. The default Jacobi preconditioner is fine enough in your case when -d is 1, so you don't appreciate a difference in speed; but when you go to -d0.5 this becomes inefficient.

One final note, I'm not sure why you use -a0.001 but most of the time this is kind of excessive. The expected accuracy of FasterCap is anyway around 1%. Actually if you really want to speed up your solutions, and your geometries are different but kind of similar expecially in the dimensions and dimension ratios, you may be better off by launching some automatic solves and then copy the parameters of the last minus one simulation and use those in manual mode.
Last minus one because you are already at convergence at n-1 iteration (the Frobenius norm tells you that between iteration n and iteration n-1 the result has changed, in weigthed norm, less than the allotted value); manual mode because you avoid running all the n-1 iterations and 'jump' directly to the last one.

Best,
Enrico




Go to Top of Page

liping

7 Posts

Posted - Oct 06 2023 :  19:44:54  Show Profile  Reply with Quote

Thank you for your response, but I made some attempts earlier and still have some doubts. When I set only "-a0.001" in the GUI dialog with all other settings at their defaults, the solving time becomes excessively long. However, when I change "-d" from the default value of 1 to 0.5, it actually speeds up the process. This is entirely done through the fastercap interface and doesn't involve any automation. As for why I set "-a0.001," it's because I noticed that when I set it to "-a0.01," I get a warning after the last iteration , saying: "capacitance matrix has a non-negative off-diagonal element at ......". Here is my input and output for reference
* 2D - data-z 73.lst
*

* data is included in a single file
*

C cube_0.txt 2.5 1.4312336291624494 0.0

C cube_1.txt 2.5 0.8843663727106793 0.24

C cube_2.txt 2.5 0.0149953096784077 0.24

C cube_3.txt 2.5 1.1993942734652152 0.24

C cube_4.txt 2.5 1.3844605536900192 0.24

C cube_5.txt 2.5 0.1076211082903343 0.48

* gnd plane below the signal lines
C gnd_plane.txt 2.5 0.0 -0.24


File cube_0.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.5687663708375506 0.06
S cube_2d 0.5687663708375506 0.06 0.5687663708375506 0.0
S cube_2d 0.5687663708375506 0.0 0.0 0.0
End


File cube_1.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.2312672545786413 0.06
S cube_2d 0.2312672545786413 0.06 0.2312672545786413 0.0
S cube_2d 0.2312672545786413 0.0 0.0 0.0
End


File cube_2.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0530056819859769 0.06
S cube_2d 0.0530056819859769 0.06 0.0530056819859769 0.0
S cube_2d 0.0530056819859769 0.0 0.0 0.0
End


File cube_3.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.1373056340489094 0.06
S cube_2d 0.1373056340489094 0.06 0.1373056340489094 0.0
S cube_2d 0.1373056340489094 0.0 0.0 0.0
End


File cube_4.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.06
S cube_2d 0.0 0.06 0.0655792964947632 0.06
S cube_2d 0.0655792964947632 0.06 0.0655792964947632 0.0
S cube_2d 0.0655792964947632 0.0 0.0 0.0
End


File cube_5.txt

0 cube 2d
*
S cube_2d 0.0 0.0 0.0 0.13
S cube_2d 0.0 0.13 1.8923788917096656 0.13
S cube_2d 1.8923788917096656 0.13 1.8923788917096656 0.0
S cube_2d 1.8923788917096656 0.0 0.0 0.0
End


File gnd_plane.txt

0 1 unit segment
*
S gnd 0 0.0 2 0.0


End

this is -d0.5

Running FasterCap version 6.0.7
Copyright 2019 FastFieldSolvers S.R.L. ht*p://w*w.fastfieldsolvers.com, All Rights reserved
Starting capacitance extraction with the following parameters:
Input file: C:/Users/#38134;#27122;#20043;#21073;/Desktop/boxing/boxing/fastcap_solve/data-z 73.lst
Auto calculation with max error: 0.001
Remark: Auto option overrides all other Manual settings

2D Solver Engine invoked
Solution scheme (-g): Collocation, GMRES tolerance (-t): 0.0005
Out-of-core free memory to link memory condition (-f): 5
Potential interaction coefficient to mesh refinement ratio (-d): 0.5
Mesh curvature (-mc): 3
Number of input panels to solver engine: 25

Iteration number #0 ***************************

***************************************
Refining the geometry..
Refinement completed
Mesh refinement (-m): 1e+032
***************************************
Computing the links..
Number of panels after refinement: 26
Number of links to be computed: 80
Done computing links
***************************************
Precond Type(s) (-p): Jacobi
GMRES Iteration: 0 1 2 3 4 5 6 7 8
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7 8
GMRES Iteration: 0 1 2 3 4 5 6 7 8
Capacitance matrix is:
Dimension 6 x 6
g1_cube_2d 8.02025e-011 -1.40321e-012 -2.56639e-013 -4.35743e-012 -2.15319e-011 -2.2334e-011
g2_cube_2d 1.00075e-011 9.3269e-011 4.27875e-012 -1.74136e-011 4.66139e-013 -1.05734e-010
g3_cube_2d 3.96622e-013 -5.0887e-012 3.26152e-011 -2.91966e-013 -5.24016e-013 -1.52407e-011
g4_cube_2d -6.74516e-012 -2.29657e-011 2.23913e-012 8.79952e-011 -3.29277e-011 -2.99988e-011
g5_cube_2d -2.13931e-011 -3.01123e-013 -8.00186e-014 -4.47225e-011 6.87758e-011 -4.69428e-012
g6_cube_2d -3.17019e-012 -3.40823e-011 -1.19022e-011 -1.11601e-011 -9.0407e-012 1.8198e-010
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 1
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 3
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 5
Warning: capacitance matrix has a non-negative off-diagonal element at row 3 col 1
Warning: capacitance matrix has a non-negative off-diagonal element at row 4 col 3
Warning: capacitance matrix is not diagonally dominant due to row 2
Warning: capacitance matrix is not diagonally dominant due to row 4
Warning: capacitance matrix is not diagonally dominant due to row 5


Solve statistics:
Number of input panels: 25 of which 25 conductors and 0 dielectric
Number of input panels to solver engine: 25
Number of panels after refinement: 26
Number of potential estimates: 120
Number of links: 106 (uncompressed 676, compression ratio is 84.3%)
Max recursion level: 4
Max Mesh relative refinement value: 1.64631
Iteration time: 0.026000s (0 days, 0 hours, 0 mins, 0 s)
Iteration allocated memory: 16475 kilobytes


……………………………………………………………………………………

Iteration number #14 ***************************

***************************************
Increasing the geometric refinement..
Refinement completed
Mesh refinement (-m): 0.00566714
***************************************
Computing the links..
Number of panels after refinement: 1975
Number of links to be computed: 3129744
Done computing links
***************************************
Precond Type(s) (-p): Two-levels, two-levels preconditioner dimension (-ps): 1024
GMRES Iteration: 0 1 2 3 4 5
GMRES Iteration: 0 1 2 3 4
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5
Capacitance matrix is:
Dimension 6 x 6
g1_cube_2d 1.38469e-010 -2.84054e-012 -3.38167e-013 -8.90175e-012 -1.99676e-011 -3.12811e-011
g2_cube_2d -2.82938e-012 1.09138e-010 -8.16555e-013 -3.46024e-011 -1.05666e-012 -5.10358e-011
g3_cube_2d -3.44747e-013 -8.27885e-013 5.09718e-011 -3.39038e-014 -6.79974e-015 -3.2174e-011
g4_cube_2d -8.90349e-012 -3.45975e-011 -3.39971e-014 1.25137e-010 -5.02952e-011 -2.53544e-011
g5_cube_2d -1.99751e-011 -1.05806e-012 -1.35654e-014 -5.02956e-011 9.70013e-011 -2.42398e-011
g6_cube_2d -3.13339e-011 -5.11059e-011 -3.2173e-011 -2.5353e-011 -2.41956e-011 1.99866e-010

Weighted Frobenius norm of the difference between capacitance (auto option): 0.000655675

Solve statistics:
Number of input panels: 25 of which 25 conductors and 0 dielectric
Number of input panels to solver engine: 25
Number of panels after refinement: 1975
Number of potential estimates: 2210376
Number of links: 3131719 (uncompressed 3900625, compression ratio is 19.7%)
Max recursion level: 23
Max Mesh relative refinement value: 0.00566712
Iteration time: 0.658000s (0 days, 0 hours, 0 mins, 0 s)
Iteration allocated memory: 312306 kilobytes

Total allocated memory: 312306 kilobytes
Total time: 1.669000s (0 days, 0 hours, 0 mins, 1 s)


this is -d1

Running FasterCap version 6.0.7
Copyright 2019 FastFieldSolvers S.R.L. ht*p://w*w.fastfieldsolvers.com, All Rights reserved
Starting capacitance extraction with the following parameters:
Input file: C:/Users/#38134;#27122;#20043;#21073;/Desktop/boxing/boxing/fastcap_solve/data-z 73.lst
Auto calculation with max error: 0.001
Remark: Auto option overrides all other Manual settings

2D Solver Engine invoked
Solution scheme (-g): Collocation, GMRES tolerance (-t): 0.0005
Out-of-core free memory to link memory condition (-f): 5
Potential interaction coefficient to mesh refinement ratio (-d): 1
Mesh curvature (-mc): 3
Number of input panels to solver engine: 25

Iteration number #0 ***************************

***************************************
Refining the geometry..
Refinement completed
Mesh refinement (-m): 1e+032
***************************************
Computing the links..
Number of panels after refinement: 26
Number of links to be computed: 80
Done computing links
***************************************
Precond Type(s) (-p): Jacobi
GMRES Iteration: 0 1 2 3 4 5 6 7 8
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7 8
GMRES Iteration: 0 1 2 3 4 5 6 7 8
Capacitance matrix is:
Dimension 6 x 6
g1_cube_2d 8.02025e-011 -1.40321e-012 -2.56639e-013 -4.35743e-012 -2.15319e-011 -2.2334e-011
g2_cube_2d 1.00075e-011 9.3269e-011 4.27875e-012 -1.74136e-011 4.66139e-013 -1.05734e-010
g3_cube_2d 3.96622e-013 -5.0887e-012 3.26152e-011 -2.91966e-013 -5.24016e-013 -1.52407e-011
g4_cube_2d -6.74516e-012 -2.29657e-011 2.23913e-012 8.79952e-011 -3.29277e-011 -2.99988e-011
g5_cube_2d -2.13931e-011 -3.01123e-013 -8.00186e-014 -4.47225e-011 6.87758e-011 -4.69428e-012
g6_cube_2d -3.17019e-012 -3.40823e-011 -1.19022e-011 -1.11601e-011 -9.0407e-012 1.8198e-010
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 1
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 3
Warning: capacitance matrix has a non-negative off-diagonal element at row 2 col 5
Warning: capacitance matrix has a non-negative off-diagonal element at row 3 col 1
Warning: capacitance matrix has a non-negative off-diagonal element at row 4 col 3
Warning: capacitance matrix is not diagonally dominant due to row 2
Warning: capacitance matrix is not diagonally dominant due to row 4
Warning: capacitance matrix is not diagonally dominant due to row 5


Solve statistics:
Number of input panels: 25 of which 25 conductors and 0 dielectric
Number of input panels to solver engine: 25
Number of panels after refinement: 26
Number of potential estimates: 114
Number of links: 106 (uncompressed 676, compression ratio is 84.3%)
Max recursion level: 4
Max Mesh relative refinement value: 1.64631
Iteration time: 0.023000s (0 days, 0 hours, 0 mins, 0 s)
Iteration allocated memory: 16475 kilobytes


…………………………………………..

Iteration number #20 ***************************

***************************************
Increasing the geometric refinement..
Refinement completed
Mesh refinement (-m): 0.00070839
***************************************
Computing the links..
Number of panels after refinement: 15809
Number of links to be computed: 77773854
Done computing links
***************************************
Precond Type(s) (-p): Two-levels, two-levels preconditioner dimension (-ps): 1024
GMRES Iteration: 0 1 2 3 4 5 6
GMRES Iteration: 0 1 2 3 4 5
GMRES Iteration: 0 1 2 3 4 5 6 7 8 9
GMRES Iteration: 0 1 2 3 4 5 6 7
GMRES Iteration: 0 1 2 3 4 5
GMRES Iteration: 0 1 2 3 4 5 6
Capacitance matrix is:
Dimension 6 x 6
g1_cube_2d 1.38515e-010 -2.8426e-012 -3.53255e-013 -8.90465e-012 -1.99848e-011 -3.13906e-011
g2_cube_2d -2.85605e-012 1.09198e-010 -8.39346e-013 -3.46503e-011 -1.05733e-012 -5.12006e-011
g3_cube_2d -3.41624e-013 -8.2684e-013 5.10072e-011 -3.40156e-014 -7.88542e-015 -3.21835e-011
g4_cube_2d -8.89621e-012 -3.46544e-011 -2.58353e-014 1.25322e-010 -5.04151e-011 -2.53052e-011
g5_cube_2d -1.99945e-011 -1.0571e-012 -1.53708e-014 -5.04117e-011 9.7151e-011 -2.42605e-011
g6_cube_2d -3.13496e-011 -5.11183e-011 -3.22076e-011 -2.53579e-011 -2.42128e-011 1.99814e-010

Weighted Frobenius norm of the difference between capacitance (auto option): 0.0013294

Solve statistics:
Number of input panels: 25 of which 25 conductors and 0 dielectric
Number of input panels to solver engine: 25
Number of panels after refinement: 15809
Number of potential estimates: 50384934
Number of links: 77789663 (uncompressed 249924481, compression ratio is 68.9%)
Max recursion level: 28
Max Mesh relative refinement value: 0.00070839
Iteration time: 16.836000s (0 days, 0 hours, 0 mins, 16 s)
Iteration allocated memory: 1498021 kilobytes

Iteration number #21 ***************************

***************************************
Increasing the geometric refinement..

Warning: user break request received, stopping execution, please wait..

Total allocated memory: 3189 kilobytes
Total time: 38.044998s (0 days, 0 hours, 0 mins, 38 s)



Warning: Program execution stopped on user request!


Go to Top of Page

Enrico

545 Posts

Posted - Oct 10 2023 :  18:21:45  Show Profile  Reply with Quote
quote:
When I set only "-a0.001" in the GUI dialog with all other settings at their defaults, the solving time becomes excessively long. However, when I change "-d" from the default value of 1 to 0.5, it actually speeds up the process


This can be expected in case the default compression of couplings between the different conductors that you set with -d1 is actually excessive. This is a parameter that is not very easy to set automatically; in particular, you should decrease -d when the conductors, or part of them, are very close to each other.
In this case, the process is faster as convergence is reached in a smaller number of iterations, as the matrix is in fact better conditioned. The cons of this approach is that of course the more links you have, the more memory you use and the more number of operations you need to perform. If this improves convergence, there is a break-even point in the speed-up: at a certain point, you have no compression any more and having a full matrix to invert will require order(N^2) operations, not order(N).

Best,
Enrico
Go to Top of Page

liping

7 Posts

Posted - Oct 11 2023 :  18:48:15  Show Profile  Reply with Quote
I also suspected that this might be the case, but the documentation didn't mention that reducing the '-d' could potentially make the process faster, which left me somewhat puzzled. Sincere thanks for your continued patient responses all along.
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