ControlSurfacePidController

class sharpy.controllers.controlsurfacepidcontroller.ControlSurfacePidController[source]

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

Name Type Description Default
time_history_input_file str Route and file name of the time history of desired state None
P float Proportional gain of the controller None
I float Integral gain of the controller 0.0
D float Differential gain of the controller 0.0
input_type str Quantity used to define the reference state. Supported: pitch None
dt float Time step of the simulation None
controlled_surfaces list(int) Control surface indices to be actuated by this controller None
controlled_surfaces_coeff list(float) Control surface deflection coefficients. For example, for antisymmetric deflections => [1, -1]. [1.0]
write_controller_log bool Write a time history of input, required input, and control True
controller_log_route str Directory where the log will be stored ./output/
control(data, controlled_state)[source]

Main routine of the controller. Input is data (the self.data in the solver), and currrent_state which is a dictionary with [‘structural’, ‘aero’] time steps for the current iteration.

Parameters:
  • data – problem data containing all the information.
  • controlled_statedict with two vars: structural and aero containing the timestep_info that will be returned with the control variables.
Returns:

A dict with structural and aero time steps and control input included.