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

#include <c_microstrip.h>

Inheritance diagram for C_MICROSTRIP:
TRANSLINE

Public Member Functions

 C_MICROSTRIP ()
 
void setProperty (enum PRMS_ID aPrmId, double aValue)
 
double getProperty (enum PRMS_ID aPrmId)
 
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 ()
 
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]
 

Private Member Functions

void calcAnalyze () override
 Computation for analysis.
 
void calcSynthesize () override
 Computation for synthesis.
 
void showAnalyze () override
 Shows synthesis results and checks for errors / warnings.
 
void showSynthesize () override
 Shows analysis results and checks for errors / warnings.
 
void show_results () override
 Shows results.
 
void getProperties () override
 @function getProperties
 

Private Attributes

COUPLED_MICROSTRIP m_calc
 

Detailed Description

Definition at line 33 of file c_microstrip.h.

Constructor & Destructor Documentation

◆ C_MICROSTRIP()

C_MICROSTRIP::C_MICROSTRIP ( )

Definition at line 28 of file c_microstrip.cpp.

References TRANSLINE::Init(), and TRANSLINE::m_Name.

Member Function Documentation

◆ analyze()

◆ calc()

virtual void TRANSLINE::calc ( )
inlinevirtualinherited

Definition at line 99 of file transline.h.

◆ calcAnalyze()

void C_MICROSTRIP::calcAnalyze ( )
overrideprivatevirtual

Computation for analysis.

Reimplemented from TRANSLINE.

Definition at line 35 of file c_microstrip.cpp.

References COUPLED_MICROSTRIP::Analyse(), and m_calc.

◆ calcSynthesize()

void C_MICROSTRIP::calcSynthesize ( )
overrideprivatevirtual

Computation for synthesis.

Reimplemented from TRANSLINE.

Definition at line 41 of file c_microstrip.cpp.

References m_calc, and COUPLED_MICROSTRIP::Synthesize().

◆ calcUnitPropagationDelay()

double TRANSLINE::calcUnitPropagationDelay ( double  epsilonEff)
staticprotectedinherited

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 ( )
inherited

@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, TRANSLINE::m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, TRANSLINE::setErrorLevel(), STRIPLINE_A_PRM, TAND_PRM, TRANSLINE_WARNING, TWISTEDPAIR_EPSILONR_ENV_PRM, and TWISTEDPAIR_TWIST_PRM.

Referenced by TRANSLINE::analyze(), and TRANSLINE::synthesize().

◆ convertParameterStatusCode()

char TRANSLINE::convertParameterStatusCode ( TRANSLINE_STATUS  aStatus)
staticprotectedinherited

◆ ellipk()

double TRANSLINE::ellipk ( double  k)
protectedinherited

Definition at line 321 of file transline.cpp.

References TRANSLINE::ellipke().

Referenced by COPLANAR::calcAnalyze().

◆ ellipke()

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

Definition at line 256 of file transline.cpp.

References INFINITY, M_PI_2, and NR_EPSI.

Referenced by TRANSLINE::ellipk().

◆ getProperties()

void C_MICROSTRIP::getProperties ( )
overrideprivatevirtual

@function getProperties

Get all properties from the UI. Computes some extra ones.

Reimplemented from TRANSLINE.

Definition at line 105 of file c_microstrip.cpp.

References ANG_L_PRM, EPSILONR_PRM, FREQUENCY_PRM, TRANSLINE::getProperties(), H_PRM, H_T_PRM, m_calc, TRANSLINE::m_parameters, MURC_PRM, PHYS_LEN_PRM, PHYS_S_PRM, PHYS_WIDTH_PRM, ROUGH_PRM, TRANSLINE_CALCULATION_BASE::SetParameter(), SIGMA_PRM, SKIN_DEPTH_PRM, T_PRM, TAND_PRM, Z0_E_PRM, and Z0_O_PRM.

◆ getProperty()

◆ Init()

◆ isSelected()

◆ minimizeZ0Error1D()

bool TRANSLINE::minimizeZ0Error1D ( double *  aVar)
protectedinherited

@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, TRANSLINE::calcAnalyze(), EPSILON_EFF_PRM, FREQUENCY_PRM, TRANSLINE::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 
)
inherited

Definition at line 124 of file transline.cpp.

References SetResultInDialog(), and text.

◆ setResult() [2/2]

◆ show_results()

void C_MICROSTRIP::show_results ( )
overrideprivatevirtual

Shows results.

Reimplemented from TRANSLINE.

Definition at line 127 of file c_microstrip.cpp.

◆ showAnalyze()

void C_MICROSTRIP::showAnalyze ( )
overrideprivatevirtual

◆ showSynthesize()

void C_MICROSTRIP::showSynthesize ( )
overrideprivatevirtual

◆ skin_depth()

double TRANSLINE::skin_depth ( )
protectedinherited

@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, TRANSLINE::m_parameters, MU0, MURC_PRM, and SIGMA_PRM.

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

◆ synthesize()

Member Data Documentation

◆ errCol

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

Definition at line 128 of file transline.h.

Referenced by TRANSLINE::setErrorLevel().

◆ m_calc

COUPLED_MICROSTRIP C_MICROSTRIP::m_calc
private

◆ m_Name

◆ m_parameters

◆ okCol

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

Definition at line 130 of file transline.h.

Referenced by TRANSLINE::Init(), and TRANSLINE::setErrorLevel().

◆ warnCol

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

Definition at line 129 of file transline.h.

Referenced by TRANSLINE::setErrorLevel().


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