SEBlackBox< BLACK_BOX_TEMPLATE > Class Template Reference

#include <SEBlackBox.h>

Inherits Loggable.

Public Member Functions

virtual ~SEBlackBox ()
 
virtual void Clear ()
 
virtual std::string GetName () const
 
virtual void ProvideSourceFlux ()
 
virtual bool IsSourceFluxImposed () const
 
virtual void ImposeSourceFlux (double v, const FluxUnit &unit)
 
virtual void ImposeSourceFlux (const FluxScalar &s)
 
virtual double GetSourceFlux (const FluxUnit &unit) const
 
virtual void ProvideTargetFlux ()
 
virtual bool IsTargetFluxImposed () const
 
virtual void ImposeTargetFlux (double v, const FluxUnit &unit)
 
virtual void ImposeTargetFlux (const FluxScalar &s)
 
virtual double GetTargetFlux (const FluxUnit &unit) const
 
virtual void ProvidePotential ()
 
virtual bool IsPotentialImposed () const
 
virtual void ImposePotential (double v, const PotentialUnit &unit)
 
virtual void ImposePotential (const PotentialScalar &s)
 
virtual double GetPotential (const PotentialUnit &unit) const
 
virtual void ProvideSourcePotential ()
 
virtual bool IsSourcePotentialImposed () const
 
virtual void ImposeSourcePotential (double v, const PotentialUnit &unit)
 
virtual void ImposeSourcePotential (const PotentialScalar &s)
 
virtual double GetSourcePotential (const PotentialUnit &unit) const
 
virtual void ProvideTargetPotential ()
 
virtual bool IsTargetPotentialImposed () const
 
virtual void ImposeTargetPotential (double v, const PotentialUnit &unit)
 
virtual void ImposeTargetPotential (const PotentialScalar &s)
 
virtual double GetTargetPotential (const PotentialUnit &unit) const
 
virtual void ProvideQuantity ()
 
virtual bool IsQuantityImposed () const
 
virtual void ImposeQuantity (double v, const QuantityUnit &unit)
 
virtual void ImposeQuantity (const QuantityScalar &s)
 
virtual double GetQuantity (const QuantityUnit &unit) const
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg, std::string const &origin=empty) const
 
