Skip to content
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

Merged
merged 37 commits into from
Apr 27, 2020

Conversation

ngoiz
Copy link
Collaborator

@ngoiz ngoiz commented Apr 24, 2020

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 the response data in matrix form with shape output, input, num_frequencies.

  • Option to iteratively compute the H-infinity norm of the systems (compute_hinf: on in the FrequencyResponse 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 through inout_coordinates:nodes.

  • Option to keep only certain in/out channels. Provided through a list with the index of the input/output in retain_inputs or retain_outputs.

  • modal_tstep setting. Allows the user to choose the time step that contains the modal information. Useful if you have the Modal solver early on in the SHARPy flow before the LinearAssembler. It defaults to -1 which would be the case if Modal runs just before LinearAssembler.

Other additions:

  • Frequency comparison tools module sharpy/utils/frequencyutils.py contains several methods to compare frequency responses, including L2-norms, relative errors, etc.

ngoiz added 30 commits March 3, 2020 19:05
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
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.
@ngoiz ngoiz requested a review from ArturoMS13 April 24, 2020 06:10
@ngoiz ngoiz marked this pull request as ready for review April 24, 2020 07:14
Copy link
Collaborator

@ArturoMS13 ArturoMS13 left a 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-io
Copy link

codecov-io commented Apr 27, 2020

Codecov Report

Merging #83 into develop will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           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.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 03ec5df...03ec5df. Read the comment docs.

Copy link
Collaborator

@ArturoMS13 ArturoMS13 left a 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

@ArturoMS13 ArturoMS13 merged commit 0ca42a8 into develop Apr 27, 2020
@ngoiz ngoiz deleted the dev_freqresp branch April 27, 2020 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants