An ebbers moll diode model.
More...
#include <Diode.hpp>
|
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...
|
|
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 () |
|
template<typename T>
struct Diode< T >
An ebbers moll diode model.
- Template Parameters
-
Definition at line 11 of file Diode.hpp.
◆ addDCAnalysisStampTo()
template<typename T >
void Diode< 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
-
destination | The stamp to be added to. |
solutionMatrix | A vector containing all past solutions to the circuit |
numCurrents | The number of currents used by the transient simulation |
Reimplemented from Component< T >.
Definition at line 65 of file Diode.hpp.
◆ addNonLinearStampTo()
template<typename T >
void Diode< T >::addNonLinearStampTo |
( |
Stamp< T > & |
destination, |
|
|
const Matrix< T > & |
solutionMatrix, |
|
|
const size_t |
currentSolutionIndex, |
|
|
T |
timestep = 0 |
|
) |
| const |
|
inlinevirtual |
adds this component's non-linear stamp to the target stamp.
- Parameters
-
destination | The stamp to be added to. |
solutionMatrix | A vector containing all past solutions to the circuit |
currentSolutionIndex | The current timeStep index |
timestep | The length of each time step |
Reimplemented from Component< T >.
Definition at line 24 of file Diode.hpp.
◆ addToElements()
template<typename T >
static void Diode< T >::addToElements |
( |
const std::string & |
line, |
|
|
CircuitElements< T > & |
elements, |
|
|
size_t & |
numNodes, |
|
|
size_t & |
numCurrents, |
|
|
size_t & |
numDCCurrents |
|
) |
| |
|
inlinestatic |
◆ updateStoredState()
template<typename T >
void Diode< T >::updateStoredState |
( |
const Matrix< T > & |
solutionMatrix, |
|
|
const size_t |
currentSolutionIndex, |
|
|
T |
timestep, |
|
|
size_t |
numCurrents |
|
) |
| |
|
inlinevirtual |
Updates any stored state based on the current solution index.
- Parameters
-
solutionMatrix | A vector containing all past solutions to the circuit |
currentSolutionIndex | The current timeStep index |
timestep | The length of each time step |
sizeG_A | the size of the A portion of G, marks the end of the equiv currents |
Reimplemented from Component< T >.
Definition at line 60 of file Diode.hpp.
◆ eta
template<typename T >
const T Diode< T >::eta = 2 |
◆ I_sat
template<typename T >
const T Diode< T >::I_sat = 2.52e-9 |
◆ n1
template<typename T >
size_t Diode< T >::n1 = 0 |
◆ n2
template<typename T >
size_t Diode< T >::n2 = 0 |
◆ V_crit
◆ V_T
template<typename T >
const T Diode< T >::V_T = 25.8563e-3 |
The documentation for this struct was generated from the following file:
- D:/dslog/Documents/JUK1/C++/src/includes/CircuitElements/Diode.hpp