JUK1
BJTP< T > Struct Template Reference

A simple PNP BJT model. More...

#include <BJT.hpp>

Inheritance diagram for BJTP< T >:
Collaboration diagram for BJTP< 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 updateStoredState (const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T timestep, size_t sizeG_A)
 Updates any stored state based on the current solution index. 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 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

size_t c = 0
 
size_t b = 0
 
size_t e = 0
 
alpha_f = 0.99
 
alpha_r = 0.02
 
const T I_es = 2e-14
 
const T V_Te = 26e-3
 
const T I_cs = 99e-14
 
const T V_Tc = 26e-3
 
V_bc_crit = V_Tc * std::log(V_Tc / (I_cs * std::sqrt(2)))
 
V_be_crit = V_Te * std::log(V_Te / (I_es * std::sqrt(2)))
 
- 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 BJTP< T >

A simple PNP BJT model.

Template Parameters
Tthe value type

Definition at line 151 of file BJT.hpp.

Member Function Documentation

◆ addDCAnalysisStampTo()

template<typename T >
void BJTP< 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 260 of file BJT.hpp.

Here is the call graph for this function:

◆ addNonLinearStampTo()

template<typename T >
void BJTP< 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 170 of file BJT.hpp.

Here is the caller graph for this function:

◆ addToElements()

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

Definition at line 266 of file BJT.hpp.

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

◆ updateStoredState()

template<typename T >
void BJTP< T >::updateStoredState ( const Matrix< T > &  solutionMatrix,
const size_t  currentSolutionIndex,
timestep,
size_t  numCurrents 
)
inlinevirtual

Updates any stored state based on the current solution index.

Parameters
solutionMatrixA vector containing all past solutions to the circuit
currentSolutionIndexThe current timeStep index
timestepThe length of each time step
sizeG_Athe size of the A portion of G, marks the end of the equiv currents

Reimplemented from Component< T >.

Definition at line 255 of file BJT.hpp.

Member Data Documentation

◆ alpha_f

template<typename T >
T BJTP< T >::alpha_f = 0.99

Definition at line 157 of file BJT.hpp.

◆ alpha_r

template<typename T >
T BJTP< T >::alpha_r = 0.02

Definition at line 158 of file BJT.hpp.

◆ b

template<typename T >
size_t BJTP< T >::b = 0

Definition at line 154 of file BJT.hpp.

◆ c

template<typename T >
size_t BJTP< T >::c = 0

Definition at line 153 of file BJT.hpp.

◆ e

template<typename T >
size_t BJTP< T >::e = 0

Definition at line 155 of file BJT.hpp.

◆ I_cs

template<typename T >
const T BJTP< T >::I_cs = 99e-14

Definition at line 162 of file BJT.hpp.

◆ I_es

template<typename T >
const T BJTP< T >::I_es = 2e-14

Definition at line 160 of file BJT.hpp.

◆ V_bc_crit

template<typename T >
T BJTP< T >::V_bc_crit = V_Tc * std::log(V_Tc / (I_cs * std::sqrt(2)))

Definition at line 165 of file BJT.hpp.

◆ V_be_crit

template<typename T >
T BJTP< T >::V_be_crit = V_Te * std::log(V_Te / (I_es * std::sqrt(2)))

Definition at line 166 of file BJT.hpp.

◆ V_Tc

template<typename T >
const T BJTP< T >::V_Tc = 26e-3

Definition at line 163 of file BJT.hpp.

◆ V_Te

template<typename T >
const T BJTP< T >::V_Te = 26e-3

Definition at line 161 of file BJT.hpp.


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