ImperialCollegeLondon / sharpy

Licence: BSD-3-Clause license
Simulation of High Aspect Ratio aeroplanes and wind turbines in Python: a nonlinear aeroelastic code

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to sharpy

sts
sts: struct to struct transformers generator.
Stars: ✭ 18 (-77.78%)
Mutual labels:  structures
ccrawl
clang-based search engine for C/C++ data structures, classes, prototypes & macros
Stars: ✭ 82 (+1.23%)
Mutual labels:  structures
amr-wind
AMReX-based structured wind solver
Stars: ✭ 46 (-43.21%)
Mutual labels:  wind-turbines
lessram
Pure PHP implementation of array data structures that use less memory.
Stars: ✭ 20 (-75.31%)
Mutual labels:  structures
PyVLM
Vortex Lattice Method library written in Python
Stars: ✭ 33 (-59.26%)
Mutual labels:  aeronautics
Mergo
Written by Dario Castañé.
Stars: ✭ 1,808 (+2132.1%)
Mutual labels:  structures
regenny
A reverse engineering tool to interactively reconstruct structures and generate header files
Stars: ✭ 58 (-28.4%)
Mutual labels:  structures
apart
Get all your structure and rip it apart.
Stars: ✭ 26 (-67.9%)
Mutual labels:  structures
semicon
A collection of icons for the Semantic Web and Linked Open Data world.
Stars: ✭ 20 (-75.31%)
Mutual labels:  structures
ezaero
ezaero - Easy aerodynamics in Python ✈️
Stars: ✭ 24 (-70.37%)
Mutual labels:  aeronautics
MetarParser
A java program decoding metar and taf
Stars: ✭ 30 (-62.96%)
Mutual labels:  aeronautics
WindTurbineClassification
My master's dissertation on wind turbine fault prediction using machine learning
Stars: ✭ 31 (-61.73%)
Mutual labels:  wind-turbines

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 developed at the Department of Aeronautics, Imperial College London. It can be used for the structural, aerodynamic and aeroelastic analysis of flexible aircraft, flying wings and wind turbines.

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 nonlinear, geometrically-exact displacement and rotation-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 input problems can be structural, aerodynamic or coupled, yielding an aeroelastic system.

Capabilities

At its core, SHARPy is a nonlinear aeroelastic analysis package that can be used on both free-flying aircraft, clamped structures 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
  • 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.
    • Balancing reduction methods.

Documentation

The documentation for SHARPy can be found here.

Installing SHARPy

For the latest documentation, see the installation docs.

As of version v1.0.1, 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:

Master Build Status

Develop Build Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].