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. []