Example_GSG_Pads_with_Bondwires
This is an example of how to set your CST simulation to create GSG Pads with bondwires
1import numpy as np
2import matplotlib.pyplot as plt
3import pandas as pandas
4import sys
5import os
6# Add the directory containing the project to sys.path
7current_path = os.path.dirname(os.path.abspath('__file__'))
8sys.path.append(current_path)
9from CST_Constructor import CST_Commands, Curves
10
11
12
13# =============================================================================
14# Open new MWS CST
15# =============================================================================
16
17
18obj = CST_Commands()
19obj.New_Project("MWS")
20
21
22# =============================================================================
23# Create the GSG PADS with Bondwires
24# =============================================================================
25
26# Set Units
27Parameters = {}
28Parameters["Unit Length"] = "um"
29Parameters["Unit Frequency"] = "GHz"
30Parameters["Unit Time"] = "ns"
31Parameters["Unit Temperature"] = "K"
32obj.set_Units(Parameters)
33
34
35# Set Boundary and background
36Params = {}
37Params["Type Background"] = "Normal"
38Params["Xmin Background"] = 0
39Params["Xmax Background"] = 0
40Params["Ymin Background"] = 0
41Params["Ymax Background"] = 0
42Params["Zmin Background"] = 0
43Params["Zmax Background"] = 0
44
45obj.setBackground(Params)
46
47
48BoundaryParams = {}
49BoundaryParams["Xmin Boundary"] = 'open'
50BoundaryParams["Xmax Boundary"] = 'open'
51BoundaryParams["Ymin Boundary"] = 'open'
52BoundaryParams["Ymax Boundary"] = 'open'
53BoundaryParams["Zmin Boundary"] = 'open'
54BoundaryParams["Zmax Boundary"] = 'open'
55BoundaryParams["Xsymmetry Boundary"] = 'none'
56BoundaryParams["Ysymmetry Boundary"] = 'none'
57BoundaryParams["Zsymmetry Boundary"] = 'none'
58
59obj.setBoundary(BoundaryParams)
60
61
62# Set Frequency Range for the simulation
63Parameters = {}
64Parameters["Min Frequency"] = 0
65Parameters["Max Frequency"] = 200
66obj.setSimFreqeuncy(Parameters)
67
68
69# Set Time Solver with TLM Mesh
70Parameters= {}
71Parameters["Accuracy"] = 40
72Parameters["Caclculate Modes Only"] = False
73Parameters["Auto Impedance"] = True
74Parameters["Impedance"] = 50
75Parameters["Source Port"] = 1
76Parameters["Solver Mesh Type"] = "TLM"
77obj.setTimeSolver(Parameters)
78
79# Set parameters
80Parameters = {}
81Parameters["PAD Width GND"] = 100
82Parameters["PAD Width Signal"] = 40
83Parameters["PAD Length"] = 100
84Parameters["PAD Thickness"] = 2.8
85
86
87Parameters["PADs Distance"] = 219
88Parameters["Bonwire Height"] = 20
89Parameters["Bonwire Radius"] = 25/2
90Parameters["Glue Thickness"] = 50
91Parameters["Floating Shield Thickness"]= 35
92
93Parameters["Port Y Span"] = 70
94Parameters["Port Z Span"] = 200
95Parameters["Accuracy"] = 40
96
97
98
99# Parameters["Probes"] is set to False. If True two Probes without Ports will be set!
100Parameters["Probes"] = False
101obj.GSG_Bondwire_ChipToChip_connection(Parameters)
102
103