Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Improving computational time RF Module, iterative vs Direct Solver (PARDISO out of core)

Please login with a confirmed email address before reporting spam

Hi!

I've been simulating a system composed of a nanoantenna array in air. I'm using Floquet conditions on the sides, a source port on the top, and a listening port on the bottom, both with a PML layer covering it (I've based my model on the "Frequency Selective Surface, Periodic Complementary Split Ring Resonator" model). I'm sweeping from 25 THz to 500 THz so my maximum elemt size is very small and the simulation takes a long time (I'm solving for 782,164 degrees of freedom).

I want to improve my computation time. COMSOL uses PARDISO as the suggested direct solver but it goes out of core. I've read that using an iterative solver may help, but also that I have to carefully select the settings for it to converge. Which solver is better suited for my simulation? Which settings should I use in a Iterative solver? Would it be better to use a different direct solver?

Regarding PARDISO: What happens if I turn off the option out of core option in the settings for Suggested direct solver? Will it use more RAM? Will it be slower? What changes?

These are the specifications of the PC i'm using

  • RAM: 16GB

  • Processor: Intel Core i7-4870HQ CPU @ 2.50GHz

  • Graphics proccesor: Nvidia GTX 980

Thank you very much for your help and time :)

-------------------
Victor Zavala

2 Replies Last Post 12 nov. 2017, 07:53 UTC−5
Robert Koslover Certified Consultant

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 11 nov. 2017, 22:06 UTC−5
  1. Consider installing more RAM, and adjusting your solver settings so it is not using out-of-core RAM.
  2. Here's a helpful trick: Consider setting the discretization to linear (the default is quadratic) which will save a huge amount of memory and also really speed up the calculation, but also can reduce accuracy.
  3. If you use an iterative solver, you may have problems with convergence. If the default solver settings don't work, consider using GMRES with the SOR Vector pre-conditioner. It will likely be very slow, and may still not converge if you are unlucky, but it will use very little RAM.
-------------------
Scientific Applications & Research Associates (SARA) Inc.
www.comsol.com/partners-consultants/certified-consultants/sara
1. Consider installing more RAM, and adjusting your solver settings so it is not using out-of-core RAM. 2. Here's a helpful trick: Consider setting the discretization to linear (the default is quadratic) which will save a huge amount of memory and also really speed up the calculation, but also can reduce accuracy. 3. If you use an iterative solver, you may have problems with convergence. If the default solver settings don't work, consider using GMRES with the SOR Vector pre-conditioner. It will likely be very slow, and may still not converge if you are unlucky, but it will use very little RAM.

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 12 nov. 2017, 07:53 UTC−5

Dear Victor,

I advise you two tips in order to solve your problem for sure:

  1. You have to use much more smarter sub-gridding to reduce DOFs down to 100k-150k also by using linear discretization. In fact it is possible as I understand the problem you consider. THz frequencies do not obligatory request \lambda per 20-50 element size everywhere in your computational domain.
  2. Note, that you CPU could in principle solve COMSOL problems with maximum amount of memory equal to 2GB. Larger problems (2-16 GB) need four-channel CPU, e.g. 2011-socket. Increasing memory at two-channel motherboard will not give you a speedup. Actually with your CPU your able to solve problems with 60-70k DOFs. This information is given by COMSOL developers at every COMSOL conference, and if they allow me I can send you a presentation called "Understanding Solvers and Hardware" by J-P Weiss
Dear Victor, I advise you two tips in order to solve your problem for sure: 1. You have to use much more smarter sub-gridding to reduce DOFs down to 100k-150k also by using linear discretization. In fact it is possible as I understand the problem you consider. THz frequencies do not obligatory request \lambda per 20-50 element size everywhere in your computational domain. 2. Note, that you CPU could in principle solve COMSOL problems with maximum amount of memory equal to 2GB. Larger problems (2-16 GB) need four-channel CPU, e.g. 2011-socket. Increasing memory at two-channel motherboard will not give you a speedup. Actually with your CPU your able to solve problems with 60-70k DOFs. This information is given by COMSOL developers at every COMSOL conference, and if they allow me I can send you a presentation called "Understanding Solvers and Hardware" by J-P Weiss

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.