biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE > Class Template Reference

#include <SECircuitCalculator.h>

Inheritance diagram for biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >:

Public Member Functions

 SECircuitCalculator (const CapacitanceUnit &c, const FluxUnit &f, const InductanceUnit &i, const PotentialUnit &p, const QuantityUnit &q, const ResistanceUnit &r, Logger *logger)
 
virtual ~SECircuitCalculator ()
 
virtual void SetEigenSolver (EigenCircuitSolver s)
 
virtual void SetEigenSolver (EigenCircuitSolver::Type t)
 
virtual void Process (CircuitType &circuit, double timeStep_s)
 
virtual void PostProcess (CircuitType &circuit)
 
- Public Member Functions inherited from biogears::Loggable
 Loggable ()
 
 Loggable (Logger *log)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 

Protected Member Functions

virtual void ParseIn ()
 
virtual void Solve ()
 
virtual void ParseOut ()
 
virtual void CalculateFluxes ()
 
virtual void CalculateQuantities ()
 
virtual bool CheckAndModifyValves ()
 
virtual bool IsCurrentValveStateUnique ()
 
virtual void PopulateAMatrix (NodeType &nKCL, PathType &p, double dMultiplier, bool hasPotentialSource=false)
 
- Protected Member Functions inherited from biogears::Loggable
virtual void Debug (const char *msg, const char *origin="") const
 
virtual void Debug (const std::string &msg, const std::string &origin=empty) const
 
virtual void Debug (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Info (const char *msg, const char *origin="") const
 
virtual void Info (const std::string &msg, const std::string &origin=empty) const
 
virtual void Info (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Warning (const char *msg, const char *origin="") const
 
virtual void Warning (const std::string &msg, const std::string &origin=empty) const
 
virtual void Warning (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Error (const char *msg, const char *origin="") const
 
virtual void Error (const std::string msg, const std::string origin=empty) const
 
virtual void Error (std::ostream &msg, const std::string &origin=empty) const
 
virtual void Fatal (const char *msg, const char *origin="") const
 
virtual void Fatal (const std::string &msg, const std::string &origin=empty) const
 
virtual void Fatal (std::ostream &msg, const std::string &origin=empty) const
 

Protected Attributes

std::stringstream m_ss
 
Eigen::MatrixXd m_AMatrix
 
Eigen::VectorXd m_xVector
 
Eigen::VectorXd m_bVector
 
double m_dT_s
 
CircuitType * m_circuit
 
EigenCircuitSolver m_solver
 
std::set< uint64_t > m_valveStates
 
std::map< PathType *, size_t > m_potentialSources
 
const CapacitanceUnit & m_CapacitanceUnit
 
const FluxUnit & m_FluxUnit
 
const InductanceUnit & m_InductanceUnit
 
const PotentialUnit & m_PotentialUnit
 
const QuantityUnit & m_QuantityUnit
 
const ResistanceUnit & m_ResistanceUnit
 
- Protected Attributes inherited from biogears::Loggable
Loggerm_Logger
 

Additional Inherited Members

- Static Public Attributes inherited from biogears::Loggable
static const std::string empty
 
static const char * empty_cStr
 

Constructor & Destructor Documentation

template<CIRCUIT_CALCULATOR_TEMPLATE >
biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::SECircuitCalculator ( const CapacitanceUnit &  c,
const FluxUnit &  f,
const InductanceUnit &  i,
const PotentialUnit &  p,
const QuantityUnit &  q,
const ResistanceUnit &  r,
Logger logger 
)
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::~SECircuitCalculator ( )
virtual

Member Function Documentation

template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::CalculateFluxes ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::CalculateQuantities ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual bool biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::CheckAndModifyValves ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual bool biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::IsCurrentValveStateUnique ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::ParseIn ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::ParseOut ( )
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::PopulateAMatrix ( NodeType &  nKCL,
PathType &  p,
double  dMultiplier,
bool  hasPotentialSource = false 
)
protectedvirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::PostProcess ( CircuitType &  circuit)
virtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::Process ( CircuitType &  circuit,
double  timeStep_s 
)
virtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::SetEigenSolver ( EigenCircuitSolver  s)
inlinevirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::SetEigenSolver ( EigenCircuitSolver::Type  t)
inlinevirtual
template<CIRCUIT_CALCULATOR_TEMPLATE >
virtual void biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::Solve ( )
protectedvirtual

Member Data Documentation

template<CIRCUIT_CALCULATOR_TEMPLATE >
Eigen::MatrixXd biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_AMatrix
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
Eigen::VectorXd biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_bVector
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const CapacitanceUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_CapacitanceUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
CircuitType* biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_circuit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
double biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_dT_s
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const FluxUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_FluxUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const InductanceUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_InductanceUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
std::map<PathType*, size_t> biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_potentialSources
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const PotentialUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_PotentialUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const QuantityUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_QuantityUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
const ResistanceUnit& biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_ResistanceUnit
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
EigenCircuitSolver biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_solver
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
std::stringstream biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_ss
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
std::set<uint64_t> biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_valveStates
protected
template<CIRCUIT_CALCULATOR_TEMPLATE >
Eigen::VectorXd biogears::SECircuitCalculator< CIRCUIT_CALCULATOR_TEMPLATE >::m_xVector
protected