h2integrate.control.control_strategies.passthrough_openloop_controller#

Classes

PassThroughOpenLoopController(**kwargs)

A simple pass-through controller for open-loop systems.

PassThroughOpenLoopControllerConfig(*, ...)

class h2integrate.control.control_strategies.passthrough_openloop_controller.PassThroughOpenLoopControllerConfig(*, commodity_name, commodity_units)#
Parameters:
  • commodity_name (str)

  • commodity_units (str)

commodity_name: str#
commodity_units: str#
class h2integrate.control.control_strategies.passthrough_openloop_controller.PassThroughOpenLoopController(**kwargs)#

A simple pass-through controller for open-loop systems.

This controller directly passes the input commodity flow to the output without any modifications. It is useful for testing, as a placeholder for more complex controllers, and for maintaining consistency between controlled and uncontrolled frameworks as this 'controller' does not alter the system output in any way.

setup()#

Define inputs and outputs for the component.

This method must be implemented in subclasses to define the specific control inputs and outputs.

Raises:

NotImplementedError -- If the method is not implemented in a subclass.

compute(inputs, outputs)#

Pass through input to output flows.

Parameters:
  • inputs (dict) -- Dictionary of input values. - {commodity_name}_in: Input commodity flow.

  • outputs (dict) -- Dictionary of output values. - {commodity_name}_out: Output commodity flow, equal to the input flow.

setup_partials()#

Declare partial derivatives as unity throughout the design space.

This method specifies that the derivative of the output with respect to the input is always 1.0, consistent with the pass-through behavior.

Note: This method is not currently used and isn't strictly needed if you're creating other controllers; it is included as a nod towards potential future development enabling more derivative information passing.