39 #ifndef ZeroDimensionalCircuitData_H 40 #define ZeroDimensionalCircuitData_H 1
43 #include <lifev/core/array/MatrixEpetra.hpp> 46 #include <lifev/zero_dimensional/fem/ZeroDimensionalBCHandler.hpp> 47 #include <lifev/zero_dimensional/solver/ZeroDimensionalDefinitions.hpp> 48 #include <lifev/zero_dimensional/fem/ZeroDimensionalBC.hpp> 67 typedef std::shared_ptr< bc_Type > bcPtr_Type;
72 typedef std::shared_ptr< vector_Type > vectorPtr_Type;
99 virtual void showMe (
const Int& flag = 0 );
244 M_nodeIndex.push_back (index);
266 return M_nodeIndex.at (position);
612 M_voltage = M_bc->bc ( M_nodeIndex ).evaluate (time);
618 M_deltaVoltage = M_bc->bc ( M_nodeIndex +
BC_CONSTANT ).evaluate (time);
639 return M_bc->bc ( M_nodeIndex ).evaluate (time);
644 return M_bc->bc ( M_nodeIndex +
BC_CONSTANT ).evaluate (time);
693 M_current = M_bc->bc ( M_nodeIndex ).evaluate (time);
704 return M_bc->bc ( M_nodeIndex ).evaluate (time);
789 virtual void showMe (
const Int& flag = 0 );
807 M_elementListIndex.push_back (index);
817 M_nodeListIndex.push_back (index);
848 return M_elementListIndex.at (position);
858 return M_nodeListIndex.at (position);
987 M_voltage = M_element->voltageByTime (time);
988 M_element->setVoltageByTime (time);
993 M_deltaVoltage = M_element->deltaVoltageByTime (time);
994 M_element->setDeltaVoltageByTime (time);
999 return M_element->voltage();
1004 return M_element->voltageByTime (time);
1009 return M_element->deltaVoltageByTime (time);
1061 M_elementList->push_back (theElement);
1071 return M_elementList->at (index);
1112 return M_elementList->size();
1117 return M_resistorList->size();
1122 return M_capacitorList->size();
1127 return M_inductorList->size();
1132 return M_diodeList->size();
1137 return M_voltageSourceList->size();
1142 return M_currentSourceList->size();
1148 M_resistorList->push_back (resistorPtr);
1154 M_capacitorList->push_back (capacitorPtr);
1160 M_inductorList->push_back (inductorPtr);
1166 M_diodeList->push_back (diodePtr);
1172 M_currentSourceList->push_back (currentSourcePtr);
1178 M_voltageSourceList->push_back (voltageSourcePtr);
1184 (*M_voltageSourceMap) [id] = voltageSource;
1189 return (*M_voltageSourceMap) [id] ;
1230 virtual void showMe (
const Int& flag = 0 );
1234 return M_nodeList->at (index);
1239 return M_unknownNodeList->at (Index);
1244 return M_knownNodeList->at (Index);
1264 return (*M_knownNodeMap) [id];
1269 return (*M_unknownNodeMap) [id];
1275 M_nodeList->push_back (theNode);
1281 M_unknownNodeList->push_back (unknownNode);
1287 M_knownNodeList->push_back (knownNode);
1293 (*M_knownNodeMap) [id] = knownNode;
1299 (*M_unknownNodeMap) [id] = unknownNode;
1304 return M_unknownNodeList->size();
1309 return M_knownNodeList->size();
1314 return M_nodeList->size();
1355 void buildCircuit (
const char* fileName, bcPtr_Type bc);
1381 void updateABC (matrix_Type& A, matrix_Type& B, vector_Type& C);
1393 void fixBC (bcPtr_Type bc);
1426 explicit OutPutFormat ( std::string width, std::string precision, std::string whiteSpace,
Int bufferSize);
void connectElement(zeroDimensionalNodeSPtr_Type &Nodes)
Connect elements to the nodes.
VectorEpetra - The Epetra Vector format Wrapper.
void fixBC(bcPtr_Type bc)
void showMe(const Int &flag=0)
ZeroDimensionalElementPassiveInductor - Inductor.
ZeroDimensionalNodeKnown(const zeroDimensionalElementVoltageSourcePtr_Type &theElement)
Contructor.
void extractSolution(const ZeroDimensionalNodeS &nodes)
Compute outputs (currents and voltages) from the solution vector after each succesful iteration...
void buildABC(matrix_Type &A, matrix_Type &B, vector_Type &C, const zeroDimensionalNodeSPtr_Type &Nodes)
Contribution of the element of matrix {A} and {B} and vector {C}.
void showMe(const Int &flag=0)
virtual ~ZeroDimensionalCircuitData()
Destructor.
std::vector< zeroDimensionalNodeKnownPtr_Type > vecZeroDimensionalNodeKnownPtr_Type
void setalpha(const Real &alpha)
current = beta * exp(alpha * (voltage - forwardBias )) - (beta * exp(alpha * ( - forwardBias ))) ...
const ptrVecZeroDimensionalNodeKnownPtr_Type knownNodeList() const
void createElementCapacitor(Int ID, Int node1, Int node2, Real parameter)
vecZeroDimensionalElementPassiveInductorPtr_Type::iterator iterZeroDimensionalElementPassiveInductor_Type
virtual const Real & voltage() const
virtual void showMe(const Int &flag=0)
ZeroDimensionalElementCurrentSource()
Constructor.
ZeroDimensionalElementPassiveDiode()
Constructor.
vecZeroDimensionalElementPassiveCapacitorPtr_Type::iterator iterZeroDimensionalElementPassiveCapacitor_Type
ZerodimentionalElementPassiveCapacitor - Capacitor.
ZeroDimensionalElementPassive - A class for passive elements.
std::shared_ptr< ZeroDimensionalNodeKnown > zeroDimensionalNodeKnownPtr_Type
void setknownNodeList(const zeroDimensionalNodeKnownPtr_Type &knownNode)
add knownNode to the knwnNode List
void createElementCurrentSource(Int node1)
Real deltaVoltageByTime(Real &time) const
vecZeroDimensionalElementPassiveDiodePtr_Type::iterator iterZeroDimensionalElementPassiveDiode_Type
Int knownNodeCounter() const
std::vector< Int > vecInt_Type
const ptrVecZeroDimensionalElementPtr_Type & elementList() const
Real voltageByTime(Real &time) const
std::shared_ptr< vecZeroDimensionalElementCurrentSourcePtr_Type > ptrVecZeroDimensionalElementCurrentSourcePtr_Type
virtual ~ZeroDimensionalElementCurrentSource()
Destructor.
virtual ~ZeroDimensionalElementPassive()
Destructor.
virtual void connectElement(zeroDimensionalNodeSPtr_Type &nodes)=0
Connect elements to the nodes.
vecInt_Type M_elementListIndex
void buildABC(matrix_Type &A, matrix_Type &B, vector_Type &C, const zeroDimensionalNodeSPtr_Type &Nodes)
Contribution of the element of matrix {A} and {B} and vector {C}.
virtual ~ZeroDimensionalElementPassiveCapacitor()
Destructor.
void setElementListIndex(const Int &index)
add an element index to the elelemt list.
std::shared_ptr< ZeroDimensionalNodeS > zeroDimensionalNodeSPtr_Type
ZeroDimensionalCircuitData - Container of circuit data.
void connectElement(zeroDimensionalNodeSPtr_Type &nodes)
Impleaments the abstarct class for passive elements.
ZeroDimensionalNodeKnown()
Contructor.
const Int & equationRow() const
const zeroDimensionalNodeUnknownPtr_Type unknownNodeMapAt(Int &id) const
std::shared_ptr< mapNodeUnknown_Type > mapNodeUnknownPtr_Type
std::shared_ptr< vecZeroDimensionalElementPassiveCapacitorPtr_Type > ptrVecZeroDimensionalElementPassiveCapacitorPtr_Type
void createKnownNode(const Int &id, const zeroDimensionalElementVoltageSourcePtr_Type &theElement)
void calculateCurrentBalance(const ZeroDimensionalElementS &Elements)
Calculate current balance at node.
void setelementList(const zeroDimensionalElementPtr_Type &theElement)
add element to the list.
vecZeroDimensionalElementVoltageSourcePtr_Type::iterator iterZeroDimensionalElementVoltageSourcePtr_Type
std::vector< zeroDimensionalElementPassiveDiodePtr_Type > vecZeroDimensionalElementPassiveDiodePtr_Type
void importFromHDF5(std::string const &fileName, std::string const &matrixName="matrix")
Read a matrix from a HDF5 (.h5) file.
ZerodimentionalElementPassiveDiode - Diode.
ZeroDimensionalNode()
Constructor.
std::shared_ptr< matrix_Type > matrixPtr_Type
const ptrVecZeroDimensionalElementPassiveCapacitorPtr_Type & capacitorList() const
std::shared_ptr< vecZeroDimensionalNodeKnownPtr_Type > ptrVecZeroDimensionalNodeKnownPtr_Type
std::shared_ptr< ZeroDimensionalElementPassiveDiode > zeroDimensionalElementPassiveDiodePtr_Type
const Real & currentBalance() const
Int createElementVoltageSource(Int node1)
const zeroDimensionalNodeSPtr_Type Nodes() const
get node container object.
virtual ~ZeroDimensionalNodeKnown()
Destructor.
const Real & alpha() const
virtual ~ZeroDimensionalElement()
Destructor.
virtual ~ZeroDimensionalElementPassiveInductor()
Destructor.
void showMe(const Int &flag=0)
Show some information.
ZeroDimensionalBCHandler - A boundary conditions handler for zero-dimensional models.
const Real & beta() const
void showMe(const Int &flag=0)
Show some information.
virtual void showMe(const Int &flag=0)
const Real & voltage() const
void setknownNodeMap(const Int &id, const zeroDimensionalNodeKnownPtr_Type &knownNode)
add knownNode to the map. A map from the index (id) to the object.
ptrVecZeroDimensionalElementPassiveInductorPtr_Type M_inductorList
ptrVecZeroDimensionalElementPassiveDiodePtr_Type M_diodeList
Real deltaVoltageByTime(const Real &time) const
Int voltageSourceCounter() const
ZeroDimensionalElement - The base element class.
void setbeta(const Real &beta)
const std::string enum2string(const ZeroDimensionalElementType &type)
void extractSolution(const ZeroDimensionalNodeS &nodes)
Compute outputs (currents and voltages) from the solution vector after each succesful iteration...
int32_type Int
Generic integer data.
const ptrVecZeroDimensionalElementPassiveResistorPtr_Type & resistorList() const
const ptrVecZeroDimensionalElementCurrentSourcePtr_Type & currentSourceList() const
std::vector< zeroDimensionalElementCurrentSourcePtr_Type > vecZeroDimensionalElementCurrentSourcePtr_Type
virtual ~ZeroDimensionalElementPassiveResistor()
Destructor.
ZeroDimensionalNodeType M_type
void updateABC(matrix_Type &A, matrix_Type &B, vector_Type &C)
create matrix A,B and C.
virtual void buildABC(matrix_Type &, matrix_Type &, vector_Type &, const zeroDimensionalNodeSPtr_Type &)
Contribution of the element of matrix {A} and {B} and vector {C}.
std::shared_ptr< ZeroDimensionalElementS > zeroDimensionalElementSPtr_Type
void updateInverseJacobian(const UInt &iQuadPt)
const zeroDimensionalNodeKnownPtr_Type knownNodeMapAt(Int &id) const
const ZeroDimensionalElementType & type() const
ZeroDimensionalElementS()
constructor
const Real & voltage() const
const Int & nodeIndex(const Int &position) const
get the node index connected to the node.
virtual ~ZeroDimensionalElementSource()
Destructor.
void setunknownNodeMap(const Int &id, const zeroDimensionalNodeUnknownPtr_Type &unknownNode)
add unknownNode to the map. A map from the index (id) to the object.
Int inductorCounter() const
ZeroDimensionalCircuitData()
Constructor.
void setVoltageSourceList(const zeroDimensionalElementVoltageSourcePtr_Type &voltageSourcePtr)
add voltgeSource to the voltage source list.
Int capacitorCounter() const
const ZeroDimensionalNodeType & type() const
ZeroDimensionalElementPassiveInductor()
Constructor.
Int unknownNodeCounter() const
const Real & current() const
void createElementInductor(Int ID, Int node1, Int node2, Real parameter)
std::shared_ptr< vecZeroDimensionalElementPassiveDiodePtr_Type > ptrVecZeroDimensionalElementPassiveDiodePtr_Type
std::shared_ptr< vecZeroDimensionalNodePtr_Type > ptrVecZeroDimensionalNodePtr_Type
const zeroDimensionalNodeUnknownPtr_Type unknownNodeListAt(const Int &Index) const
virtual void setDeltaVoltage(const Real &deltaVoltage)
void showMe(const Int &flag=0)
Show some information.
const ptrVecZeroDimensionalElementPassiveDiodePtr_Type & diodeList() const
void createElementDiode(Int ID, Int node1, Int node2, Real forwardBias, Real alpha, Real beta)
const Int & variableIndex() const
std::vector< zeroDimensionalNodeUnknownPtr_Type > vecZeroDimensionalNodeUnknownPtr_Type
std::map< Int, zeroDimensionalNodeKnownPtr_Type > mapNodeKnown_Type
const Int & variableIndex() const
get variable index in solution vector and
void createKnownNode(const Int &id)
ZeroDimensionalElementPassiveResistor()
Contructor.
zeroDimensionalElementSPtr_Type M_Elements
void buildCircuit(const char *fileName, bcPtr_Type bc)
create the circuit.
virtual ~ZeroDimensionalNodeUnknown()
Destructor.
virtual ~ZeroDimensionalNode()
Destructor.
void showMe(const Int &flag=0)
Show some information.
std::shared_ptr< ZeroDimensionalElementCurrentSource > zeroDimensionalElementCurrentSourcePtr_Type
ZeroDimensionalNodeKnown - This class defines the known node class. A Voltage Source element is conne...
Real currentByTime(const Real &time) const
const zeroDimensionalNodeKnownPtr_Type knownNodeListAt(const Int &Index) const
ptrVecZeroDimensionalNodeKnownPtr_Type M_knownNodeList
const zeroDimensionalNodePtr_Type & nodeListAt(const Int &index) const
virtual void extractSolution(const ZeroDimensionalNodeS &)
Compute outputs (currents and voltages) from the solution vector after each succesful iteration...
ZeroDimensionalNodeS()
Constructor.
void setId(const Int &id)
ptrVecZeroDimensionalElementPassiveCapacitorPtr_Type M_capacitorList
const Real & deltaCurrent() const
Get derivative of current respect to time.
std::vector< zeroDimensionalElementPtr_Type > vecZeroDimensionalElementPtr_Type
Real voltageByTime(const Real &time) const
ZeroDimensionalElementVoltageSource - Voltage Source.
const Int & equationRow() const
get equation row for in matrix A,B and C.
const zeroDimensionalElementSPtr_Type Elements() const
get element container object.
virtual void setVoltage(const Real &voltage)
Int elementCounter() const
total number of elements including sources.
std::shared_ptr< ZeroDimensionalElement > zeroDimensionalElementPtr_Type
virtual Real deltaVoltage() const
void calculateCurrent(const ZeroDimensionalNodeS &Nodes, const ZeroDimensionalElementS &Elements)
calculate current passing outward in voltage source.
void setElement(const zeroDimensionalElementVoltageSourcePtr_Type &element)
Set the VoltageSource Element which is connected to the Node.
void setNodeIndex(const Real &index)
Real direction(const Int &) const
This method specifies the convention of current direction in an element.
vecZeroDimensionalElementPtr_Type::iterator iterZeroDimensionalElement_Type
virtual ~ZeroDimensionalNodeS()
Destructor.
const vecInt_Type & elementListIndex() const
mapNodeUnknownPtr_Type M_unknownNodeMap
void setnodeList(const zeroDimensionalNodePtr_Type &theNode)
add node to the list
vecZeroDimensionalNodePtr_Type::iterator iterZeroDimensionalNode_Type
const ptrVecZeroDimensionalElementVoltageSourcePtr_Type & voltageSourceList() const
Int currentSourceCounter() const
ZeroDimensionalElementType
void setBC(const bcPtr_Type &bc)
Set BC handler.
ZeroDimensionalElementS - Container of elements.
const std::string enum2string(const ZeroDimensionalNodeType &type) const
Real direction(const Int &nodeId) const
This method specifies the convention of current direction in an element.
void setDeltaVoltageByTime(const Real &time)
std::vector< zeroDimensionalElementPassiveCapacitorPtr_Type > vecZeroDimensionalElementPassiveCapacitorPtr_Type
ZeroDimensionalElementPassiveResistor - Resistor.
void setVoltageSourceMap(const Int &id, const zeroDimensionalElementVoltageSourcePtr_Type &voltageSource)
add object to the map from voltage source index to the voltage source object.
std::shared_ptr< vecZeroDimensionalElementPassiveResistorPtr_Type > ptrVecZeroDimensionalElementPassiveResistorPtr_Type
virtual void assignVariableIndex(const Int &index)
Set the variable index and equation row index for Inductor.
ZeroDimensionalNodeUnknown()
Constructor.
double Real
Generic real data.
ptrVecZeroDimensionalNodeUnknownPtr_Type M_unknownNodeList
void setDiodeList(const zeroDimensionalElementPassiveDiodePtr_Type &diodePtr)
add diode to the diode list.
void showMe(const Int &flag=0)
Show some information.
void setVoltageByTime(const Real &time)
ZeroDimensionalElementVoltageSource()
Constructor.
Int resistorCounter() const
vecZeroDimensionalElementCurrentSourcePtr_Type::iterator iterZeroDimensionalElementCurrentSource_Type
void setforwardBias(const Real &forwardBias)
const ptrVecZeroDimensionalNodePtr_Type nodeList() const
ZeroDimensionalNodeS - Container of nodes.
void createUnknownNode(const Int &id)
vecZeroDimensionalNodeUnknownPtr_Type::iterator iterZeroDimensionalNodeUnknown_Type
void showMe(const Int &flag=0)
Display some information.
std::map< Int, zeroDimensionalElementVoltageSourcePtr_Type > mapVoltageSource_Type
void createElementResistor(Int ID, Int node1, Int node2, Real parameter)
void setId(const Int &id)
virtual ~ZeroDimensionalElementVoltageSource()
Destructor.
const zeroDimensionalElementPtr_Type & elementListAt(const Int &index) const
get element.
std::shared_ptr< vecZeroDimensionalElementPtr_Type > ptrVecZeroDimensionalElementPtr_Type
ZeroDimensionalNode - The base node class.
Real deltaVoltage() const
ptrVecZeroDimensionalElementPtr_Type M_elementList
List of Elements Ptr.
void setunknownNodeList(const zeroDimensionalNodeUnknownPtr_Type &unknownNode)
add unknownNode to the unknwnNode List
virtual ~ZeroDimensionalElementS()
Destructor.
void connectElement(zeroDimensionalNodeSPtr_Type &Nodes)
Connect elements to the nodes.
void setInductorList(const zeroDimensionalElementPassiveInductorPtr_Type &inductorPtr)
add inductor to the inductor list.
void buildABC(matrix_Type &A, matrix_Type &B, vector_Type &C, const zeroDimensionalNodeSPtr_Type &Nodes)
Contribution of the element of matrix {A} and {B} and vector {C}.
std::shared_ptr< vecZeroDimensionalElementVoltageSourcePtr_Type > ptrVecZeroDimensionalElementVoltageSourcePtr_Type
void extractSolution(const ZeroDimensionalNodeS &nodes)
Compute outputs (currents and voltages) from the solution vector after each succesful iteration...
void assignVariableIndex(const Int &index)
assign the index of the unknown voltage.
vecInt_Type M_nodeListIndex
std::shared_ptr< mapNodeKnown_Type > mapNodeKnownPtr_Type
void setCurrent(const Real ¤t)
ptrVecZeroDimensionalElementPassiveResistorPtr_Type M_resistorList
void setNodeIndex(const Int &index)
add the node to the list.
ZeroDimensionalElement()
Constructor.
const ptrVecZeroDimensionalNodeUnknownPtr_Type & unknownNodeList() const
std::shared_ptr< vecZeroDimensionalNodeUnknownPtr_Type > ptrVecZeroDimensionalNodeUnknownPtr_Type
const Int & elementListIndexAt(const Int &position) const
const Int & nodeListIndexAt(const Int &position) const
ZeroDimensionalElementType M_type
void updateCircuitDataFromY(const Real &t, const Epetra_Vector *y, const Epetra_Vector *yp)
(shallow) update the circuit data from the solution.
void setDeltaCurrent(const Real &deltaCurrent)
Set derivative of current respect to time.
const Real & parameter() const
get the parameter (1/R, 1/L, C, 1/R_{eff})
virtual Real direction(const Int &nodeId) const =0
This method specifies the convention of current direction in an element.
std::vector< zeroDimensionalElementPassiveInductorPtr_Type > vecZeroDimensionalElementPassiveInductorPtr_Type
std::shared_ptr< mapVoltageSource_Type > mapVoltageSourcePtr_Type
std::shared_ptr< ZeroDimensionalElementVoltageSource > zeroDimensionalElementVoltageSourcePtr_Type
Epetra_Vector vectorEpetra_Type
void setVoltageByTime(const Real &time)
Update voltage source by time.
std::vector< zeroDimensionalNodePtr_Type > vecZeroDimensionalNodePtr_Type
void setDeltaVoltageByTime(const Real &time)
Update { voltage}{ t} by time.
std::map< Int, zeroDimensionalNodeUnknownPtr_Type > mapNodeUnknown_Type
vecZeroDimensionalElementPassiveResistorPtr_Type::iterator iterZeroDimensionalElementPassiveResistor_Type
void setCurrentSourceList(const zeroDimensionalElementCurrentSourcePtr_Type ¤tSourcePtr)
add currentSource to the current Source list.
void setCapacitorList(const zeroDimensionalElementPassiveCapacitorPtr_Type &capacitorPtr)
add capacitor to the capacitor list.
vecZeroDimensionalNodeKnownPtr_Type::iterator iterZeroDimensionalNodeKnown_Type
std::shared_ptr< ZeroDimensionalNodeUnknown > zeroDimensionalNodeUnknownPtr_Type
ptrVecZeroDimensionalElementCurrentSourcePtr_Type M_currentSourceList
std::shared_ptr< vectorEpetra_Type > vectorEpetraPtr_Type
ZeroDimensionalElementSource()
Constructor.
std::shared_ptr< ZeroDimensionalNode > zeroDimensionalNodePtr_Type
ZeroDimensionalElementPassiveCapacitor()
Constructor.
void setResistorList(const zeroDimensionalElementPassiveResistorPtr_Type &resistorPtr)
add resistor to the resistor list.
const zeroDimensionalElementVoltageSourcePtr_Type voltageSourceMap(Int &id) const
void setCurrentByTime(const Real &time)
vecInt_Type::iterator iterVecInt_Type
std::vector< zeroDimensionalElementVoltageSourcePtr_Type > vecZeroDimensionalElementVoltageSourcePtr_Type
void buildABC(matrix_Type &A, matrix_Type &B, vector_Type &C, const zeroDimensionalNodeSPtr_Type &Nodes)
Contribution of the element of matrix {A} and {B} and vector {C}.
void extractSolutionFromY(const Real &t, const Epetra_Vector &y, const Epetra_Vector &yp)
(deep) update the circuit data from solution.
virtual void showMe(const Int &flag=0)
Display some information.
void showMe(const Int &flag=0)
ZeroDimensionalElementCurrentSource - Current Source.
const Real & forwardBias() const
ZeroDimensionalElementSource - Base class for source elements.
virtual ~ZeroDimensionalElementPassiveDiode()
Destructor.
zeroDimensionalElementVoltageSourcePtr_Type M_element
std::shared_ptr< ZeroDimensionalElementPassiveCapacitor > zeroDimensionalElementPassiveCapacitorPtr_Type
std::shared_ptr< ZeroDimensionalElementPassiveInductor > zeroDimensionalElementPassiveInductorPtr_Type
ptrVecZeroDimensionalElementVoltageSourcePtr_Type M_voltageSourceList
zeroDimensionalNodeSPtr_Type M_Nodes
ZeroDimensionalNodeUnknown - This class defines the unknown node class.
std::shared_ptr< ZeroDimensionalElementPassiveResistor > zeroDimensionalElementPassiveResistorPtr_Type
ptrVecZeroDimensionalNodePtr_Type M_nodeList
void setParameter(const Real ¶meter)
set parameter (1/R, 1/L, C, 1/R_{eff})
void calculateEffectiveResistance(const Real &voltage)
calculate the effective resistance.
mapNodeKnownPtr_Type M_knownNodeMap
ZeroDimensionalBCHandler bc_Type
mapVoltageSourcePtr_Type M_voltageSourceMap
uint32_type UInt
generic unsigned integer (used mainly for addressing)
void setNodeListIndex(const Int &index)
add an node index which is connected by an element in element list.
std::vector< zeroDimensionalElementPassiveResistorPtr_Type > vecZeroDimensionalElementPassiveResistorPtr_Type
std::shared_ptr< vecZeroDimensionalElementPassiveInductorPtr_Type > ptrVecZeroDimensionalElementPassiveInductorPtr_Type
void buildABC(matrix_Type &A, matrix_Type &B, vector_Type &C, const zeroDimensionalNodeSPtr_Type &Nodes)
Contribution of the element of matrix {A} and {B} and vector {C}.
std::shared_ptr< ZeroDimensionalCircuitData > zeroDimensionalCircuitDataPtr_Type
const ptrVecZeroDimensionalElementPassiveInductorPtr_Type & inductorList() const
ZeroDimensionalElementPassive()
Constructor.