Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/components/mslange.cpp
Go to the documentation of this file.
00001 /***************************************************************************
00002                           mscoupled.cpp  -  description
00003                              -------------------
00004     begin                : Sat Aug 23 2003
00005     copyright            : (C) 2010 by Frans Schreuder
00006     email                : fransschreuder@lists.sourceforge.net
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #include "mslange.h"
00019 
00020 
00021 MSlange::MSlange()
00022 {
00023   Description = QObject::tr("microstrip lange coupler");
00024 
00025   Lines.append(new Line(-30,-30,-30, 10,QPen(Qt::darkBlue,2)));
00026   Lines.append(new Line(-30, 30,-30, 20,QPen(Qt::darkBlue,2)));
00027   Lines.append(new Line(-30, 20,  0, 20,QPen(Qt::darkBlue,2)));
00028   Lines.append(new Line(-30, 10, 30, 10,QPen(Qt::darkBlue,2)));
00029   Lines.append(new Line(-25,  0, 25,  0,QPen(Qt::darkBlue,2)));      
00030   Lines.append(new Line(-30,-10, 30,-10,QPen(Qt::darkBlue,2)));    
00031   Lines.append(new Line(  0,-20, 30,-20,QPen(Qt::darkBlue,2)));    
00032   Lines.append(new Line( 30,-30, 30,-20,QPen(Qt::darkBlue,2)));
00033   Lines.append(new Line( 30,-10, 30, 30,QPen(Qt::darkBlue,2)));          
00034 
00035   Ports.append(new Port(-30,-30));
00036   Ports.append(new Port( 30, 30));
00037   Ports.append(new Port( 30,-30));
00038   Ports.append(new Port(-30, 30));
00039 
00040   x1 = -30; y1 =-33;
00041   x2 =  30; y2 = 33;
00042 
00043   tx = x1+4;
00044   ty = y2+4;
00045   Model = "MLANGE";
00046   Name  = "MS";
00047 
00048   Props.append(new Property("Subst", "Subst1", true,
00049   QObject::tr("name of substrate definition")));
00050   Props.append(new Property("W", "1 mm", true,
00051   QObject::tr("width of the line")));
00052   Props.append(new Property("L", "10 mm", true,
00053   QObject::tr("length of the line")));
00054   Props.append(new Property("S", "1 mm", true,
00055   QObject::tr("spacing between the lines")));
00056   Props.append(new Property("Model", "Kirschning", false,
00057   QObject::tr("microstrip model")+" [Kirschning, Hammerstad]"));
00058   Props.append(new Property("DispModel", "Kirschning", false,
00059   QObject::tr("microstrip dispersion model")+
00060   " [Kirschning, Getsinger]"));
00061   Props.append(new Property("Temp", "26.85", false,
00062   QObject::tr("simulation temperature in degree Celsius")));
00063 }
00064 
00065 MSlange::~MSlange()
00066 {
00067 }
00068 
00069 Component* MSlange::newOne()
00070 {
00071   return new MSlange();
00072 }
00073 
00074 Element* MSlange::info(QString& Name, char* &BitmapFile, bool getNewOne)
00075 {
00076   Name = QObject::tr("Microstrip Lange Coupler");
00077   BitmapFile = (char *) "mslange";
00078 
00079   if(getNewOne)  return new MSlange();
00080   return 0;
00081 }
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines