Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
Capacitor Class Reference

Models a single- or multi-phase capacitive branch. More...

#include <Capacitor.h>

Inheritance diagram for Capacitor:
Collaboration diagram for Capacitor:

Public Member Functions

 Capacitor (const std::string &symbol, const std::string &location, int pins, const std::vector< double > &capacitance)
 Construct a capacitor with per-phase or uniform capacitance values.
 
 ~Capacitor ()
 
void writeMNAmatrix (SymEngine::DenseMatrix &, std::unordered_map< Bus *, int > &, int, std::map< Element *, std::vector< RCP< const Basic > > > &) override
 Stamp this element into the symbolic MNA matrix (override in derived classes).
 
void printElementValues () override
 Print extended element-specific values (override in derived classes).
 
- Public Member Functions inherited from Element
 Element (const std::string &symbol, const std::string &location, int inputPins, int outputPins)
 Construct an element with symbol, location, and pin counts.
 
virtual ~Element ()
 Virtual destructor for derived-class cleanup.
 
int getInputPins () const
 Get the number of input pins/phases.
 
int getOutputPins () const
 Get the number of output pins/phases.
 
void setInputPins (int pins)
 Set the number of input pins/phases.
 
void setOutputPins (int pins)
 Set the number of output pins/phases.
 
void setTransformation (bool flag)
 Enable or disable coordinate transformation for this element.
 
std::string getElementSymbol () const
 Get the element type symbol.
 
std::vector< Bus * > getBuses ()
 Collect all buses connected to this element.
 
int getBusIndex (Bus *bus)
 Find the terminal index associated with a given bus.
 
BusgetOtherBus (Bus *)
 Get the bus connected at the opposite terminal from a given bus.
 
const std::map< Bus *, int > & getConnections () const
 Const access to the bus-to-terminal connection map.
 
std::map< Bus *, int > getConnections ()
 Copy of the bus-to-terminal connection map.
 
string getElementLocation () const
 Get the element's grid or partition location label.
 
void attachBus (Bus *, int)
 Attach a bus to a specific element terminal.
 
void printElementInfo () const
 Print basic element metadata (symbol, input/output pin counts).
 
void writeFile (double start_frequency, double end_frequency, int number_of_points)
 Write Y-parameter matrix samples over a frequency sweep to a file.
 
void plotYParameters (double start_frequency, double end_frequency, int number_of_points)
 Plot Y-parameter matrix entries versus frequency.
 
virtual void plotEigenvalues ()
 Plot eigenvalues of the element model (override in state-space elements).
 
virtual void plotParticipationFactors ()
 Plot participation factors (override in state-space elements).
 
virtual std::vector< std::vector< complex< double > > > compute_y_parameters (double frequency)
 Compute complex Y-parameters at a single frequency.
 
virtual DenseMatrix get_y_parameters ()
 Get the symbolic or stored Y-parameter matrix.
 
virtual std::vector< std::vector< complex< double > > > apply_transformation (std::vector< std::vector< complex< double > > > &Y1, std::vector< std::vector< complex< double > > > &Y2)
 Apply a coordinate or coupling transformation to Y-parameter blocks.
 
virtual int getNumberOfInternalStates () const
 Number of internal state variables for dynamic elements.
 
virtual int getNumberOfPlantStates () const
 Number of plant states exposed for simulation (may differ from internal states).
 
virtual std::vector< MatrixXcd > simulateInputStep (const std::vector< MatrixXcd > &states, int nKeep) const
 Simulate a step response given input states (override in dynamic elements).
 
virtual std::vector< RCP< const Basic > > getVirtualInputSymbols () const
 Return symbolic names for virtual inputs used in stamping.
 
virtual map_basic_basic getParameterSubstitutions () const
 Return parameter substitutions for symbolic evaluation.
 
virtual void computePowerFlow (std::map< std::string, double > &branchData, std::map< std::string, double > &globalParams) const
 Compute branch power-flow quantities (override in derived classes).
 
std::map< std::string, double > getOPFInfo () const
 Get stored OPF-related metadata for this element.
 
void setOPFInfo (std::map< std::string, double > &info)
 Store OPF-related metadata for this element.
 

Additional Inherited Members

- Protected Attributes inherited from Element
bool transformation = false
 
std::string element_symbol
 
std::string element_location
 
int input_pins
 
int output_pins
 
std::map< Bus *, int > connections
 
std::map< std::string, double > element_OPF_info = {}
 
DenseMatrix Y_matrix
 

Detailed Description

Models a single- or multi-phase capacitive branch.

Constructor & Destructor Documentation

◆ Capacitor()

Capacitor::Capacitor ( const std::string &  symbol,
const std::string &  location,
int  pins,
const std::vector< double > &  capacitance 
)

Construct a capacitor with per-phase or uniform capacitance values.

Parameters
symbolElement identifier.
locationNetwork area or location string.
pinsNumber of pins (phases).
capacitanceCapacitance values in farads (one value or one per pin).

References s, and Element::Y_matrix.

◆ ~Capacitor()

Capacitor::~Capacitor ( )

Member Function Documentation

◆ printElementValues()

void Capacitor::printElementValues ( )
overridevirtual

Print extended element-specific values (override in derived classes).

Prints the symbolic Y-parameter matrix of the element to the console.

Reimplemented from Element.

References Element::getElementSymbol(), and Element::Y_matrix.

◆ writeMNAmatrix()

void Capacitor::writeMNAmatrix ( SymEngine::DenseMatrix &  ,
std::unordered_map< Bus *, int > &  ,
int  ,
std::map< Element *, std::vector< RCP< const Basic > > > &   
)
overridevirtual

Stamp this element into the symbolic MNA matrix (override in derived classes).

Parameters
mnaGlobal MNA matrix being assembled.
busIndexMapMaps buses to global node indices.
offsetCurrent matrix offset for stamping.
elementSymbolsPer-element symbolic substitution table.

Reimplemented from Element.

References Element::connections, Element::getElementSymbol(), and Element::input_pins.


The documentation for this class was generated from the following files: