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.

Applying existing solution as an initial guess for frequency domain simulation

Please login with a confirmed email address before reporting spam

Hi all,

I have a general question regarding frequency domain simulations.

I've been doing frequency sweeps in frequency domain simulations a lot. Usually for a small change in frequency (for example a fractional change < 1% far from a resonance), the solution also only has a small change. Thus I'm wondering is it possible to use the solution from the previous frequency as the initial guess for the next frequency? This would be extremely helpful if it reduces the time needed for convergence for big 3D models.

I have attached a toy model as an example of frequency sweep in frequency domain simulations.

Thanks! Wentao



4 Replies Last Post May 14, 2020, 2:10 p.m. EDT
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 5 years ago May 13, 2020, 4:17 p.m. EDT

Hi,

Since the solution at each frequency consists of solving a linear system of equations, there is nothing to be gained from an initial value, since there is only one "iteration". This, of course, assuming that a direct equation solver is used, as in your model.

If you were using an iterative solver for the linear system, then it is theoretically possible that the number of iterations could be reduced by seeding the solution for the next frequency by the previous solution.

There is however a much better solution to your problem: The Adaptive Frequency Sweep study type. It uses a method called AWE (Asymptotic Waveform Expansion) to interpolate solutions between a smaller number of actually computed frequencies.

-------------------
Henrik Sönnerlind
COMSOL
Hi, Since the solution at each frequency consists of solving a linear system of equations, there is nothing to be gained from an initial value, since there is only one "iteration". This, of course, assuming that a direct equation solver is used, as in your model. If you were using an iterative solver for the linear system, then it is theoretically possible that the number of iterations could be reduced by seeding the solution for the next frequency by the previous solution. There is however a much better solution to your problem: The **Adaptive Frequency Sweep** study type. It uses a method called AWE (Asymptotic Waveform Expansion) to interpolate solutions between a smaller number of actually computed frequencies.

Please login with a confirmed email address before reporting spam

Posted: 5 years ago May 13, 2020, 6:00 p.m. EDT

Thank you Henrik! Very helpful. I found out that the adaptive frequency sweep is only built-in for the RF module? Is it possible to implement it for other modules such as solid mechanics, piezoelectric device etc.?

Thanks, Wentao

Thank you Henrik! Very helpful. I found out that the adaptive frequency sweep is only built-in for the RF module? Is it possible to implement it for other modules such as solid mechanics, piezoelectric device etc.? Thanks, Wentao

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 5 years ago May 14, 2020, 10:58 a.m. EDT

You can add an Empty Study, and then add Study Steps -> Frequency Domain -> Adaptive Frequency Sweep.

Set AWE Expression Type to User Controlled, and add some suitable global expressions for error estimation, for example the total strain energy and total kinetic energy, as in the attached screenshot.

You may also have to adjust the tolerance level. In particular, the absolute tolerance, which you will find in the AWE Solver node further down in the solver sequence. Alternatively, you can scale the error estimation expressions so that they evalaute to something of order 1.

-------------------
Henrik Sönnerlind
COMSOL
You can add an **Empty Study**, and then add **Study Steps** -> **Frequency Domain** -> **Adaptive Frequency Sweep**. Set **AWE Expression Type** to **User Controlled**, and add some suitable global expressions for error estimation, for example the total strain energy and total kinetic energy, as in the attached screenshot. You may also have to adjust the tolerance level. In particular, the absolute tolerance, which you will find in the **AWE Solver** node further down in the solver sequence. Alternatively, you can scale the error estimation expressions so that they evalaute to something of order 1.


Please login with a confirmed email address before reporting spam

Posted: 5 years ago May 14, 2020, 2:10 p.m. EDT

I've tried your recommendation and it seems to work. Thanks again!

Wentao

I've tried your recommendation and it seems to work. Thanks again! Wentao

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.