Skip to content

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

License

Notifications You must be signed in to change notification settings

petebachant/sharpy

 
 

Repository files navigation

Simulation of High Aspect Ratio aeroplanes in Python [SHARPy]

Version badge Build Status Documentation Status codecov License status DOI

SHARPy is an 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.

Contact

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

Physical Models

SHARPy is an aeroelastic solver that 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 beam formulation. 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 ideally suited for steady simulations only.

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

Capabilities

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.
    • Linearisation around a nonlinear equilibrium.
    • Frequency response analysis.
    • Model order reduction.

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

If you think you can add some useful feature to SHARPy, by all means, check out the collaboration guide.

Citing SHARPy

The SHARPy is archived in Zenodo. If you need to cite it, use this:

DOI

This DOI which represents all the versions of the given software package, i.e. the concept of the software package and the ensemble of versions. In Zenodo you can find the DOI of a specific version.

For more information on citing and Zenodo, read more

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.8%
  • Jupyter Notebook 14.2%