fuesika / mmtl Goto Github PK
View Code? Open in Web Editor NEWMMTL Electromagnetic Simulator (continued)
License: GNU General Public License v2.0
MMTL Electromagnetic Simulator (continued)
License: GNU General Public License v2.0
This bug report is imported from http://sourceforge.net/p/mmtl/bugs/16/ (#16 Element order dependent impedance solution)
Impedance solution differs for dual-stripline case depending on order of definition of elements. For
example, define order 1 = (gnd, diel1, cond, diel2, diel3, gnd)
with cond offset
equal to cond thickness
yields correct solution. If order is changed to order 2 = (gnd, diel1, diel2, diel3, gnd, cond)
with cond offset
equal to a larger number that puts the conductor in the same geometric position as the first case. The two cases should be geometrically equal, but yield very different simulation results for impedance (up to 20% different). Comparing the first case (order 1
) with other field simulators shows that that case is correct. --Submitted by gerald.johnson at teradyne.com on 2006-07-12
Here's an example input file that shows one of each type of construction.
#----------------------------------
# File: C:/Program
Files/tnt-1.2.2/examples/order_dependent_bug/dual_stripline_order_dependent_bug_example.xsctn
# Wed Jul 12 3:41:53 PM Central Daylight Time 2006
#----------------------------------
package require csdl
set _title ""
set ::Stackup::couplingLength "0.0254"
set ::Stackup::riseTime "100"
set ::Stackup::frequency "1e9"
set ::Stackup::defaultLengthUnits "mils"
set CSEG 40
set DSEG 40
GroundPlane GrouPlan1 \ -thickness 1.3 \ -yOffset 0.0 \ -xOffset 0.0
DielectricLayer DielLaye1 \ -thickness 6.4 \ -lossTangent .017 \ -permittivity 3.4 \ -permeability 1.0 \ -yOffset 0.0 \ -xOffset 0.0
TrapezoidConductors TrapCond1 \ -pitch 20.25 \ -conductivity 5.0e7S/m \ -bottomWidth 9.5 \ -height 1.3 \ -number 1 \ -topWidth 10.5 \ -yOffset -1.3 \ -xOffset 0.0
DielectricLayer DielLaye2 \ -thickness 5 \ -lossTangent .017 \ -permittivity 3.39 \ -permeability 1.0 \ -yOffset 0.0 \ -xOffset 0.0
DielectricLayer DielLaye3 \ -thickness 6.4 \ -lossTangent .017 \ -permittivity 3.4 \ -permeability 1.0 \ -yOffset 0.0 \ -xOffset 0.0
GroundPlane GrouPlan2 \ -thickness 1.3 \ -yOffset 0.0 \ -xOffset 0.0
TrapezoidConductors TrapCond2 \ -pitch 1.0 \ -conductivity 1.0 \ -bottomWidth 9.5 \ -height 1.3 \ -number 1 \ -topWidth 10.5 \ -yOffset -14 \ -xOffset 50
Here's the output from the simulation:
2006 07 12 15:41:53 jjohnson NMMTL_2DLF
File = C:/Program
Files/tnt-1.2.2/examples/order_dependent_bug/dual_stripline_order_dependent_bug_example
Number of Signal Lines = 2
Number of Ground Planes = 2
Number of Ground Wires = 0
Coupling Length = 0.02540 meters
Rise Time = 100.0000 picoseconds
Contour (conductor) segments [cseg] = 40
Ground Plane/Dielectric segments [dseg] = 40
Conductivity TrapCond2T1 = 1 siemens/meter
Conductivity TrapCond1T0 = 5e+007 siemens/meter
Note: minimum frequency for surface current assumptions is
465 MHz.
Mutual and Self Electrostatic Induction:
B(Active Signal , Passive Signal) Farads/Meter
B( ::TrapCond2T1 , ::TrapCond2T1 )= 1.7624328e-010
B( ::TrapCond2T1 , ::TrapCond1T0 )= -3.6460249e-014
B( ::TrapCond1T0 , ::TrapCond2T1 )= -3.6455380e-014
B( ::TrapCond1T0 , ::TrapCond1T0 )= 1.5484733e-010
Mutual and Self Inductance:
L(Active Signal , Passive Signal) Henrys/Meter
L( ::TrapCond2T1 , ::TrapCond2T1 )= 2.1426635e-007
L( ::TrapCond2T1 , ::TrapCond1T0 )= 5.0728755e-011
L( ::TrapCond1T0 , ::TrapCond2T1 )= 5.0723883e-011
L( ::TrapCond1T0 , ::TrapCond1T0 )= 2.4379949e-007
Asymmetry Ratios:
Asymmetry ratio for inductance matrix:
0.009602% (max), 0.009602% (average)
Asymmetry ratio for electrostatic induction matrix:
0.013354% (max), 0.013354% (average).
Characteristic Impedance (Ohms):
For Signal Line ::TrapCond2T1= 34.8675
For Signal Line ::TrapCond1T0= 39.6793
Characteristic Impedance Odd/Even (Ohms):
odd= 34.8598
even= 34.8752
Effective Dielectric Constant:
For Signal Line ::TrapCond2T1= 3.39867
For Signal Line ::TrapCond1T0= 3.39765
Propagation Velocity (meters/second):
For Signal Line ::TrapCond2T1= 1.6261710e+008
For Signal Line ::TrapCond1T0= 1.6264146e+008
Propagation Velocity Odd/Even (meters/second):
odd= 1.62732e+008
even= 1.62727e+008
Propagation Delay (seconds/meter):
For Signal Line ::TrapCond2T1= 6.1494146e-009
For Signal Line ::TrapCond1T0= 6.1484939e-009
Propagation Delay Odd/Even (seconds/meter):
odd= 6.14507e-009
even= 6.14525e-009
Rdc:
Rdc(Active Signal , Passive Signal) Ohms/Meter
Rdc( ::TrapCond2T1 , ::TrapCond2T1 )= 1.1923093e+008
Rdc( ::TrapCond2T1 , ::TrapCond1T0 )= 0.0000000e+000
Rdc( ::TrapCond1T0 , ::TrapCond2T1 )= 0.0000000e+000
Rdc( ::TrapCond1T0 , ::TrapCond1T0 )= 2.3846209e+000
Far-End (Forward) Cross Talk:
FXT(Active Signal, Passive Signal)
FXT( ::TrapCond2T1 , ::TrapCond1T0 )= -9.80464e-007 =
-120.17137 dB
Near-End (Backward) Cross Talk:
BXT(Active Signal, Passive Signal)
BXT( ::TrapCond2T1 , ::TrapCond1T0 )= 1.10652e-004 =
-79.12084 dB
NOTE: Cross talk results assume there are no reflections.
This bug report is imported from http://sourceforge.net/p/mmtl/bugs/14/ (#14 coupling length problem ... )
I created a 4 conductor stripline cross-section in microns for evaluating crosstalk. I found I needed to
include the coupling length as a sweep parameter (with iteration = 1) to have it represented in microns; otherwise, the value would be interpreted as meters. Choosing 'Run BEM MMTL Simulation' from the menu, the results are correct (no micron <-> meter confusion). This may be due to operator error, but is repeatable with the same cross-section input. Load the *.xsctn
file (attached), then
(works - correct units)
(fails - interprets coupling length as meters instead
of microns)
(works - correct units)
The version of 'TNT' is 1.2.2.
File:
#----------------------------------
# File: /home/moose2/rgf/HiTCE_CPCore_package_crosstalk_comparison/CPCore/tmp/CPCore_.xsctn
# Mon Feb 14 01:25:12 PM CST 2005
#----------------------------------
package require csdl
set _title ""
set ::Stackup::couplingLength "0.01"
set ::Stackup::riseTime "1000"
set ::Stackup::frequency "1e9"
set ::Stackup::defaultLengthUnits "microns"
set CSEG 10
set DSEG 12
GroundPlane GrouPlan1 \
-thickness 11 \
-yOffset 0.0 \
-xOffset 0.0
DielectricLayer DielLaye1 \
-thickness 205 \
-lossTangent 0.0 \
-permittivity 4.2 \
-permeability 1.0 \
-yOffset 0.0 \
-xOffset 0.0
GroundPlane GrouPlan2 \
-thickness 11 \
-yOffset 0.0 \
-xOffset 0.0
RectangleConductors RectCond1 \
-width 70 \
-pitch 150 \
-conductivity 5.0e7S/m \
-height 11 \
-number 2 \
-yOffset -119 \
-xOffset 0.0
RectangleConductors RectCond2 \
-width 70 \
-pitch 150 \
-conductivity 5.0e7S/m \
-height 11 \
-number 2 \
-yOffset -119 \
-xOffset 300
Unknown memory leak which occurs (sometimes, but not always) in case of binaries that have been compiled without CXX-options "-O2 -g", e.g. without optimization.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.