KiCad PCB EDA Suite
Loading...
Searching...
No Matches
TRANSLINE Class Reference

#include <transline.h>

Inheritance diagram for TRANSLINE:
COAX COPLANAR C_MICROSTRIP C_STRIPLINE MICROSTRIP_UI RECTWAVEGUIDE STRIPLINE_UI TWISTEDPAIR

Public Member Functions

 TRANSLINE ()
 
virtual ~TRANSLINE ()
 
void setProperty (enum PRMS_ID aPrmId, double aValue)
 
double getProperty (enum PRMS_ID aPrmId)
 
virtual void getProperties ()
 @function getProperties
 
void checkProperties ()
 @function checkProperties
 
void setResult (int, double, const char *)
 
void setResult (int, const char *)
 
bool isSelected (enum PRMS_ID aPrmId)
 
void Init ()
 
virtual void synthesize ()
 
virtual void calc ()
 
virtual void calcAnalyze ()
 Computation for analysis.
 
virtual void calcSynthesize ()
 Computation for synthesis.
 
virtual void showAnalyze ()
 Shows synthesis results and checks for errors / warnings.
 
virtual void showSynthesize ()
 Shows analysis results and checks for errors / warnings.
 
virtual void show_results ()
 Shows results.
 
void analyze ()
 

Public Attributes

const char * m_Name
 
KIGFX::COLOR4D errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 )
 
KIGFX::COLOR4D warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 )
 
KIGFX::COLOR4D okCol = KIGFX::COLOR4D( 1, 1, 1, 1 )
 

Protected Member Functions

bool minimizeZ0Error1D (double *)
 @function minimizeZ0Error1D
 
double skin_depth ()
 @function skin_depth calculate skin depth
 
void ellipke (double, double &, double &)
 
double ellipk (double)
 
void setErrorLevel (PRMS_ID, char)
 @function setErrorLevel
 

Static Protected Member Functions

static double calcUnitPropagationDelay (double epsilonEff)
 Calculates the unit propagation delay (in ps/cm) for the given effective dielectric constant.
 
static char convertParameterStatusCode (TRANSLINE_STATUS aStatus)
 Converts a TRANSLINE_PARAMETER status to a PCB Calculation status.
 

Protected Attributes

double m_parameters [EXTRA_PRMS_COUNT]
 

Detailed Description

Definition at line 80 of file transline.h.

Constructor & Destructor Documentation

◆ TRANSLINE()

TRANSLINE::TRANSLINE ( )

Definition at line 73 of file transline.cpp.

References Init(), m_Name, m_parameters, and MURC_PRM.

◆ ~TRANSLINE()

TRANSLINE::~TRANSLINE ( )
virtual

Definition at line 82 of file transline.cpp.

Member Function Documentation

◆ analyze()

void TRANSLINE::analyze ( )

◆ calc()

virtual void TRANSLINE::calc ( )
inlinevirtual

Definition at line 99 of file transline.h.

◆ calcAnalyze()

virtual void TRANSLINE::calcAnalyze ( )
inlinevirtual

Computation for analysis.

Reimplemented in C_MICROSTRIP, C_STRIPLINE, COAX, COPLANAR, MICROSTRIP_UI, RECTWAVEGUIDE, STRIPLINE_UI, and TWISTEDPAIR.

Definition at line 104 of file transline.h.

Referenced by analyze(), and minimizeZ0Error1D().

◆ calcSynthesize()

virtual void TRANSLINE::calcSynthesize ( )
inlinevirtual

Computation for synthesis.

Reimplemented in C_MICROSTRIP, C_STRIPLINE, COAX, COPLANAR, MICROSTRIP_UI, RECTWAVEGUIDE, STRIPLINE_UI, and TWISTEDPAIR.

Definition at line 109 of file transline.h.

Referenced by synthesize().

◆ calcUnitPropagationDelay()

double TRANSLINE::calcUnitPropagationDelay ( double  epsilonEff)
staticprotected

Calculates the unit propagation delay (in ps/cm) for the given effective dielectric constant.

Definition at line 443 of file transline.cpp.

Referenced by COPLANAR::calcAnalyze().

◆ checkProperties()

void TRANSLINE::checkProperties ( )

@function checkProperties

Checks the input parameters (ie: negative length). Does not check for incompatibility between values as this depends on the line shape.

Definition at line 166 of file transline.cpp.

References EPSILONR_PRM, FREQUENCY_PRM, H_PRM, H_T_PRM, m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, setErrorLevel(), STRIPLINE_A_PRM, TAND_PRM, TRANSLINE_WARNING, TWISTEDPAIR_EPSILONR_ENV_PRM, and TWISTEDPAIR_TWIST_PRM.

