Presentation - An Introduction to HFSS Optimetrics
Presentation - An Introduction to HFSS Optimetrics
Presentation - An Introduction to HFSS Optimetrics
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1<br />
Welcome <strong>to</strong> the<br />
2002 <strong>An</strong>soft <strong>HFSS</strong>/Ensemble<br />
Users’ Workshop
2<br />
<strong>An</strong> <strong>Introduction</strong> To <strong>HFSS</strong> <strong>Optimetrics</strong> TM<br />
Lawrence Unterberger<br />
Matt Commens<br />
HF Applications Engineers<br />
<strong>An</strong>soft Corporation<br />
<strong>Optimetrics</strong> TM can take<br />
control of your model <strong>to</strong><br />
achieve performance<br />
improvements over initial<br />
designs
3<br />
Agenda<br />
◗ <strong>HFSS</strong> Overview<br />
◗ What is <strong>Optimetrics</strong> TM<br />
◗ <strong>Optimetrics</strong> Flow<br />
◗ Example Results<br />
◗ Optimization of a Patch <strong>An</strong>tenna<br />
◗ Conclusion
4<br />
What Is <strong>HFSS</strong><br />
◗ <strong>HFSS</strong> (High Frequency Structure Simula<strong>to</strong>r) is a high-performance full-wave electromagnetic (EM)<br />
field simula<strong>to</strong>r for arbitrary 3D volumetric passive device modeling. It integrates simulation,<br />
visualization, solid modeling, and au<strong>to</strong>mation in an easy-<strong>to</strong>-use environment where solutions <strong>to</strong><br />
your 3D EM problems are quickly and accurately obtained. <strong>HFSS</strong> employs the Finite Element<br />
Method (FEM), adaptive meshing, and brilliant graphics <strong>to</strong> give you unparalleled performance and<br />
insight <strong>to</strong> all of your 3D EM problems. <strong>An</strong>soft <strong>HFSS</strong> can be used <strong>to</strong> calculate parameters such as<br />
S-Parameters, Resonant Frequency, and Fields.<br />
Via hole<br />
With Solder<br />
Microstrip<br />
Meander line<br />
Leadframe<br />
Uniform<br />
Transmission<br />
lines
5<br />
Typical Modeled Devices<br />
◗ Package Modeling – BGA, QFP, Flip-Chip<br />
◗ PCB Board Modeling – Power/Ground planes, Mesh Grid Grounds, Backplanes<br />
◗ Silicon/GaSa - Spiral Induc<strong>to</strong>rs, Transformers<br />
◗ EMC/EMI – Shield Enclosures, Coupling, Near- or Far-Field Radiation<br />
◗ <strong>An</strong>tennas/Mobile Communications – Patches, Dipoles, Horns, Conformal Cell Phone <strong>An</strong>tennas,<br />
Quadrafilar Helix, Specific Absorption Rate (SAR), Infinite Arrays, Radar Cross Section (RCS),<br />
Frequency Selective Surfaces (FSS)<br />
◗ Connec<strong>to</strong>rs – Coax, Transitions<br />
◗ Waveguide – Filters, Resona<strong>to</strong>rs, Transitions, Couplers<br />
◗ Filters – Cavity Filters, Microstrip, Dielectric<br />
Horn <strong>An</strong>tenna<br />
Coax bend<br />
3D <strong>An</strong>tenna Pattern<br />
Wire Bonding
6<br />
What <strong>HFSS</strong> Gives You<br />
◗ Rapid Virtual Pro<strong>to</strong>typing<br />
◗ Arbitrary 3D Structures<br />
◗ Multiple Ports/Multiple Modes<br />
◗ All microwave materials supported<br />
◗ Calculates<br />
◗ S, Y, Z parameters<br />
◗ SPICE Sub-Circuits<br />
◗ Modes-<strong>to</strong>-Nodes<br />
◗ Differential Pairs<br />
◗ EigenModes<br />
◗ Electromagnetic fields
7<br />
How <strong>Optimetrics</strong> TM Falls In<strong>to</strong> The <strong>An</strong>soft Solution Flow<br />
APD<br />
Allegro<br />
Encore<br />
Zuken<br />
TPA<br />
PCB/MCM<br />
S-Parameters<br />
Quasi-Static RLCG Matrix<br />
Full-Wave<br />
& Fields<br />
Distributed<br />
Model<br />
Integration<br />
<strong>An</strong>softLinks<br />
PSpice<br />
SpiceLink<br />
Lumped<br />
Model<br />
IGES, STEP, GDSII,<br />
ACIS, DXF<br />
Physical<br />
Model<br />
<strong>Optimetrics</strong> TM<br />
optional<br />
SPICE Sub-Circuit<br />
Circuit/System<br />
Serenade<br />
<strong>HFSS</strong> Ensemble<br />
Full-Wave<br />
Spice<br />
HSpice Maxwell Spice PN Spice<br />
Series IV<br />
Design Lab<br />
<strong>An</strong>alog Artist<br />
EDIF
8<br />
What Is <strong>Optimetrics</strong> TM<br />
“Optimization is a process of finding a better or more suitable<br />
design instance among the possible design variations”<br />
◗ <strong>Optimetrics</strong> includes a Parametric and Optimization <strong>An</strong>alysis Module<br />
◗ Compatible with all <strong>An</strong>soft 3D products<br />
◗ Allows full Parametric and Optimization <strong>An</strong>alysis of models using multiple variables<br />
◗ Think of it as being able <strong>to</strong> solve many model iterations at once rather than having <strong>to</strong><br />
press the solve but<strong>to</strong>n many times<br />
• <strong>Optimetrics</strong> provides an intuitive interface on <strong>to</strong>p of the advanced macro language<br />
built in<strong>to</strong> <strong>HFSS</strong> that lets you:<br />
◗ Define model parameters which will vary<br />
◗ Setup a data table <strong>to</strong> specifically control iterations and/or<br />
◗ Identify performance specs <strong>to</strong> optimize<br />
◗ <strong>Optimetrics</strong> also allows advanced users <strong>to</strong> tap directly in<strong>to</strong> the powerful macro<br />
language for even greater cus<strong>to</strong>mization
9<br />
What Can <strong>Optimetrics</strong> TM Do For Me<br />
• <strong>Optimetrics</strong> functions as a design manager for <strong>HFSS</strong>...<br />
◗ Parameterize at all modeling stages<br />
◗ Geometry (size, shape, orientation, quantity…)<br />
◗ Materials (lossless, complex, anisotropic…)<br />
◗ Boundaries (impedance/conductance boundaries, linked boundary scan angles,<br />
symmetry or mode cases…)<br />
◗ Solution Setup<br />
◗ Optimization can be performed <strong>to</strong>ward an extensive array of cost functions and goals<br />
◗ Circuit Parameters<br />
◗ <strong>An</strong>tenna Patterns<br />
◗ Emissions<br />
◗ Derived Field Quantities<br />
◗ ...if you can post-process it, it can be used as a cost function!!<br />
• …that allows for centralized control of design iterations in one common interface.
10<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Executive Commands Interface<br />
Setup <strong>HFSS</strong> Project<br />
(geometry, materials, boundaries)<br />
<strong>HFSS</strong> Project Solution Setup<br />
Identify Output Results of Interest<br />
(S-parameters, field calculations, etc.)<br />
Edit/Create Optimization Variables<br />
(e.g. create Cost functions from Output Results)<br />
Setup Parametric/Optimization/Sensitivity <strong>An</strong>alysis<br />
Run Parametrics/<strong>Optimetrics</strong><br />
Review/Plot Optimization Results
11<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Nominal Project<br />
◗ Takes you directly <strong>to</strong> <strong>HFSS</strong><br />
◗ Create a model as you normally would<br />
or input existing model<br />
◗ All actions are au<strong>to</strong>matically recorded<br />
◗ Appropriate options for Driven and<br />
Eigenmode Solution<br />
◗ Material or boundary values <strong>to</strong> be<br />
varied entered via <strong>HFSS</strong> “Function”<br />
interface<br />
◗ On-board edi<strong>to</strong>r for geometric variable<br />
creation<br />
◗ Regardless of the number of variables <strong>to</strong> be<br />
parameterized, you only have <strong>to</strong> create the<br />
input model ONCE.
12<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Setup Solution Options<br />
◗ Links directly <strong>to</strong> nominal problem’s<br />
solution setup<br />
◗ Defines how the “Solution Setup” for<br />
each models iteration during the<br />
parametric or optimization analysis<br />
process shall be solved
13<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Setup Output Parameters<br />
◗ Links <strong>to</strong> nominal project’s <strong>HFSS</strong> postprocessors<br />
◗ Use <strong>to</strong> define the output results from<br />
each model setup you are interested in<br />
comparing<br />
◗ Circuit parameters directly<br />
obtainable<br />
◗ Field parameters obtained by<br />
recording your post-processing<br />
steps as a macro<br />
◗ Existing macros can simply be<br />
copied for frequently-used<br />
criteria
14<br />
Filter Cost Function: Norm Types<br />
◗ The relation between the quantity and the reference curve defines a frequency dependent error<br />
function err(f).<br />
Relation<br />
Below<br />
Close<br />
Above<br />
◗ In case if one selects “L1 Norm”, err ( f ) is readily providing the value associated with this sub-goal.<br />
f<br />
high<br />
∫<br />
2<br />
◗ For “Euclidean Norm Squared” err ( f ) is assigned <strong>to</strong> the sub-goal.<br />
f<br />
low<br />
f<br />
f<br />
high<br />
∫<br />
low<br />
Definition for err(f)<br />
⎧ q(<br />
f ) − r(<br />
f ) q > r<br />
err(<br />
f ) = ⎨<br />
⎩ 0 otherwise<br />
err( f ) = q(<br />
f ) − r(<br />
f )<br />
⎧ r(<br />
f ) − q(<br />
f ) q < r<br />
err(<br />
f ) = ⎨<br />
⎩ 0 otherwise<br />
max f<br />
f∈⎡<br />
f<br />
low<br />
, f ⎤<br />
⎢⎣ hig⎥⎦<br />
◗ <strong>An</strong>d finally, if “Maximum Norm” is selected, the associated value is simply defined by { err(<br />
) } .
15<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Edit Functions<br />
◗ Au<strong>to</strong>matically includes all<br />
variables/functions defined during<br />
nominal project setup and output<br />
parameters setup.<br />
◗ Use <strong>to</strong> define functional<br />
relationships between input model<br />
variables<br />
◗ e.g. aspect ratios<br />
◗ Use <strong>to</strong> define additional functions<br />
(including cost functions) related <strong>to</strong><br />
output parameters<br />
◗ e.g. transmitted or reflected power<br />
w.r.t. S-parameter results
16<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Setup <strong>An</strong>alysis<br />
◗ Access either parametric analysis or<br />
optimization analysis dialogs
17<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Parametric Setup<br />
◗ Identify parametric setups<br />
◗ Add variables (defined during<br />
nominal setup) <strong>to</strong> table<br />
◗ Setup variable sweep ranges<br />
and number of steps<br />
◗ Create table of parametric<br />
combinations
18<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Optimization Setup<br />
◗ Identify optimization parameters and<br />
ranges<br />
◗ Select variables from those<br />
created in nominal problem<br />
and function lists<br />
◗ Define range and step size of<br />
allowable values for each<br />
variable<br />
◗ If desired, apply constraints<br />
between related variables.<br />
◗ Define cost function and<br />
acceptable cost as optimization<br />
goal<br />
◗ Define allowable number of<br />
Iterations
19<br />
Optimizers: Quasi New<strong>to</strong>n & Pattern Search<br />
◗ Quasi New<strong>to</strong>n<br />
◗ The Quasi-New<strong>to</strong>n search is a “downhill” search, just like the steepest descent method. The difference<br />
between the steepest descent method and this algorithm is that Quasi New<strong>to</strong>n utilizes some approximate<br />
second order derivatives when finding promising search directions. This is done in order <strong>to</strong> avoid the slow<br />
convergence rate of the steepest descent search due <strong>to</strong> zigzag search path. It initiates the search from a<br />
point in the design space, and iteratively tries <strong>to</strong> find better design points.<br />
◗ Pattern Search<br />
◗ This pattern is defined on a grid, and the grid is refined or coarsened according <strong>to</strong> the success rate of the<br />
search. Like the quasi-New<strong>to</strong>n algorithm, this search is also iterative. First the pattern is evaluated<br />
(meaning that the cost function is calculated for each pattern point). Then decision is made about the next<br />
move. In case there is a better solution in the pattern, this is set <strong>to</strong> be the next iterate. If no better solution<br />
is found, then the grid is refined, and the algorithm starts over, hoping that ultimately there will be a better<br />
point found next time.
20<br />
Minimum Step & Maximum Step Variable Control<br />
◗ Maximum Step settings for Quasi New<strong>to</strong>n:<br />
◗ This parameter limits the “radius” of the line search. One should define Maximum Step for all the optimization<br />
variables. These parameters define an ellipsoid around the origin of coordinate system of the design space.<br />
Accordingly, a search step along the search direction is greater than the maximum in that direction if, the<br />
step-vec<strong>to</strong>r’s end point is outside the ellipsoid. In case the line search predicts a step greater than the<br />
maximum allowed step in the search direction, the step is truncated, and the line search exited whatever is<br />
appropriate.<br />
◗ Minimum Step settings for Quasi New<strong>to</strong>n:<br />
◗ This set of optimization parameters defines an ellipsoid similar <strong>to</strong> the above described one. When the step in<br />
the search gets less than the minimum required in the given search direction, the search algorithm is<br />
s<strong>to</strong>pped. So, this is really a s<strong>to</strong>pping criteria for the search.<br />
◗ Maximum Step settings for Pattern search<br />
◗ In a previous section we have discussed the Pattern search algorithm. As described, the algorithm uses a<br />
regular grid. The initial spacing of the grid is defined by Maximum Step parameters for each optimization<br />
variable.<br />
◗ Minimum Step settings for Pattern search<br />
◗ As in the case of the quasi-New<strong>to</strong>n search, this parameter triggers s<strong>to</strong>pping of the search. The Pattern<br />
search algorithm naturally refines the grid as the iterate closes <strong>to</strong> the optimum. When the grid gets refined so<br />
that the grid spacing becomes smaller than the Minimum Step settings, the algorithm s<strong>to</strong>ps searching any<br />
further.
21<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Add/Remove Output Columns<br />
◗ Add columns for any entry in the<br />
function List<br />
◗ Tabular contents are updated<br />
au<strong>to</strong>matically as each setup is<br />
completed<br />
◗ Table columns can be edited<br />
before or after solutions are<br />
complete
22<br />
<strong>An</strong>soft <strong>Optimetrics</strong> TM : Run… <strong>An</strong>alysis<br />
◗ Run begins solution<br />
◗ “Parametrics...” runs only parametric setups in table<br />
◗ No optimization variables need be defined<br />
◗ “Optimization...” runs parametric steps (if present)<br />
and optimization engine<br />
◗ Parametric setups aid in slope definition for<br />
optimization steps<br />
◗ “Recompute Output Parameters” will re-derive<br />
outputs if requested parameters change after setups<br />
are run
23<br />
Example 1: Parametric Study<br />
Microstrip lowpass filter<br />
Substrate<br />
Air-filled Box<br />
Port 1<br />
Microstrip<br />
Filter<br />
Port 2<br />
Symmetry<br />
Plane<br />
S21 data au<strong>to</strong>matically<br />
extracted <strong>to</strong> study how<br />
changes in permittivity<br />
affect filter response
24<br />
Example 2: <strong>Optimetrics</strong> TM<br />
Microstrip bandpass filter<br />
◗ Design variables<br />
◗ Radius d1 of Via 1<br />
◗ Radius d2 of Via 2<br />
◗ Length l1 of Resona<strong>to</strong>r 1<br />
◗ Length l2 of Resona<strong>to</strong>r 2<br />
w<br />
d<br />
1<br />
l1 l2 l1<br />
d2 d2<br />
d<br />
1
25<br />
Example 3: <strong>Optimetrics</strong> TM<br />
PIFA: Capacitive load width (W cap ) vs. plate separation (d cap )<br />
h pifa<br />
x<br />
l cf<br />
l pifa<br />
d cf<br />
W cap<br />
d cap<br />
Increasing Load<br />
Capacitance<br />
Design Curve IV<br />
W cap= 0.3mm<br />
d cap = 3.0mm
Port4<br />
Port1<br />
26<br />
Example 4: <strong>Optimetrics</strong> TM<br />
Master/Slave scan angle control<br />
Port1<br />
Port3<br />
Port2<br />
Master<br />
Slave
27<br />
Example 5: <strong>Optimetrics</strong> TM<br />
Sensitivity analysis<br />
Cost<br />
Goals<br />
Design 1 Design 2<br />
Worst<br />
Case<br />
<strong>to</strong>l <strong>to</strong>l Best<br />
<strong>to</strong>l <strong>to</strong>l<br />
Design Variable<br />
Case<br />
Cost<br />
◗ Characterize Design Point: Slope, Curvature<br />
◗ Interpolate Response for Specific Tolerance Value<br />
Design Variable
28<br />
<strong>Optimetrics</strong> Example
29<br />
CP Patch <strong>An</strong>tenna - <strong>Optimetrics</strong><br />
Patch <strong>An</strong>tenna<br />
This patch antenna example is intended <strong>to</strong> show, using <strong>An</strong>soft’s <strong>Optimetrics</strong> with <strong>HFSS</strong>, how <strong>to</strong> create,<br />
simulate, and optimize the right-hand circular polarization (RHCP) response of a patch antenna in the<br />
2.4 GHz ISM band (Blue<strong>to</strong>oth, 802.11b, etc.).
30<br />
Patch <strong>An</strong>tenna: Getting Started<br />
◗ <strong>An</strong>soft Design Environment<br />
◗ The following features of the <strong>An</strong>soft <strong>Optimetrics</strong> Design Environment are used <strong>to</strong> create this passive device model<br />
◗ <strong>An</strong>alysis: Optimization<br />
◗ Parametric geometry<br />
◗ User defined project variables<br />
◗ Database export<br />
◗ The following features of the <strong>An</strong>soft <strong>HFSS</strong> Design Environment are used <strong>to</strong> create this passive device model<br />
◗ 3D Solid Modeling<br />
◗ Primitives: box, rectangle, cylinder, circle<br />
◗ Boolean: subtract, duplicate around axis<br />
◗ Materials<br />
◗ Create user defined material<br />
◗ Boundary/Sources<br />
◗ Ports: Lumped gap port<br />
◗ Fields Post-Processing<br />
◗ Compute radiated far-fields
31<br />
Patch <strong>An</strong>tenna: Getting Started<br />
Launching <strong>An</strong>soft <strong>Optimetrics</strong><br />
Start the Maxwell Control Panel<br />
Click Project.<br />
Create and open a New <strong>An</strong>soft <strong>Optimetrics</strong> 2 Project named: opt_patch_antenna<br />
Creating the Nominal Project<br />
From the <strong>Optimetrics</strong> Executive Commands, click the Nominal Project but<strong>to</strong>n and select Create.<br />
The nominal project dialog will appear.<br />
Enter the Nominal Project Name: nom_patch_antenna<br />
Select Product: <strong>An</strong>soft High Frequency Structure Simula<strong>to</strong>r 8<br />
Click OK.<br />
Click the Draw but<strong>to</strong>n and the 3D Solid Modeler window will appear. If prompted <strong>to</strong> set the units, choose: mm or<br />
Select the menu item: Options/Units<br />
Select the Units of: mm<br />
Select the menu item Lines/Rectangle<br />
First point: X= -45.0, Y= -45.0<br />
Size: X= 90.0, Y= 90.0<br />
Name: groundplane<br />
Select the menu item View/Fit All/All Views<br />
Select the menu item Solids/Box<br />
Box base vertex: X= -22.5, Y= -22.5, Z= 0.0<br />
Size: X= 45.0, Y= 45.0, Z= 5.0<br />
Name: substrate
32<br />
Patch <strong>An</strong>tenna: Solid Model Construction<br />
Select the menu item Lines/Rectangle<br />
First point: X = -16.0, Y = -16.0, Z = 5.0<br />
Size: X = 32.0, Y= 32.0<br />
Name: patch<br />
Select the menu item Solids/Cylinder<br />
Base center: X= 0.0, Y= 8.0, Z= 0.0<br />
Cylinder axis: z<br />
R: 0.5, H: 5.0<br />
Num segments: 12<br />
Name: feed<br />
Select the menu item Solids/Box<br />
Box base vertex: X= -80.0, Y= -80.0, Z= -35.0<br />
Size: X= 160.0, Y= 160.0, Z= 75<br />
Name: air<br />
Select the menu item View/Fit All/All Views<br />
The basic geometry is now complete. But we have a few<br />
more things <strong>to</strong> do in the Draw module.
33<br />
Patch <strong>An</strong>tenna: Solid Model Construction<br />
Next create the port. This will be a 1mm wide annular ring around the base of the “feed”. Later this will be<br />
defined as a 50 ohm, lumped gap port. Consider it a virtual, 50 ohm coax feed.<br />
Select the menu item Lines/Circle<br />
Circle center: X = 0.0, Y = 8.0, Z = 0.0<br />
Circle axis: z<br />
R: 1.5<br />
Num segments: 12<br />
Name: port<br />
Create a hole in the “groundplane” for the port.<br />
Edit/Select: select the object “port”<br />
Edit/Copy then Edit/Paste<br />
Solids/Subtract<br />
Select “groundplane”. Click OK<br />
Select “port1”. Click OK<br />
Create a hole in the port <strong>to</strong> accommodate the feed.<br />
Edit/Select: select the object “feed”<br />
Edit/Copy then Edit/Paste<br />
Solids/Subtract<br />
Select “port”. Click OK<br />
Select “feed1”. Click OK
34<br />
Patch <strong>An</strong>tenna: Solid Model Construction<br />
For a RHCP response, chamfer opposing corners of<br />
the “patch”. This is done by creating triangles of the<br />
appropriate size and location and subtracting them<br />
from the “patch”.<br />
Select the menu item Lines/Polyline.<br />
Edit/create: “chamCut1”<br />
First point: X = 0.0, Y = 0.0, Z= 0.0<br />
Second point: X = 6.0, Y = 0.0, Z= 0.0<br />
Third point: X = 0.0, Y = 6.0, Z= 0.0<br />
Click Close. Click Done.<br />
Move the object “chamCut1” <strong>to</strong> the corner of “patch”.<br />
Edit/Select: select object “chamCut1”. Click OK.<br />
Arrange/Move<br />
Enter vec<strong>to</strong>r: X = -16.0, Y = -16.0, Z = 5.0<br />
Click Enter.<br />
Copy “chamCut”1 in<strong>to</strong> the opposing corner.<br />
Edit/Select: select object “chamCut1”. Click OK<br />
Edit/Duplicate/Around Axis<br />
Axis: z<br />
<strong>An</strong>gle: 180<br />
Total number: 2<br />
Click Enter.<br />
Subtract “chamCut1” and “chamCut2” from “patch”<br />
Solids/Subtract<br />
Select “patch”. Click OK.<br />
Multiple select “chamCut1” and “chamCut2”.<br />
Click OK.
35<br />
Patch <strong>An</strong>tenna: Editing Macro<br />
Now edit the command his<strong>to</strong>ry. This is an au<strong>to</strong>matically recorded modeler macro that has the<br />
same name as the <strong>HFSS</strong> project, “nom_patch_antenna.mac”, and is the macro that <strong>Optimetrics</strong><br />
will use. Here variables will be assigned <strong>to</strong> parameters of the 3D model.<br />
Select the menu item Edit/Command His<strong>to</strong>ry.<br />
Shown in the <strong>An</strong>soft Macro Edi<strong>to</strong>r<br />
is the process of assigning<br />
variables <strong>to</strong> the parameters for the<br />
rectangle “groundplane”. The<br />
following variables will be assigned:<br />
Independent variables for<br />
<strong>Optimetrics</strong>: PatchSize,<br />
ChamSize<br />
Other independent<br />
variables: SubHeight,<br />
GplaneSize, SubSize,<br />
FeedLocation<br />
Dependent variable:<br />
gplaneStart, patchStart,<br />
subStart.
36<br />
Patch <strong>An</strong>tenna: Editing Macro, Variable<br />
Assignment<br />
groundplane: Highlight the line: Rectangle [-45, -45, 0] 2 90 90 "groundplane" 1. Enter the following variable<br />
names in the right-hand fields:<br />
Starting point: X = gplaneStart, Y = gplaneStart, Z = 0.0<br />
Size: X = GplaneSize, Y = GplaneSize<br />
Click Accept.<br />
Click Yes twice when prompted.<br />
(*Note that the lines have been re-numbered)<br />
substrate: Highlight the line: Box [-22.5, -22.5, 0] 45 45 5 "substrate". Enter the following variable names in the<br />
right-hand fields:<br />
Base vertex: X = subStart, Y = subStart, Z = 0.0<br />
Size: X = SubSize, Y = SubSize, Z = SubHeight<br />
Click Accept.<br />
Click Yes thrice when prompted.<br />
patch: Highlight the line: Rectangle [-16, -16, 5] 2 32 32 "patch" 1. Enter the following variable names in the righthand<br />
fields:<br />
Starting point: X = patchStart, Y = patchStart, Z = SubHeight<br />
Size: X = PatchSize, Y = PatchSize<br />
Click Accept.<br />
Click Yes twice when prompted.<br />
*Note: The lines are re-numbered whenever a new variable or function is defined. These lines are added at the beginning of the macro<br />
and are not visible in the Assign parameter mode. To view the additional lines, select the menu item View/Edit mode. Select menu items<br />
View/Assign parameter mode <strong>to</strong> leave this view. See appendix for a copy of the full Command His<strong>to</strong>ry macro with variable assignments.
37<br />
Patch <strong>An</strong>tenna: Editing Macro, Variable<br />
Assignment, cont.<br />
feed: Highlight the line: Cyl [0, 8, 0] 2 0.5 5 "feed" 12 [0.5, 8, 5]. Enter the following variable names in the righthand<br />
fields:<br />
Center point of cylinder base: X = 0.0, Y = FeedLocation, Z = 0.0<br />
Height: SubHeight<br />
Click Accept.<br />
Click Yes when prompted.<br />
port: Highlight the line: Circle [0, 8, 0] 2 1.5 "port" 1 12 [1.5, 8, 0]. Enter the following variable names in the<br />
right-hand fields:<br />
Center point: X = 0, Y = FeedLocation, Z = 0.0<br />
Click Accept.<br />
chamCut1: Highlight the line: AddVert [6, 0, 0]. Enter the following variable names in the right-hand fields:<br />
Vertex: X = ChamSize, Y = 0.0, Z = 0.0<br />
Click Accept.<br />
Click Yes when prompted.<br />
chamCut1: Highlight the line: AddVert [0, 6, 0]. Enter the following variable names in the right-hand fields:<br />
Vertex: X = 0.0, Y = ChamSize, Z = 0.0<br />
Click Accept.<br />
Move chamCut1: Highlight the line: Move . Enter the following variable names in the right-hand<br />
fields:<br />
Vec<strong>to</strong>r: X = patchStart, Y = patchStart, Z = SubHeight<br />
Click Accept.
38<br />
Patch <strong>An</strong>tenna: Editing Macro, Edit Parameters<br />
From the <strong>An</strong>soft Macro Edi<strong>to</strong>r go <strong>to</strong> Edit/All Parameters.<br />
Here we assign the relationship between the<br />
independent and dependent variables.<br />
Change the expressions for the three dependent<br />
variables, gplaneStart, patchStart, subStart. This is<br />
done by highlighting the variable and then entering the<br />
appropriate expression in the Expression field. Click<br />
Update after entering the expression.<br />
Note that the independent variables start with upper<br />
case letters and the dependent with lower case.<br />
Following this convention will make the independent<br />
variables show up at the <strong>to</strong>p of this list.<br />
The other independent variables are there in case we<br />
want <strong>to</strong> make additional variation <strong>to</strong> the model. e.g. How<br />
does the peak gain change as a function of the<br />
substrate height (SubHeight).<br />
Click Done. In the Macro Edi<strong>to</strong>r select the menu item<br />
File/Apply changes. Exit the Macro Edi<strong>to</strong>r and then exit<br />
the Draw module. Click Yes when prompted <strong>to</strong> save<br />
changes.
39<br />
Patch <strong>An</strong>tenna: Material Manager<br />
Assigning Material Properties<br />
From the Executive Commands, click the Setup Materials<br />
but<strong>to</strong>n and the Material Manager window will appear.<br />
Assign the materials as shown.<br />
Note we have created a local material definition, “Rogers4003”<br />
To assign a local material, under the Material pull down<br />
select, Add.<br />
Type Rogers4003 in the name window.<br />
Assign the Rel. Permittivity and Elec. Loss Tan as<br />
shown.<br />
Click Enter.<br />
Click Exit. Click Yes when prompted <strong>to</strong> save.
40<br />
Patch <strong>An</strong>tenna: Boundary/Sources<br />
Creating Boundaries/Sources<br />
From the Executive Commands, click the Setup Boundary/Sources but<strong>to</strong>n and the Boundary/Source Manager<br />
window will appear.<br />
Boundaries<br />
Verify that there are no face/boundary selections<br />
Select the menu item Edit/Deselect All if it is not grayed out.<br />
Select the menu item Edit/Select/By Name.<br />
Selection Type: Face<br />
Faces: Using the control key, multiple select the faces of “groundplane” (Face27) and ”patch” (Face29).<br />
Click Done.<br />
Choose Boundary.<br />
Select Finite conductivity.<br />
Accept default value for conductivity.<br />
Name: conduc<strong>to</strong>rs<br />
Click Assign.<br />
Select the menu item Edit/Select/By Name<br />
Selection Type: Face<br />
Faces: Select all the faces of “air” (Face21-26).<br />
Click Done.<br />
Choose Boundary.<br />
Select Radiation.<br />
Name: radBoundary<br />
Click Assign.
41<br />
Patch <strong>An</strong>tenna: Boundary/Sources, cont.<br />
Source<br />
Select the menu item Edit/Select/By Name<br />
Selection Type: Face<br />
Objects: port<br />
Faces: Select the face of the port (Face28)<br />
Click Done.<br />
Choose Source.<br />
Select Port.<br />
Name: port1<br />
Type: Lumped Gap Port<br />
Resistance: 50 ohms<br />
Reactance: 0 ohms<br />
Check the Use Impedance Line and Use<br />
Calibration Line boxes.<br />
Under the impedance line Edit Line pull down<br />
select Set.<br />
Impedance Start: X = 0.0, Y= 9.5, Z = 0.0<br />
Vec<strong>to</strong>r: X = 0, Y = -1.0, Z = 0<br />
Under the calibration line Edit Line pull down<br />
select Copy Impedance.<br />
Select View Modes.<br />
Number of Modes: 1<br />
Click Assign.<br />
Select the menu item File/Exit and click Yes when<br />
prompted <strong>to</strong> save.
42<br />
Patch <strong>An</strong>tenna: Setup Solution<br />
Setting Up the Solution<br />
From the Executive Commands window,<br />
click the Setup Solution but<strong>to</strong>n and the<br />
Setup Solution dialog will appear.<br />
Check both Single Frequency and<br />
Adaptive.<br />
Single Frequency : 2.45 GHz<br />
Requested Passes : 10<br />
Tet. Refinement : 20<br />
Max Delta S : 0.001<br />
From the Starting Mesh list<br />
Select Initial.<br />
For Solve<br />
Choose All, for a full 3D solution.<br />
Click OK <strong>to</strong> accept the changes <strong>to</strong> the<br />
<strong>HFSS</strong> Solution Setup.<br />
Performing the Solution<br />
From the Executive Commands window,<br />
click Solve.
43<br />
Patch <strong>An</strong>tenna: 3D Post-Process Post Process and Macro<br />
Creation<br />
Fields Post-Process and Macro Creation<br />
From the Executive Commands, click the Post Process but<strong>to</strong>n and select Fields.<br />
Select the menu item File/Macro/Start Recording.<br />
From the Input Macro Name file browser, select the default (postfld3.mac) by clicking the OK but<strong>to</strong>n.<br />
Select the menu item Radiation/Compute/Far Field.<br />
In the Compute Far Field window accept the defaults and click OK.<br />
In the Plot Far Field window accept the defaults and click OK.<br />
Select the menu item File/Macro/S<strong>to</strong>p Recording. Click OK.<br />
Select the menu item File/Macro/Edit Macro.<br />
Select the menu item View/Edit Mode.<br />
Delete the last 13 lines of the macro (every line after “ComputeFarField”)<br />
Select the menu item Edit/Database Export Macro/Add.<br />
In database cell (1,1) type AxialRatio.<br />
Click the . . . but<strong>to</strong>n next <strong>to</strong> database cell (1,2).<br />
Select Value of field at the specific location. Click OK<br />
Click the Far Field but<strong>to</strong>n. Select Axial Ratio under the Quantity pulldown. Click OK.<br />
Click OK.<br />
In the <strong>An</strong>soft Macro Edi<strong>to</strong>r Select the menu item File/Save. Exit the Macro Edi<strong>to</strong>r.<br />
In the 3D Post-Processor select the menu items File/Macro Execute. Select the “postfld3.mac” macro. Click<br />
OK.<br />
Exit the 3D Post-Processor.
44<br />
Patch <strong>An</strong>tenna: Wait! What just happened!<br />
Creation of the 3D Post-Processor Macro.<br />
Since our ultimate goal is <strong>to</strong> optimize the RHCP of the patch antenna we had <strong>to</strong> somehow send this<br />
information <strong>to</strong> <strong>Optimetrics</strong>. To let <strong>Optimetrics</strong> know how good the RHCP was, we elected <strong>to</strong> calculate the<br />
axial ratio of the radiation pattern directly above the patch antenna, phi = 0, theta = 0. The axial ratio<br />
represents how circular the polarization is with the ideal value being 1.<br />
To calculate the axial ratio we needed the far field data. Thus the first step was <strong>to</strong> record a macro, called<br />
“postfld3.mac”, that executed the steps <strong>to</strong> calculate the far field data at the point of interest, phi = 0, theta =<br />
0.<br />
That macro included steps that we do not need. Mainly the commands associated with creating the 2D far<br />
field plots. Thus the last 13 lines in the macro were deleted.<br />
Now that we had the far field data, we added a Database Export Macro that wrote the value of the axial<br />
ratio out <strong>to</strong> a file called “postfld3.udb”. Later on we will tell <strong>Optimetrics</strong> <strong>to</strong> look in<strong>to</strong> this file <strong>to</strong> extract the<br />
value of the axial ratio for the patch antenna.<br />
Note: It was not necessary <strong>to</strong> known the <strong>An</strong>soft Macro Language. The steps associated with writing the<br />
macro commands were au<strong>to</strong>mated. Of coarse it will not always be the case that every macro you wish <strong>to</strong><br />
write can be written via au<strong>to</strong>mation. In these cases refer <strong>to</strong> the manual “<strong>Introduction</strong> <strong>to</strong> the <strong>An</strong>soft Macro<br />
Language”.<br />
See the appendix for a copy of the Fields Post-Processor macro just created.<br />
Now lets go back <strong>to</strong> the <strong>HFSS</strong> project.
45<br />
Patch <strong>An</strong>tenna:<br />
Exit <strong>HFSS</strong><br />
From the Executive Commands window, click Setup Solutions.<br />
In the <strong>HFSS</strong> Setup Solution panel enter 10 in<strong>to</strong> requested adaptive passes and select initial for the starting<br />
mesh. Click OK.<br />
From the Executive Commands window, click Exit <strong>to</strong> return <strong>to</strong> <strong>Optimetrics</strong>.<br />
Setting Up the Output Parameter<br />
From the <strong>Optimetrics</strong> Executive Commands<br />
window, click Setup Output Parameters and select<br />
Create Standard Outputs<br />
Solution Type: Single Frequency<br />
Data Type: S Matrix<br />
Type S11mag in the Parameter Name field.<br />
Click Add Circuit Parameter. Click OK.<br />
This parameter assignment will let us<br />
moni<strong>to</strong>r S11 at the solution frequency,<br />
2.45 GHz.<br />
From the Executive Commands window, click<br />
Setup Output Parameters and select Select<br />
Macros.<br />
Select 3D Fields Post Processor from the<br />
Module pulldown. Highlight “postfld3d.mac”<br />
under “Available Macros”. Click Add->. Click<br />
OK.
46<br />
Patch <strong>An</strong>tenna: Edit Functions<br />
Edit Functions<br />
From the Executive Commands window, click Edit Functions.<br />
Using the Project Parameters dialog:<br />
Add a new variable: cost<br />
Value: 10*log(AxialRatio). Click Add<br />
Note: Defining the cost function in dBs means our cost function value will be zero (10*log(1)) at optimum.<br />
Click Done <strong>to</strong> return <strong>to</strong> the Executive Commands window.
47<br />
Patch <strong>An</strong>tenna: Setup <strong>An</strong>alysis, Parametrics<br />
Setting Up the Parametric Sweep<br />
From the Executive Commands window, click Setup<br />
<strong>An</strong>alysis and select Parametrics.<br />
In the Setup Variables “opt_patch_antenna” window<br />
Select menu item : Variables/Add.<br />
Using the control key, multiple select the<br />
variables ChamSize and PatchSize. Click<br />
OK.<br />
Select the menu item Data/Sweep.<br />
Highlight the variable ChamSize.<br />
t_start: 5<br />
t_end: 7<br />
#samples: 3<br />
Click Accept.<br />
Highlight the variable PatchSize.<br />
t_start: 31<br />
t_end: 33<br />
#samples: 3<br />
Click Accept. Click OK.<br />
Select the menu item File/Exit. Click Yes when<br />
prompted <strong>to</strong> save changes.
48<br />
Patch <strong>An</strong>tenna: Setup <strong>An</strong>alysis, <strong>Optimetrics</strong><br />
Setting Up the <strong>Optimetrics</strong> <strong>An</strong>alysis<br />
From the Executive Commands window, click<br />
Setup <strong>An</strong>alysis and select Optimization.<br />
Using the Setup Optimization dialog<br />
Optimizer : Pattern Search Optimizer<br />
Cost Function : cost<br />
Click the Design Variables: Add but<strong>to</strong>n<br />
Select Variable: ChamSize<br />
Minimum: 4<br />
Maximum: 8<br />
Min. Step: 0<br />
Max. Step: 1<br />
Click OK<br />
Click the Design Variables: Add but<strong>to</strong>n<br />
Select Variable: PatchSize<br />
Minimum: 30<br />
Maximum: 35<br />
Min. Step: 0<br />
Max. Step: 1<br />
Click OK<br />
Acceptable Cost: 0<br />
Max Iterations: 100<br />
Save Fields: No<br />
Click OK.
49<br />
Patch <strong>An</strong>tenna: Add Output Columns<br />
Add/Remove Output Columns<br />
From the Executive Commands window, click Add/Remove Output Columns.<br />
Using the Add/Remove Output Columns dialog:<br />
Using the control key, multiple select all of the Available Entries, AxialRatio, S11mag, cost.<br />
Click Add-> <strong>to</strong> move the Available Entries <strong>to</strong> the Table Entries.<br />
Click OK.
50<br />
Patch <strong>An</strong>tenna: Run<br />
Performing the Solution<br />
In the Executive Commands window, under the Run pulldown, select Optimization <strong>An</strong>alysis <strong>to</strong> start the solution.<br />
Moni<strong>to</strong>ring the Solution<br />
The first nine runs will consist of the parametric setup from earlier. This will give <strong>Optimetrics</strong> a global view of the cost<br />
function. After the parametric sweep is finished, <strong>Optimetrics</strong> begins <strong>to</strong> vary the design variables, “ChamSize” and<br />
“PatchSize” <strong>to</strong> reduce the cost function.
51<br />
Patch <strong>An</strong>tenna: Run<br />
Moni<strong>to</strong>ring the Solution, cont.<br />
After 46 Setups, <strong>Optimetrics</strong> finds values for “ChamSize” (5.32617) and “PatchSize” (30.375) that achieve a cost<br />
function value of 0.00397905 corresponding <strong>to</strong> an axial ratio of 1.00095. The run was aborted after 48 runs.
52<br />
Lawrence Unterberger<br />
(lunterberger@ansoft.com)<br />
805.581.0823<br />
ANSOFT CORPORATION<br />
Corporate Headquarters<br />
Four Station Square<br />
Pittsburgh, PA 15219-1119<br />
Tel: 412-261-3200<br />
Fax: 412-471-9427<br />
Internet: info@ansoft.com<br />
www.ansoft.com<br />
Matt Commens<br />
(mcommens@ansoft.com)<br />
847.925.9066