File: TwoPorts.h

package info (click to toggle)
vipec 3.0.3-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,648 kB
  • ctags: 1,899
  • sloc: cpp: 13,609; makefile: 93; perl: 36; ansic: 20; sh: 6
file content (69 lines) | stat: -rw-r--r-- 2,242 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* -*- C++ -*-

  This file is part of ViPEC
  Copyright (C) 1991-2000 Johan Rossouw (jrossouw@alcatel.altech.co.za)

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Library General Public License as
  published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU Library General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/

#ifndef TWOPORTS_H
#define TWOPORTS_H

//---------------------------------------------------------------------------

#include <Types.h>

class Matrix;

class TwoPorts
{
public:
  static void getTLIN(TReal Freq, TReal Z, TReal E, TReal Fo, Matrix& Y);
  static void getTLSC(TReal Freq, TReal Z, TReal E, TReal Fo, TComplex &Y);
  static void getTLOC(TReal Freq, TReal Z, TReal E, TReal Fo, TComplex &Y);
  static void getCLIN(TReal Freq, TReal Ze, TReal Zo, TReal E, TReal Fo, Matrix& Y);
  static void getGYR(TReal R, Matrix& Y);
  static void getBIPB(TReal Freq, TReal B, TReal Fo, TReal Re, TReal C, Matrix& Y);
  static void getSLIN(TReal Freq, 
		      TReal W,  //Line width
		      TReal S,  //Line spacing
		      TReal L,  //Line length
		      TReal T,  //Conductor thickness
		      TReal H,  //Substrate height
		      TReal Er, //Relative permittivity
		      Matrix& Y);
  static void getMLIN(TReal Freq,
		      TReal W,  //Line width
		      TReal L,  //Line length
		      TReal T,  //Line thickness
		      TReal H,  //Substrate height
		      TReal Er, //Relative permittivity
		      TReal tanRho, //Loss
		      Matrix& Y);
  static void getSCLIN(TReal Freq, 
		       TReal W,  //Line width
		       TReal S,  //Line spacing
		       TReal L,  //Line length
		       TReal H,  //Substrate height
		       TReal Er, //Relative permittivity
		       Matrix& Y);
  
private:
  TwoPorts();
};

#endif