SHARPy

SHARPy: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines - Published in JOSS (2019)

https://github.com/imperialcollegelondon/sharpy

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    8 of 25 committers (32.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

aeroelasticity aeronautics simulation structural-dynamics structures wind-turbines
Last synced: 4 months ago · JSON representation

Repository

Simulation of High Aspect Ratio aeroplanes and wind turbines in Python: a nonlinear aeroelastic code

Basic Info
Statistics
  • Stars: 160
  • Watchers: 21
  • Forks: 65
  • Open Issues: 24
  • Releases: 15
Topics
aeroelasticity aeronautics simulation structural-dynamics structures wind-turbines
Created about 9 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Zenodo

README.md

Simulation of High Aspect Ratio aeroplanes in Python [SHARPy]

Version badge Build Status Documentation Status codecov License status DOI

SHARPy is a nonlinear aeroelastic analysis package originally developed at the Department of Aeronautics, Imperial College London. It can be used for the structural, aerodynamic and aeroelastic analysis of flexible wings, aircraft and wind turbines. It is shared here under a BSD 3-Clause permissive license.

XHALE

Contact

For more information on the research team developing SHARPy or to get in touch, visit our homepage.

Physical Models

SHARPy is a modular aeroelastic solver that currently uses two specific models for the structural and aerodynamic response of the system.

For the structural model, SHARPy employs a geometrically-exact displacement-based composite beam formulation, augmented with Lagrange multipliers for additional kinematic constraints. This model has the advantage of providing the solution directly in the physical problem's degrees of freedom, making the coupling with the aerodynamic solver simple and not requiring any post-processing. The 1D beam formulation used limits the analyses that can be done by SHARPy to slender structures, such as high aspect ratio wings.

The aerodynamic model utilises the Unsteady Vortex Lattice Method (UVLM). The aerodynamic surfaces are modelled as a thin vortex ring lattice with the boundary conditions enforced at the collocation points in the middle of the vortex rings. The Kutta condition is also enforced at the trailing edge. The wake can be simulated by either additional vortex rings or by infinitely long horseshoe vortices, which are ideally suited for steady simulations only.

The aerodynamic model has recently been extended by a linear source panel method (SPM) to model nonlifting bodies for example fuselages. The SPM and UVLM can be coupled to model fuselage-wing configuration and a junction handling approach, based on phantom panels and circulation interpolation, has been added.

The input problems can be structural, aerodynamic or coupled, yielding an aeroelastic system.

Capabilities

The base solver SHARPy is a nonlinear aeroelastic analysis package that can be used on free-flying flexible aircraft, wings and wind turbines. In addition, it supports linearisation of these nonlinear systems about arbitrary conditions and includes various tools such as: model reduction or frequency analysis.

In short, SHARPy offers (amongst others) the following solutions to the user: * Static aerodynamic, structural and aeroelastic solutions including fuselage effects * Finding trim conditions for aeroelastic configurations * Nonlinear, dynamic time domain simulations under a large number of conditions such as: + Prescribed trajectories. + Free flight. + Dynamic follower forces. + Control inputs in thrust, control surface deflection... + Arbitrary time-domain gusts, including non span-constant ones. + Full 3D turbulent fields. * Multibody dynamics with hinges, articulations and prescribed nodal motions: + Applicable to wind turbines. + Hinged aircraft. + Catapult assisted takeoffs. * Linear analysis: + Linearisation around a nonlinear equilibrium. + Frequency response analysis. + Asymptotic stability analysis. * Model order reduction: + Krylov-subspace reduction methods. + Several balancing reduction methods.

Documentation

The documentation for SHARPy can be found here.

Installing SHARPy

For the latest documentation, see the installation docs.

SHARPy can also be obtained from Docker Hub to avoid compilation and platform-dependant issues. If you are interested, make sure you check the SHARPy Docker distribution docs.

Contributing and Bug reports

If you think you can add a useful feature to SHARPy, want to write documentation or you encounter a bug, by all means, check out the collaboration guide.

Citing SHARPy

SHARPy has been published in the Journal of Open Source Software (JOSS) and the relevant paper can be found here.

If you are using SHARPy for your work, please remember to cite it using the paper in JOSS as:

del Carre et al., (2019). SHARPy: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines. Journal of Open Source Software, 4(44), 1885, https://doi.org/10.21105/joss.01885

The bibtex entry for this citation is:

@Article{delCarre2019, doi = {10.21105/joss.01885}, url = {https://doi.org/10.21105/joss.01885}, year = {2019}, month = dec, publisher = {The Open Journal}, volume = {4}, number = {44}, pages = {1885}, author = {Alfonso del Carre and Arturo Mu{\~{n}}oz-Sim\'on and Norberto Goizueta and Rafael Palacios}, title = {{SHARPy}: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines}, journal = {Journal of Open Source Software} }

Continuous Integration Status

SHARPy uses Continuous Integration to control the integrity of its code. The status in the release and develop branches is:

Main Build Status Docker Status

Develop Build Status

Owner

  • Name: Imperial College London
  • Login: ImperialCollegeLondon
  • Kind: organization
  • Email: icgithub-support@imperial.ac.uk
  • Location: Imperial College London

Imperial College main code repository

JOSS Publication

SHARPy: A dynamic aeroelastic simulation toolbox for very flexible aircraft and wind turbines
Published
December 13, 2019
Volume 4, Issue 44, Page 1885
Authors
Alfonso del Carre ORCID
Department of Aeronautics, Imperial College London. London, UK.
Arturo Muñoz-Simón ORCID
Department of Aeronautics, Imperial College London. London, UK.
Norberto Goizueta ORCID
Department of Aeronautics, Imperial College London. London, UK.
Rafael Palacios ORCID
Department of Aeronautics, Imperial College London. London, UK.
Editor
Lorena A Barba ORCID
Tags
aeroelasticity structural dynamics aerodynamics solar flight wind energy

GitHub Events

Total
  • Create event: 34
  • Commit comment event: 1
  • Release event: 23
  • Issues event: 8
  • Watch event: 31
  • Delete event: 27
  • Issue comment event: 21
  • Push event: 129
  • Pull request review event: 45
  • Pull request review comment event: 37
  • Pull request event: 29
  • Fork event: 6
Last Year
  • Create event: 34
  • Commit comment event: 1
  • Release event: 23
  • Issues event: 8
  • Watch event: 31
  • Delete event: 27
  • Issue comment event: 21
  • Push event: 129
  • Pull request review event: 45
  • Pull request review comment event: 37
  • Pull request event: 29
  • Fork event: 6

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 3,640
  • Total Committers: 25
  • Avg Commits per committer: 145.6
  • Development Distribution Score (DDS): 0.724
Past Year
  • Commits: 37
  • Committers: 3
  • Avg Commits per committer: 12.333
  • Development Distribution Score (DDS): 0.432
Top Committers
Name Email Commits
Norberto Goizueta n****3@i****k 1,006
Arturo a****n@i****k 995
Alfonso del Carre f****e@g****m 913
sduess s****0@i****k 321
Salvatore Maraniello s****0@i****k 116
Ben Preston 1****p 108
kccwing 6****g 74
Rafael Palacios r****s@h****m 21
Alvaro Cea a****a@o****m 18
Bernardo Bahia Monteiro b****a@u****u 14
OUT OF ORDER o****v@g****m 13
David Anderegg a****v@z****h 9
bolt 5****i 8
asd a****d 7
Hui Ling h****2@g****m 5
Eriklyy e****r@w****e 3
AntonioWR 6****R 1
Nacho Carnicero i****a@g****m 1
Pete Bachant p****t@g****m 1
Rafael M Mudafort r****f@g****m 1
Unknown k****9@i****k 1
root r****t@a****k 1
Sam Lane s****e@s****k 1
Alvaro Cea a****a@l****n 1
rmorenoramos r****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 83
  • Total pull requests: 194
  • Average time to close issues: 3 months
  • Average time to close pull requests: 28 days
  • Total issue authors: 36
  • Total pull request authors: 22
  • Average comments per issue: 2.13
  • Average comments per pull request: 0.76
  • Merged pull requests: 161
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 31
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 1 month
  • Issue authors: 4
  • Pull request authors: 4
  • Average comments per issue: 1.44
  • Average comments per pull request: 0.71
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ngoiz (14)
  • ArturoMS13 (6)
  • p-smith22 (5)
  • LeeElvis (5)
  • fonsocarre (5)
  • kccwing (4)
  • rafmudaf (3)
  • scolonia (3)
  • petebachant (3)
  • DavidAnderegg (3)
  • DomIno0o (2)
  • outoforderdev (2)
  • x3oo (2)
  • aash-r (2)
  • AntonioWR (2)
Pull Request Authors
  • ngoiz (54)
  • kccwing (47)
  • ben-l-p (31)
  • ArturoMS13 (18)
  • sduess (17)
  • fonsocarre (15)
  • rafapalacios (8)
  • outoforderdev (4)
  • ACea15 (3)
  • bbahiam (3)
  • boltyboi (2)
  • rmorenoramos (2)
  • Eriklyy (2)
  • SJ-Innovation (1)
  • nacho-carnicero (1)
Top Labels
Issue Labels
potential bug (22) bug (11) enhancement (9) Documentation (7) question (5) invalid (3) feature proposal (2) help wanted (1) wontfix (1) good first contribution (1)
Pull Request Labels
enhancement (55) bug (17) Documentation (9) invalid (3) good first contribution (3) feature proposal (3) potential bug (1) help wanted (1) duplicate (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 62 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 14
  • Total maintainers: 1
proxy.golang.org: github.com/imperialcollegelondon/sharpy
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 1.6%
Average: 4.1%
Dependent packages count: 6.5%
Last synced: 4 months ago
proxy.golang.org: github.com/ImperialCollegeLondon/sharpy
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 4 months ago
pypi.org: ic-sharpy

SHARPy is a nonlinear aeroelastic analysis package developed at Imperial College London.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 25 Last month
Rankings
Dependent packages count: 9.4%
Average: 31.3%
Dependent repos count: 53.1%
Maintainers (1)
Last synced: 4 months ago
pypi.org: icl-sharpy

SHARPy is a nonlinear aeroelastic analysis package developed

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 37 Last month
Rankings
Dependent packages count: 10.4%
Average: 34.5%
Dependent repos count: 58.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

.github/workflows/sharpy_tests.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v3 composite
  • egor-tensin/setup-gcc v1 composite
  • s-weigand/setup-conda v1 composite
Dockerfile docker
  • centos 8 build