LinearAssembler

class sharpy.solvers.linearassembler.LinearAssembler[source]

Warning

Under development - please advise of new features and bugs!

Creates a workspace containing the different linear elements of the state-space.

The user specifies which elements to build sequentially via the linear_system setting.

The most common uses will be:

  • Aerodynamic: sharpy.linear.assembler.LinearUVLM solver

  • Structural: sharpy.linear.assembler.LinearBeam solver

  • Aeroelastic: sharpy.linear.assembler.LinearAeroelastic solver

The solver enables to load a user specific assembly of a state-space by means of the LinearCustom block.

See sharpy.sharpy.linear.assembler.LinearAssembler for a detailed description of each of the state-space assemblies.

Upon assembly of the linear system, the data structure data.linear will be created. The Linear contains the state-space as an attribute. This state space will be the one employed by postprocessors.

Important: running the linear routines requires information on the tangent mass, stiffness and gyroscopic structural matrices therefore the solver solvers.modal.Modal must have been run prior to linearisation. In addition, if the problem includes rigid body velocities, at least one timestep of solvers.DynamicCoupled must have run such that the rigid body velocity is included.

Example:

The typical flow setting used prior to using this solver for an aeroelastic simulation with rigid body dynamics will be similar to:

>>> flow = ['BeamLoader',
>>>        'AerogridLoader',
>>>        'StaticTrim',
>>>        'DynamicCoupled',  # a single time step will suffice
>>>        'Modal',
>>>        'LinearAssembler']

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

Name

Type

Description

Default

Options

linear_system

str

Name of chosen state space assembly type

None

linear_system_settings

dict

Settings for the desired state space assembler

{}

linearisation_tstep

int

Chosen linearisation time step number from available time steps

-1

modal_tstep

int

Timestep in which modal information is stored. Useful if the Modal solver is run at the start of the SHARPy flow.

-1

inout_coordinates

str

Input/output coordinates of the system. Nodal or modal space.

``, ``nodes, modes

retain_inputs

list(int)

List of input channels to retain in the chosen inout_coordinates.

[]

retain_outputs

list(int)

List of output channels to retain in the chosen inout_coordinates.

[]

retain_input_variables

list(str)

List of input channels to retain in the chosen inout_coordinates.

[]

retain_output_variables

list(str)

List of output channels to retain in the chosen inout_coordinates.

[]

recover_accelerations

bool

Recover structural system accelerations as additional outputs.

False