virtual void Debug (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Debug (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Info (std::string const &msg, std::string const &origin=empty) const
 
virtual void Info (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Info (const std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Info (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Warning (std::string const &msg, std::string const &origin=empty) const
 
virtual void Warning (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Warning (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Error (std::string const &msg, std::string const &origin=empty) const
 
virtual void Error (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Error (std::ostream &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::string const &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::stringstream &msg, std::string const &origin=empty) const
 
virtual void Fatal (std::ostream &msg, std::string const &origin=empty) const
 

Protected Member Functions

 SEBlackBox (const std::string &name, Logger *logger)
 
virtual bool HasNode () const
 
virtual NodeType * GetNode () const
 
virtual void SetNode (NodeType *n)
 
virtual bool HasSourceNode () const
 
virtual NodeType * GetSourceNode () const
 
virtual void SetSourceNode (NodeType *n)
 
virtual bool HasTargetNode () const
 
virtual NodeType * GetTargetNode () const
 
virtual void SetTargetNode (NodeType *n)
 
virtual bool HasSourcePath () const
 
virtual PathType * GetSourcePath () const
 
virtual void SetSourcePath (PathType *p)
 
virtual bool HasTargetPath () const
 
virtual PathType * GetTargetPath () const
 
virtual void SetTargetPath (PathType *p)
 

Protected Attributes

std::string m_Name
 
NodeType * m_Node = nullptr
 
NodeType * m_SourceNode = nullptr
 
NodeType * m_TargetNode = nullptr
 
PathType * m_SourcePath = nullptr
 
PathType * m_TargetPath = nullptr
 
eBlackBox_Property_Type m_SourceFlux = eBlackBox_Property_Type::Provided
 
eBlackBox_Property_Type m_TargetFlux = eBlackBox_Property_Type::Provided
 
eBlackBox_Property_Type m_SourcePotential = eBlackBox_Property_Type::Provided
 
eBlackBox_Property_Type m_TargetPotential = eBlackBox_Property_Type::Provided
 
eBlackBox_Property_Type m_Potential = eBlackBox_Property_Type::Provided
 
eBlackBox_Property_Type m_Quantity = eBlackBox_Property_Type::Provided
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Friends

class SEBlackBoxManager
 
class CommonDataModelTest
 
template<CCT >
class SECircuitCalculator
 

Additional Inherited Members

- Static Public Attributes inherited from Loggable
static const std::string empty
 

Constructor & Destructor Documentation

◆ SEBlackBox()

template<BLACK_BOX_TEMPLATE >
SEBlackBox< BLACK_BOX_TEMPLATE >::SEBlackBox ( const std::string &  name,
Logger logger 
)
inlineprotected

◆ ~SEBlackBox()

template<BLACK_BOX_TEMPLATE >
virtual SEBlackBox< BLACK_BOX_TEMPLATE >::~SEBlackBox ( )
inlinevirtual

Member Function Documentation

◆ Clear()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::Clear ( )
inlinevirtual

Reimplemented in SEGasBlackBox, and SELiquidBlackBox.

◆ GetName()

template<BLACK_BOX_TEMPLATE >
virtual std::string SEBlackBox< BLACK_BOX_TEMPLATE >::GetName ( ) const
inlinevirtual

◆ GetNode()

template<BLACK_BOX_TEMPLATE >
virtual NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::GetNode ( ) const
inlineprotectedvirtual

◆ GetPotential()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetPotential ( const PotentialUnit &  unit) const
inlinevirtual

◆ GetQuantity()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetQuantity ( const QuantityUnit &  unit) const
inlinevirtual

◆ GetSourceFlux()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetSourceFlux ( const FluxUnit &  unit) const
inlinevirtual

◆ GetSourceNode()

template<BLACK_BOX_TEMPLATE >
virtual NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::GetSourceNode ( ) const
inlineprotectedvirtual

◆ GetSourcePath()

template<BLACK_BOX_TEMPLATE >
virtual PathType* SEBlackBox< BLACK_BOX_TEMPLATE >::GetSourcePath ( ) const
inlineprotectedvirtual

◆ GetSourcePotential()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetSourcePotential ( const PotentialUnit &  unit) const
inlinevirtual

◆ GetTargetFlux()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetTargetFlux ( const FluxUnit &  unit) const
inlinevirtual

◆ GetTargetNode()

template<BLACK_BOX_TEMPLATE >
virtual NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::GetTargetNode ( ) const
inlineprotectedvirtual

◆ GetTargetPath()

template<BLACK_BOX_TEMPLATE >
virtual PathType* SEBlackBox< BLACK_BOX_TEMPLATE >::GetTargetPath ( ) const
inlineprotectedvirtual

◆ GetTargetPotential()

template<BLACK_BOX_TEMPLATE >
virtual double SEBlackBox< BLACK_BOX_TEMPLATE >::GetTargetPotential ( const PotentialUnit &  unit) const
inlinevirtual

◆ HasNode()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::HasNode ( ) const
inlineprotectedvirtual

◆ HasSourceNode()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::HasSourceNode ( ) const
inlineprotectedvirtual

◆ HasSourcePath()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::HasSourcePath ( ) const
inlineprotectedvirtual

◆ HasTargetNode()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::HasTargetNode ( ) const
inlineprotectedvirtual

◆ HasTargetPath()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::HasTargetPath ( ) const
inlineprotectedvirtual

◆ ImposePotential() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposePotential ( double  v,
const PotentialUnit &  unit 
)
inlinevirtual

◆ ImposePotential() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposePotential ( const PotentialScalar &  s)
inlinevirtual

◆ ImposeQuantity() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeQuantity ( double  v,
const QuantityUnit &  unit 
)
inlinevirtual

◆ ImposeQuantity() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeQuantity ( const QuantityScalar &  s)
inlinevirtual

◆ ImposeSourceFlux() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeSourceFlux ( double  v,
const FluxUnit &  unit 
)
inlinevirtual

◆ ImposeSourceFlux() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeSourceFlux ( const FluxScalar &  s)
inlinevirtual

◆ ImposeSourcePotential() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeSourcePotential ( double  v,
const PotentialUnit &  unit 
)
inlinevirtual

◆ ImposeSourcePotential() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeSourcePotential ( const PotentialScalar &  s)
inlinevirtual

◆ ImposeTargetFlux() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeTargetFlux ( double  v,
const FluxUnit &  unit 
)
inlinevirtual

◆ ImposeTargetFlux() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeTargetFlux ( const FluxScalar &  s)
inlinevirtual

◆ ImposeTargetPotential() [1/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeTargetPotential ( double  v,
const PotentialUnit &  unit 
)
inlinevirtual

◆ ImposeTargetPotential() [2/2]

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ImposeTargetPotential ( const PotentialScalar &  s)
inlinevirtual

◆ IsPotentialImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsPotentialImposed ( ) const
inlinevirtual

◆ IsQuantityImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsQuantityImposed ( ) const
inlinevirtual

◆ IsSourceFluxImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsSourceFluxImposed ( ) const
inlinevirtual

◆ IsSourcePotentialImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsSourcePotentialImposed ( ) const
inlinevirtual

◆ IsTargetFluxImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsTargetFluxImposed ( ) const
inlinevirtual

◆ IsTargetPotentialImposed()

template<BLACK_BOX_TEMPLATE >
virtual bool SEBlackBox< BLACK_BOX_TEMPLATE >::IsTargetPotentialImposed ( ) const
inlinevirtual

◆ ProvidePotential()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvidePotential ( )
inlinevirtual

◆ ProvideQuantity()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvideQuantity ( )
inlinevirtual

◆ ProvideSourceFlux()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvideSourceFlux ( )
inlinevirtual

◆ ProvideSourcePotential()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvideSourcePotential ( )
inlinevirtual

◆ ProvideTargetFlux()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvideTargetFlux ( )
inlinevirtual

◆ ProvideTargetPotential()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::ProvideTargetPotential ( )
inlinevirtual

◆ SetNode()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::SetNode ( NodeType *  n)
inlineprotectedvirtual

◆ SetSourceNode()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::SetSourceNode ( NodeType *  n)
inlineprotectedvirtual

◆ SetSourcePath()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::SetSourcePath ( PathType *  p)
inlineprotectedvirtual

◆ SetTargetNode()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::SetTargetNode ( NodeType *  n)
inlineprotectedvirtual

◆ SetTargetPath()

template<BLACK_BOX_TEMPLATE >
virtual void SEBlackBox< BLACK_BOX_TEMPLATE >::SetTargetPath ( PathType *  p)
inlineprotectedvirtual

Friends And Related Function Documentation

◆ CommonDataModelTest

template<BLACK_BOX_TEMPLATE >
friend class CommonDataModelTest
friend

◆ SEBlackBoxManager

template<BLACK_BOX_TEMPLATE >
friend class SEBlackBoxManager
friend

◆ SECircuitCalculator

template<BLACK_BOX_TEMPLATE >
template<CCT >
friend class SECircuitCalculator
friend

Member Data Documentation

◆ m_Name

template<BLACK_BOX_TEMPLATE >
std::string SEBlackBox< BLACK_BOX_TEMPLATE >::m_Name
protected

◆ m_Node

template<BLACK_BOX_TEMPLATE >
NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::m_Node = nullptr
protected

◆ m_Potential

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_Potential = eBlackBox_Property_Type::Provided
protected

◆ m_Quantity

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_Quantity = eBlackBox_Property_Type::Provided
protected

◆ m_SourceFlux

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_SourceFlux = eBlackBox_Property_Type::Provided
protected

◆ m_SourceNode

template<BLACK_BOX_TEMPLATE >
NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::m_SourceNode = nullptr
protected

◆ m_SourcePath

template<BLACK_BOX_TEMPLATE >
PathType* SEBlackBox< BLACK_BOX_TEMPLATE >::m_SourcePath = nullptr
protected

◆ m_SourcePotential

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_SourcePotential = eBlackBox_Property_Type::Provided
protected

◆ m_TargetFlux

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_TargetFlux = eBlackBox_Property_Type::Provided
protected

◆ m_TargetNode

template<BLACK_BOX_TEMPLATE >
NodeType* SEBlackBox< BLACK_BOX_TEMPLATE >::m_TargetNode = nullptr
protected

◆ m_TargetPath

template<BLACK_BOX_TEMPLATE >
PathType* SEBlackBox< BLACK_BOX_TEMPLATE >::m_TargetPath = nullptr
protected

◆ m_TargetPotential

template<BLACK_BOX_TEMPLATE >
eBlackBox_Property_Type SEBlackBox< BLACK_BOX_TEMPLATE >::m_TargetPotential = eBlackBox_Property_Type::Provided
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.