Qucs-core
0.0.18
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
qucs-core
src
components
cross.cpp
Go to the documentation of this file.
1
/*
2
* cross.cpp - cross connector class implementation
3
*
4
* Copyright (C) 2003, 2004, 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$
22
*
23
*/
24
25
#if HAVE_CONFIG_H
26
# include <config.h>
27
#endif
28
29
#include "
component.h
"
30
#include "
cross.h
"
31
32
using namespace
qucs
;
33
34
cross::cross
() : circuit (4) {
35
type
= CIR_CROSS;
36
setVoltageSources
(3);
37
}
38
39
void
cross::initSP
(
void
) {
40
allocMatrixS
();
41
setS
(
NODE_1
,
NODE_1
, -1.0 / 2.0);
42
setS
(
NODE_1
,
NODE_2
, 1.0 / 2.0);
43
setS
(
NODE_1
,
NODE_3
, 1.0 / 2.0);
44
setS
(
NODE_1
,
NODE_4
, 1.0 / 2.0);
45
setS
(
NODE_2
,
NODE_1
, 1.0 / 2.0);
46
setS
(
NODE_2
,
NODE_2
, -1.0 / 2.0);
47
setS
(
NODE_2
,
NODE_3
, 1.0 / 2.0);
48
setS
(
NODE_2
,
NODE_4
, 1.0 / 2.0);
49
setS
(
NODE_3
,
NODE_1
, 1.0 / 2.0);
50
setS
(
NODE_3
,
NODE_2
, 1.0 / 2.0);
51
setS
(
NODE_3
,
NODE_3
, -1.0 / 2.0);
52
setS
(
NODE_3
,
NODE_4
, 1.0 / 2.0);
53
setS
(
NODE_4
,
NODE_1
, 1.0 / 2.0);
54
setS
(
NODE_4
,
NODE_2
, 1.0 / 2.0);
55
setS
(
NODE_4
,
NODE_3
, 1.0 / 2.0);
56
setS
(
NODE_4
,
NODE_4
, -1.0 / 2.0);
57
}
58
59
void
cross::initDC
(
void
) {
60
allocMatrixMNA
();
61
voltageSource
(
VSRC_1
,
NODE_1
,
NODE_2
);
62
voltageSource
(
VSRC_2
,
NODE_1
,
NODE_3
);
63
voltageSource
(
VSRC_3
,
NODE_1
,
NODE_4
);
64
}
65
66
void
cross::initAC
(
void
) {
67
initDC
();
68
}
69
70
void
cross::initTR
(
void
) {
71
initDC
();
72
}
NODE_2
#define NODE_2
Definition:
circuit.h:35
cross::cross
cross()
Definition:
cross.cpp:34
qucs::circuit::type
int type
Definition:
circuit.h:323
qucs::circuit::setVoltageSources
void setVoltageSources(int)
Definition:
circuit.cpp:607
cross::initSP
void initSP(void)
placehoder for S-Parameter initialisation function
Definition:
cross.cpp:39
qucs::circuit::allocMatrixS
void allocMatrixS(void)
Definition:
circuit.cpp:251
NODE_4
#define NODE_4
Definition:
circuit.h:37
VSRC_1
#define VSRC_1
Definition:
circuit.h:40
qucs
Definition:
applications.h:30
VSRC_3
#define VSRC_3
Definition:
circuit.h:42
NODE_3
#define NODE_3
Definition:
circuit.h:36
qucs::circuit::allocMatrixMNA
void allocMatrixMNA(void)
Definition:
circuit.cpp:267
NODE_1
#define NODE_1
Definition:
circuit.h:34
qucs::circuit::voltageSource
void voltageSource(int, int, int, nr_double_t value=0.0)
Definition:
circuit.cpp:748
qucs::circuit::setS
void setS(int, int, nr_complex_t)
Definition:
circuit.cpp:587
component.h
cross::initDC
void initDC(void)
Definition:
cross.cpp:59
VSRC_2
#define VSRC_2
Definition:
circuit.h:41
cross.h
cross::initTR
void initTR(void)
Definition:
cross.cpp:70
cross::initAC
void initAC(void)
Definition:
cross.cpp:66
Generated on Mon Sep 1 2014 20:08:25 for Qucs-core by
1.8.6