Referenced by analyze(), and synthesize().

◆ convertParameterStatusCode()

char TRANSLINE::convertParameterStatusCode ( TRANSLINE_STATUS  aStatus)
staticprotected

◆ ellipk()

double TRANSLINE::ellipk ( double  k)
protected

Definition at line 321 of file transline.cpp.

References ellipke().

Referenced by COPLANAR::calcAnalyze().

◆ ellipke()

void TRANSLINE::ellipke ( double  arg,
double &  k,
double &  e 
)
protected

Definition at line 256 of file transline.cpp.

References INFINITY, M_PI_2, and NR_EPSI.

Referenced by ellipk().

◆ getProperties()

void TRANSLINE::getProperties ( )
virtual

◆ getProperty()

◆ Init()

◆ isSelected()

◆ minimizeZ0Error1D()

bool TRANSLINE::minimizeZ0Error1D ( double *  aVar)
protected

@function minimizeZ0Error1D

Tries to find a parameter that minimizes the error ( on Z0 ). This function only works with a single parameter. Calls calcAnalyze several times until the error is acceptable. While the error is unnacceptable, changes slightly the parameter.

This function does not change Z0 / Angl_L.

Parameters
avarParameter to synthesize
Returns
'true' if error < MAX_ERROR, else 'false'

Definition at line 346 of file transline.cpp.

References ANG_L_PRM, C0, calcAnalyze(), EPSILON_EFF_PRM, FREQUENCY_PRM, m_parameters, MAX_ERROR, PHYS_LEN_PRM, and Z0_PRM.

Referenced by COPLANAR::calcSynthesize(), and TWISTEDPAIR::calcSynthesize().

◆ setErrorLevel()

◆ setProperty()

◆ setResult() [1/2]

void TRANSLINE::setResult ( int  line,
const char *  text 
)

Definition at line 124 of file transline.cpp.

References SetResultInDialog(), and text.

◆ setResult() [2/2]

◆ show_results()

virtual void TRANSLINE::show_results ( )
inlinevirtual

Shows results.

Reimplemented in C_MICROSTRIP, C_STRIPLINE, COAX, COPLANAR, MICROSTRIP_UI, RECTWAVEGUIDE, STRIPLINE_UI, and TWISTEDPAIR.

Definition at line 124 of file transline.h.

Referenced by analyze(), and synthesize().

◆ showAnalyze()

virtual void TRANSLINE::showAnalyze ( )
inlinevirtual

Shows synthesis results and checks for errors / warnings.

Reimplemented in C_MICROSTRIP, C_STRIPLINE, COAX, COPLANAR, MICROSTRIP_UI, RECTWAVEGUIDE, STRIPLINE_UI, and TWISTEDPAIR.

Definition at line 114 of file transline.h.

Referenced by analyze().

◆ showSynthesize()

virtual void TRANSLINE::showSynthesize ( )
inlinevirtual

Shows analysis results and checks for errors / warnings.

Reimplemented in C_MICROSTRIP, C_STRIPLINE, COAX, COPLANAR, MICROSTRIP_UI, RECTWAVEGUIDE, STRIPLINE_UI, and TWISTEDPAIR.

Definition at line 119 of file transline.h.

Referenced by synthesize().

◆ skin_depth()

double TRANSLINE::skin_depth ( )
protected

@function skin_depth calculate skin depth

$ \frac{1}{\sqrt{ \pi \cdot f \cdot \mu \cdot \sigma }} $

Definition at line 234 of file transline.cpp.

References FREQUENCY_PRM, m_parameters, MU0, MURC_PRM, and SIGMA_PRM.

Referenced by COPLANAR::calcAnalyze(), and getProperties().

◆ synthesize()

void TRANSLINE::synthesize ( )
virtual

Member Data Documentation

◆ errCol

KIGFX::COLOR4D TRANSLINE::errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 )

Definition at line 128 of file transline.h.

Referenced by setErrorLevel().

◆ m_Name

◆ m_parameters

◆ okCol

KIGFX::COLOR4D TRANSLINE::okCol = KIGFX::COLOR4D( 1, 1, 1, 1 )

Definition at line 130 of file transline.h.

Referenced by Init(), and setErrorLevel().

◆ warnCol

KIGFX::COLOR4D TRANSLINE::warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 )

Definition at line 129 of file transline.h.

Referenced by setErrorLevel().


The documentation for this class was generated from the following files: