-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhanced Frequency Response post-processor and linear system input/output options #83
Conversation
Extra "/" causing trouble removed.
Includes a source system in src/
Old system was unstable and therefore the correct Hinf norm would be inf but the graphical method produced a finite value
Also returns np.inf for unstable systems
Removing some methods from FrequencyResponse that required a ROM to have been calculated or a ROM in a very specific data structure. The idea is to have ROM comparison tools in a different module and use this postproc solely to calculate the frequency response of a linear system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the amazing set of tools for linear systems!
Also added the no_ctypes to settings and removed any .value uses
If the timestep info object had a .modal attribute prior to StaticTrim, this would be overwritten by the routine. This change makes a copy of the attribute modal and adds it to the trimmed timestep_info
Codecov Report
@@ Coverage Diff @@
## develop #83 +/- ##
========================================
Coverage 61.58% 61.58%
========================================
Files 119 119
Lines 20524 20524
========================================
Hits 12639 12639
Misses 7885 7885 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ready to merge. Thanks
Includes several enhancements in the frequency response postproc:
Option to compute the frequency response for a desired system or systems. This is parsed through a new setting
target_system
which takes a list with the chosen systems (for example['aeroelastic', 'aerodynamic', 'structural']
would return the frequency response of all those systems.The frequency response data is no longer saved to a
.dat
file but rather to a.h5
which contains theresponse
data in matrix form with shapeoutput, input, num_frequencies
.Option to iteratively compute the H-infinity norm of the systems (
compute_hinf
:on
in theFrequencyResponse
settings)New settings for in / out behaviour in
LinearAssembler
solver:Option to change the in/out coordinates and channels in the
LinearAssembler
solver. If the system was assembled in modal coordinates it can be projected back to nodal coordinates throughinout_coordinates
:nodes
.Option to keep only certain in/out channels. Provided through a list with the index of the input/output in
retain_inputs
orretain_outputs
.modal_tstep
setting. Allows the user to choose the time step that contains the modal information. Useful if you have theModal
solver early on in the SHARPy flow before theLinearAssembler
. It defaults to-1
which would be the case ifModal
runs just beforeLinearAssembler
.Other additions:
sharpy/utils/frequencyutils.py
contains several methods to compare frequency responses, including L2-norms, relative errors, etc.