LinearBeam¶
- class sharpy.linear.assembler.linearbeam.LinearBeam[source]¶
State space member
Define class for linear state-space realisation of GEBM flexible-body equations from SHARPy
timestep_infoclass and with the nonlinear structural information.State-space models can be defined in continuous or discrete time (dt required). Modal projection, either on the damped or undamped modal shapes, is also avaiable.
Notes on the settings:
modal_projection={True,False}: determines whether to project the statesonto modal coordinates. Projection over damped or undamped modal shapes can be obtained selecting:
proj_modes = {'damped','undamped'}
while
inout_coords={'modes','nodal'}
determines whether the modal state-space inputs/outputs are modal coords or nodal degrees-of-freedom. If
modesis selected, theKinandKoutgain matrices are generated to transform nodal to modal dofs
dlti={True,False}: if true, generates discrete-time system.The continuous to discrete transformation method is determined by:
discr_method={ 'newmark', # Newmark-beta 'zoh', # Zero-order hold 'bilinear'} # Bilinear (Tustin) transformation
DLTIs can be obtained directly using the Newmark-\(\beta\) method
discr_method='newmark'newmark_damp=xxwithxx<<1.0for full-states descriptions (
modal_projection=False) and modal projection over the undamped structural modes (modal_projection=Trueandproj_modes). The Zero-order holder and bilinear methods, instead, work in all descriptions, but require the continuous state-space equations.
The settings that this solver accepts are given by a dictionary, with the following key-value pairs:
Name
Type
Description
Default
Options
modal_projectionboolUse modal projection
Trueinout_coordsstrBeam state space input/output coordinates
nodesnodes,modesnum_modesintNumber of modes to retain
10discrete_timeboolAssemble beam in discrete time
TruedtfloatDiscrete time system integration time step
0.001proj_modesstrUse
undampedordampedmodesundampeddamped,undampeddiscr_methodstrDiscrete time assembly system method:
newmarknewmark,zoh,bilinearnewmark_dampfloatNewmark damping value. For systems assembled using
newmark0.0001use_eulerboolUse euler angles for rigid body parametrisation
Falseprint_infoboolDisplay information on screen
TruegravityboolLinearise gravitational forces
Falseremove_dofslist(str)Remove desired degrees of freedom
[]eta,V,W,orientremove_sym_modesboolRemove symmetric modes if wing is clamped
False- assemble(t_ref=None)[source]¶
Assemble the beam state-space system.
- Parameters
t_ref (float) – Scaling factor to non-dimensionalise the beam’s time step.
Returns:
- remove_symmetric_modes()[source]¶
Removes symmetric modes when the wing is clamped at the midpoint.
It will force the wing tip displacements in
zto be postive for all modes.Updates the mode shapes matrix, the natural frequencies and the number of modes.
- unpack_ss_vector(x_n, u_n, struct_tstep)[source]¶
Warning
- Under development. Missing:
Accelerations
Double check the cartesian rotation vector
Tangential operator for the moments
Takes the state \(x = [\eta, \dot{\eta}]\) and input vectors \(u = N\) of a linearised beam and returns a SHARPy timestep instance, including the reference values.
- Parameters
x_n (np.ndarray) – Structural beam state vector in nodal space
y_n (np.ndarray) – Beam input vector (nodal forces)
struct_tstep (utils.datastructures.StructTimeStepInfo) – Reference timestep used for linearisation
- Returns
new timestep with linearised values added to the reference value
- Return type