JUK1
NLCurrentSource< T > Struct Template Reference

An non-linear current source for the COBRA transistor model. More...

#include <NLCurrentSource.hpp>

Inheritance diagram for NLCurrentSource< T >:
Collaboration diagram for NLCurrentSource< T >:

Public Member Functions

void addNonLinearStampTo (Stamp< T > &stamp, const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T timestep=0) const
 adds this component's non-linear stamp to the target stamp. More...
 
void addDCAnalysisStampTo (Stamp< T > &stamp, const Matrix< T > &solutionVector, size_t numCurrents) const
 adds this component's DC stamp to the target stamp. More...
 
- Public Member Functions inherited from Component< T >
virtual void addStaticStampTo (Stamp< T > &destination) const
 Adds this component's static stamp to the target stamp. More...
 
virtual void addDynamicStampTo (Stamp< T > &destination, const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T timestep) const
 Adds this component's dynamic stamp to the target stamp. More...
 
virtual void updateStoredState (const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T timestep, size_t numCurrents)
 Updates any stored state based on the current solution index. More...
 
virtual void updateDCStoredState (const Matrix< T > &solutionVector, size_t sizeG_A, size_t numCurrents)
 a function to update the stored state of a component based on a DC value More...
 
virtual void setTimestep (T timestep)
 initialises the component More...
 
virtual ~Component ()
 

Static Public Member Functions

static void addToElements (const std::string &line, CircuitElements< T > &elements, size_t &numNodes, size_t &numCurrents, size_t &numDCCurrents)
 
- Static Public Member Functions inherited from Component< T >
static void addToElements (const std::string &line, CircuitElements< T > &elements, size_t &numNodes, size_t &numCurrents, size_t &numDCCurrents)
 Called as a helper to add the component to the elements class. More...
 

Public Attributes

value = 0
 
size_t n1 = 0
 
size_t n2 = 0
 
size_t r1_pos = 0
 
size_t r1_neg = 0
 
size_t r2_pos = 0
 
size_t r2_neg = 0
 
- Public Attributes inherited from Component< T >
std::string designator = ""
 The designator as in the netlist for e.g. More...
 

Detailed Description

template<typename T>
struct NLCurrentSource< T >

An non-linear current source for the COBRA transistor model.

Template Parameters
TThe value type

Definition at line 11 of file NLCurrentSource.hpp.

Member Function Documentation

◆ addDCAnalysisStampTo()

template<typename T >
void NLCurrentSource< T >::addDCAnalysisStampTo ( Stamp< T > &  destination,
const Matrix< T > &  solutionVector,
size_t  numCurrents 
) const
inlinevirtual

adds this component's DC stamp to the target stamp.

Parameters
destinationThe stamp to be added to.
solutionMatrixA vector containing all past solutions to the circuit
numCurrentsThe number of currents used by the transient simulation

Reimplemented from Component< T >.

Definition at line 120 of file NLCurrentSource.hpp.

Here is the call graph for this function:

◆ addNonLinearStampTo()

template<typename T >
void NLCurrentSource< T >::addNonLinearStampTo ( Stamp< T > &  destination,
const Matrix< T > &  solutionMatrix,
const size_t  currentSolutionIndex,
timestep = 0 
) const
inlinevirtual

adds this component's non-linear stamp to the target stamp.

Parameters
destinationThe stamp to be added to.
solutionMatrixA vector containing all past solutions to the circuit
currentSolutionIndexThe current timeStep index
timestepThe length of each time step

Reimplemented from Component< T >.

Definition at line 24 of file NLCurrentSource.hpp.

Here is the caller graph for this function:

◆ addToElements()

template<typename T >
static void NLCurrentSource< T >::addToElements ( const std::string &  line,
CircuitElements< T > &  elements,
size_t &  numNodes,
size_t &  numCurrents,
size_t &  numDCCurrents 
)
inlinestatic

Definition at line 127 of file NLCurrentSource.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ n1

template<typename T >
size_t NLCurrentSource< T >::n1 = 0

Definition at line 15 of file NLCurrentSource.hpp.

◆ n2

template<typename T >
size_t NLCurrentSource< T >::n2 = 0

Definition at line 16 of file NLCurrentSource.hpp.

◆ r1_neg

template<typename T >
size_t NLCurrentSource< T >::r1_neg = 0

Definition at line 19 of file NLCurrentSource.hpp.

◆ r1_pos

template<typename T >
size_t NLCurrentSource< T >::r1_pos = 0

Definition at line 18 of file NLCurrentSource.hpp.

◆ r2_neg

template<typename T >
size_t NLCurrentSource< T >::r2_neg = 0

Definition at line 21 of file NLCurrentSource.hpp.

◆ r2_pos

template<typename T >
size_t NLCurrentSource< T >::r2_pos = 0

Definition at line 20 of file NLCurrentSource.hpp.

◆ value

template<typename T >
T NLCurrentSource< T >::value = 0

Definition at line 13 of file NLCurrentSource.hpp.


The documentation for this struct was generated from the following file: