updated Z0 to accepted value, update ZTEM10 <-> a calc/synth as per #9146

This commit is contained in:
J RB 2021-11-03 21:03:28 +00:00 committed by Seth Hillbrand
parent ffd1139cfe
commit f3ca0f16e6
2 changed files with 20 additions and 20 deletions

View File

@ -238,6 +238,7 @@ void RECTWAVEGUIDE::get_rectwaveguide_phys()
/* /*
* analyze - analysis function * analyze - analysis function
* source: https://empossible.net/wp-content/uploads/2018/03/Lecture-5c-Rectangular-waveguide.pdf
*/ */
void RECTWAVEGUIDE::calcAnalyze() void RECTWAVEGUIDE::calcAnalyze()
{ {
@ -252,9 +253,8 @@ void RECTWAVEGUIDE::calcAnalyze()
// Z0 definition using fictive voltages and currents // Z0 definition using fictive voltages and currents
m_parameters[Z0_PRM] = m_parameters[Z0_PRM] =
2.0 * ZF0 * sqrt( m_parameters[MUR_PRM] / m_parameters[EPSILONR_PRM] ) ZF0 * sqrt( m_parameters[MUR_PRM] / m_parameters[EPSILONR_PRM] )
* ( m_parameters[PHYS_B_PRM] / m_parameters[PHYS_A_PRM] ) / sqrt( 1.0 - pow( ( fc( 1, 0 ) / m_parameters[FREQUENCY_PRM] ), 2.0 ) );
/ sqrt( 1.0 - pow( ( fc( 1, 0 ) / m_parameters[FREQUENCY_PRM] ), 2.0 ) );
/* calculate electrical angle */ /* calculate electrical angle */
lambda_g = 2.0 * M_PI / sqrt( k_square - kc_square( 1, 0 ) ); lambda_g = 2.0 * M_PI / sqrt( k_square - kc_square( 1, 0 ) );
@ -278,26 +278,23 @@ void RECTWAVEGUIDE::calcAnalyze()
/* /*
* synthesize - synthesis function * synthesize - synthesis function
* source: re-arrangment of calcAnalyze equation
* TE10 (via fc(1,0) ) results in the b term not influencing the result, as long as
* 1) fc > f
* 2) a > b
*/ */
void RECTWAVEGUIDE::calcSynthesize() void RECTWAVEGUIDE::calcSynthesize()
{ {
double lambda_g, k_square, beta; double lambda_g, k_square, beta;
/* solve for a */
if( isSelected( PHYS_B_PRM ) ) m_parameters[PHYS_A_PRM] =
{ C0
/* solve for b */ / ( sqrt( ( m_parameters[MUR_PRM] * m_parameters[EPSILONR_PRM] ) ) * 2
m_parameters[PHYS_B_PRM] = * m_parameters[FREQUENCY_PRM] * sqrt( 1
m_parameters[Z0_PRM] * m_parameters[PHYS_A_PRM] - pow( ( ZF0 * sqrt( m_parameters[MUR_PRM]
* sqrt( 1.0 - pow( fc( 1, 0 ) / m_parameters[FREQUENCY_PRM], 2.0 ) ) / m_parameters[EPSILONR_PRM] ) )
/ ( 2.0 * ZF0 * sqrt( m_parameters[MUR_PRM] / m_parameters[EPSILONR_PRM] ) ); / m_parameters[Z0_PRM]
} ,2.0 ) ) );
else if( isSelected( PHYS_A_PRM ) )
{
/* solve for a */
m_parameters[PHYS_A_PRM] =
sqrt( pow( 2.0 * ZF0 * m_parameters[PHYS_B_PRM] / m_parameters[Z0_PRM], 2.0 )
+ pow( C0 / ( 2.0 * m_parameters[FREQUENCY_PRM] ), 2.0 ) );
}
k_square = kval_square(); k_square = kval_square();
beta = sqrt( k_square - kc_square( 1, 0 ) ); beta = sqrt( k_square - kc_square( 1, 0 ) );

View File

@ -59,6 +59,9 @@ inline double atanh( double x )
#define MU0 12.566370614e-7 // magnetic constant #define MU0 12.566370614e-7 // magnetic constant
#define C0 299792458.0 // speed of light in vacuum #define C0 299792458.0 // speed of light in vacuum
#define ZF0 376.73031346958504364963 // wave resistance in vacuum #define ZF0 376.730313668 // wave resistance in vacuum
// ZF0 value update:
// https://physics.nist.gov/cgi-bin/cuu/Value?z0
#endif /* __UNITS_H */ #endif /* __UNITS_H */