Qucs-GUI
0.0.19
|
00001 /*************************************************************************** 00002 copyright : (C) 2010 by Michael Margraf 00003 email : michael.margraf@alumni.tu-berlin.de 00004 ***************************************************************************/ 00005 00006 /*************************************************************************** 00007 * * 00008 * This program is free software; you can redistribute it and/or modify * 00009 * it under the terms of the GNU General Public License as published by * 00010 * the Free Software Foundation; either version 2 of the License, or * 00011 * (at your option) any later version. * 00012 * * 00013 ***************************************************************************/ 00014 00015 #include "ctline.h" 00016 00017 CoupledTLine::CoupledTLine() 00018 { 00019 Description = QObject::tr("coupled transmission lines"); 00020 00021 Arcs.append(new Arc(-28,-40, 18, 38,16*232, 16*33,QPen(Qt::darkBlue,2))); 00022 Arcs.append(new Arc(-28, 2, 18, 38, 16*95, 16*33,QPen(Qt::darkBlue,2))); 00023 00024 Lines.append(new Line(-20,-2,-16,-2,QPen(Qt::darkBlue,2))); 00025 Lines.append(new Line(-20, 2,-16, 2,QPen(Qt::darkBlue,2))); 00026 00027 Arcs.append(new Arc( 10,-40, 18, 38,16*270, 16*40,QPen(Qt::darkBlue,2))); 00028 Arcs.append(new Arc( 10, 2, 18, 38, 16*50, 16*40,QPen(Qt::darkBlue,2))); 00029 00030 Arcs.append(new Arc(-38,-10, 16, 28, 16*45, 16*45,QPen(Qt::darkBlue,2))); 00031 Arcs.append(new Arc(-38,-18, 16, 28,16*270, 16*45,QPen(Qt::darkBlue,2))); 00032 Arcs.append(new Arc( 22,-10, 16, 28, 16*90, 16*45,QPen(Qt::darkBlue,2))); 00033 Arcs.append(new Arc( 22,-18, 16, 28,16*225, 16*45,QPen(Qt::darkBlue,2))); 00034 00035 // shield 00036 Arcs.append(new Arc(-20, -9, 8, 18, 0, 16*360,QPen(Qt::darkBlue,2))); 00037 Arcs.append(new Arc( 11, -9, 8, 18,16*270, 16*180,QPen(Qt::darkBlue,2))); 00038 Lines.append(new Line(-16, -9, 16, -9,QPen(Qt::darkBlue,2))); 00039 Lines.append(new Line(-16, 9, 16, 9,QPen(Qt::darkBlue,2))); 00040 00041 Ports.append(new Port(-30,-10)); 00042 Ports.append(new Port( 30,-10)); 00043 Ports.append(new Port( 30, 10)); 00044 Ports.append(new Port(-30, 10)); 00045 00046 x1 = -30; y1 =-12; 00047 x2 = 30; y2 = 12; 00048 00049 tx = x1+4; 00050 ty = y2+4; 00051 Model = "CTLIN"; 00052 Name = "Line"; 00053 00054 Props.append(new Property("Ze", "50 Ohm", true, 00055 QObject::tr("characteristic impedance of even mode"))); 00056 Props.append(new Property("Zo", "50 Ohm", true, 00057 QObject::tr("characteristic impedance of odd mode"))); 00058 Props.append(new Property("L", "1 mm", true, 00059 QObject::tr("electrical length of the line"))); 00060 Props.append(new Property("Ere", "1", false, 00061 QObject::tr("relative dielectric constant of even mode"))); 00062 Props.append(new Property("Ero", "1", false, 00063 QObject::tr("relative dielectric constant of odd mode"))); 00064 Props.append(new Property("Ae", "0 dB", false, 00065 QObject::tr("attenuation factor per length of even mode"))); 00066 Props.append(new Property("Ao", "0 dB", false, 00067 QObject::tr("attenuation factor per length of odd mode"))); 00068 Props.append(new Property("Temp", "26.85", false, 00069 QObject::tr("simulation temperature in degree Celsius"))); 00070 } 00071 00072 00073 // ------------------------------------------------------------------- 00074 Component* CoupledTLine::newOne() 00075 { 00076 return new CoupledTLine(); 00077 } 00078 00079 Element* CoupledTLine::info(QString& Name, char* &BitmapFile, bool getNewOne) 00080 { 00081 Name = QObject::tr("Coupled Transmission Line"); 00082 BitmapFile = (char *) "ctline"; 00083 00084 if(getNewOne) return new CoupledTLine(); 00085 return 0; 00086 }