KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1.01k stars 244 forks source link

Feast Solver - Eigenfrequencies above ca 6000 Hz (migrated from Examples) #1303

Closed jcotela closed 6 years ago

jcotela commented 6 years ago

I'm re-posting this from an issue reported by @veiguf in the KratosMultiphysics/Examples repository. The issue is as follows:

I am a student at the Free University of Bozen-Bolzano, currently working on a study project using Kratos Multiphysics. I am using the FEAST SOLVER to calculate the mode shapes and eigenfrequencies of different components. It works fine for eigenfrequencies up to ca 6000 Hz, but I am having problems getting results for higher frequencies. I tried to change the input parameters file "ProjectParameters.json", more precisely I increased the "lambda_max" up to 2100000000 which seems to be near to the maximum value for which the simulation is running. I understood that the input parameters like "lambda min" and "lambda max" are related to the search interval of the eigenfrequencies, but it is not clear to me for what they exactly stand for. Any help would be appreciated!

philbucher commented 6 years ago

@KratosMultiphysics/structural-mechanics

@veiguf can you provide some more details on your problem setup? How many dofs does your problem have?

@qaumann maybe you have a good explanation?

qaumann commented 6 years ago

Hi,

lambda_min and lambda_max are indeed the search interval for the eigenvalues (sometimes also called omega). To obtain the frequency range from the eigenvalue interval, you have to keep in mind that your maximum frequency equals the square root divided by 2 Pi of your lambda_max.

grafik

You defined lambda_max = 2100000000, which results in f_max = 7293 Hz. So if you are looking for higher frequencies, you have to increase the lambda_max quadratically.

Keep also in mind, that you have to increase the search dimension, otherwise FEAST will produce wrong results. You can check, if your search dimension is large enough if you plot the FEAST output and it does not complain about the M0 subspace being too small.

I hope I got your questions right and if you have any further issues, please feel free to ask.

veiguf commented 6 years ago

Many thanks for the explanations! Now I also resolved my problem: If I entered 2200000000 or any higher number as lambda max, the simulation did not run. But now I found out that if I enter for example 2e10, the simulation runs and I get the result as expected up to a natural frequency of 22508 Hz.

RiccardoRossi commented 6 years ago

looks like this can be closed. is that so?