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

#include <transline.h>

Inheritance diagram for TRANSLINE:
COAX COPLANAR C_MICROSTRIP MICROSTRIP RECTWAVEGUIDE STRIPLINE TWISTEDPAIR GROUNDEDCOPLANAR

Public Member Functions

 TRANSLINE ()
 
virtual ~TRANSLINE ()
 
void setProperty (enum PRMS_ID aPrmId, double aValue)
 
double getProperty (enum PRMS_ID aPrmId)
 
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
 

Protected Attributes

double m_parameters [EXTRA_PRMS_COUNT]
 

Detailed Description

Definition at line 78 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 97 of file transline.h.

◆ calcAnalyze()

virtual void TRANSLINE::calcAnalyze ( )
inlinevirtual

Computation for analysis.

Reimplemented in C_MICROSTRIP, COAX, COPLANAR, MICROSTRIP, RECTWAVEGUIDE, STRIPLINE, and TWISTEDPAIR.

Definition at line 102 of file transline.h.

Referenced by analyze(), and minimizeZ0Error1D().

◆ calcSynthesize()

virtual void TRANSLINE::calcSynthesize ( )
inlinevirtual

Computation for synthesis.

Reimplemented in C_MICROSTRIP, COAX, COPLANAR, MICROSTRIP, RECTWAVEGUIDE, STRIPLINE, and TWISTEDPAIR.

Definition at line 107 of file transline.h.

Referenced by synthesize().

◆ 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().

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

@function getProperties

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

Definition at line 147 of file transline.cpp.

References DUMMY_PRM, EPSILON_EFF_PRM, getProperty(), m_parameters, RHO_PRM, setErrorLevel(), SIGMA_PRM, skin_depth(), SKIN_DEPTH_PRM, and TRANSLINE_OK.

Referenced by analyze(), and synthesize().

◆ 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(), MICROSTRIP::calcSynthesize(), STRIPLINE::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]

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

◆ show_results()

virtual void TRANSLINE::show_results ( )
inlinevirtual

Shows results.

Reimplemented in C_MICROSTRIP, COAX, COPLANAR, MICROSTRIP, RECTWAVEGUIDE, STRIPLINE, and TWISTEDPAIR.

Definition at line 122 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, COAX, COPLANAR, MICROSTRIP, RECTWAVEGUIDE, STRIPLINE, and TWISTEDPAIR.

Definition at line 112 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, COAX, COPLANAR, MICROSTRIP, RECTWAVEGUIDE, STRIPLINE, and TWISTEDPAIR.

Definition at line 117 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 C_MICROSTRIP::attenuation(), MICROSTRIP::attenuation(), COPLANAR::calcAnalyze(), STRIPLINE::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 126 of file transline.h.

Referenced by setErrorLevel().

◆ m_Name

◆ m_parameters

double TRANSLINE::m_parameters[EXTRA_PRMS_COUNT]
protected

Definition at line 131 of file transline.h.

Referenced by RECTWAVEGUIDE::alphac(), COAX::alphac_coax(), RECTWAVEGUIDE::alphad(), COAX::alphad_coax(), C_MICROSTRIP::attenuation(), MICROSTRIP::attenuation(), COAX::calcAnalyze(), COPLANAR::calcAnalyze(), RECTWAVEGUIDE::calcAnalyze(), STRIPLINE::calcAnalyze(), TWISTEDPAIR::calcAnalyze(), C_MICROSTRIP::calcSynthesize(), COAX::calcSynthesize(), COPLANAR::calcSynthesize(), MICROSTRIP::calcSynthesize(), RECTWAVEGUIDE::calcSynthesize(), STRIPLINE::calcSynthesize(), TWISTEDPAIR::calcSynthesize(), checkProperties(), C_MICROSTRIP::compute_single_line(), C_MICROSTRIP::conductor_losses(), MICROSTRIP::conductor_losses(), C_MICROSTRIP::delta_u_thickness(), C_MICROSTRIP::dielectric_losses(), MICROSTRIP::dielectric_losses(), MICROSTRIP::dispersion(), C_MICROSTRIP::er_eff_freq(), C_MICROSTRIP::er_eff_static(), RECTWAVEGUIDE::fc(), RECTWAVEGUIDE::get_rectwaveguide_comp(), RECTWAVEGUIDE::get_rectwaveguide_elec(), RECTWAVEGUIDE::get_rectwaveguide_phys(), RECTWAVEGUIDE::get_rectwaveguide_sub(), getProperties(), Init(), RECTWAVEGUIDE::kc_square(), RECTWAVEGUIDE::kval_square(), C_MICROSTRIP::line_angle(), MICROSTRIP::line_angle(), STRIPLINE::lineImpedance(), MICROSTRIP::microstrip_Z0(), minimizeZ0Error1D(), MICROSTRIP::mur_eff_ms(), C_MICROSTRIP::show_results(), COAX::show_results(), COPLANAR::show_results(), MICROSTRIP::show_results(), RECTWAVEGUIDE::show_results(), STRIPLINE::show_results(), TWISTEDPAIR::show_results(), C_MICROSTRIP::showAnalyze(), COAX::showAnalyze(), COPLANAR::showAnalyze(), MICROSTRIP::showAnalyze(), RECTWAVEGUIDE::showAnalyze(), STRIPLINE::showAnalyze(), TWISTEDPAIR::showAnalyze(), C_MICROSTRIP::showSynthesize(), COAX::showSynthesize(), COPLANAR::showSynthesize(), MICROSTRIP::showSynthesize(), RECTWAVEGUIDE::showSynthesize(), STRIPLINE::showSynthesize(), TWISTEDPAIR::showSynthesize(), skin_depth(), C_MICROSTRIP::syn_fun(), C_MICROSTRIP::synth_width(), MICROSTRIP::synth_width(), TRANSLINE(), C_MICROSTRIP::Z0_dispersion(), and C_MICROSTRIP::Z0_even_odd().

◆ okCol

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

Definition at line 128 of file transline.h.

Referenced by Init(), and setErrorLevel().

◆ warnCol

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

Definition at line 127 of file transline.h.

Referenced by setErrorLevel().


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