My Project
0.0.16
QUCS Mapping
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
DownLoad
QUCS-src
qucs-0.0.16
qucs-core
src
spsolver.h
Go to the documentation of this file.
1
/*
2
* spsolver.h - S-parameter solver class definitions
3
*
4
* Copyright (C) 2003, 2004, 2006, 2007, 2008 Stefan Jahn <stefan@lkcc.org>
5
*
6
* This is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* This software is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this package; see the file COPYING. If not, write to
18
* the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
19
* Boston, MA 02110-1301, USA.
20
*
21
* $Id: spsolver.h 1825 2011-03-11 20:42:14Z ela $
22
*
23
*/
24
25
#ifndef __SPSOLVER_H__
26
#define __SPSOLVER_H__
27
28
class
analysis
;
29
class
circuit
;
30
class
node
;
31
class
vector
;
32
class
sweep
;
33
class
nodelist
;
34
35
class
spsolver
:
public
analysis
36
{
37
public
:
38
ACREATOR
(
spsolver
);
39
spsolver
(
char
*);
40
spsolver
(
spsolver
&);
41
~spsolver
();
42
void
calc
(nr_double_t);
43
void
init
(
void
);
44
void
reduce
(
void
);
45
int
solve
(
void
);
46
void
insertConnections
(
void
);
47
void
insertDifferentialPorts
(
void
);
48
void
insertTee
(
node
**,
char
*);
49
void
insertCross
(
node
**,
char
*);
50
void
insertConnectors
(
node
*);
51
void
insertOpen
(
node
*);
52
void
insertGround
(
node
*);
53
circuit
*
interconnectJoin
(
node
*,
node
*);
54
circuit
*
connectedJoin
(
node
*,
node
*);
55
void
noiseConnect
(
circuit
*,
node
*,
node
*);
56
void
noiseInterconnect
(
circuit
*,
node
*,
node
*);
57
void
saveResults
(nr_double_t);
58
void
saveNoiseResults
(
nr_complex_t
[4],
nr_complex_t
[4],
59
nr_double_t,
vector
*);
60
char
*
createSP
(
int
,
int
);
61
char
*
createCV
(
char
*,
char
*);
62
void
saveCharacteristics
(nr_double_t);
63
void
dropTee
(
circuit
*);
64
void
dropCross
(
circuit
*);
65
void
dropOpen
(
circuit
*);
66
void
dropGround
(
circuit
*);
67
void
dropDifferentialPort
(
circuit
*);
68
void
dropConnections
(
void
);
69
70
private
:
71
int
tees, crosses, grounds, opens;
72
int
noise;
73
int
saveCVs;
74
sweep
* swp;
75
nodelist
* nlist;
76
circuit
* gnd;
77
};
78
79
#endif
/* __SPSOLVER_H__ */
Generated on Tue Dec 25 2012 14:30:36 for My Project by
1.8.2