# SHARPy

A nonlinear aeroelastic simulation analysis package for very flexible aircraft and wind turbines.

View the Project on GitHub ImperialCollegeLondon/sharpy

# Simulation of High Aspect Ratio airplanes in Python

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.

## 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 current version of SHARPy is archived in Zenodo. If you need to cite it, use this:

SHARPy has also a concept DOI which represents all the versions of the given software package, i.e. the concept of the software package and the ensemble of versions.

## Continuous Integration Status

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

Master

Develop