Why does MATLAB hang when I attempt to use the impedance function?

3 visualizaciones (últimos 30 días)
After creating a patchMicrostrip object, I am attempting to determine the input impedance of the antenna across a range of frequencies using the impedance function:
myPM = patchMicrostrip( ... );
impedance( myPM, linspace( 2e9, 6e9, 11) );
However, after executing this code, a progress bar appears saying "Calculating solution for 11 frequency points" , but it does not seem to make any progress (even after a long period of time). Why is this?

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 7 de Mayo de 2021
Editada: MathWorks Support Team el 7 de Mayo de 2021
The lack of progress for the frequency sweep is due to the large mesh. The structure is discretized into triangles (for the surfaces) and tetrahedra (for the volume) before being solved. Given the range of frequencies provided for the analysis, the mesher picks the highest frequency to discretize, in this case 6 GHz. If the mesh becomes very large, this will impact both the amount of memory (RAM) needed as well as time to compute the solution. To work around this, here are a couple of suggestions:
a) Prior to running any analysis, use the memoryEstimate function to get an estimate on the RAM needed for solving at a particular frequency. Use help to learn more about this function:
 
>> help memoryEstimate
b) Manual meshing is also an option. Please refer to the following documentation page for more information:
 

Más respuestas (0)

Categorías

Más información sobre Installed Antenna and Large Structures en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by