26 #include "Eigen/Dense"
27 #include "Eigen/Geometry"
83 void deployResults(
double* vals, std::vector<int>* removable_ids);
92 bool createEquationsNRmethod(
double*& eqs,
double*& vals, std::vector<int>* removable_ids);
102 bool createEquationNRmethod(
Node* node,
double* eqn,
double& val, std::vector<int>* removable_ids);
113 bool createEquation(
Element* vsource,
double* eqn,
double& val);
118 void removeColumn(Eigen::MatrixXd& matrix,
const int colToRemove);
125 bool solveEquationsNRmethod(
double* eqn,
double* vals, std::vector<int>*);
127 bool _solveNRmethod();
vector< Element * > * voltageSources
double getCurrent(string name)
int getNumVoltageSources()
vector< Element * > * getCurrentSources()
vector< Element * > * elements
Element * addElement(string name, double value, Node *pNode, Node *nNode, Element::ElementType et)
void eraseNode(Node *node)
void detectRemovableNodes(std::vector< int > *removable_ids)
void replaceAndDeleteNode(Node *unusedNode, Node *newNode)
Node * getNode(string name)
double getVoltage(string name)
Element * getVoltageSource(int id)
void deployResults(double *vals, std::vector< int > *removable_ids)
Element * getElement(string name)
double alphaBest
Best alpha scaling value.
bool checkCircuit(std::string substationId="")
Node * addNode(string name)
double getResistance(string name)
void eraseElement(Element *element)