JUK1
SParameterBlock< T > Struct Template Reference

A DTIR based model of an s-parameter block. More...

#include <SParameterBlock.hpp>

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

Public Member Functions

aWaveConvValue (size_t portIndex, const Matrix< T > &solutionMatrix, const size_t n, T sTimePoint, const T simulationTimestep, size_t sizeG_A) const
 performs a linear interpolation and returns the a wave value for use in the convolution. More...
 
V_p (size_t p, const Matrix< T > &solutionMatrix, const size_t n, T simulationTimestep, size_t sizeG_A) const
 Determines the equivalent port voltage source by convolving the (historic) a wave values with the DTIR. More...
 
R_p (size_t p) const
 
beta_p (size_t p) const
 
void addStaticStampTo (Stamp< T > &stamp) const
 Adds this component's static stamp to the target stamp. More...
 
void addDynamicStampTo (Stamp< T > &stamp, const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T simulationTimestep) const
 Adds this component's dynamic 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...
 
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 readInTouchstoneFile ()
 reads in the s-parameter data from a touchstone file. Currently it ignores the units of frequency, and only works with real-imag formatting More...
 
- Public Member Functions inherited from Component< T >
virtual void addNonLinearStampTo (Stamp< T > &destination, const Matrix< T > &solutionMatrix, const size_t currentSolutionIndex, T timestep=0) const
 adds this component's non-linear 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

std::string touchstoneFilePath = ""
 
std::vector< SParameterPort< T > > port
 
SParameterSequence< T > s
 
z_ref = 0
 
fracMaxToKeep = 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 SParameterBlock< T >

A DTIR based model of an s-parameter block.

Template Parameters
T

Definition at line 87 of file SParameterBlock.hpp.

Member Function Documentation

◆ addDCAnalysisStampTo()

template<typename T >
void SParameterBlock< 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 240 of file SParameterBlock.hpp.

◆ addDynamicStampTo()

template<typename T >
void SParameterBlock< T >::addDynamicStampTo ( Stamp< T > &  destination,
const Matrix< T > &  solutionMatrix,
const size_t  currentSolutionIndex,
timestep 
) const
inlinevirtual

Adds this component's dynamic 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 228 of file SParameterBlock.hpp.

Here is the call graph for this function:

◆ addStaticStampTo()

template<typename T >
void SParameterBlock< T >::addStaticStampTo ( Stamp< T > &  destination) const
inlinevirtual

Adds this component's static stamp to the target stamp.

Parameters
destinationThe stamp to be added to.

Reimplemented from Component< T >.

Definition at line 194 of file SParameterBlock.hpp.

◆ addToElements()

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

Definition at line 387 of file SParameterBlock.hpp.

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

◆ aWaveConvValue()

template<typename T >
T SParameterBlock< T >::aWaveConvValue ( size_t  portIndex,
const Matrix< T > &  solutionMatrix,
const size_t  n,
sTimePoint,
const T  simulationTimestep,
size_t  sizeG_A 
) const
inline

performs a linear interpolation and returns the a wave value for use in the convolution.

Parameters
portIndexThe port being processed
solutionMatrixThe working solution vector
nThe current time step
sTimePointThe time of DTIR
simulationTimestepThe timestep of the simulation
sizeG_AThe size of the voltage dependant portion of the stamp
Returns
the value for use in the convolution

Definition at line 106 of file SParameterBlock.hpp.

Here is the caller graph for this function:

◆ beta_p()

template<typename T >
T SParameterBlock< T >::beta_p ( size_t  p) const
inline

Definition at line 190 of file SParameterBlock.hpp.

◆ R_p()

template<typename T >
T SParameterBlock< T >::R_p ( size_t  p) const
inline

Definition at line 186 of file SParameterBlock.hpp.

◆ readInTouchstoneFile()

template<typename T >
void SParameterBlock< T >::readInTouchstoneFile ( )
inline

reads in the s-parameter data from a touchstone file. Currently it ignores the units of frequency, and only works with real-imag formatting

Definition at line 308 of file SParameterBlock.hpp.

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

◆ updateStoredState()

template<typename T >
void SParameterBlock< 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 299 of file SParameterBlock.hpp.

◆ V_p()

template<typename T >
T SParameterBlock< T >::V_p ( size_t  p,
const Matrix< T > &  solutionMatrix,
const size_t  n,
simulationTimestep,
size_t  sizeG_A 
) const
inline

Determines the equivalent port voltage source by convolving the (historic) a wave values with the DTIR.

Parameters
pThe port index
solutionMatrixThe solution vector of the circuit
nThe current timestep
simulationTimestepthe simulations timestep
sizeG_Athe size of the voltage dependant part of the stamp
Returns
Equivalent port voltage source voltage

Definition at line 166 of file SParameterBlock.hpp.

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

Member Data Documentation

◆ fracMaxToKeep

template<typename T >
T SParameterBlock< T >::fracMaxToKeep = 0

Definition at line 93 of file SParameterBlock.hpp.

◆ port

template<typename T >
std::vector<SParameterPort<T> > SParameterBlock< T >::port

Definition at line 89 of file SParameterBlock.hpp.

◆ s

template<typename T >
SParameterSequence<T> SParameterBlock< T >::s

Definition at line 90 of file SParameterBlock.hpp.

◆ touchstoneFilePath

template<typename T >
std::string SParameterBlock< T >::touchstoneFilePath = ""

Definition at line 88 of file SParameterBlock.hpp.

◆ z_ref

template<typename T >
T SParameterBlock< T >::z_ref = 0

Definition at line 92 of file SParameterBlock.hpp.


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