Template Class Branch

Inheritance Relationships

Base Type

Class Documentation

template<typename scalar_type, typename index_type>
class Branch : public GridKit::PhasorDynamics::Component<scalar_type, index_type>

Implementation of a line or off-nominal transformer branch between two buses.

The model is implemented in Cartesian coordinates. Positive current direction is into the busses.

Public Functions

Branch(BusT *bus1, BusT *bus2)

Constructor for a line or off-nominal transformer branch.

Model size:

  • Number of equations = 0

  • Number of internal variables = 0

Branch(BusT *bus1, BusT *bus2, RealT R, RealT X, RealT G, RealT B, RealT tap = 1.0, RealT phase = 0.0)

Construct a new Branch.

Parameters:
  • bus1 – - pointer to bus-1

  • bus2 – - pointer to bus-2

  • R – - line series resistance

  • X – - line series reactance

  • G – - total shunt conductance

  • B – - total shunt susceptance

  • tap – - off-nominal tap magnitude on bus1 side

  • phase – - phase shift angle in radians

virtual ~Branch()

Destroy the Branch.

virtual int setGridKitComponentID(IdxT) final override

Set the component ID.

virtual int allocate() final override

allocate method computes sparsity pattern of the Jacobian.

virtual int initialize() final override

Initialization of the branch model

virtual int tagDifferentiable() final override

Identify differential variables.

virtual int evaluateResidual() final override

Residual contribution of the branch is computed and pushed to the terminal buses.

virtual int evaluateJacobian() final override

Jacobian evaluation not implemented.

Jacobian evaluation experimental.

Returns:

int - error code, 0 = success

virtual const Model::VariableMonitorBase *getMonitor() const override

Get non-owning reference to monitor.