pyRFtk 2.0.8__tar.gz → 2.0.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyrftk-2.0.8 → pyrftk-2.0.9}/PKG-INFO +1 -1
- {pyrftk-2.0.8 → pyrftk-2.0.9}/pyproject.toml +1 -1
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/ReadTSF.py +12 -6
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/__init__.py +2 -2
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfCircuit.py +33 -3
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfGTL.py +2 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfObject.py +98 -13
- pyrftk-2.0.8/rfCommon.log +0 -67
- {pyrftk-2.0.8 → pyrftk-2.0.9}/.gitignore +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/LICENCE +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/README.md +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/logo/logo.pdf +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/logo/logo.png +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/logo/logo.svg +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/.gitignore +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/ConvertGeneral.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/ReadDictData.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/S_from_VI.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/S_from_Y.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/S_from_Z.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/WriteTSF.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/Y_from_S.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/Z_from_S.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/_check_3D_shape_.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/circuit.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/codebase.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/compareSs.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/config.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/findpath.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/getlines.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/maxfun.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/plotVSWs.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/printMatrices.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/resolveTLparams.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfArcObj.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfBase.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfCoupler.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfRLC.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/rfTRL.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/str_dict.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/tictoc.py +0 -0
- {pyrftk-2.0.8 → pyrftk-2.0.9}/src/pyRFtk/whoami.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyRFtk
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.9
|
|
4
4
|
Summary: Design tool for RF antennae networks
|
|
5
5
|
Project-URL: Homepage, https://lpp-erm-kms.github.io/pyrftk/
|
|
6
6
|
Author-email: Frederic Durodie <frederic.durodie@rma.ac.be>, Arthur Adriaens <arthur.adriaens@mil.be>
|
|
@@ -3,7 +3,7 @@ requires = ["hatchling","numpy","matplotlib","logging"]
|
|
|
3
3
|
build-backend = "hatchling.build"
|
|
4
4
|
[project]
|
|
5
5
|
name = "pyRFtk"
|
|
6
|
-
version = "2.0.
|
|
6
|
+
version = "2.0.9"
|
|
7
7
|
authors = [
|
|
8
8
|
{ name="Frederic Durodie", email="frederic.durodie@rma.ac.be" },
|
|
9
9
|
{ name="Arthur Adriaens", email="arthur.adriaens@mil.be" },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__updated__ = "
|
|
1
|
+
__updated__ = "2026-05-20 14:58:47"
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
import re
|
|
@@ -349,14 +349,15 @@ def ReadTSF(src, **kwargs):
|
|
|
349
349
|
|
|
350
350
|
## do some checking
|
|
351
351
|
nZcs, nZbase = 0, 0
|
|
352
|
-
if len(Zcs) and (nZcs := Zcs.shape[1]):
|
|
352
|
+
if len(Zcs) and (nZcs := np.array(Zcs).shape[1]):
|
|
353
353
|
# Zcs (and probably gammas) were present in the file
|
|
354
354
|
if Zbase is not None:
|
|
355
355
|
# there was also a R ... in the format
|
|
356
356
|
if (nZbase := len(Zbase) if hasattr(Zbase, '__iter__') else 1) != nZcs :
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
357
|
+
if False:
|
|
358
|
+
warn(f'\nInconsistent length of the Zcs ({nZcs}) comments and the '
|
|
359
|
+
f'format supplied reference impedance R ({nZbase})',
|
|
360
|
+
stacklevel=4)
|
|
360
361
|
else:
|
|
361
362
|
# numbers match ... but do the values
|
|
362
363
|
if nZbase == 1:
|
|
@@ -376,7 +377,9 @@ def ReadTSF(src, **kwargs):
|
|
|
376
377
|
if nZbase == 1 and nZcs != 1:
|
|
377
378
|
err = []
|
|
378
379
|
|
|
379
|
-
|
|
380
|
+
else: # this should be the case when no Zcs or gammas are present
|
|
381
|
+
nZbase = len(Zlist)
|
|
382
|
+
|
|
380
383
|
|
|
381
384
|
# if the data type is Z or Y we need to convert to S
|
|
382
385
|
|
|
@@ -397,6 +400,7 @@ def ReadTSF(src, **kwargs):
|
|
|
397
400
|
|
|
398
401
|
elif Zbase is not None and (nZbase == 1 or nZbase == Ss.shape[1]):
|
|
399
402
|
Ss = ConvertGeneral(TZbase if TZbase else 50., Ss, Zbase, 'P', 'V')
|
|
403
|
+
# print(f'have converted the data from {Zbase} in the touchstone to {TZbase}')
|
|
400
404
|
|
|
401
405
|
elif Zbase is None: # No Zcs and Zbase is None:
|
|
402
406
|
Ss = ConvertGeneral(TZbase if TZbase else 50., Ss, Zcs, 'P', 'V')
|
|
@@ -404,6 +408,7 @@ def ReadTSF(src, **kwargs):
|
|
|
404
408
|
else:
|
|
405
409
|
logit['ERROR'] and tLogger.error(f'len(Zcs)[{len(Zcs)}] != N[{N}]')
|
|
406
410
|
logit['ERROR'] and tLogger.error(f'Zcs={Zcs}')
|
|
411
|
+
raise ValueError('in ReadTSF: please specify Zbase')
|
|
407
412
|
|
|
408
413
|
|
|
409
414
|
# set the portnames
|
|
@@ -440,6 +445,7 @@ def ReadTSF(src, **kwargs):
|
|
|
440
445
|
debug and tLogger.debug(ident(f'set ports to {ports}'))
|
|
441
446
|
|
|
442
447
|
debug and tLogger.debug(ident(f'< [CommonLib.ReadTSF]',-1))
|
|
448
|
+
|
|
443
449
|
return {
|
|
444
450
|
"ports" : ports,
|
|
445
451
|
"fs" : fs,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
__updated__ = "
|
|
1
|
+
__updated__ = "2026-04-24 09:20:26"
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
print('\n*** using local copy of pyRFtk ***\n')
|
|
4
4
|
|
|
5
5
|
from .config import tLogger, setLogLevel, logit, ident, _newID, logident
|
|
6
6
|
from .rfBase import rfBase
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
__updated__ = "
|
|
1
|
+
__updated__ = "2026-05-19 11:11:41"
|
|
2
|
+
|
|
3
|
+
#FIXME: addblock of a np.array fails because of xpos issues (also __str__ fails)
|
|
2
4
|
|
|
3
5
|
import numpy as np
|
|
4
6
|
import matplotlib.pyplot as plt
|
|
@@ -292,6 +294,30 @@ class rfCircuit(rfBase):
|
|
|
292
294
|
|
|
293
295
|
return obj
|
|
294
296
|
|
|
297
|
+
#==============================================================================================
|
|
298
|
+
#
|
|
299
|
+
# o b j e c t
|
|
300
|
+
#
|
|
301
|
+
def object(self,path):
|
|
302
|
+
"""object
|
|
303
|
+
|
|
304
|
+
returns the object pointed to by path
|
|
305
|
+
|
|
306
|
+
eg. rfCircuit_object = self.object('block1.block2. ... .blockN')
|
|
307
|
+
|
|
308
|
+
is equivalent to
|
|
309
|
+
|
|
310
|
+
rfCircuit_object = \
|
|
311
|
+
self.blocks['block1']['object'].blocks['block2']['object']. ... .blocks['blockN']['object']
|
|
312
|
+
|
|
313
|
+
Note this is similar to findObj
|
|
314
|
+
"""
|
|
315
|
+
obj = self
|
|
316
|
+
for blk in path.split('.'):
|
|
317
|
+
obj = obj.blocks[blk]['object']
|
|
318
|
+
|
|
319
|
+
return obj
|
|
320
|
+
|
|
295
321
|
#===========================================================================
|
|
296
322
|
#
|
|
297
323
|
# _ s u b s t p o r t s
|
|
@@ -692,8 +718,12 @@ class rfCircuit(rfBase):
|
|
|
692
718
|
|
|
693
719
|
# update the self.xpos
|
|
694
720
|
# self.xpos = []
|
|
695
|
-
|
|
696
|
-
|
|
721
|
+
if hasattr(RFobj,'xpos'):
|
|
722
|
+
for p, x in zip(oports, RFobj.xpos):
|
|
723
|
+
self.xpos.append(relpos + x)
|
|
724
|
+
else:
|
|
725
|
+
for p in oports:
|
|
726
|
+
self.xpos.append(relpos)
|
|
697
727
|
|
|
698
728
|
_debug_ and tLogger.debug(ident(
|
|
699
729
|
f'< [circuit.addblock] (inserted a new block)', -1
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
__updated__ = "
|
|
1
|
+
__updated__ = "2026-05-20 14:05:43"
|
|
2
|
+
|
|
3
|
+
#TODO: add the possibility to fill doing rfObject(fs=[ ...], Ss=[ ... ])
|
|
2
4
|
|
|
3
5
|
if __name__ == '__main__':
|
|
4
6
|
import sys
|
|
@@ -60,9 +62,9 @@ class rfObject():
|
|
|
60
62
|
and
|
|
61
63
|
|
|
62
64
|
excitation = {port1:a1, ... }
|
|
63
|
-
|
|
65
|
+
Vmax, rfObject.maxV(fHz, excitation)
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
[note code partially debugged using co-pilot (GPT-5 mini)]
|
|
66
68
|
"""
|
|
67
69
|
#===========================================================================
|
|
68
70
|
#
|
|
@@ -85,6 +87,8 @@ class rfObject():
|
|
|
85
87
|
fixme: no parameters to set the Zcs and Gms port properties
|
|
86
88
|
"""
|
|
87
89
|
|
|
90
|
+
self.got_args = False
|
|
91
|
+
|
|
88
92
|
if not hasattr(self,'args'):
|
|
89
93
|
self.args = args
|
|
90
94
|
|
|
@@ -93,12 +97,76 @@ class rfObject():
|
|
|
93
97
|
|
|
94
98
|
self.Id = kwargs.pop('Id',f'{type(self).__name__}_{_newID()}')
|
|
95
99
|
|
|
100
|
+
# if only an arg is given -> convert it (type cast) to an rfObject
|
|
101
|
+
# this eg to convert a list/numpy array to an rfOject
|
|
102
|
+
#
|
|
103
|
+
# obj = rfObject(numpy.array([[0,1],[1,0]])
|
|
104
|
+
# obj.getS(fs) returns [[0,1],[1,0]] for all frequenies fs
|
|
105
|
+
#
|
|
106
|
+
# what could be valid kwargs ?
|
|
107
|
+
#
|
|
108
|
+
# ports, xpos, Zbase
|
|
109
|
+
|
|
110
|
+
# print(f'rfObject: Nargs = {len(args)}')
|
|
111
|
+
|
|
112
|
+
if Nargs := len(args):
|
|
113
|
+
if Nargs == 1:
|
|
114
|
+
# check type of arg
|
|
115
|
+
if not isinstance(args[0], (np.ndarray, np.matrix, list)):
|
|
116
|
+
raise TypeError(
|
|
117
|
+
f'rfObject: args[0] must be of type list, numpy.array or '
|
|
118
|
+
f'numpy.matrix; got {type(args[0])}')
|
|
119
|
+
|
|
120
|
+
arg0 = np.array(args[0], dtype=complex)
|
|
121
|
+
|
|
122
|
+
if len(arg0.shape) != 2:
|
|
123
|
+
raise TypeError(
|
|
124
|
+
f'rfObject: arg[0] must must represent a square 2-dim '
|
|
125
|
+
f'array; got {arg0.shape}')
|
|
126
|
+
|
|
127
|
+
if arg0.shape[0] != arg0.shape[1]:
|
|
128
|
+
raise TypeError(
|
|
129
|
+
f'rfObject: arg[0] must must represent a square 2-dim '
|
|
130
|
+
f'array; got {arg0.shape[0]} x {arg0.shape[1]}')
|
|
131
|
+
|
|
132
|
+
self.N = arg0.shape[0]
|
|
133
|
+
self.ports = [f'm{k:03d}' for k in range(1,self.N+1)]
|
|
134
|
+
self.Ss = np.array([arg0, arg0])
|
|
135
|
+
self.fs = np.array([0, 1e18])
|
|
136
|
+
|
|
137
|
+
self.got_args = True
|
|
138
|
+
|
|
139
|
+
elif Nargs == 2:
|
|
140
|
+
raise NotImplementedError()
|
|
141
|
+
|
|
142
|
+
else:
|
|
143
|
+
raise TypeError(f"rfObject: at most 2 args expected; got {Nargs}")
|
|
144
|
+
|
|
96
145
|
#TODO: validate allowed port names
|
|
97
|
-
|
|
98
|
-
self.alias = {}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
146
|
+
|
|
147
|
+
self.alias = {} #FIXME: what was the idea again ... does not appear to be used
|
|
148
|
+
|
|
149
|
+
_ports = kwargs.get('ports', [])
|
|
150
|
+
if isinstance(_ports, str):
|
|
151
|
+
_ports = _ports.split()
|
|
152
|
+
_N = len(_ports)
|
|
153
|
+
|
|
154
|
+
# If the object was created from an argument (e.g. an S-matrix),
|
|
155
|
+
# self.N and self.ports may already be set. Only override ports
|
|
156
|
+
# from kwargs when the caller actually provided a non-empty ports list.
|
|
157
|
+
if hasattr(self, 'N'):
|
|
158
|
+
if _N:
|
|
159
|
+
if _N != self.N:
|
|
160
|
+
raise ValueError(
|
|
161
|
+
f'rfObject: the supplied args suggests a {self.N} port '
|
|
162
|
+
f'object but the supplied port kwarg suggests a {_N} port one')
|
|
163
|
+
# override only when ports were explicitly provided
|
|
164
|
+
self.ports = _ports
|
|
165
|
+
else:
|
|
166
|
+
# no N previously set -> use provided ports count (may be zero)
|
|
167
|
+
self.N = _N
|
|
168
|
+
# assign provided ports (may be empty list)
|
|
169
|
+
self.ports = _ports
|
|
102
170
|
|
|
103
171
|
self.Zbase = kwargs.get('Zbase', rcparams['Zbase'])
|
|
104
172
|
self.funit = kwargs.get('funit', rcparams['funit'])
|
|
@@ -107,13 +175,17 @@ class rfObject():
|
|
|
107
175
|
|
|
108
176
|
self.interp = kwargs.get('interp',rcparams['interp'])
|
|
109
177
|
self.interpkws = kwargs.get('interpkws',rcparams['interpkws'])
|
|
110
|
-
|
|
178
|
+
|
|
111
179
|
self.xpos = kwargs.get('xpos', [0.]*self.N)
|
|
112
|
-
|
|
180
|
+
|
|
113
181
|
# initialize arrays and stuff
|
|
114
|
-
|
|
182
|
+
if not hasattr(self,'fs'):
|
|
183
|
+
self.fs = np.array([],dtype=float).reshape((0,))
|
|
115
184
|
self.sorted = True
|
|
116
|
-
|
|
185
|
+
|
|
186
|
+
if not hasattr(self, 'Ss'):
|
|
187
|
+
self.Ss = np.array([], dtype=complex).reshape((0, self.N, self.N))
|
|
188
|
+
|
|
117
189
|
self.Zcs = np.array([], dtype=complex).reshape(0, self.N)
|
|
118
190
|
self.Gms = np.array([], dtype=complex).reshape(0, self.N)
|
|
119
191
|
self.process_kwargs()
|
|
@@ -121,13 +193,22 @@ class rfObject():
|
|
|
121
193
|
|
|
122
194
|
self.touchstone = kwargs.get('touchstone', None)
|
|
123
195
|
if self.touchstone:
|
|
196
|
+
if self.got_args:
|
|
197
|
+
raise ValueError(
|
|
198
|
+
f'rfObject: touchstone is not compatible with the use of args')
|
|
199
|
+
|
|
124
200
|
Tkwargs = {'Zbase': self.Zbase, 'funit':'HZ'}
|
|
201
|
+
# FIXME: if Zbase is not supplied it defaults to 50 Ohm but that is
|
|
202
|
+
# not taking into account the information supplied in the
|
|
203
|
+
# touchstone !
|
|
204
|
+
|
|
125
205
|
for (kw, value) in kwargs.items():
|
|
126
206
|
if kw in Tkwargs:
|
|
127
207
|
Tkwargs[kw] = value
|
|
128
208
|
|
|
129
209
|
self.read_tsf(self.touchstone, **Tkwargs)
|
|
130
|
-
|
|
210
|
+
|
|
211
|
+
|
|
131
212
|
self.interpOK = False
|
|
132
213
|
|
|
133
214
|
self.f, self.S = None, None
|
|
@@ -214,7 +295,10 @@ class rfObject():
|
|
|
214
295
|
for kw, val in self.kwargs.items():
|
|
215
296
|
s += ',\n'
|
|
216
297
|
s += ' %s = %r' % (kw,val)
|
|
298
|
+
if 'Zbase' not in self.kwargs:
|
|
299
|
+
s += f'\n Zbase = {self.Zbase} [default]'
|
|
217
300
|
s += '\n)'
|
|
301
|
+
|
|
218
302
|
return s
|
|
219
303
|
|
|
220
304
|
#===========================================================================
|
|
@@ -673,3 +757,4 @@ class rfObject():
|
|
|
673
757
|
f'pyRFtk2.rfObject.deembed: port(s) {",".join([p for p in ports])}'
|
|
674
758
|
' not found.')
|
|
675
759
|
|
|
760
|
+
|
pyrftk-2.0.8/rfCommon.log
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
DEBUG - config.py setLogLevel [ 39]: Change loglevel from CRITICAL to DEBUG
|
|
2
|
-
DEBUG - rfCircuit.py __init__ [ 60]: [ 0] > __init__
|
|
3
|
-
DEBUG - rfBase.py __init__ [ 70]: [ 1] | > __init__
|
|
4
|
-
DEBUG - rfBase.py __init__ [ 114]: [ 2] | | self.fs=[]
|
|
5
|
-
DEBUG - rfBase.py __init__ [ 138]: [ 1] | < __init__
|
|
6
|
-
DEBUG - rfCircuit.py __init__ [ 110]: [ 0] < __init__
|
|
7
|
-
DEBUG - rfCircuit.py addblock [ 533]: [ 0] > [circuit.addblock] name= TL1, RFobj= rfTRL_1, ports= None, params={}, kwargs= {}
|
|
8
|
-
DEBUG - rfCircuit.py addblock [ 698]: [ 0] < [circuit.addblock] (inserted a new block)
|
|
9
|
-
DEBUG - rfCircuit.py addblock [ 533]: [ 0] > [circuit.addblock] name= TL2, RFobj= rfTRL_1, ports= None, params={}, kwargs= {}
|
|
10
|
-
DEBUG - rfCircuit.py addblock [ 698]: [ 0] < [circuit.addblock] (inserted a new block)
|
|
11
|
-
DEBUG - rfCircuit.py connect [ 748]: [ 0] > [circuit.connect] ports= ('TL1.1', 'TL2.1', '1')
|
|
12
|
-
DEBUG - rfCircuit.py connect [ 821]: [ 0] < [circuit.connect]
|
|
13
|
-
DEBUG - rfCircuit.py connect [ 748]: [ 0] > [circuit.connect] ports= ('TL1.2', 'TL2.2', '2')
|
|
14
|
-
DEBUG - rfCircuit.py connect [ 821]: [ 0] < [circuit.connect]
|
|
15
|
-
DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
|
|
16
|
-
DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
|
|
17
|
-
DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL1
|
|
18
|
-
DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL2
|
|
19
|
-
DEBUG - rfCircuit.py extS [ 949]: [ 1] | > [circuit.extS]
|
|
20
|
-
DEBUG - rfCircuit.py extS [ 955]: [ 2] | | M is not square (10, 12)
|
|
21
|
-
DEBUG - rfCircuit.py extS [ 993]: [ 2] | | Portnames= ['1', '2']
|
|
22
|
-
DEBUG - rfCircuit.py extS [ 994]: [ 2] | | ports= ['1', '2']
|
|
23
|
-
DEBUG - rfCircuit.py extS [ 1021]: [ 2] | | S:
|
|
24
|
-
DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | [2,2]
|
|
25
|
-
DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 0.15417 -104.89°, 0.98804 -14.89°,
|
|
26
|
-
DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 0.98804 -14.89°, 0.15417 -104.89°,
|
|
27
|
-
DEBUG - rfCircuit.py extS [ 1030]: [ 1] | < [circuit.extS]
|
|
28
|
-
DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
|
|
29
|
-
DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
|
|
30
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [2,2]
|
|
31
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 0.15417 -104.89°, 0.98804 -14.89°,
|
|
32
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 0.98804 -14.89°, 0.15417 -104.89°,
|
|
33
|
-
DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
|
|
34
|
-
DEBUG - rfCircuit.py <lambda> [ 840]: [ 0] > [circuit.terminate] port= "1", kwargs= {'Z': 0}
|
|
35
|
-
DEBUG - rfCircuit.py terminate [ 883]: [ 1] | port was an external port
|
|
36
|
-
DEBUG - rfCircuit.py <lambda> [ 840]: [ 1] | "1" -> idxA: 8, idxB: 9
|
|
37
|
-
DEBUG - rfCircuit.py terminate [ 885]: [ 1] | self.E["1"] = 10
|
|
38
|
-
DEBUG - rfCircuit.py terminate [ 888]: [ 1] | self.M[8] -> (1+0j)
|
|
39
|
-
DEBUG - rfCircuit.py terminate [ 934]: [ 0] < [circuit.terminate]
|
|
40
|
-
DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
|
|
41
|
-
DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
|
|
42
|
-
DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL1
|
|
43
|
-
DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL2
|
|
44
|
-
DEBUG - rfCircuit.py extS [ 949]: [ 1] | > [circuit.extS]
|
|
45
|
-
DEBUG - rfCircuit.py extS [ 993]: [ 2] | | Portnames= ['2']
|
|
46
|
-
DEBUG - rfCircuit.py extS [ 994]: [ 2] | | ports= ['2']
|
|
47
|
-
DEBUG - rfCircuit.py extS [ 1021]: [ 2] | | S:
|
|
48
|
-
DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | [1,1]
|
|
49
|
-
DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 1.00000 +167.86°,
|
|
50
|
-
DEBUG - rfCircuit.py extS [ 1030]: [ 1] | < [circuit.extS]
|
|
51
|
-
DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
|
|
52
|
-
DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
|
|
53
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [1,1]
|
|
54
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 1.00000 +167.86°,
|
|
55
|
-
DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
|
|
56
|
-
DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
|
|
57
|
-
DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
|
|
58
|
-
DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
|
|
59
|
-
DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
|
|
60
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [1,1]
|
|
61
|
-
DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 1.00000 +167.86°,
|
|
62
|
-
DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
|
|
63
|
-
DEBUG - rfCircuit.py __init__ [ 60]: [ 0] > __init__
|
|
64
|
-
DEBUG - rfBase.py __init__ [ 70]: [ 1] | > __init__
|
|
65
|
-
DEBUG - rfBase.py __init__ [ 114]: [ 2] | | self.fs=[]
|
|
66
|
-
DEBUG - rfBase.py __init__ [ 138]: [ 1] | < __init__
|
|
67
|
-
DEBUG - rfCircuit.py __init__ [ 110]: [ 0] < __init__
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|