16.10.2012 Views

Presentation - An Introduction to HFSS Optimetrics

Presentation - An Introduction to HFSS Optimetrics

Presentation - An Introduction to HFSS Optimetrics

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!