StepUvlm

class sharpy.solvers.stepuvlm.StepUvlm[source]

StepUVLM is the main solver to use for unsteady aerodynamics.

The desired flow field is injected into the simulation by means of a generator. For a list of available velocity field generators see the documentation page on generators which can be found under SHARPy Source Code.

Typical generators could be:

amongst others.

The settings that this solver accepts are given by a dictionary, with the following key-value pairs:

Name

Type

Description

Default

Options

print_info

bool

Print info to screen

True

num_cores

int

Number of cores to use in the VLM lib

0

n_time_steps

int

Number of time steps to be run

100

convection_scheme

int

0: fixed wake, 2: convected with background flow;``3``: full force-free wake

3

0, 2, 3

dt

float

Time step

0.1

iterative_solver

bool

Not in use

False

iterative_tol

float

Not in use

0.0001

iterative_precond

bool

Not in use

False

velocity_field_generator

str

Name of the velocity field generator to be used in the simulation

SteadyVelocityField

velocity_field_input

dict

Dictionary of settings for the velocity field generator

{}

gamma_dot_filtering

int

Filtering parameter for the Welch filter for the Gamma_dot estimation. Used when unsteady_force_contribution is on.

0

rho

float

Air density

1.225

cfl1

bool

If it is True, it assumes that the discretisation complies with CFL=1

True

vortex_radius

float

Distance between points below which induction is not computed

sharpy.utils.constants.vortex_radius_def

vortex_radius_wake_ind

float

Distance between points below which induction is not computed in the wake convection

sharpy.utils.constants.vortex_radius_def

interp_coords

int

Coordinates to use for wake description: cartesian(0) or cylindrical_z(1)

0

0, 1

filter_method

int

Method to filter the points: no filter (0) moving average(2)

0

0, 2

interp_method

int

Method of interpolation: linear(0), parabolic(1), splines(2), slerp around z(3), slerp around yaw_slerp(4)

0

0, 1, 2, 3, 4

yaw_slerp

float

Yaw angle in radians to be used when interp_metod == 4

0

centre_rot

list(float)

Coordinates of the centre of rotation to perform slerp interpolation or cylindrical coordinates

[0.0, 0.0, 0.0]

quasi_steady

bool

Use quasi-steady approximation in UVLM

False

only_nonlifting

bool

Consider nonlifting body interactions

False

nonlifting_body_interactions

bool

Consider nonlifting body interactions

False

phantom_wing_test

bool

Debug option

False

centre_rot_g

list(float)

Centre of rotation in G FoR around which rbm_vel_g is applied

[0.0, 0.0, 0.0]

ignore_first_x_nodes_in_force_calculation

int

Ignores the forces on the first user-specified number of nodes of all surfaces.

0

initialise(data, custom_settings=None, restart=False)[source]

To be called just once per simulation.

run(**kwargs)[source]

Runs a step of the aerodynamics as implemented in UVLM.