You are on page 1of 2111

ŽŵƉƌĞŚĞŶƐŝǀĞůĞĐƚƌŽŵĂŐŶĞƚŝĐ^ŽůƵƚŝŽŶƐ

User’s Manual

Suite 6.3

October 2013

Copyright 1998 – 2013: EM Software & Systems-S.A. (Pty) Ltd


32 Techno Avenue, Technopark, Stellenbosch, 7600, South Africa
Tel: +27-21-831-1500, Fax: +27-21-880-1936
E-Mail: feko@emss.co.za
WWW: www.feko.info
CONTENTS i

Contents

I The FEKO Suite

1 Introduction to the FEKO Suite 1-1


1.1 FEKO Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1.1 FEKO solver (Kernel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.1.2 Selecting a numerical analysis technique for an application . . . . . . . 1-9
1.1.3 FEKO documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
1.1.4 FEKO Suite components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.2 Typical FEKO workflow when using CADFEKO . . . . . . . . . . . . . . . . . . . 1-12
1.3 Typical FEKO workflow when using EDITFEKO . . . . . . . . . . . . . . . . . . . 1-13
1.4 Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5 FEKO licences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5.1 Evaluate FEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5.2 FEKO LITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5.3 Academic use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.6 Changes in this release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.7 Contacting your distributor or EMSS . . . . . . . . . . . . . . . . . . . . . . . . . 1-15

II Working with CADFEKO

2 Introduction to CADFEKO 2-1


2.1 Typical CADFEKO workflow when constructing geometry . . . . . . . . . . . . . 2-1
2.2 Files generated and used by CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.4 The graphical user interface (GUI) of CADFEKO . . . . . . . . . . . . . . . . . . 2-4
2.4.1 The window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.4.2 The ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.3 The model tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.4.4 The details tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.5 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.5.1 Archiving models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.5.2 Checking for updates to the FEKO Suite . . . . . . . . . . . . . . . . . . . 2-9
2.5.3 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
2.5.4 3D View rendering and colours . . . . . . . . . . . . . . . . . . . . . . . . 2-10
2.6 3D view interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
2.6.1 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.6.2 Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11

October 2013 FEKO User’s Manual


CONTENTS ii

2.6.3 Panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11


2.6.4 Zoom to selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.6.5 Snapping to special points . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.7 Manipulating items in CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.7.1 Deleting items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.7.2 Point entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
2.7.3 Locking and preview of point entry fields . . . . . . . . . . . . . . . . . . 2-13
2.7.4 Locking of a part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
2.7.5 Including/excluding of a part . . . . . . . . . . . . . . . . . . . . . . . . . 2-14

3 Using CADFEKO 3-1


3.1 Launching CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2 The Home tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.3 Geometry construction in CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.3.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.3.2 Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.3.3 Windscreen tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
3.3.4 Named points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
3.3.5 Workplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
3.3.6 Model unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
3.3.7 Geometry extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
3.3.8 Planes/arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
3.3.9 Creating finite antenna arrays . . . . . . . . . . . . . . . . . . . . . . . . . 3-24
3.3.10 Creating solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
3.3.11 Creating surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32
3.3.12 Creating curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
3.3.13 Creating arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36
3.3.14 Import points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
3.3.15 Modifying geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42
3.3.16 Extend geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45
3.4 Transformations on geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
3.4.1 Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
3.4.2 Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48
3.4.3 Operations on parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
3.4.4 Simplify (removing detail) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51
3.4.5 Alter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52
3.4.6 Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
3.5 CAD fixing tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
3.5.1 Repair part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-55
3.5.2 Simplify part representation . . . . . . . . . . . . . . . . . . . . . . . . . . 3-57

October 2013 FEKO User’s Manual


CONTENTS iii

3.5.3 Repair edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-59


3.5.4 Repair and sew faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-60
3.5.5 Remove small features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61
3.5.6 Fill hole tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
3.6 Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
3.6.1 Defining cable cross sections . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
3.6.2 Defining cable shields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
3.6.3 Defining cable paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-66
3.6.4 Adding a cable harness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68
3.6.5 Adding cable connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69
3.6.6 Adding cable instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70
3.6.7 Importing cables from a harness description list (*.kbl) . . . . . . . . . 3-71
3.6.8 Search for a cables instance . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71
3.6.9 Combine cable instances to create new instance . . . . . . . . . . . . . . 3-71
3.6.10 Adding circuit elements to the cable schematic view . . . . . . . . . . . 3-72
3.7 Adding sources/loads to geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76
3.7.1 Setting the frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76
3.7.2 Setting the total source power . . . . . . . . . . . . . . . . . . . . . . . . . 3-77
3.7.3 Setting ports, sources and loads on geometry . . . . . . . . . . . . . . . 3-79
3.7.4 Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79
3.7.5 Sources on ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-90
3.7.6 Ideal sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-92
3.7.7 Equivalent sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-96
3.8 Multiple configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-102
3.8.1 Add a configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-103
3.8.2 Global and Configuration specific (local) items . . . . . . . . . . . . . . 3-106
3.9 Request calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-106
3.9.1 Far fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-108
3.9.2 Near fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-111
3.9.3 Error estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-113
3.9.4 Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-114
3.9.5 Transmission/reflection coefficients . . . . . . . . . . . . . . . . . . . . . 3-114
3.9.6 Ideal receiving (RX) antenna . . . . . . . . . . . . . . . . . . . . . . . . . 3-115
3.9.7 SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-117
3.9.8 Cable probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-118
3.10 Mesh the geometry/model mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-119
3.10.1 Create simulation mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-119
3.10.2 Automatic meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-120
3.10.3 Custom meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-122

October 2013 FEKO User’s Manual


CONTENTS iv

3.10.4 Advanced meshing options . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-122


3.10.5 Mesh info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-124
3.10.6 Mesh refinement rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-125
3.10.7 Setting local mesh sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-126
3.10.8 Batch meshing - changing the model variable from a command line . 3-126
3.10.9 Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-127
3.10.10 Fix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-128
3.10.11 Relabelling mesh elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-131
3.11 Model solution settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-131
3.11.1 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-131
3.11.2 Numerical Green’s function (NGF) . . . . . . . . . . . . . . . . . . . . . . 3-132
3.12 Solver settings (global solution settings) . . . . . . . . . . . . . . . . . . . . . . . 3-134
3.12.1 General solver settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-134
3.12.2 MLFMM and ACA settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-136
3.12.3 FEM solver settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-136
3.12.4 High frequency solution methods . . . . . . . . . . . . . . . . . . . . . . . 3-137
3.12.5 Domain decomposition settings . . . . . . . . . . . . . . . . . . . . . . . . 3-138
3.12.6 Preconditioner settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-138
3.13 Solver settings and properties on faces, edges and regions . . . . . . . . . . . . 3-139
3.13.1 Setting local properties on geometry elements . . . . . . . . . . . . . . . 3-141
3.13.2 Region properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-142
3.13.3 Face properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-143
3.13.4 Wire properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-147
3.13.5 Edge properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-148
3.13.6 Setting properties on mesh elements . . . . . . . . . . . . . . . . . . . . . 3-148
3.14 Working with CADFEKO models in EDITFEKO . . . . . . . . . . . . . . . . . . . . 3-148
3.14.1 Disabling the CADFEKO solution configuration . . . . . . . . . . . . . . 3-149
3.14.2 Setting units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-149
3.14.3 Referencing elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-149
3.14.4 Using variables and named points in EDITFEKO . . . . . . . . . . . . . . 3-150
3.14.5 Setting dielectric parameters . . . . . . . . . . . . . . . . . . . . . . . . . 3-150
3.15 Validate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-150
3.15.1 CEM validation of the CADFEKO model . . . . . . . . . . . . . . . . . . . 3-151
3.15.2 View by solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-151
3.16 Run/launch the FEKO components . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-152
3.16.1 Running the FEKO solver components . . . . . . . . . . . . . . . . . . . . 3-152
3.16.2 Component launch options . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-153
3.16.3 Additional solution configurations . . . . . . . . . . . . . . . . . . . . . . 3-157
3.17 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-158

October 2013 FEKO User’s Manual


CONTENTS v

3.17.1 Measure distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-158


3.17.2 Measure angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-158
3.17.3 Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-158
3.18 Image tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.18.1 Export image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.18.2 Copy image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.19 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.19.1 Selection method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.19.2 Selection type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-160
3.19.3 Selection tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-160
3.19.4 Undo/Redo selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-161
3.20 Snapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-161
3.21 View options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-162
3.21.1 Rotating the model in theta/phi direction . . . . . . . . . . . . . . . . . . 3-162
3.21.2 Preset views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-162
3.21.3 Manipulation of views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-162
3.21.4 Create views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-164
3.21.5 Show tree/messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-166
3.22 Model display options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-166
3.22.1 Display mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-166
3.22.2 Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-167
3.22.3 Model visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-171
3.22.4 Simulation mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-171
3.22.5 Entity display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-172
3.22.6 Solver display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-172
3.22.7 Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-172
3.23 Messages and log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173
3.24 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173

4 Importing models into CADFEKO 4-1


4.1 Importing CADFEKO models (*.cfx) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2 Importing harness description list (*.kbl) . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3 Importing geometry formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3.1 Advanced options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.3.2 Geometry import log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.4 Importing general mesh formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
4.4.1 Advanced options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.4.2 Mesh import log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9

5 Exporting models from CADFEKO 5-1

October 2013 FEKO User’s Manual


CONTENTS vi

5.1 Exporting general geometry formats . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1


5.1.1 Exporting general CAD formats . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1.2 Exporting of Parasolid models (*.x_t/*.x_b) . . . . . . . . . . . . . . . . 5-2
5.2 Exporting general mesh formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.2.1 Exporting NASTRAN mesh (*.nas) . . . . . . . . . . . . . . . . . . . . . . 5-3
5.2.2 Exporting Gerber mesh (*.gbr) . . . . . . . . . . . . . . . . . . . . . . . . 5-3

6 Requesting optimisation in CADFEKO 6-1


6.1 Optimisation methods and stopping criteria . . . . . . . . . . . . . . . . . . . . . 6-2
6.1.1 Defining optimisation parameters . . . . . . . . . . . . . . . . . . . . . . 6-4
6.1.2 Defining optimisation masks . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
6.1.3 Setting up optimisation goals . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
6.2 Optimisation goal types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
6.2.1 The impedance goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
6.2.2 The Near field goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
6.2.3 The Far field goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
6.2.4 The S-parameter goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
6.2.5 The SAR goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.2.6 The Power goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.2.7 The Receiving antenna goal . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
6.2.8 The Transmission/reflection goal . . . . . . . . . . . . . . . . . . . . . . . 6-17
6.3 The global goal: combining and weighting of multiple goals . . . . . . . . . . . 6-18
6.3.1 Goal weighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
6.3.2 Goal combination tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
6.4 Specifying special optimisation solver settings . . . . . . . . . . . . . . . . . . . . 6-19
6.5 Using optimisation in CADFEKO after making modifications to the *.pre file . 6-20

7 Scripts and application programming interface (API) 7-1


7.1 Scripting basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.1.1 Example CADFKO API script . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.1.2 Lua language essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.1.3 Default Lua modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.1.4 Additional functionality as part of the API . . . . . . . . . . . . . . . . . 7-7
7.1.5 External Lua modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
7.2 Object reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
7.2.1 Align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
7.2.2 AnalyticalCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
7.2.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
7.2.4 BezierCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
7.2.5 CartesianDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26

October 2013 FEKO User’s Manual


CONTENTS vii

7.2.6 Complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27


7.2.7 ComplexMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33
7.2.8 ComplexMatrixIndexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38
7.2.9 Cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-39
7.2.10 Cuboid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-45
7.2.11 Cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-51
7.2.12 CylindricalDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-57
7.2.13 Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-58
7.2.14 Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-60
7.2.15 EllipticArc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-66
7.2.16 Exporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73
7.2.17 Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-74
7.2.18 FittedSpline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-76
7.2.19 Flare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-82
7.2.20 Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-89
7.2.21 FormButtonFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-94
7.2.22 FormButtons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-95
7.2.23 FormCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96
7.2.24 FormComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-98
7.2.25 FormDirectoryBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-100
7.2.26 FormDoubleSpinBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-102
7.2.27 FormFileBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-105
7.2.28 FormGroupBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-108
7.2.29 FormImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-112
7.2.30 FormIntegerSpinBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-115
7.2.31 FormItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-118
7.2.32 FormLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-120
7.2.33 FormLineEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-122
7.2.34 FormRadioButtonGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-124
7.2.35 FormSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-126
7.2.36 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-128
7.2.37 GeometryExporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-134
7.2.38 GeometryImporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-137
7.2.39 GlobalCoordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-141
7.2.40 Helix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-142
7.2.41 HyperbolicArc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-149
7.2.42 Importer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-155
7.2.43 ImprintPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-156
7.2.44 Intersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-162

October 2013 FEKO User’s Manual


CONTENTS viii

7.2.45 Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-167


7.2.46 LocalCoordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-173
7.2.47 LocalWorkplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-174
7.2.48 Loft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-175
7.2.49 Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-180
7.2.50 MatrixIndexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-185
7.2.51 MeshExporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-186
7.2.52 MeshImporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-188
7.2.53 Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-195
7.2.54 NamedPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-198
7.2.55 NurbsSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-200
7.2.56 ParabolicArc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-209
7.2.57 Paraboloid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-215
7.2.58 PathSweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-221
7.2.59 Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-227
7.2.60 Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-230
7.2.61 Polyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-236
7.2.62 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-242
7.2.63 ProjectGeometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-245
7.2.64 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-250
7.2.65 Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-256
7.2.66 Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-258
7.2.67 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-260
7.2.68 Simplify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-262
7.2.69 SimplifyEdgeSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-268
7.2.70 SimplifyFaceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-270
7.2.71 SimplifyPointSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-272
7.2.72 SimplifyRegionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-273
7.2.73 SphericalDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-274
7.2.74 Spheroid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-275
7.2.75 Spin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-281
7.2.76 Split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-287
7.2.77 Stitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-293
7.2.78 Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-298
7.2.79 Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-303
7.2.80 Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-309
7.2.81 Translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-310
7.2.82 Union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-312
7.2.83 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-317

October 2013 FEKO User’s Manual


CONTENTS ix

7.2.84 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-319


7.2.85 Workplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-321
7.3 Collection reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-323
7.3.1 BezierCurvePointCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 7-324
7.3.2 ChildOperatorCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-325
7.3.3 EdgeCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-327
7.3.4 FaceCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-330
7.3.5 FittedSplinePointCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 7-333
7.3.6 FormGroupBoxItemCollection . . . . . . . . . . . . . . . . . . . . . . . . . 7-334
7.3.7 FormItemCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-337
7.3.8 GeometryCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-340
7.3.9 ImprintedPointsCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-372
7.3.10 NamedPointCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-373
7.3.11 PolygonCornerCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-376
7.3.12 PolylineCornerCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-377
7.3.13 RegionCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-378
7.3.14 TransformCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-381
7.3.15 VariableCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-387
7.3.16 WireCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-390
7.3.17 WorkplaneCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-393
7.4 Function reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-396
7.5 Enumeration type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-397
7.5.1 AnalyticalCurveDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . 7-398
7.5.2 ConeDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 7-399
7.5.3 CuboidDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . 7-400
7.5.4 CylinderDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . 7-401
7.5.5 EllipticArcDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . 7-402
7.5.6 EllipticArcMajorAxisDirectionEnum . . . . . . . . . . . . . . . . . . . . . 7-403
7.5.7 FlareDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 7-404
7.5.8 FormLayoutEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-405
7.5.9 FormSeparatorEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-406
7.5.10 HelixDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . 7-407
7.5.11 HyperbolicArcDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . 7-408
7.5.12 MirrorPlaneEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-409
7.5.13 ModelUnitEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-410
7.5.14 ParabolicArcDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . 7-411
7.5.15 ParasolidExportFileFormatEnum . . . . . . . . . . . . . . . . . . . . . . . 7-412
7.5.16 ParasolidTopologyTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . 7-413
7.5.17 PathSweepAlignmentEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 7-414

October 2013 FEKO User’s Manual


CONTENTS x

7.5.18 RectangleDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . 7-415


7.5.19 SpheroidDefinitionMethodEnum . . . . . . . . . . . . . . . . . . . . . . . 7-416
7.5.20 SplitPlanesEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-417
7.6 Data type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-418
7.6.1 Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-419
7.6.2 Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-420
7.6.3 Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-421
7.6.4 Variant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-422
7.6.5 boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-423
7.6.6 function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-424
7.6.7 number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-425
7.6.8 string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-426
7.6.9 table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-427
7.7 Constant value reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-428

III Working with POSTFEKO

8 Introduction to POSTFEKO 8-1


8.1 Typical POSTFEKO workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.2 Files generated and used by POSTFEKO . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.4 The graphical user interface (GUI) of POSTFEKO . . . . . . . . . . . . . . . . . . 8-3
8.4.1 The window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.4.2 The ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.5 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
8.5.1 Saving and loading project sessions . . . . . . . . . . . . . . . . . . . . . 8-5
8.5.2 Importing and exporting data . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
8.5.3 Stored data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

9 Using POSTFEKO 9-1


9.1 Launching POSTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
9.2 Managing projects/models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
9.3 Adding results to a view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
9.4 2D Result types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.4.1 Source data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.4.2 Near fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.4.3 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.5 Using 2D graphs (Cartesian, Smith and polar) . . . . . . . . . . . . . . . . . . . . 9-6
9.5.1 Duplicating 2D graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

October 2013 FEKO User’s Manual


CONTENTS xi

9.5.2 Specifying 2D graph captions and display options . . . . . . . . . . . . . 9-7


9.5.3 Adding overlay images to 2D graphs . . . . . . . . . . . . . . . . . . . . . 9-8
9.5.4 Adding legends to 2D graphs . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
9.5.5 Adding Greek symbols and individual character formatting . . . . . . . 9-10
9.5.6 2D Axes properties and ranges . . . . . . . . . . . . . . . . . . . . . . . . 9-11
9.5.7 Grid types for Smith charts . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
9.5.8 Managing traces on 2D graphs . . . . . . . . . . . . . . . . . . . . . . . . 9-13
9.5.9 Rendering of 2D traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13
9.5.10 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
9.5.11 Adding annotations and measurements to 2D graphs . . . . . . . . . . 9-14
9.5.12 Font, colour and text effects for 2D graphs . . . . . . . . . . . . . . . . . 9-17
9.5.13 Lines styles and markers for 2D graphs . . . . . . . . . . . . . . . . . . . 9-17
9.6 3D Result types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
9.6.1 Far fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
9.6.2 Near fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19
9.6.3 Currents and charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21
9.6.4 SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21
9.6.5 UTD/GO rays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22
9.6.6 Error estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
9.7 Using 3D views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
9.7.1 Working with large models . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
9.7.2 Duplicating 3D views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
9.7.3 Setting the 3D view display options . . . . . . . . . . . . . . . . . . . . . 9-24
9.7.4 Adding legends to 3D views . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25
9.7.5 Visibility of entities in 3D view . . . . . . . . . . . . . . . . . . . . . . . . 9-28
9.7.6 Visibility of symmetry, PBC and array base element in 3D view . . . . 9-29
9.7.7 Visibility and opacity of planes/ground . . . . . . . . . . . . . . . . . . . 9-29
9.7.8 3D axes settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29
9.7.9 Mesh rendering options for the 3D view . . . . . . . . . . . . . . . . . . . 9-30
9.7.10 Opacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31
9.7.11 Visibility of mesh elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31
9.7.12 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
9.8 3D Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
9.8.1 Managing results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
9.8.2 Rendering of results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
9.8.3 Display of requests points . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-36
9.8.4 Contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-37
9.8.5 Arrows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-37
9.8.6 UTD Rays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38

October 2013 FEKO User’s Manual


CONTENTS xii

9.8.7 Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38


9.9 Time analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-40
9.10 Script editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-43
9.11 Custom dialogs (Forms) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-45
9.11.1 Example script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-46
9.12 Application macro library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-47
9.13 Generating reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-49
9.13.1 Exporting and copying data, images and animations . . . . . . . . . . . 9-49
9.13.2 Quick reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-49
9.13.3 Generating a report from a template . . . . . . . . . . . . . . . . . . . . . 9-50
9.14 Errors and warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55
9.14.1 Warning icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55
9.14.2 Workflow error and warning dialog . . . . . . . . . . . . . . . . . . . . . 9-56
9.14.3 Error and warning logging dialog . . . . . . . . . . . . . . . . . . . . . . . 9-56
9.15 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56
9.16 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57

10 Scripts and application programming interface (API) 10-1


10.1 Script types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.1.1 Example POSTFEKO API script . . . . . . . . . . . . . . . . . . . . . . . . 10-2
10.2 Result scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.1 The interface between POSTFEKO and the math scripting environment 10-5
10.2.2 Pulling data into the math scripting environment . . . . . . . . . . . . . 10-6
10.2.3 The structure of a DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
10.2.4 Processing and modifying a DataSet . . . . . . . . . . . . . . . . . . . . . 10-10
10.2.5 Creating a custom DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12
10.2.6 Structures for internal DataSet types . . . . . . . . . . . . . . . . . . . . . 10-13
10.3 Object reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25
10.3.1 AngularGraphAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26
10.3.2 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27
10.3.3 Arrows3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33
10.3.4 Axes3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-35
10.3.5 AxisGridSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-36
10.3.6 AxisRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-37
10.3.7 CartesianGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-38
10.3.8 CartesianGraphGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-45
10.3.9 CartesianGridLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-46
10.3.10 Complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
10.3.11 ComplexMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-53
10.3.12 ComplexMatrixIndexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-58

October 2013 FEKO User’s Manual


CONTENTS xiii

10.3.13 Contours3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-59


10.3.14 Cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-61
10.3.15 Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-62
10.3.16 Currents3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-63
10.3.17 CurvilinearTriangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-64
10.3.18 CurvilinearTriangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65
10.3.19 CustomData3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-66
10.3.20 CustomData3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-69
10.3.21 CustomDataQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-74
10.3.22 CustomDataSmithTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-76
10.3.23 CustomDataTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-80
10.3.24 CustomMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-85
10.3.25 CustomSmithTraceQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . 10-88
10.3.26 Cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-90
10.3.27 Cylinders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-91
10.3.28 DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-92
10.3.29 DataSetAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-96
10.3.30 DataSetIndexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-99
10.3.31 DataSetMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-103
10.3.32 DataSetQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-105
10.3.33 DependentAxisFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-107
10.3.34 ErrorEstimate3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-108
10.3.35 ErrorEstimateData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-110
10.3.36 ErrorEstimatesQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-112
10.3.37 ExcitationData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-113
10.3.38 ExcitationMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-116
10.3.39 ExcitationQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-118
10.3.40 ExcitationSmithQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-121
10.3.41 ExcitationSmithTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-123
10.3.42 ExcitationTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-127
10.3.43 FarField3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-131
10.3.44 FarField3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-134
10.3.45 FarFieldData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-139
10.3.46 FarFieldMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-145
10.3.47 FarFieldPowerIntegralData . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-147
10.3.48 FarFieldPowerIntegralTrace . . . . . . . . . . . . . . . . . . . . . . . . . . 10-149
10.3.49 FarFieldQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-155
10.3.50 FarFieldTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-157
10.3.51 FontFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-163

October 2013 FEKO User’s Manual


CONTENTS xiv

10.3.52 Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-165


10.3.53 FormButtonFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-170
10.3.54 FormButtons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-171
10.3.55 FormCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-172
10.3.56 FormComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-174
10.3.57 FormConfigurationSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-176
10.3.58 FormDataSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-178
10.3.59 FormDirectoryBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-180
10.3.60 FormDoubleSpinBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-182
10.3.61 FormFileBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-185
10.3.62 FormGroupBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-188
10.3.63 FormImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-192
10.3.64 FormIntegerSpinBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-195
10.3.65 FormItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-198
10.3.66 FormLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-200
10.3.67 FormLineEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-202
10.3.68 FormModelSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-204
10.3.69 FormRadioButtonGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-206
10.3.70 FormSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-208
10.3.71 FrameFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-210
10.3.72 Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-211
10.3.73 GraphAxisLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-216
10.3.74 GraphAxisTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-218
10.3.75 GraphLegend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-220
10.3.76 GraphLineFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-222
10.3.77 HorizontalGraphAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-223
10.3.78 ImportSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-225
10.3.79 IndependentAxisFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-228
10.3.80 IsoSurface3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-229
10.3.81 Legend3DLinearRangeFormat . . . . . . . . . . . . . . . . . . . . . . . . . 10-230
10.3.82 Legend3DLogarithmicRangeFormat . . . . . . . . . . . . . . . . . . . . . 10-231
10.3.83 LoadCable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-233
10.3.84 LoadCoaxial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-236
10.3.85 LoadComplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-239
10.3.86 LoadData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-242
10.3.87 LoadDistributed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-244
10.3.88 LoadEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-245
10.3.89 LoadFEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-248
10.3.90 LoadMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-251

October 2013 FEKO User’s Manual


CONTENTS xv

10.3.91 LoadNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-253


10.3.92 LoadParallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-256
10.3.93 LoadQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-259
10.3.94 LoadSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-261
10.3.95 LoadTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-264
10.3.96 LoadVertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-270
10.3.97 MathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-273
10.3.98 MathTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-276
10.3.99 Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-280
10.3.100MatrixIndexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-285
10.3.101Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-286
10.3.102MeshCubeRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-289
10.3.103MeshCurvilinearTriangleFace . . . . . . . . . . . . . . . . . . . . . . . . . 10-291
10.3.104MeshEdgesFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-293
10.3.105MeshEntity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-295
10.3.106MeshFacesFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-296
10.3.107MeshLegendFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-298
10.3.108MeshRendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-300
10.3.109MeshSegmentWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-303
10.3.110MeshSegmentsFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-305
10.3.111MeshTetrahedronRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-307
10.3.112MeshTriangleFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-309
10.3.113MeshUnmeshedCylinderRegion . . . . . . . . . . . . . . . . . . . . . . . . 10-311
10.3.114MeshUnmeshedPolygonFace . . . . . . . . . . . . . . . . . . . . . . . . . . 10-313
10.3.115MeshVerticesFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-315
10.3.116MeshVolumesFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-317
10.3.117MeshWiresFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-318
10.3.118Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-319
10.3.119NearField3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-321
10.3.120NearField3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-323
10.3.121NearFieldData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-328
10.3.122NearFieldMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-334
10.3.123NearFieldPowerIntegralData . . . . . . . . . . . . . . . . . . . . . . . . . . 10-336
10.3.124NearFieldPowerIntegralTrace . . . . . . . . . . . . . . . . . . . . . . . . . 10-338
10.3.125NearFieldQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-344
10.3.126NearFieldTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-348
10.3.127NetworkData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-354
10.3.128NetworkMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-357
10.3.129NetworkQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-359

October 2013 FEKO User’s Manual


CONTENTS xvi

10.3.130NetworkTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-361
10.3.131Normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-367
10.3.132Plot3DLegendFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-368
10.3.133PlotSamplingFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-370
10.3.134Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-371
10.3.135Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-374
10.3.136PolarGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-375
10.3.137PolarGraphGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-382
10.3.138PolarGridLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-383
10.3.139Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-384
10.3.140Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-385
10.3.141PowerData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-386
10.3.142PowerIntegralQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-389
10.3.143PowerMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-390
10.3.144PowerQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-392
10.3.145PowerTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-394
10.3.146QuickReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-399
10.3.147RadialGraphAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-402
10.3.148Ray3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-404
10.3.149RayData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-407
10.3.150Rays3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-409
10.3.151RaysQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-411
10.3.152ReceivingAntennaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-414
10.3.153ReceivingAntennaQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-416
10.3.154ReceivingAntennaTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-418
10.3.155RequestPoints3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-422
10.3.156Result3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-424
10.3.157ResultData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-427
10.3.158ResultPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-429
10.3.159ResultTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-431
10.3.160SAR3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-435
10.3.161SARData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-437
10.3.162SARQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-440
10.3.163SARTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-441
10.3.164SParameterData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-446
10.3.165SParameterMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-450
10.3.166SParameterQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-452
10.3.167SParameterTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-454
10.3.168Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-459

October 2013 FEKO User’s Manual


CONTENTS xvii

10.3.169Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-460
10.3.170ShadowFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-461
10.3.171SmithChart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-462
10.3.172SmithChartGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-468
10.3.173SolutionConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-469
10.3.174SourceAperture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-475
10.3.175SourceCoaxial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-477
10.3.176SourceCurrentRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-480
10.3.177SourceCurrentSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-483
10.3.178SourceCurrentTriangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-485
10.3.179SourceElectricDipole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-487
10.3.180SourceMagneticDipole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-489
10.3.181SourceMagneticFrill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-491
10.3.182SourceModal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-494
10.3.183SourcePlaneWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-497
10.3.184SourceRadiationPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-499
10.3.185SourceSphericalModes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-501
10.3.186SourceVoltageCable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-503
10.3.187SourceVoltageEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-506
10.3.188SourceVoltageNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-509
10.3.189SourceVoltageSegment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-512
10.3.190SourceVoltageVertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-515
10.3.191SourceWaveguide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-518
10.3.192SpiceProbeData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-521
10.3.193SpiceProbeQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-523
10.3.194SpiceProbeTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-525
10.3.195SurfaceCurrents3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-529
10.3.196SurfaceCurrentsData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-534
10.3.197SurfaceCurrentsQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-536
10.3.198TRCoefficientData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-538
10.3.199TRCoefficientMathScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-541
10.3.200TRCoefficientTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-543
10.3.201TRQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-547
10.3.202TemplateReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-549
10.3.203Tetrahedra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-552
10.3.204Tetrahedral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-553
10.3.205TextBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-554
10.3.206TraceAxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-555
10.3.207TraceLegendFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-556

October 2013 FEKO User’s Manual


CONTENTS xviii

10.3.208TraceLineFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-557
10.3.209TraceMarkersFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-558
10.3.210TraceMathExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-560
10.3.211TraceSamplingFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-562
10.3.212TransmissionLineData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-563
10.3.213Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-566
10.3.214Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-567
10.3.215Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-568
10.3.216VerticalGraphAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-570
10.3.217View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-572
10.3.218View3DAnimationFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-579
10.3.219View3DAxesFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-581
10.3.220View3DFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-583
10.3.221View3DLegendRangeFormat . . . . . . . . . . . . . . . . . . . . . . . . . . 10-585
10.3.222View3DSolutionEntityFormat . . . . . . . . . . . . . . . . . . . . . . . . . 10-587
10.3.223View3DSourceFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-590
10.3.224Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-591
10.3.225WireCurrents3DPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-595
10.3.226WireCurrentsData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-599
10.3.227WireCurrentsQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-601
10.3.228WireCurrentsTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-603
10.4 Collection reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-609
10.4.1 CartesianGraphCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-611
10.4.2 ConfigurationCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-614
10.4.3 DataSetAxisCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-617
10.4.4 DataSetQuantityCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-622
10.4.5 ErrorEstimateCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-626
10.4.6 ExcitationCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-628
10.4.7 FarFieldCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-631
10.4.8 FarFieldPowerIntegralCollection . . . . . . . . . . . . . . . . . . . . . . . 10-634
10.4.9 FormGroupBoxItemCollection . . . . . . . . . . . . . . . . . . . . . . . . . 10-637
10.4.10 FormItemCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-640
10.4.11 ImportedDataCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-643
10.4.12 ImportedDataSetCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 10-646
10.4.13 LoadCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-649
10.4.14 MathScriptCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-652
10.4.15 MeshCubeRegionCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 10-655
10.4.16 MeshCurvilinearTriangleFaceCollection . . . . . . . . . . . . . . . . . . . 10-658
10.4.17 MeshSegmentWireCollection . . . . . . . . . . . . . . . . . . . . . . . . . 10-661

October 2013 FEKO User’s Manual


CONTENTS xix

10.4.18 MeshTetrahedronRegionCollection . . . . . . . . . . . . . . . . . . . . . . 10-664


10.4.19 MeshTriangleFaceCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 10-667
10.4.20 MeshUnmeshedCylinderRegionCollection . . . . . . . . . . . . . . . . . . 10-670
10.4.21 MeshUnmeshedPolygonFaceCollection . . . . . . . . . . . . . . . . . . . 10-673
10.4.22 ModelCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-676
10.4.23 NearFieldCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-678
10.4.24 NearFieldPowerIntegralCollection . . . . . . . . . . . . . . . . . . . . . . 10-681
10.4.25 NetworkCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-684
10.4.26 PolarGraphCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-687
10.4.27 PowerCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-690
10.4.28 RayCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-693
10.4.29 ReceivingAntennaCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 10-696
10.4.30 ReportsCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-699
10.4.31 Result3DPlotCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-702
10.4.32 ResultTraceCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-705
10.4.33 SARCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-708
10.4.34 SParameterCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-711
10.4.35 SmithChartCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-714
10.4.36 SpiceProbeCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-717
10.4.37 StoredDataCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-720
10.4.38 SurfaceCurrentsCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-723
10.4.39 TRCoefficientCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-726
10.4.40 TransmissionLineCollection . . . . . . . . . . . . . . . . . . . . . . . . . . 10-728
10.4.41 ViewCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-731
10.4.42 WireCurrentsCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-734
10.5 Function reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-737
10.5.1 CharacteristicModes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-738
10.5.2 CustomData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-740
10.5.3 Excitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-742
10.5.4 FarField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-744
10.5.5 Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-748
10.5.6 NearField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-750
10.5.7 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-753
10.5.8 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-755
10.5.9 SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-757
10.5.10 SParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-759
10.5.11 TRCoefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-761
10.6 Enumeration type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-763
10.6.1 AnimationFormatEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-766

October 2013 FEKO User’s Manual


CONTENTS xx

10.6.2 AnimationQualityEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-767


10.6.3 AnimationTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-768
10.6.4 AxesScaleEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-769
10.6.5 AxesTickMarkSpacingEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-770
10.6.6 ColourEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-771
10.6.7 ComplexComponentEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-772
10.6.8 ContourTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-773
10.6.9 ContourValueTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-774
10.6.10 CurrentsExportTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-775
10.6.11 DataSetAxisEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-776
10.6.12 DataSetQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-777
10.6.13 ErrorEstimateQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . 10-778
10.6.14 FarFieldQuantityComponentEnum . . . . . . . . . . . . . . . . . . . . . . 10-779
10.6.15 FarFieldQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-780
10.6.16 FarFieldsExportTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-781
10.6.17 FormDataSelectorType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-782
10.6.18 FormLayoutEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-783
10.6.19 FormSeparatorEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-784
10.6.20 FrequencyUnitEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-785
10.6.21 GraphLegendPositionEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-786
10.6.22 GridTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-787
10.6.23 ImpedanceQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . 10-788
10.6.24 ImportFileTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-789
10.6.25 LineStyleEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-790
10.6.26 LinearScaleRangeTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-791
10.6.27 LoadingTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-792
10.6.28 LogScaleRangeTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-793
10.6.29 MarkerPlacementEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-794
10.6.30 MarkerSymbolEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-795
10.6.31 MathScriptTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-796
10.6.32 MeshColouringOptionsEnum . . . . . . . . . . . . . . . . . . . . . . . . . 10-797
10.6.33 MeshEntityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-798
10.6.34 MeshHighlightingOptionsEnum . . . . . . . . . . . . . . . . . . . . . . . . 10-799
10.6.35 NearFieldQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . 10-800
10.6.36 NearFieldsExportTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-801
10.6.37 NetworkParameterFormatEnum . . . . . . . . . . . . . . . . . . . . . . . . 10-802
10.6.38 NetworkParameterTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . 10-803
10.6.39 NetworkQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-804
10.6.40 NormalisationMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-805

October 2013 FEKO User’s Manual


CONTENTS xxi

10.6.41 NumberFormatEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-806


10.6.42 PlotSamplingMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-807
10.6.43 PolarGraphDirectionEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-808
10.6.44 PolarGraphOrientationEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-809
10.6.45 PolarisationTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-810
10.6.46 PowerQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-811
10.6.47 RayFieldTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-812
10.6.48 RayTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-813
10.6.49 ReportDocumentTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . 10-814
10.6.50 ReportOrientationEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-815
10.6.51 RequestPointsDisplayTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . 10-816
10.6.52 RequestsVisualisationTypeEnum . . . . . . . . . . . . . . . . . . . . . . . 10-817
10.6.53 SARQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-818
10.6.54 SamplingMethodEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-819
10.6.55 SourcesScaleTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-820
10.6.56 SpiceProbeValueTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-821
10.6.57 StoredDataTypeEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-822
10.6.58 SurfaceCurrentsQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . 10-823
10.6.59 TRCoefficientQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . 10-824
10.6.60 ViewDirectionEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-825
10.6.61 ViewLegendPositionEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-826
10.6.62 WireCurrentsQuantityTypeEnum . . . . . . . . . . . . . . . . . . . . . . . 10-827
10.6.63 WireCurrentsSortEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-828
10.7 Data type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-829
10.7.1 Colour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-830
10.7.2 Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-831
10.7.3 MagnitudeColour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-832
10.7.4 Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-833
10.7.5 Variant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-834
10.7.6 boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-835
10.7.7 function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-836
10.7.8 number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-837
10.7.9 string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-838
10.7.10 table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-839
10.8 Constant value reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-840

IV Working with EDITFEKO

11 Introduction to EDITFEKO 11-1

October 2013 FEKO User’s Manual


CONTENTS xxii

11.1 Typical EDITFEKO workflow when scripting . . . . . . . . . . . . . . . . . . . . . 11-1


11.2 Files generated and used by EDITFEKO . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.4 The graphical user interface (GUI) of EDITFEKO . . . . . . . . . . . . . . . . . . 11-3
11.4.1 The window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.4.2 The ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
11.5 Launching EDITFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
11.6 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.6.1 Checking for updates to the FEKO Suite . . . . . . . . . . . . . . . . . . . 11-5
11.6.2 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.7 Script editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.8 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
11.8.1 Variable editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
11.9 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

12 PREFEKO language and concepts 12-1


12.1 PREFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2 Structure of the *.pre input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2.1 Order of the cards in the *.pre file . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2.2 Format of cards in the *.pre file . . . . . . . . . . . . . . . . . . . . . . . . 12-2
12.3 Guidelines for creating geometry in EDITFEKO . . . . . . . . . . . . . . . . . . . 12-3
12.3.1 Meshing guidelines regarding connectivity . . . . . . . . . . . . . . . . . 12-3
12.3.2 Reducing GUI mesh sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4
12.4 Usage and concept of labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5
12.5 Symbolic variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7
12.6 Built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.7 FOR/NEXT loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.8 IF/ELSE/ENDIF constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
12.9 EXIT command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
12.10 PRINT commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15
12.11 Symbolic node names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15

13 Geometry cards 13-1


13.1 ** card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3
13.2 BL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.3 BP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.4 BQ card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.5 BT card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10
13.6 CB card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
13.7 CL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14

October 2013 FEKO User’s Manual


CONTENTS xxiii

13.8 CN card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16


13.9 DD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-17
13.10 DK card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18
13.11 DP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-20
13.12 DZ card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-21
13.13 EG card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-23
13.14 EL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-25
13.15 FA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-27
13.16 FM card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-30
13.17 FO card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-32
13.18 FP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
13.19 HC card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36
13.20 HE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-37
13.21 HP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-39
13.22 HY card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-40
13.23 IN card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-41
13.24 IP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-61
13.25 KA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-62
13.26 KK card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-63
13.27 KL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-67
13.28 KR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-68
13.29 KU card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-71
13.30 LA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-73
13.31 MB card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-74
13.32 ME card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-75
13.33 NC card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-78
13.34 NU card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-79
13.35 PB card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-81
13.36 PE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-83
13.37 PH card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-84
13.38 PM card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-86
13.39 PO card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-88
13.40 PY card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-92
13.41 QT card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-94
13.42 QU card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-95
13.43 RM card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-97
13.44 SF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-101
13.45 SY card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-103
13.46 TG card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-104

October 2013 FEKO User’s Manual


CONTENTS xxiv

13.47 TO card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-107


13.48 TP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-109
13.49 UT card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-111
13.50 UZ card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-115
13.51 VS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-116
13.52 WA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-119
13.53 WG card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-120
13.54 WR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-121
13.55 ZY card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-122

14 Control cards 14-1


14.1 ** card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5
14.2 Ax Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
14.3 A0 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9
14.4 A1 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12
14.5 A2 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13
14.6 A3 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-15
14.7 A4 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17
14.8 A5 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
14.9 A6 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20
14.10 A7 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22
14.11 AB card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-23
14.12 AC card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-24
14.13 AE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26
14.14 AF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-29
14.15 AI card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-31
14.16 AK card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-33
14.16.1 Cable pin numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-34
14.16.2 Connection types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-36
14.17 AN card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-40
14.18 AP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-41
14.19 AR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-47
14.20 AS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-52
14.21 AV card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-58
14.22 AW card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-60
14.23 BO card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-67
14.24 CA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-68
14.25 CD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-74
14.26 CF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-80
14.27 CG card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-82

October 2013 FEKO User’s Manual


CONTENTS xxv

14.28 CM card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-87


14.29 CO card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-88
14.30 CS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-90
14.31 CI card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-92
14.32 DA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-95
14.32.1 General File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-96
14.32.2 *.efe / *.hfe file: Electric/Magnetic near fields . . . . . . . . . . . . . . 14-97
14.32.3 *.ffe file: Far fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-101
14.32.4 *.ol file: Surface charge density . . . . . . . . . . . . . . . . . . . . . . . . 14-103
14.32.5 *.os file: Surface current density . . . . . . . . . . . . . . . . . . . . . . . 14-104
14.32.6 Other supported file formats . . . . . . . . . . . . . . . . . . . . . . . . . . 14-105
14.33 DI card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-106
14.34 DL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-112
14.35 EE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-114
14.36 EN card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-115
14.37 FE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-116
14.38 FF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-121
14.39 FR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-125
14.40 GF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-128
14.41 KC card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-133
14.42 KS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-134
14.43 L2 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-135
14.44 L4 card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-137
14.45 LC card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-139
14.46 LD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-140
14.47 LE card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-141
14.48 LF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-143
14.49 LN card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-144
14.50 LP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-145
14.51 LS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-147
14.52 LZ card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-149
14.53 NW card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-150
14.54 OF card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-153
14.55 OM card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-154
14.56 OS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-155
14.57 PP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-157
14.58 PR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-159
14.59 PS card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-160
14.60 PW card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-162

October 2013 FEKO User’s Manual


CONTENTS xxvi

14.61 RA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-166


14.62 SA card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-172
14.63 SH card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-174
14.64 SK card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-177
14.65 SP card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-182
14.66 TL card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-184
14.67 TR card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-188
14.68 WD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-189

15 General modelling guidelines 15-1


15.1 Program flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.2 Modelling and meshing guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.2.1 Definitions and terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.2.2 Meshing guidelines regarding element sizes . . . . . . . . . . . . . . . . 15-3
15.2.3 Meshing guidelines regarding connectivity . . . . . . . . . . . . . . . . . 15-4
15.3 Dielectric solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
15.4 Checking the validity of the results . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8

V Working with SECFEKO

16 The program SECFEKO 16-1


16.1 Introduction to SECFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.2 Displaying licence information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.3 Managing floating licences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
16.3.1 Concept of a preferred licence . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
16.3.2 Managing floating licence servers . . . . . . . . . . . . . . . . . . . . . . . 16-5
16.3.3 Allow or deny usage of certain floating licences . . . . . . . . . . . . . . 16-5
16.4 Determining machine codes and creating licence requests . . . . . . . . . . . . 16-6
16.5 SECFEKO command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6

VI Working with QUEUEFEKO

17 Introduction to QUEUEFEKO 17-1


17.1 QUEUEFEKO system overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
17.2 Creating and extracting packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.2.1 Package configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.2.2 Including package files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.2.3 FEKO options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.2.4 CLUSTER options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4

October 2013 FEKO User’s Manual


CONTENTS xxvii

17.2.5 Using encryption (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4


17.2.6 Generate package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
17.2.7 Adding the package to the execution queue . . . . . . . . . . . . . . . . 17-6
17.2.8 Extract package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
17.2.9 Decryption of package (if required) . . . . . . . . . . . . . . . . . . . . . 17-6
17.2.10 View results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
17.3 Setting preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6

VII Preprocessing and the FEKO solver

18 The preprocessor PREFEKO 18-1


18.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1
18.2 Running PREFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1

19 The FEKO solution kernel 19-1


19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2 Running the FEKO kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2.1 Running the sequential version . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2.2 Running the parallel version . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.2.3 Running on a remote host . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-7

20 Description of the output file of FEKO 20-1


20.1 Geometric data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
20.2 Excitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5
20.3 Currents and charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
20.4 Finite conductivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
20.5 Near fields and SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-11
20.6 Far fields and receiving antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
20.7 S-parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-16
20.8 Computation time and peak memory . . . . . . . . . . . . . . . . . . . . . . . . . 20-17

VIII FEKO Utilities

21 The optimiser OPTFEKO 21-1


21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
21.2 The optimisation method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
21.2.1 Simplex (Nelder-Mead) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
21.2.2 Particle swarm optimisation (PSO) . . . . . . . . . . . . . . . . . . . . . . 21-5
21.2.3 Genetic algorithm (GA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
21.2.4 Grid search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10

October 2013 FEKO User’s Manual


CONTENTS xxviii

21.3 Sensitivity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-12


21.4 Running OPTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-13

22 The program ADAPTFEKO 22-1


22.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
22.2 Running ADAPTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
22.3 The *.pre input file for adaptive sampling . . . . . . . . . . . . . . . . . . . . . . 22-2

23 The FEKO software updater 23-1


23.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
23.2 GUI update utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
23.3 Command line update utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-3
23.4 Proxy settings - advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4
23.5 Creating a local update repository . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4

24 The FEKO crash report utility 24-1

25 Third party integration with Optenni Lab 25-1

IX Appendix

26 Advanced modelling and solution control 26-1


26.1 Utilisation of symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
26.1.1 Geometric symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
26.1.2 Electric symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
26.1.3 Magnetic symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
26.1.4 Example of the application of symmetry . . . . . . . . . . . . . . . . . . 26-2
26.1.5 Special enforcement of symmetry: Even – odd method . . . . . . . . . 26-3
26.2 Dynamic memory management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-4
26.2.1 Telling FEKO how much memory can be used . . . . . . . . . . . . . . . 26-4
26.2.2 Variables that are automatically set correctly . . . . . . . . . . . . . . . . 26-5
26.3 Environment variables and registry keys . . . . . . . . . . . . . . . . . . . . . . . 26-7

27 Summary of files 27-1

28 SPICE3f5 general structure, conventions and syntax 28-1

29 CADFEKO geometry faults 29-1

30 List of acronyms 30-1

31 Copyright notices and acknowledgements 31-1

October 2013 FEKO User’s Manual


CONTENTS xxix

31.1 Copyright to Voronoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-1


31.2 Copyright to Berkeley SPICE 3f5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-1
31.3 Copyright to SuperLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-2
31.4 Copyright of libcurl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-2
31.5 Qwt project usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3
31.6 HOOPS and Parasolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3
31.7 MeshSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3
31.8 FFmpeg (export video files) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3
31.9 Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3
31.10 Copyright of libXML2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-4
31.11 Copyright of Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-4
31.12 Copyright of LuaFileSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-5
31.13 Copyright of LuaProfiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-5
31.14 Copyright of LuaXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-6
31.15 Copyright of Penlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-6
31.16 Copyright of winapi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-7
31.17 Copyright of highlight.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-7

X Index

Index I-1

October 2013 FEKO User’s Manual


Part I

The FEKO Suite


INTRODUCTION TO THE FEKO SUITE 1-1

1 Introduction to the FEKO Suite

The name FEKO is an abbreviation derived from the German phrase FEldberechnung bei Körpern
mit beliebiger Oberfläche. (Field computations involving bodies of arbitrary shape.) As the name
suggests, FEKO can be used for various types of electromagnetic field analyses involving objects
of arbitrary shapes.

Contents
1.1 FEKO Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2 Typical FEKO workflow when using CADFEKO . . . . . . . . . . . . . . . . . . 1-12
1.3 Typical FEKO workflow when using EDITFEKO . . . . . . . . . . . . . . . . . 1-13
1.4 Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5 FEKO licences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.6 Changes in this release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.7 Contacting your distributor or EMSS . . . . . . . . . . . . . . . . . . . . . . . . 1-15

1.1 FEKO Overview

FEKO is a software Suite intended for the analysis of a wide range of electromagnetic problems.
Applications include EMC analysis, antenna design, microstrip antennas and circuits, dielectric
media, scattering analysis, cable modelling and many more. The kernel provides a comprehensive
set of powerful computational methods and has been extended for the analysis of thin dielectric
sheets, multiple homogeneous dielectric bodies and planar stratified media. Figure 1-1 illustrates
numerical analysis techniques Range
availableofinSolution
FEKO and the typesinofFEKO
Methods problems for which they are
intended.

UTD
Hybridisation to
solve large and
PO/GO complex
problems
MLFMM
Electrical Size

MOM

FEM

Complexity of Materials

Figure 1-1: Illustration of the numerical analysis techniques in FEKO.

The FEKO suite also has three main GUI (graphical user interface) components namely CADFEKO,
EDITFEKO and POSTFEKO which make use of the ribbon UI (user interface).

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-2

CADFEKO enables users to create and mesh geometry


(CAD creation). The numerical analysis technique, as
well as the calculation requests are specified by the
user.

EDITFEKO is used to construct models by means of


a high level scripting language which includes repeti-
tive FOR loops and conditional IF-ELSE statements.

POSTFEKO enables users to read and display results


obtained from the FEKO solver (Kernel) on 2D graphs
or in combination with the geometry in a 3D view.
The postprocessing of data in POSTFEKO is also pos-
sible by means of scripting. Data and images can be
exported as well as automatic report generation en-
abling the quick presentation of results and data.

Combining the intuitive workflow of the FEKO GUI’s and the powerful computational methods of
the FEKO solver will lead to an increase in productivity.

1.1.1 FEKO solver (Kernel)

The method of moments (MoM) technique forms the basis of the FEKO solver. Other techniques
such as the multilevel fast multipole method (MLFMM), the finite element method (FEM), uni-
form theory of diffraction (UTD), geometrical optics (ray launching) and physical optics (PO)
allow the solving of electrically large problems and inhomogeneous dielectric bodies of arbitrary
shape. Several approximations and acceleration techniques are available to efficiently simulate
complex electromagnetic problems.
FEKO provides for parallel processing usage on a range of workstations, servers and clusters. The
performance for each platform, operating system and deployment method has been optimised
for the delivery of accurate and timely results.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-3

Method of moments (MoM)

The core of the program FEKO is based on the method of moments (MoM). The MoM is a full
wave solution of Maxwell’s integral equations in the frequency domain. An advantage of the
MoM is that it is a “source method” meaning that only the structure in question is discretised,
not free space as with “field methods”. Boundary conditions do not have to be set and memory
requirements scale proportional to the geometry and the required solution frequency.
The FEKO solver supports RWG (Rao-Wilton-Glisson) and higher order hierarchical basis func-
tions (orders 0.5, 1.5, 2.5 and 3.5). Higher order basis functions have more unknowns per
element, but they allow larger triangle elements to be used. The net result is that less mem-
ory is required for models where larger elements can be used to accurately describe the model
geometry.
The following special extensions have been included in FEKO’s MoM formulation to enable the
modelling of magnetic and dielectric media.

Surface equivalence principle (SEP): The SEP introduces equivalent electric and magnetic cur-
rents on the surface of a closed dielectric body. The surface of such bodies can be arbitrarily
shaped and is discretised using triangles.

Volume equivalence principle (VEP): The VEP allows the creation of dielectric bodies from
cuboids (in EDITFEKO) or tetrahedra. More basis functions are typically required than for
the SEP, but neighbouring cuboids or tetrahedra may have differing electric and magnetic
properties.
The volume equivalence principle is associated with a volume mesh and general usability
is inhibited by the order O(N 2..3 ) memory and CPU-time scaling with number unknowns N .
There are however special cases where the VEP is advantageous over the SEP or the
FEM/MoM:

• The formulation is stable at low frequencies


• It displays good stability and convergence properties for an iterative solution with the
MLFMM
• It is well-suited to inhomogeneous and thin dielectric bodies

Note that tetrahedral VEP is not supported together with dielectric solution methods (SEP,
FEM, VEP with cuboids, special Green’s functions) and periodic boundary conditions.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-4

Planar Green’s functions for multilayered media: Multilayered dielectric media may be mod-
elled with Green’s functions, e.g. substrates for microstrip architecture. The special Green’s
function formulation implements 2D infinite planes with finite thickness to handle each
layer of the dielectric. Conducting surfaces and wires inside the dielectric layers have to
be discretised, but not the dielectric layers themselves. Metallic surfaces and wires can be
arbitrarily oriented in the media and are allowed to cross multiple layers. (Calculations
using Green’s functions are accelerated by using interpolation tables.)

Thin dielectric sheets: Multiple layers of thin dielectric and anisotropic sheets can be analysed
as a single layer in FEKO. Typical applications are the analysis of radome covered antennas
and windscreens of automobiles.

Dielectrically coated wires: FEKO implements two methods for the modelling of dielectric and
magnetic coatings on wires:

• Popovic’s formulation modifies the radius of the metallic wire core to change the ca-
pacitive loading on the wire, while simultaneously adding a corresponding inductive
load. The method is restricted in that the loss tangent of the layer has to be identical
to the loss tangent of the surrounding medium.
• Pure dielectric layers (i.e. relative permeability of the layer equals that of the sur-
rounding medium) should be modelled with the equivalence theorem where the effect
of the dielectric layering is accounted for by a volume polarisation current. The only
restriction on the method is that the layering may not be magnetic.

Real ground: Real ground can be modelled with the reflection coefficient approximation or the
exact Sommerfeld formulation.

Windscreen: Multiple windscreen antennas on multiple glass definitions can be analysed in one
model. This solution method is much faster than modelling the windscreen, antennas and
layers using any other technique.

Planar Green’s function aperture A planar Green’s function slot or aperture interface is discre-
tised to yield a more efficient solution. Simulations using this method are much faster than
discretising the finite size ground plane that surrounds a slot or aperture, since the number
of triangles are greatly reduced.

Multilevel fast multipole method (MLFMM)

The MLFMM is an alternative formulation of the technology behind the MoM and is applicable
to much larger structures than the MoM, making full-wave current-based solutions of electrically

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-5

large structures a possibility. This implies that the MLFMM can be applied to most large models
that were previously treated with the MoM without having to change the mesh.

Standard MoM MLFMM

MLFMM

The agreement between the MoM and MLFMM is that basis functions model the interaction be-
tween all triangles. The MLFMM differs from the MoM in that it groups basis functions and
computes the interaction between groups of basis functions, rather than between individual ba-
sis functions. FEKO employs a boxing algorithm that encloses the entire computational space
in a single box at the highest level, dividing this box in three dimensions into a maximum of
eight child cubes and repeating the process iteratively until the side length of each child cube
is approximately a quarter wavelength at the lowest level. Only populated cubes are stored at
each level, forming an efficient tree-like data structure. In the MoM framework the MLFMM is
implemented through a process of aggregation, translation and disaggregation of the different
levels.
The MoM treats each of N basis functions in isolation, thus resulting in an N 2 scaling of memory
requirements (to store the impedance matrix) and N 3 in CPU-time (to solve the linear set of
equations). It is thus clear that processing requirements for MoM solutions scale rapidly with
increasing problem size. The MLFMM formulation’smore efficient
2 treatment of the same problem
results in N ∗ log(N ) scaling in memory and N ∗ log(N ) in CPU time. In real applications
this reduction in solution requirements can range to orders of magnitude. Significant effort has
also been invested in improving the parallel MLFMM formulation to achieve exceptionally high
efficiency when distributing a simulation over multiple processors.
Note that the MLFMM can now be applied in the hybrid FEM/MoM framework in FEKO to reduce
computational resource requirements associated with the MoM part.

Cable coupling

The FEKO solver supports the analysis of cable harnesses consisting of arbitrary cable bundles
along cable paths, cable connectors and probes. The following solution methods for the outer
cable problem can be set:

Multiconductor transmission line (MTL): An arbitrary model which include cables may be solved
by means of the multiconductor transmission line (MTL) hybridised with the MoM or
MLFMM. The cable path should be within λ5 of the conducting surface.

Method of moments (MoM), only for shielded cables: The model is solved by means of the
combined MoM/MTL solver. Any arbitrary cable path may be defined.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-6

Adaptive cross-approximation (ACA)

The ACA is a fast method similar to the MLFMM but is also applicable to low frequency problems
or when using a special Green’s function. It approximates the impedance matrix by constructing
a sparse H-matrix (only a few selected elements are computed).

Uniform theory of diffraction (UTD)

FEKO hybridises the current-based accurate MoM with the UTD with the coupling between the
MoM and UTD being maintained in the solution, i.e. modifying the interaction matrix and en-
suring accuracy. A practical example would be changing the input impedance of a dipole treated
with the MoM, in close proximity to a large structure treated with the UTD. Frequency does not
influence the memory resources required for the UTD treatment of a structure. This is due to
the fact that only points of reflection from surfaces and diffraction from edges or corners are
considered without meshing the structure.
Edge and corner diffraction, double diffraction and creeping waves (cylinders) are taken into
account. Insight into the propagation of rays are provided in POSTFEKO during postprocessing.
Currently the numerical formulation of the UTD only allows it to be applied to flat polygonal
plates with minimum edge length in the order of a wavelength or to a single cylinder. The UTD
is thus quite well suited to the analysis of ships at radar frequencies, but not well suited to the
analysis of complex objects with curved surfaces, e.g. automobiles.

Antenna placement

Geometrical optics (ray launching) (GO)

The Geometrical optics (ray launching) is a ray-based method intended for the consideration of
electrically large dielectric and perfect electrically conducting structures in applications like the
analysis of lens antennas.

RCS Dielectric lens

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-7

The GO method is hybridised with the MoM in a similar fashion to the UTD. The GO method
in FEKO employs ray-launching and transmission, reflection and refraction theory to model the
interaction between the dielectric region and the MoM.

GO for reflector

MoM for feed horn

Physical optics (PO)

PO is formulated for use in instances where electrically very large structures are modelled. PO
is an asymptotic high frequency numerical method of the same nature as the UTD. Users will
typically attempt a solution with the MoM at first and when they realise that the structure is
electrically too large to solve with their available resources (platform memory, time) they will
turn to one of the asymptotic high frequency techniques.

PO for fuselage

MoM for
patch antenna

The MoM/PO hybridisation enables the PO to be used for large structures and the MoM for small
details. This enables the solution of problems which is too large for a single method.

Large element physical optics (LEPO)

Large element PO is formulated for use in instances where electrically very large smooth struc-
tures are modelled. This method should only be used when there are no discontinuities in the
incident field (e.g. if the incident field closely represents a point source). Large element PO is
similar to PO in that it is an asymptotic high frequency numerical method of the same nature as
the UTD.
The high frequency large element physical optics method is applicable for large smooth areas
when calculating near and far fields. If the large element PO is used together with the MoM
method, the MoM and PO regions are to be decoupled. Note that the same options that are
available for PO are also valid for large element PO.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-8

Finite element method (FEM)

The FEM is applicable to the modelling of electrically large or inhomogeneous dielectric bodies,
which are not efficiently solvable with FEKO’s extensions to the MoM. The FEM is a volume
meshing technique that employs tetrahedra to accurately mesh arbitrarily shaped volumes where
the dielectric properties may vary between neighbouring tetrahedra. FEM modelling is ideal
in these instances because FEM solution matrices are sparse, where MoM matrices are densely
populated. As a result FEM matrices are significantly more scalable with an increase in frequency.

MoM for car

FEM for
phantoms

The MoM/FEM hybridisation features full coupling between metallic wires and surfaces in the
MoM region and heterogeneous dielectric bodies in the FEM region. The MoM part of the solu-
tion is calculated first, which results in equivalent magnetic and electric currents that form the
radiation boundary of the FEM region.
This hybrid technique makes use of the strengths of both the MoM and the FEM in the following
ways:

• The MoM is used for the efficient modelling of open boundary radiating structures where
no 3D space discretisation is required.

• The FEM is used for the efficient modelling of inhomogeneous dielectric bodies in terms of
field distributions inside the volume.

General non-radiating networks

General networks (defined using network parameter matrices) as well as ideal non-radiating
transmission lines may be used in FEKO simulations. These non-radiating networks may be
interconnected (cascaded) and excited or loaded directly at the ports. The voltages and currents
at the ports of these ideal representations of networks may interact with currents and voltages
on parts of the model that are solved using other solution methods, though no radiation-based
coupling is taken into account.

Periodic boundaries (PBC)

Large, equally-spaced periodic structures may be simulated in FEKO using an infinite periodic
boundary approach. This approach may be used to provide an accurate accelerated solution for
many applications like frequency selective surface analysis and large array analysis.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-9

Periodic
analysis

1.1.2 Selecting a numerical analysis technique for an application

In FEKO choosing the appropriate solution method is dictated by various considerations such
as electrical size of the problem, geometrical complexity and available computational resources.
The table given in 1-1 is a guide to the suitability of different electromagnetic solution methods
for various applications.
Technique is ideally suited to the problem
Technique could be used but an alternative technique will be better suited to the problem.
An empty space in the table is an indication that the respective technique should not be used.

Table 1-1: The suitability of different electromagnetic solution methods for various applications.

Geometrically Electrically
complex large

PO, GO, MoM-PO, MoM-GO

UTD, MoM-UTD
FEM-MLFMM
FEM-MoM

MLFMM
MoM

FEM

Wire antennas
Microstrip antennas
Aperture antennas
Reflector antennas
Windscreen antennas
Conformal antennas
Broadband antennas
Array antennas
Lens antennas
Antenna placement (radiation pattern)
Antenna placement (coupling)
SAR (Bio-EM)
Table continued on next page

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-10

Geometrically Electrically
complex large

PO, GO, MoM-PO, MoM-GO

UTD, MoM-UTD
FEM-MLFMM
FEM-MoM

MLFMM
MoM

FEM
RADHAZ zones
Periodic structures FSS, metamaterials
Scattering with plane wave source (RCS)
Scattering with localised source
EMC/EMI shielding and coupling
Propagation environment
Cable bundle coupling
Waveguide components
Connectors
Radomes
Microstrip circuits

1.1.3 FEKO documentation

The FEKO documentation is located at the following places:

• In the doc1 directory of the FEKO installation directory.

• On the CADFEKO and POSTFEKO startpages

• Clicking on the Help button at the top right of the CADFEKO and POSTFEKO windows.

• Clicking on the Help menu in EDITFEKO.

Users are recommended to read the following:

• The Installation Guide covering in-detail instructions on the installation and initial config-
uration of FEKO.

• Watch the following videos regarding the FEKO suite:

– Tour and Demo (6.3)2


1
/FEKO/6.3/doc
2
tour_and_demo.html

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-11

– CADFEKO Introduction (6.3)3


– POSTFEKO Introduction (6.3)4

• The Quick tips highlights the essential information for the CADFEKO, EDITFEKO and POST-
FEKO environments.

– Quick tips for CADFEKO5


– Quick tips for EDITFEKO6
– Quick tips for POSTFEKO7

• The Getting Started Manual contains step by step instructions on how to proceed in cre-
ating a CADFEKO geometry, requesting calculations, meshing the geometry, running the
FEKO solver and viewing the results in POSTFEKO.

• The Example Guide contains examples that show the application of features as discussed
in the User manual.

• The User’s Manual contains information regarding the entire FEKO suite.

• The Scripting examples8 contain advanced examples using scripting in the EDITFEKO
interface.

• Additional videos may be found on the FEKO website at www.feko.info

1.1.4 FEKO Suite components

The graphical user interface consists of the following components:

• CADFEKO is used to create and mesh the geometry and to specify the solution settings and
calculation requirements in a graphical environment, see Section 2.

• EDITFEKO is used to construct advanced models (both the geometry and solution require-
ments) using a high level scripting language which includes repetitive FOR loops and con-
ditional IF–ELSE statements, see Section 11.

• POSTFEKO reads results from binary output files (*.bof) and can display the results on
2D graphs or in combination with the geometry in 3D views. POSTFEKO is also used to
visualise optimisation results during and after optimisation, as well as the meshed geometry
of the FEKO model, with excitations, field requests points etc. before the actual FEKO run,
see Section 8.
Math scripting using Lua is also provided in POSTFEKO. It provides a method of creating
custom results within the POSTFEKO environment.
Time signals may also be created and the time domain results displayed on a valid view.
3
cadfeko_introduction.html
4
postfeko_introduction.html
5
QuickTips_CADFEKO.pdf
6
QuickTips_EDITFEKO.pdf
7
QuickTips_POSTFEKO.pdf
8
FEKO/6.3/examples/Miscellaneous/Kernel_scripting_examples

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-12

• QUEUEFEKO facilitates the creation of packages which can be transported to remote cluster
machines where the package is placed in an execution queue (such as PBS), see Section 17.

• FEKO GUI update tool is an interactive GUI application that allows the user to set prefer-
ences regarding the automatic download of updates and to check if updates are available
from a master (internal) or local repository. FEKO_UPDATE is the associated command line
interface that can be used for script-based updating, see Section 23.

• SECFEKO_GUI is a visualisation of the FEKO licence manager. See SECFEKO for more
details on the licence management tool, see Section 16.1.

Other components that form part of the FEKO Suite do not provide a graphical interface. These
are concerned with the analysis and solution of the electromagnetic problem as defined in the
GUI components, or the maintenance and administration of the Suite. Components are launched
indirectly from the GUI components, but may also be launched from a command line. The
solution components are fully supported by a large range of platforms.

• PREFEKO processes the model and prepares the input file (*.fek) for the FEKO solution
kernel, see Section 18.

• FEKO is the actual solver code. The ASCII (*.out) and binary (*.bof) output files gener-
ated by FEKO contain all the solution information, see Section 19.

• OPTFEKO is a tool that is used for the optimisation of a FEKO model according to spe-
cific requirements. OPTFEKO calls the FEKO solver as required during optimisation, see
Section 21.

• ADAPTFEKO is used in the generation of continuous adaptively sampled results. ADAPT-


FEKO is called as required by the FEKO kernel when continuously sampled results are
required, see Section 22.

• CADFEKO_BATCH is a command line tool that can be used to mesh a model and modify
variable values in a CADFEKO model file from a command line interface without launching
the CADFEKO GUI.

• SECFEKO is the FEKO licence manager and shows all the licences in the specified licence
file (secfeko.dat) for node-locked licences or connects to the floating licence servers, see
Section 16.1.

1.2 Typical FEKO workflow when using CADFEKO

Before constructing a CADFEKO model it is important to understand the CADFEKO workflow as


is illustrated in Figure 1-2. This workflow (see Section 2.1) is supported by the ribbon UI (user
interface) where the user is encouraged to start working from the left to right on the ribbon when
creating a model.
The first step in constructing a CADFEKO model is the creation of geometry. After the geometry
has been defined, all electrically and physically connected parts in the geometry must be unioned.
Any ports and excitations required for the model are then defined.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-13

Next, the frequency or frequency range must be specified. The model is then meshed whereafter
the FEKO solver is run.
The geometry and results as obtained by the FEKO solver can then be post-processed by POST-
FEKO.

Use CADFEKO
Create/modify model
Create/modify
geometry

Set solution settings

Define frequency,
excitations and
requests

Mesh the model

EM validate the
model

Run FEKO solver Run solver

Use POSTFEKO View/export results

Figure 1-2: Illustration of the CADFEKO workflow.

1.3 Typical FEKO workflow when using EDITFEKO

Before constructing a scripting model in EDITFEKO it is important to understand the workflow


when using EDITFEKO as illustrated in Figure 1-3.
Firstly, EDITFEKO is a scripting language where the geometry is created by means of geometry
and solution requests are added by means of control cards. These cards are located to the left of
the EDITFEKO window. When the model is saved in EDITFEKO, a *.pre file is created. Editing
the cards in the EDITFEKO environment will edit the *.pre file.
After the scripting model has been created in EDITFEKO, PREFEKO is run creating the *.fek
file. This file serves as the input file for the FEKO solver (Kernel). If a *.fek file is available,
the geometry may be viewed in POSTFEKO for validation purposes. Users are encouraged to first
validate the geometry in POSTFEKO before proceeding to run the FEKO solver.
The next step is to the run the FEKO solver (Kernel) which creates the *.bof file. The geometry
and results as obtained by the FEKO solver can then be post-processed by POSTFEKO.

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-14
modify model
Use EDITFEKO Create and edit
te/modify *.pre file
ometry
Run PREFEKO
Create/modify View geometry
ution settings geometry (for validation)
Run FEKO solver

View geometry
frequency, Create *.bof file
Use POSTFEKO and results
ations and
equests
Figure 1-3: Illustration of the EDITFEKO workflow.

the model Use CADFEKO


1.4 Platforms Use EDITFEKO
Create/modify
geometry
alidate the
model The FEKO kernel components are available on PC’s and a wide variety of workstations. The GUI
View geometry
components CADFEKO, Use EDITFEKO,
POSTFEKO and POSTFEKO are available on PC’s running MS Windows
(for validation)
un solver or Linux. All pre- and postprocessing must thus be performed on a PC, while the actual computa-
tionally intensive field calculations can be performed
Create new
on a workstation, parallel cluster or on the
PC itself as required. FEKO includes a remote launching facility to make such a remote execution
graph/display
xport results
easy to use from within the GUI running on the PC.
Run FEKO solver Run solver Import results

1.5 FEKO licences


Add resultsto FEKO users and users who would like to
A number of FEKO licensing options are available
evaluate or work with FEKO.
Export results /
View results
generate report
1.5.1 Evaluate FEKO
Post-processing of
It is possible to evaluate a full version of FEKO with technical support for free. For more infor-
results / scripting
mation regarding evaluation of FEKO, please visit the FEKO website9 .

1.5.2 FEKO LITE

FEKO can be run in a mode called FEKO LITE. This is a limited version of the FEKO suite. All
the components of the suite, from the graphical user interfaces to the solver, are limited in ca-
pability when running in this mode. The LITE version is only intended for evaluating the FEKO
components before registering for a full evaluation or for users that solve extremely small electro-
magnetic simulation problems. After the LITE version has expired, a free registration is required
to continue using the LITE version. For more information regarding FEKO LITE and its limita-
tions, please visit the FEKO website10 .

1.5.3 Academic use

Academic licences are also available and academic institutions are encouraged to contact the
FEKO distributor (see Section 1.7) for more information regarding academic licences. The FEKO
9
www.feko.info
10
www.feko.info/feko-lite-limits

October 2013 FEKO User’s Manual


INTRODUCTION TO THE FEKO SUITE 1-15

team is committed to supporting engineering education through FEKO. The use of FEKO benefits
students as they gain experience with a leading CEM tool widely used in industry. Academic
institutions in turn can benefit through using FEKO, by strengthening industrial ties.

1.6 Changes in this release

Changes to the functionality of the code in this release with respect to the previous release of
January 2013 (Suite 6.2.2) are indicated by adding a column in the margin. The changes are
indicated in two ways:
Sections that have changed from those in the previous version of the manual.
Sections that were newly added to this version of the manual.

1.7 Contacting your distributor or EMSS

The contact details for each FEKO distributor is available at www.feko.info/contact.htm. Please
contact the distributor in your region about any FEKO queries or licences. For more technical
questions, please contact the FEKO support team (www.feko.info/contact-support).

October 2013 FEKO User’s Manual


Part II

Working with CADFEKO


INTRODUCTION TO CADFEKO 2-1

2 Introduction to CADFEKO

CADFEKO is the FEKO component that facilitates the creation of CAD geometry using canonical
structures and perform boolean operations. It also supports the import and modification of CAD
models and meshed geometries. The setting of material properties, solution parameters and the
required calculations defined by the user, are all part of the CADFEKO model. If an optimisation
search is required, the optimisation parameters and the goal functions can be specified.

Contents
2.1 Typical CADFEKO workflow when constructing geometry . . . . . . . . . . 2-1
2.2 Files generated and used by CADFEKO . . . . . . . . . . . . . . . . . . . . . . 2-2
2.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.4 The graphical user interface (GUI) of CADFEKO . . . . . . . . . . . . . . . . 2-4
2.5 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.6 3D view interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
2.7 Manipulating items in CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11

2.1 Typical CADFEKO workflow when constructing geometry

The first step in constructing a general CADFEKO model is to create or modify the geometry, see
Figure 2-1. The model creation is accomplished by using the available primitives such as solids,
surfaces, curves and arcs. Boolean operations as well as transforms may be applied to obtain the
desired geometry.
CADFEKO also supports the creation of parametric models whereby changing a model variable
automatically updates the model. Similarly, changing media properties automatically updates the
relevant parts in the CADFEKO model. The construction history is also maintained by CADFEKO,
allowing a union operation to be updated if any of its individual objects are modified afterwards.
After the geometry has been defined, all electrically and physically connected parts in the ge-
ometry must be unioned. Next the properties of the regions/faces/wires are set (this may also
entail setting the solution method). The frequency (range) is also required to be specified for the
model.
Any required ports and excitations are then defined. The next step is to request the calculations
which will be viewed in- or the data exported from POSTFEKO. The geometry is then meshed to
obtain a discretised representation of the geometry model. This discretised model is used by the
FEKO solver to obtain the requested calculations. It is suggested that users run the CEM validate
to electromagnetically validate the CADFEKO model. Should any warnings or errors be given,
these should be corrected before running the FEKO solver.
Lastly, the FEKO solver (Kernel) is run which calculates the specified requests. The results ob-
tained may then be viewed in POSTFEKO. A user may go back to the CADFEKO model should
they wish to edit/modify the CADFEKO model.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-2

Use CADFEKO
Create/modify model
Create/modify
geometry

Set solution settings

Define frequency,
excitations and
requests

Mesh the model

EM validate the
model

Run FEKO solver Run solver

Use POSTFEKO View/export results

Figure 2-1: Illustration of the CADFEKO workflow.

2.2 Files generated and used by CADFEKO

The following file types are generated and used by CADFEKO.

Files Description
*.cfx Contains the unmeshed CADFEKO model as well as the calculations requests. If an
optimisation was run, a model will be created with the optimum values with a
_optimum suffix.
*.cfm Contains information regarding the mesh of the CADFEKO model.
*.cfs Contains the CADFEKO workspace, i.e. views, cut planes, etc.
*.pre A *.pre file is created when the CADFEKO model is saved.
*.fek The *.fek file is created by CADFEKO and contains the geometry of the
CADFEKO model. This file may be opened by POSTFEKO to view the geometry
and the calculation requests (for example the near field request points will be
displayed if a near field calculation has been requested.
*.opt An *.opt file is created when optimisation settings have been defined for the
CADFEKO model.
*.pfg Contains the relevant information used during optimisation (in conjunction with
the *.pre and *.cfx files) during optimisation.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-3

2.3 FEKO startpages

When starting a blank instance of CADFEKO, EDITFEKO or POSTFEKO (i.e. no models are
loaded), the start page will be displayed, giving quick access to Create a new model, Open an
existing model or Recent projects and a list of recently opened models. Links to the PDF’s for the
FEKO suite are also available here along with FEKO introduction videos. It is recommended that
these videos are watched by first time users.

Figure 2-2: The CADFEKO and POSTFEKO startpages.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-4

2.4 The graphical user interface (GUI) of CADFEKO

2.4.1 The window

The various main elements and terminology of the CADFEKO window will be briefly described.
This terminology will be used extensively in the chapters to follow.

1 11 10
2

3
9

5
7

1. Quick access toolbar These items give the user quick access to controls such as New model,
Open model, Save model, Undo and Redo actions (grouped at the left side of the toolbar)
as well as launching the FEKO solver, POSTFEKO (for the display of the results obtained by
the FEKO solver), EDITFEKO and PREFEKO (grouped at the right side of the toolbar, next
to the help button [10] and called Application Launcher).

2. Ribbon The ribbon contains the application menu, default tabs, contextual tabs and contex-
tual commands.

3. Configurations list The configurations list contains the defined standard-, S-parameter and
characteristic mode configurations (see Section 3.8).

4. Model tree The Model tree consists of the Construct- and Configuration tabs. On the Con-
struct tab the geometry representation of the current model is given. On the Configuration
tab the global and configuration (see Section 3.8) specific model settings and requests are
defined.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-5

5. Details tree The details tree contains the geometry object details (edges, faces and regions).
Custom solution and mesh settings may be set here.

6. Active status bar The active status bar gives the user quick access to general display settings,
tools, selection method and type.

7. Message window The message window displays messages regarding user interaction such as
geometry creation, meshing, source configuration, etc. It also provides details regarding
warnings and error messages. Errors and warnings in the message window will provide
links to the corresponding geometry objects in the details tree which resulted in the error
or warning.

8. Notes view The notes view can be used to document a model. Additional comments, expla-
nations or descriptions can be added.

9. 3D view The 3D view enables the user to visualise the geometry and solution settings (such
as far field requests etc.). Additional visualisations such as cutplanes and symmetry can
also be displayed.

10. Help The Help button gives the user quick access to the FEKO manuals. Context sensitive
help is available in all FEKO Suite GUI components by pressing <F1> at any time.

11. Search bar The search bar enables the search for a specific action/keyword in CADFEKO.
Entering a keyword in the search bar will populate a dropdown list of actions as well as the
location of the respective action on the ribbon or context menu. Clicking on any one of the
items in the list will execute the respective action.

2.4.2 The ribbon

The ribbon consists of several elements. Please take note of the terminology as it will be used
extensively in the chapters to follow.

1 2 3

4 5

1. Application menu The application menu contains the following commands: New model/pro-
ject, Open model/project, Add model (POSTFEKO), Save as..., Archive (CADFEKO), Import
and Export (CADFEKO), Check for updates, Settings and About.

2. Default tabs The default tabs are always visible and contain general commands.

3. Contextual tabs The contextual tabs display context sensitive tabs with commands relevant
to the selected view (3D view or schematic view). A coloured tab marker bar above the
tabs indicates the current context.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-6

4. Group of commands Similar actions or commands are contained in a group.

5. Dialog launcher Clicking on the dialog launcher will launch a dialog with additional settings
that relate to that group.

2.4.3 The model tree

The model tree provides a complete representation of the current model. It consists of the Con-
struct- and the Configuration tabs.

Construct tab

The Construct tab contains the geometry representation of the current model.

By default, it contains a list of the following: variables, media, work-


planes and geometry/mesh.
The following may be defined from its context menus and will be
displayed in the tree once it has been specified: named points, cables,
mesh refinement, planes/ground settings and antenna arrays.
Optimisation searches including its mask, parameters and goal func-
tion will be displayed in the tree.

The Model branch is a visualisation of the geometry creation hierarchy. Where objects are derived
from existing ones (for example, the individual objects used in a Boolean operation or the original
object before a split operation), the original (parent) objects are removed from the top level of
the model and listed as sub-branches under the new object in the model tree.
The term part is used for highest-level items. These can be at the root level under Model or in
the top level of an assembly and are the objects that are visible in the 3D view.
Right-clicking on any entry in the model tree will open an appropriate context menu. Double
clicking on an item in the model tree will display the Properties for that item.
When specific items are hidden they are displayed with greyed icons in the model tree.

Configuration tab

The Configuration tab (see Section 3.8) consists of the Global and Configuration specific- model
settings and requests.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-7

The following Global specific model settings may be defined from


its context menus: solver settings, specifying the global frequency,
sources, loads, networks and power.
The following Configuration specific settings may be defined from
its context menus: requests, frequency, specifying excitations-, loads-
and power per configuration.

Icons displayed in the model tree

The following list are icons that may be found in the model tree but do not exist on the ribbon.
They are displayed along with their description.

– Imported (Parasolid) CAD body or part that has been converted to a primitive.

– Surface body (e.g. created with face copy or explode).

– Curve (edge/wire) body (e.g. created with edge copy or explode).

– A mesh part in the model.

– The indicated part/region/face/edge contains faults.

– This icon indicates the target from which an object was subtracted from.

– This part contains dielectric regions.

– This icon indicates that the part is locked (see Section 2.7.4).

– This icon indicates that the item is excluded. Geometry/mesh (see Section 2.7.5)
as well as requested calculations (see Section 3.9) may be included/excluded.

2.4.4 The details tree

When selecting a single part in the model tree, the details tree shows detailed information re-
garding the faces, edges, regions and transforms. The lists of faces, edges and regions only apply
to top-level parts i.e. the detailed information is not listed for parent objects in sub branches of
the model tree.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-8

Icons displayed in the details tree

The following list are icons that may be found in the details tree but do not exist on the ribbon.
They are displayed along with their description.

– This face lies on a dielectric region (shown in details tree).

– This item is suspect — it could not be mapped.

– Local mesh properties set on regions, faces or edges (shown in details tree).

– Local wire radius (shown in details tree).

Icons used in the details tree heading

The following list of icons are used in the heading of the details tree.

– For wires and surfaces, the core medium; for tetrahedra, the medium

– The layered medium applied as coating

– For surfaces, the medium on the normal side; for wires, the surrounding medium

– Only used for surfaces; the medium on the back side

2.5 Application menu

The application menu (see Section 2.4.2) on the ribbon contains actions such as Archive, Import-
ing, Exporting, Check for updates and Settings.

2.5.1 Archiving models

When working with complex models, it is sometimes useful to create a backup of the model in a
specific state that may be returned to later, before continuing.
CADFEKO provides a facility to store and retrieve different versions of the project files.
Select Archive → Archive model from the application menu and enter a comment to go
with this version of the model files. The current model is saved and copied to the archive direc-
tory. Note that external data files, such as the pattern data used for patterned point sources (see
Section 3.7.7) and ideal receiving antennas (see Section 3.9.6) which can change independently
and are not considered part of the CADFEKO model are not included in the archive.
Select Archive → Revert from archive from the application menu to open the Revert model
dialog which lists the archived versions with their time stamps and comments. Select a
version and click Revert to revert to that version. Note that the revert operation cannot be undone
and the model files at the time of the revert operation are overwritten by those retrieved from the
archive. A model should therefore usually be archived before reverting to a previously archived
version.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-9

Selecting Archive → Delete from archive allows deleting archived versions to save disk
space. Multiple archives can be selected and deleted simultaneously. CADFEKO supports
the import and export (see Section 4) of geometry from CADFEKO models, Parasolid and other
CAD formats.

2.5.2 Checking for updates to the FEKO Suite

Select Check for updates on the application menu and click Check for updates on the
FEKO update dialog to connect to the FEKO website and retrieve information regarding
the latest updates. This operation checks if any updates are available (see Section 23) compared
to the installed components. It does not send any information to the website.
If automatic updates have been enabled on the Settings tab, CADFEKO polls the website each
time a GUI component is launched if the specified interval between update checks has elapsed.
Updates can also be downloaded from a local repository for cluster machines or where internet
access is not possible.

2.5.3 Preferences

The settings anchor on the application menu allows the user to customise CADFEKO by
setting default preferences.
Figure 2-3 shows the Default settings dialog. A variety of options can be set, from default model
unit settings to display settings.
An option is also available to create a backup file of the *.cfx file when loading. If this option
is selected, a backup file will be created with the .bak extension.

Figure 2-3: The Default settings dialog.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-10

2.5.4 3D View rendering and colours

The Rendering mode group shows the algorithm used to remove hidden lines. These set-
tings can be configured manually and this may improve the display accuracy, but it can
have a significant impact on the rendering performance and memory usage. Hardware rendering
(Hardware z-buffering) is only enabled when available on the user’s system. The sliders change
the face displacement for geometry and meshes. The face displacement provides a trade-off be-
tween edges appearing broken and supposedly hidden lines being visible. The relative positions
of the sliders also determine what is visible if both the geometry and mesh are displayed. Dif-
ferent settings may be required for different view directions. These options are stored in the
CADFEKO configuration file.

Figure 2-4: Rendering options dialog

The Colours dialog allows the user to change the default colours that CADFEKO uses in
the 3D view. The Reset to defaults button restores the default colours. Figure 2-5 displays
the currently available options with the default colours used by CADFEKO.

Figure 2-5: The Colours dialog

2.6 3D view interaction

The 3D views are used to display and interact with the model. CADFEKO distinguishes between
a click operation and click and drag. Left-clicking is used for selection (see Section 3.19.1) and
point entry (see Section 2.7.2). Right-clicking opens a context-sensitive menu with operations
for the current selection.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-11

2.6.1 Rotation

The model is rotated by clicking and dragging the mouse.

2.6.2 Zooming

The model can be zoomed by pressing <Shift> whilst clicking and dragging the mouse. Rolling
the mouse wheel also zooms the model. Note that pressing <Shift> whilst rolling the mouse
wheel slows down zooming. The model may be zoomed to extents by pressing <F5>.

2.6.3 Panning

The display can be panned (moved inside the display window) by clicking and dragging whilst
pressing the <Ctrl> key or clicking and dragging with the middle mouse button.

2.6.4 Zoom to selection

When searching for specific parts or elements in the geometry or mesh, the Zoom to selection
tool may be used. This tool is available in the context menu of any geometry element or mesh in
the model or details tree.

2.6.5 Snapping to special points

CADFEKO uses a powerful auto-snapping algorithm. Snapping enables the selection of special
points from the 3D view. When pressing <Ctrl><Shift> and hovering over the model with the
mouse cursor, special snapping points near the mouse cursor will be indicated by blue dots. The
active snapping point is indicated by a black dot and can be selected by pressing <Ctrl><Shift>
and clicking on the current point. The special snapping points include: named points, geometry
points, geometry face centre, geometry edge centre, mesh vertices and the grid.
When snapping is used to align a new workplane, it should be noted that the history of the
starting point and the route followed to the destination point (for example the orientation of an
edge), affects the orientation of the workplane.
To specify how points will be selected from the 3D view when using mouse-click based point
entry (see Section 2.7.2), click on the Application menu button and select Settings → Snapping
settings. The snapping settings (see Section 3.20) entail the specifying of the snapping targets
and workplane options.

2.7 Manipulating items in CADFEKO

2.7.1 Deleting items

CADFEKO does not allow deletion of objects that are being used by other items - this is to main-
tain model consistency. For example, it is not possible to delete a variable that is used in the

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-12

Figure 2-6: Snapping enables the selection of special points from the 3D view.

definition of a medium or to delete a medium that is applied to the geometry. When a delete
operation fails, CADFEKO will provide an indication of where the item is used. That item must
then first be removed or edited so that it no longer depends on the original item that is to be
deleted.
Note that sometimes the dependency may be indirect. For example, consider a variable used to set
a local mesh size on Face1 of Cuboid1. The cuboid is then unioned with another and subtracted
from another object. If the user now tries to delete the variable, the message indicates the full
tree path to the face (Subtract1.Union1.Cuboid1.Face1), but this entity is no longer accessible.
At this point it is not possible to remove the local mesh size setting except if the original objects
are copied (see Section 3.4.1) out of the tree and the last few creation steps are redone. Thus,
all geometry dependent settings which are likely to change should be applied as late as possible
in the model definition process.
A similar situation can occur when a solution configuration is defined in CADFEKO and then
disabled (see Section 3.14) after the user has edited the *.pre file. The user can no longer edit
or remove any of these settings, but CADFEKO must keep the model consistent since the user can
at any time enable the solution again. This can be a problem if the user wants to, for example,
modify a variable that is also used in the rest of the model, but this change cannot be made since
it would result in an invalid state in the solution configuration. The only way around this is to
re-enable the solution configuration (CADFEKO automatically renames the edited *.pre file),
make the necessary change and then manually revert to the renamed *.pre file.

2.7.2 Point entry

The input dialogs of geometry related and result request related fields allow the entry of field
values based on <Ctrl><Shift> + mouse click in the 3D view or tree (adding variables, named

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-13

points, setting the frequency etc.). If such point entry fields have focus, their background colour
will be yellow. By clicking on the 3D view, the coordinates of the selected point are entered into
the field and the focus is shifted to the next field.

Figure 2-7: Point entry allows the entry of field values from the 3D view or tree.

This allows the spatial definition or editing of geometry or solution requests based on a series of
clicks on the 3D view (or tree) and one click on Create in the dialog. For one-dimensional input
fields (such as the radius of the sphere primitive), a value is calculated based on the distance be-
tween the specified point and the coordinates or values already entered into other fields. Where
an input field specifies a direction vector, the vector is considered to extend from the relevant ori-
gin to the selected point. If <Ctrl><Shift> is pressed while moving the mouse over the screen
(without clicking), the fields values are updated continuously. This is called Preview mode. The
active fields show the values that would be entered if the mouse was clicked at that position.
The values in the active fields are displayed using an italic font to indicate that preview mode is
active.

2.7.3 Locking and preview of point entry fields

Fields which accept multiple values from point entry have Lock buttons next to them.
If such a button is toggled on, that field will maintain its current value, and will not be
updated based on point selection. The lock mechanism is used when there is a need, for example,
to click on points in the workplane without modifying the value in the n-direction. Different
named points may be individually referenced in the three component fields of a point. Each
component is then determined by projecting the specified point along the required dimension.
The locking mechanism provides a useful method to realise such multi-point references.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-14

Figure 2-8: An example of the locking of point entry fields. The Lock button gives an indication of whether
the point entry field is locked.

2.7.4 Locking of a part

A part may be locked to prevent modification of the geometry. After it has been locked,
it cannot be modified. It will only be meshed once (should the mesh not already exists),
whereafter the existing mesh will be used. Select the model in the Model tree, right-click and
from the context menu, select the option Lock/Unlock.

Figure 2-9: A part may be locked by selecting the Lock/Unlock from the context menu.

2.7.5 Including/excluding of a part

A geometry and/or mesh parts that do not contain any ports, sources or loads, may be
excluded in the model. When excluded, the part will not be remeshed, be included in CEM
validate and the mesh info dialog. To Include/Exclude a geometry and/or mesh part, select the
part in the Model tree, right-click and from the context menu, select the option Include/Exclude.
An excluded geometry/mesh part will be indicated by the addition of a small red cross inside a
red circle next to the icon. When a geometry or mesh part is excluded, it is by default hidden in
the 3D view. This is indicated by the greyscale of the exclude icon, see Figure 2-10.
To display the excluded part, right-click on the excluded part and from its context menu, select
the option Show/Hide.

October 2013 FEKO User’s Manual


INTRODUCTION TO CADFEKO 2-15

Figure 2-10: The geometry import, Import1, is excluded from the model.

October 2013 FEKO User’s Manual


USING CADFEKO 3-1

3 Using CADFEKO

The intuitive workflow of the CADFEKO GUI11 allows users to create CAD models quickly. By
following the ‘Left to right’ workflow approach of the ribbon layout together with the grouping
of relevant commands/actions, users will find the creation of the CAD geometry, adding loads
and sources, requesting calculations, meshing the geometry and solving/running the model to fit
effortlessly into their analysis of electromagnetic problems.

Contents
3.1 Launching CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2 The Home tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.3 Geometry construction in CADFEKO . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.4 Transformations on geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
3.5 CAD fixing tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
3.6 Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
3.7 Adding sources/loads to geometry . . . . . . . . . . . . . . . . . . . . . . . . . 3-76
3.8 Multiple configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-102
3.9 Request calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-106
3.10 Mesh the geometry/model mesh . . . . . . . . . . . . . . . . . . . . . . . . . . 3-119
3.11 Model solution settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-131
3.12 Solver settings (global solution settings) . . . . . . . . . . . . . . . . . . . . . 3-134
3.13 Solver settings and properties on faces, edges and regions . . . . . . . . . 3-139
3.14 Working with CADFEKO models in EDITFEKO . . . . . . . . . . . . . . . . . . 3-148
3.15 Validate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-150
3.16 Run/launch the FEKO components . . . . . . . . . . . . . . . . . . . . . . . . . 3-152
3.17 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-158
3.18 Image tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.19 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-159
3.20 Snapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-161
3.21 View options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-162
3.22 Model display options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-166
3.23 Messages and log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173
3.24 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173

11
graphical user interface

October 2013 FEKO User’s Manual


USING CADFEKO 3-2

3.1 Launching CADFEKO

CADFEKO can be launched

• from the command line in a console environment,

• by double clicking on the CADFEKO icon, or

• by launching CADFEKO from other suite components such as EDITFEKO or POSTFEKO.

If the application icon is used to launch CADFEKO, then no models will be loaded and the start
page will be shown.

3.2 The Home tab

The Home tab on the CADFEKO ribbon contains all the commands that are used most often. The
following actions are located on the Home tab for quick access:

New: Create a new model. Only one model (one session) at a time can be opened in
CADFEKO. Shortcut <Ctrl+N>.

Open model: Open a previously saved model. Only one model can be open in CADFEKO
at a given moment. Shortcut <Ctrl+O>.

Save: Save the current model. The option exists to create a backup of the file when
loading a model. Shortcut <Ctrl+S>.

Import: Import CADFEKO models (*.cfx), KBL files (*.kbl), Geometry and Mesh (see
Section 4) models and view the Geometry and the Mesh import logs.

Export: Export the Geometry or Mesh (see Section 5) to a specific format.

3D View: Create a new 3D view of the model. The label of the 3D view is changed by
selecting Rename from the context menu.

Schematic: Open or create a non-radiating network view (see Section 3.21.4) or cable
schematic view (see Section 3.6.10).

Notes: Open the notes editor (see Section 3.21.4). It contain notes specified by the user
for the specific model.

Model unit: Set the unit of length for the model. Supported units are: Milimetres,
Centimetres, Metres, Inches, Feet and a user defined unit.

Model extents: Change the size of the model limits (see Section 3.3.7).

Create mesh: Mesh the model or change the mesh settings (see Section 3.10.1). Shortcut
<Ctrl+M>.

October 2013 FEKO User’s Manual


USING CADFEKO 3-3

CEM validate: Validate (see Section 3.15.1) the model for computational electromagnetic
(CEM) consistency.

Script editor: The script editor allows the editing of scripts to be used for example for
CADFEKO automation.

Application macro: It contains a list of defined macros. The macro library (see Sec-
tion 9.12) can be used to modify, remove or add new application macros.

Optenni lab: A macro (available under Application macro) that allows interfacing with
Optenni lab to generate matching circuits. Note that an Optenni lab licence is required
Also included on the Home tab are the FEKO Suite components (see Section 3.16.1).

3.3 Geometry construction in CADFEKO

3.3.1 Variables

CADFEKO supports fully parametric models. As a result most input fields can be specified using
variables or mathematical expressions such as 1+sqrt(x), where x is a user defined variable.
The expressions are stored as part of the model and when a variable is changed, all values and
items depending on that variable are re-evaluated and updated.
While the geometry is fully parametric, the mesh is not (storing expressions for mesh vertices
would have significant implications on memory requirements).
When working with mesh elements, most input fields still accept expressions (for example,
adding +1 to a coordinate of a vertex will move that vertex by one unit). These expressions,
however, are not maintained, but converted to numerical values when the operation is executed.

Defining and editing variables

Variables may be added by selecting the Construct tab and clicking on the Variable menu
button. Select the Add variable option. The first character of a variable name must be
alphabetic (‘a’ through ‘z’ or ‘A’ through ‘Z’) or the underscore; the remaining characters may be
numeric (‘0’ through ‘9’).
Variable names are case insensitive, i.e. ‘a’ and ‘A’ are treated as the same character. The Ex-
pression defines the value of the variable and may be a simple number (such as 1.23) or a
mathematical expression — which may use round brackets, the operators +, -, *, \, ˆ (exponen-
tial notation), as well as the functions listed in Table 3-1 and Table 3-2 and may reference other
defined variables.
If there is an error in the expression, an error message will be displayed in the message window
when the Add button is clicked. The field containing the error on the Create variable will also be
displayed in red. The variable can only be added/modified when the expression is valid. A short
optional comment for the variable can be added to the Comment field. Predefined variables
will already contain a comment. The Evaluate button evaluates and tests the validity of the

October 2013 FEKO User’s Manual


USING CADFEKO 3-4

Table 3-1: Trigonometric functions supported in CADFEKO expressions

sin
cos
trigonometric functions (arguments expected in radians)
tan
cot
arcsin
arccos
trigonometric inverse functions (results given in radians)
arctan
arccot
atan2 atan2(y,x) yields arctan(y/x) in the range -π. . .π
sinh
cosh hyperbolic functions
tanh

Table 3-2: Mathematical functions supported in CADFEKO expressions

fmod fmod(a,b) returns the remainder of the division a/b


deg converts radians to degrees
rad converts degrees to radians
sinh
cosh hyperbolic functions
tanh
log logarithm to base 10
ln natural logarithm
exp exponential function
sqrt square root
abs absolute value
step step(x) is 1 when x>0; otherwise it is 0
ceil rounded upwards
floor rounded downwards
min
min(a,b) or max(a,b) gives the minimum/maximum of the two arguments
max

expression without closing the dialog. The result is maintained until the next time the expression
is evaluated and is not updated automatically when the expression is changed.
Variables that have already been created can be changed by double-clicking on the variable itself
(or by right clicking and selecting Properties from the context menu). CADFEKO will display a
circular dependencies error if a variable is changed in such a way that it depends on itself. All
items with defined dependencies on the variable will be updated automatically. If this results in
invalid geometry (for example, a sphere radius that becomes zero or an intersection or split that
becomes empty), an error is written to the message window and the variable modification will not
be accepted. The Modify variable dialog may be left open while editing the item which gave the
error. Thereafter focus reverts back to the Modify variable dialog. Variables can be deleted via the
context menu. The delete operation will fail for all variables that are still referenced in any other

October 2013 FEKO User’s Manual


USING CADFEKO 3-5

part of the model (for example, in defining other variables or geometry). A variable or multiple
variables may also be copied. Select the variables, right click and select Copy (duplicate) from
the context menu. The copy of the variable will be indicated by appending _1 to the variable’s
original name.
The variables in Table 3-3 are predefined as part of a new model. These variables may be deleted
and/or modified just like any other variable and only have an effect if the user explicitly refers to
them.
Table 3-3: Predefined variables

c0 the speed of light in free space in m/sec


eps0 the permittivity of free space in F/m
mu0 the permeability of free space in H/m
pi the mathematical constant π (Ludolph’s number)
zf0 the characteristic impedance of free space in Ohm

Multiple variables may also be modified before re-evaluating by selecting the Construct
tab and clicking on the Variable menu button. Select the Multiple variables option. The
expression may be modified by double-clicking on the Expression field. The Modify multiple
variables dialog is shown in Figure 3-1.

Figure 3-1: The Modify multiple variables dialog.

3.3.2 Media

Media (materials) can be used in a model but must be defined before it can be used. The fol-
lowing media can be defined: Dielectric, Layered dielectric, Layered dielectric (anisotropic),
Impedance sheet, Metallic medium and Windscreen layers.

To define a medium, select the Construct tab and click on the Media menu button. After a
medium has been defined, it is displayed in the model tree (see Section 2.4). The coloured
square next to each medium entry indicates the colour that is used to represent this medium in
the 3D display as well as in POSTFEKO. The display colour for a medium can be changed by
selecting Change display colour from its context menu.
Medium names must be globally unique and contain less than 43 characters. User defined media
can be renamed in the tree or on its medium properties dialog. The name change will be reflected

October 2013 FEKO User’s Manual


USING CADFEKO 3-6

in all instances where the dielectric is applied. User defined media may also be deleted, provided
they are not used by any other item.
Predefined media are by default available in a CADFEKO model and consist of the following:
Perfect electric conductor, Perfect magnetic conductor and Free space. It is also displayed in the
model tree along with the user defined media. Its properties cannot be edited nor deleted, but
the properties of Free space may be edited. This provides for simulation where the free space
media is not a vacuum.

Media library

The media library contains a list of predefined and user defined media. Media listed in the library
can be added to the CADFEKO model. Media may also be added from the CADFEKO model to
the Media library to be used in future models to prevent redefining media.

The Media library is viewed by selecting the Construct tab and clicking on the Media
button. From the dropdown menu select Media library.
The Media library has a filter functionality whereby a user can filter through the list for a required
medium. Predefined media is indicated by FEKO in the Source column. User defined media is
indicated by the text User in the Source column. If more information regarding the medium is
required, the Advanced view mode may be used to display the medium properties.

Figure 3-2: The Media library dialog.

To add a medium from the library to the CADFEKO model, select the medium in the table (see
Figure 3-1) and click on the Add to model button. To add a medium from the CADFEKO model
to the media library, select the medium in the model tree (see Section 2.4) and from the context
menu, select the option Add to library.

October 2013 FEKO User’s Manual


USING CADFEKO 3-7

Dielectric media

Dielectric media can be applied to geometry regions (see Section 3.13.2) and used as building
blocks in the definition of layered dielectrics (see Section 3.3.2) and planar substrates (see Sec-
tion 3.3.8). For an imported mesh with no geometry representation, the dielectric properties may
be set on mesh faces (see Section 3.13.6).

To define a dielectric medium, select the Construct tab and click on the Media menu
button. From the dropdown menu select Dielectric.
The following options are available for defining a dielectric medium:

• Import the medium from file (see Section 14.33).

• Manually define the dielectric and magnetic modelling methods and their respective pa-
rameters.

The following methods are available for manually defining the dielectric modelling of a dielectric:

Frequency independent: The media is defined in terms of the Relative permittivity (ε r ), Relative per-
meability (µ r ), Magnetic loss tangent (tanδµ ), and the Dielectric loss tan-
gent (tanδ) or Conductivity (σ).
For example, low loss dielectric substrates are typically specified in terms of
the loss tangent, while human tissue (used in specific absorption rate studies)
are specified in terms of conductivity.
The effective permittivity of the dielectric is given by

εe f f = ε0 ε r (1 − j tan δ) (3-1)

or

σ
εe f f = ε0 ε r − j (3-2)
ω

Debye relaxation12 : The relaxation characteristics of gasses and fluids at microwave frequencies are
described by the Debye model. It has been derived for freely rotating spherical
polar molecules in a predominantly non-polar background. The method is
defined in terms of the Relative static permittivity (εs ), Relative high frequency
permittivity (ε∞ ) and the Relaxation frequency ( f r ).

εs − ε∞
ε∗ = ε∞ + f
(3-3)
1+ j f
r

12
R.Coelho, Physics of dielectrics for the Engineer, 1st ed. Elsevier Scientific Publishing Company, 1979.

October 2013 FEKO User’s Manual


USING CADFEKO 3-8

Cole-Cole13 : The model is similar to the Debye model, but uses one additional parameter to
describe the material. The Cole-Cole method is defined in terms of the Relative
static permittivity (εs ), Relative high frequency permittivity (ε∞ ), Relaxation
frequency ( f r ) and the Attenuation factor (α).

εs − ε∞
ε∗ = ε∞ + f 1−α
(3-4)
1+( j fr
)

Havrillak-Negami14 : It is a more general model and should be able to successfully model liquids,
solids and semi-solids. It is defined in terms of the Relative static permittiv-
ity (εs ), Relative high frequency permittivity (ε∞ ), Relaxation frequency ( f r ),
Attenuation factor (α) and the Phase factor (β).

εs − ε∞
ε∗ = ε∞ + h iβ (3-5)
f
1 + ( j f )1−α
r

Djordevic-Sarkar15 : It is particularly well suited as a broadband model for composite dielectrics.


It is defined in terms of the Variation of real permittivity (∆ε), Relative high
frequency permittivity (∆), Conductivity (σ), Lower limit of angular frequency
(ω1 ) and the Upper limit of angular frequency (ω2 ).

ω + jω
l n ω2 + jω
 

∆ε 1

ε = ε∞ +  ω
 − (3-6)
l o g10 ω2 l n(10) ω ε0
1

Specify points (linear interpolation): Data points at a range of frequencies are specified. Values for
the dielectric properties are then linearly interpolated to obtain the dielectric
properties at frequency points other than specified. Parameters required are
Frequency, Relative permittivity (ε r ) and either the Loss tangent (tanδ) or
Conductivity (σ).

The following methods are available when defining the magnetic modelling of a dielectric:
Non-magnetic: The relative permeability (µ r ) is set to 1.0 and the magnetic loss tangent
(tanδµ ) is set to 0.0.

Frequency independent: The media is defined in terms of the Relative permeability (µ r ) and the Mag-
netic loss tangent (tanδµ ). The effective permeability of the dielectric is given
by
µe f f = µ0 µ r (1 − j tan δµ ) . (3-7)

Specify points (linear interpolation): The dielectric properties of the material are defined at various
frequency points. Values for the dielectric properties are then linearly interpo-
lated to obtain the dielectric properties at frequency points other than specified.
Parameters required are Frequency, Relative permeability (µ r ) and Magnetic
loss tangent (tanδµ ).
13
K.S. Cole and R.H. Cole, “Dispersion and absorption in dielectrics,” journal of Chemical Physics,vol.9, pp.341-
351, 1941
14
J. Baker-Jarvis, M. D. Janezic, J. H. Grosvenor, and R.G. Geyer, “Transmission/reflection and short-circuit line
methods for measuring permittivity and permeability: Technical note 1355-r,” National Institute of Standards and
Technology, Tech. Rep., 1994
15
Djordevic, R.M. Biljic, V.D. Likar-Smiljanic, T.K. Sarkar, Wideband frequency-domain characterization of FR4 and
time-domain causality, IEEE Transactions. on Electromagnetic Compatibility, vol. 43, no.4, 2001, p.662-667

October 2013 FEKO User’s Manual


USING CADFEKO 3-9

For information regarding the definition of a dielectric medium in EDITFEKO, refer to the DI card
(see Section 14.33).

Impedance sheets

An impedance sheet is used to apply a surface impedance to surfaces that define the boundary
between free space regions.
Impedance sheets are created by selecting the Construct tab and clicking on the Media
menu button.
An impedance sheet define the real and imaginary parts of the Surface impedance (effectively the
ratio between tangential electric field on the surface and the electric surface current). In theory,
the same effect can be achieved by applying an appropriately defined Metallic medium to this
surface, but where only the surface impedance is known the properties of the equivalent metallic
medium need not be derived.
The following options are available for defining a dielectric medium:

• Import the medium from file (see Section 14.33).

• Manually define the impedance sheet.

The following methods are available for manually defining the surface impedance:
Frequency independent: The impedance is defined in terms of the real and imaginary part.

Specify points (linear interpolation): The real and imaginary part of the impedance are defined at var-
ious frequency points. Values for the impedance are then linearly interpolated
to obtain the impedance at frequency points other than specified.

For information regarding the definition of an impedance sheet in EDITFEKO, refer to the DI card
(see Section 14.33).

Layered dielectric (isotropic)

A layered dielectric is used to apply a thin dielectric sheet or coating to surfaces that define the
boundary between free space regions.
To define a Layered dielectric medium, select the Construct tab and click on the Media
menu button. From the dropdown menu select Layered dielectric.
When defining a layered dielectric, the dielectric media (see Section 3.3.2) constituting the vari-
ous layers must be first be defined.
A layered dielectric is defined by specifying the Thickness and Dielectric material for each layer.
New layers are added directly after the currently selected layer.
Coatings and thin dielectric sheets must be geometrically or electrically thin depending on the
selected solution. During EM validation of the model (see Section 3.15.1), CADFEKO will give
warnings if the thickness limits are approached and errors if the thickness limits are exceeded.
For information regarding the definition of a layered dielectric in EDITFEKO, refer to the DL card
(see Section 14.34).

October 2013 FEKO User’s Manual


USING CADFEKO 3-10

Layered dielectric (anisotropic)

To define a Layered dielectric (anisotropic) medium, select the Construct tab and click on
the Media menu button. From the dropdown menu select Layered dielectric (anisotropic).
When defining a layered dielectric, the dielectric media (see Section 3.3.2) constituting the vari-
ous layers must be first be defined.
An anisotropic layered dielectric is defined by specifying the Thickness, Principal direction (deg),
Material in principal direction and the Material in the orthogonal direction.
For information regarding the definition of a layered dielectric in EDITFEKO, refer to the DL card
(see Section 14.34).

Defining metallic media

Conducting (skin effect) losses are modelled by setting the face media (see Section 3.13.3) of the
relevant faces to Metallic. (This cannot be done for faces bordering perfectly electric conducting
regions.)

To define a metallic medium, select the Construct tab and click on the Media menu button.
From the dropdown menu select Metallic medium.
Note that it is not possible to apply a user defined metallic medium directly to a solid region
(except for the special case of the Perfect electric conductor medium). The medium of the in-
ternal region should rather be set to free space (or dielectric) and a ‘thick’ metallic medium
property applied to the faces bounding the region. ‘Thick’ here implies that the face property
(see Section 3.13.3) should be set much thicker than the medium skin depth.
The following options are available for defining a metallic medium:

• Import the medium from file (see Section 14.33).

• Manually define the metallic medium.

The following methods are available for manually defining the surface impedance:

Frequency independent: The media is defined in terms of the Relative permeability (µ r ), Magnetic loss
tangent (tanδµ ) and Conductivity (σ).

Specify points (linear interpolation): The magnetic properties of the material are defined at various
frequency points. Values for the magnetic properties are then linearly interpo-
lated to obtain the magnetic properties at frequency points other than specified.
Parameters required are Frequency, Relative permeability (µ r ), Magnetic loss
tangent (tanδµ ) and Conductivity (σ).

In this manual the phrase conducting media collectively refers to Metallic media as well as the
Perfect electric conductor.
For information regarding the definition of a an impedance sheet in EDITFEKO, refer to the DI
card (see Section 14.33).

October 2013 FEKO User’s Manual


USING CADFEKO 3-11

Windscreen

CADFEKO supports the analysis of multiple windscreen antennas with different dielectric wind-
screen definitions.
The workflow for the analysis of windscreen antennas is as follows:

Define dielectric media: Define the dielectric media which will be used in the definition of the wind-
screen layers.

Define layered dielectric: Define a layered dielectric which will be contained in the windscreen media.

Define a windscreen layer: Define the windscreen layer by specifying the layered dielectric which it
will contain.

Specify windscreen reference plane: Select the face in the geometry which will be used as the wind-
screen curvature reference.

Specify windscreen solution element: Select the windscreen solution elements (the metallic antenna
elements) in the geometry and specify the solution method as Windscreen.

Note that the windscreen layer, windscreen reference plane and windscreen solution elements
should share the same windscreen name.
Before a windscreen can be defined, the dielectric media and a layered dielectric representing
the windscreen must first be defined. Refer to the DI card (see Section 14.33) and DL card (see
Section 14.34) for information regarding defining a dielectric medium and a layered medium in
EDITFEKO.

After a layered dielectric has been defined, select the Construct tab and click on the Me-
dia menu button and select Windscreen layers from the dropdown menu. To define a
windscreen, the following information is required:

Layer definition: The layered dielectric contained in the windscreen layers.

Offset L: The distance from the windscreen curvature reference to the top of layer 1.
Note that when windscreen layers are defined, the enumeration of the wind-
screen layers increase in the opposite direction as the reference direction, see
Figure 3-3.

Refer to the WD card (see Section 14.68) for information regarding the defining of windscreen
dielectric layers in EDITFEKO.
To define the windscreen curvature reference, select the applicable faces in the 3D view or in the
details tree. Right-click and from the context menu, select Properties. On the Face properties di-
alog set the Solve with special solution method to Windscreen and the Element type to Reference
element, see Figure 3-4.
Refer to the WR card (see Section 13.54) for information regarding defining a windscreen refer-
ence in EDITFEKO.
To define the windscreen solution elements, select the metallic antenna elements (faces/wires)
in the 3D view or in the details tree. Right-click and from the context menu, select Properties. On

October 2013 FEKO User’s Manual


USING CADFEKO 3-12

Figure 3-3: The Define windscreen dialog.

Figure 3-4: The Face properties dialog.

the Edge/Face properties dialog set the Solve with special solution method to Windscreen and
the Element type to Reference element, see Figure 3-4.
The parameter Offset A is the distance from the windscreen curvature reference to the windscreen
solution elements (metallic antenna elements). This offset is required due to the limitations of a
finite mesh in combination with the curvature and rotation of the model, compared to a smooth
surface.
The windscreen solution elements should always be defined tangential w.r.t. to the dielectric
windscreen reference plane (i.e. the different glass layers).
Refer to the WA card (see Section 13.52) for information regarding defining a windscreen an-
tenna in EDITFEKO.
Techniques such as FEM, PO and GO (ray launching) are not supported in conjunction with a
windscreen analysis. Multiple windscreens with multiple glass definitions are allowed in one
model.

3.3.3 Windscreen tools

CADFEKO supports the definition of a reference surface constrained by a cloud of points, normals
and optional U’V’ parameters. The surface can then be used as a reference to create windscreen
layers and curved parametrised windscreen antenna elements.

October 2013 FEKO User’s Manual


USING CADFEKO 3-13

Figure 3-5: The Edge properties dialog.

The workflow is as follows:

Import windscreen glass and the antenna boundary: Import the windscreen and the antenna boundary.
The antenna boundary will be used as the outline of the constrained surface.

Project antenna boundary onto windscreen surface: To assist snapping, the antenna boundary and wind-
screen surface should be a single part. Union the windscreen and antenna
boundary. If the antenna boundary does not lay on the windscreen surface,
project its outline onto the windscreen surface, see Figure 3-6.

Create a constrained surface: The windscreen surface is approximated by a constrained surface speci-
fied by a cloud of points, normals and optional U’V’ parameters.

Create a work surface: A work surface is created from the constrained surface. The work surface is
used to define surface curves in the U’V’ parameter space of this surface.

Create windscreen antenna elements: Windscreen antenna elements are defined in the specified work
surface by means of the Surface line, Surface Bézier curve and Surface regular
lines curves.

Mesh the geometry: To prevent the constrained surface from being meshed, exclude the constrained
surface (see Section 2.7.5).

To create a constrained surface, the windscreen glass as well as the antenna boundary is to be
imported into CADFEKO. Union the windscreen glass and the antenna boundary.

If the boundary of the antenna does not lay on the surface of the windscreen, project its
outline onto the surface of the windscreen.

Next the windscreen surface is approximated by a constrained surface. To gain access to


the windscreen tools, select the Home tab and click on the Windscreen button. It will
enable a new tab called Windscreen to be displayed between the Transform and Source/Load
tabs.

October 2013 FEKO User’s Manual


USING CADFEKO 3-14

Figure 3-6: The imported windscreen with the antenna boundary highlighted in yellow.

Figure 3-7: The Windscreen tab is accessed by selecting the Home tab and enabling it by clicking on the
Windscreen button. When enabled it will be located between the Transform and Source/Load
tabs.

Select the Windscreen tab and click on the Constrained surface tool to launch the Create
constrained surface dialog. The first step in creating a constrained surface is to specify the
outline of the constrained surface. Start by specifying points on the outline of the windscreen.
Add points to the table by snapping to points (see Section 3.20) on the outline of the windscreen
and using point entry (see Section 2.7.2) to enter the values.
For the moment, ignore the Surface parameter column. These parameters control the flow of the
gridlines and will be specified in the steps to follow.
Points on the antenna boundary which have been added to the table, are indicated by a blue
rectangle with a number corresponding to its location in the table. A selected point in the table
will be indicated by a red rectangle in the 3D view.
As the windscreen is symmetric, it is only required to specify points on half of the windscreen.
Symmetry of the windscreen can be defined by selecting the Advanced tab of the Create con-
strained surface dialog and selecting the applicable Symmetry plane orientation option, see Fig-
ure 3-9. Next the U’ or V’ which is constant at the symmetry plane are defined by specifying the
Surface parameter value at plane and its value at the symmetry plane.
Next the Surface parameters (U’ and V’) are defined to control the outline and internal gridlines
of the constrained surface. The constrained surface consists of constant U’ and V’ gridlines, each
gridline represents a different U’ or V’ value, see Figure 3-10.
Defining the same U’ value at a set of points will force a single U’ gridline to flow through the
points. Similarly, defining the same V’ value at a set of points will force a single V’ gridline to
flow through the points.
The range of values assigned to the U’ or V’ gridlines only determine relative distances in the
U’V’ space. For example, setting the range of the U’ gridlines as -1. . .1, 0. . .1 or 0. . .100 will only
influence the relative U’ distance between the adjacent U’ gridlines.
Select the Geometry tab of the Create constrained surface dialog. If the Constant surface param-
eter at plane parameter has been defined, start by entering the value as defined for the Surface

October 2013 FEKO User’s Manual


USING CADFEKO 3-15

Figure 3-8: The Geometry tab of the Create constrained surface dialog. Fourteen points are created on the
antenna boundary to define the constrained surface. A preview of the constrained surface is
displayed in green. Note that the windscreen symmetry has not yet been defined.

Figure 3-9: The Advanced tab of the Create constrained surface dialog. The Symmetry plane orientation
of the windscreen was defined at the VN plane. The Constant surface parameter at plane is set
to U’ with a value equal to 1.

parameter value at plane for the points at the symmetry plane. Note that these fields are op-
tional and used to control the flow of the gridlines. As such, these fields may be left empty if not
required.
For the example in Figure 3-9, the Constant surface parameter at plane was specified as U’ and
its value as 1. Enter a value of 1 for U’ for the points 3, 4, 5, 6 and 7 at the symmetry plane. Next
the U’-values for the points 1, 14, 13, 12 and 11 on the boundary and furthest from the symmetry
plane, are defined. As these points lay on a constant U’-value, these points should have identical
U’ values. For this example a value of 0 was selected.

October 2013 FEKO User’s Manual


USING CADFEKO 3-16

Lines of constant U' values


Lines of constant V' values

V'

U'

Figure 3-10: The constrained surface consists of constant U’ and V’ values. Lines of constant U’ values are
highlighted in green. Lines of constant V’ values are highlighted in blue. Defining the same
U’ or V’ values to a set of points will force the single U’ or V’ gridline to flow through the
points.

Table 3-4: The constrained surface with U’ equal to 1 entered for points 3, 4, 5, 6 and 7. An U-value equal
to 0 was entered for points 1, 14, 13, 12 and 11. This forces the left most and centre gridline to
coincide with these sets of points. Note that the top and bottom gridlines do not coincide with
points 1, 2, 3, 11, 10 etc. since V’ has not yet been specific.

Points
Surface parameter
Number U’ V’
3 1
4 1
5 1
6 1
7 1
1 0
14 0
13 0
12 0
11 0

Next the V’-values for the points need to be defined to control the top and bottom gridlines. It
will ensure that the top and bottom gridlines coincide with points 1, 2, 3, 11, 10, 9, 8 and 7. Start
at a corner point and enter a V’-value. In the example in Table 3-5, the V’-value of the corner
point 11 is set to 0 as well for as points 10, 9, 8 and 7.
Should the internal gridlines not follow the imported guidelines to satisfaction, add some addi-
tional internal points. For this example, points, 15, 16 and 17 were added.
If the guidelines follow the gridlines satisfactorily, press either the OK or Apply button to create
a constrained surface. Next a work surface is created to enable the definition of surface curves in
the U’V’ parameter space created.

Select the Work surface button to launch the Create work surface dialog, see Figure 3-11.
Select the constrained surface as reference and specify the offset. The work surface will
be added below the entry, Workplanes (see Section 3.3.5) in the model tree (see Section 2.4).
Note that there is no linkage between the work- and constrained surface after the work surface

October 2013 FEKO User’s Manual


USING CADFEKO 3-17

Table 3-5: The constrained surface with V’ specified for points 11, 10, 9, 8, 7, 1 and 2.

Points
Surface parameter
Number U’ V’
11 0 0
10 0
9 0
8 0
7 1 0
1 0 4
2 4

Table 3-6: Additional internal points were specified to control the internal guidelines of the constrained
surface.

Points
Surface parameter
Number U V
12 0 1
15 1
13 0 2
16 2
14 0 3
17 3
18 4

has been created. As a result when modifying an existing work surface, the Reference face field
on the Create work surface dialog will be empty.

Figure 3-11: Defined Work surfaces are displayed in the model tree below the entry Workplanes. Note that
the work surface is decoupled from the constrained surface after creation. As a result when
modifying an existing work surface, the Reference face field will be empty.

The Surface line, Surface Bézier curve and Surface regular lines, see Figure 3-12 can now
be used to define windscreen solution elements (see Section 3.3.2) in the defined work
surface, see Figure 3-12.
When the geometry is meshed, to avoid meshing the constrained surface, exclude the constrained
surface (see Section 2.7.5).

October 2013 FEKO User’s Manual


USING CADFEKO 3-18

Figure 3-12: The Create regular spaced surface parameter lines dialog. To the right, a preview is displayed
of the regular spaced surface parameter lines on the defined work surface.

3.3.4 Named points

Named points can be created by selecting the Construct tab and clicking on the Add point
button.
Named points may be copied by right-clicking and selecting Copy from the context menu. The
copy of the named point will be indicated by appending _1 to the point’s original name.
Named points are effectively vector variables and are typically used to create geometry that
should change when the point is modified (see Section 2.7.2). The Add named point dialog
contains input fields for the three coordinates of the point in the global coordinate system.
The x, y and z components of a point may be accessed using a dot followed by the required
component, for example, ‘P.x’ is the x component of point P. Points may also be constructed
using the ‘pt’ command. For example, the expression ‘pt(1,1,1) + pt(2,1,1)’ will result in a point
definition of (3,2,2). Only the subtract and add operations are allowed between two points (the
corresponding components are added/subtracted) and a point may be multiplied with or divided
by a scalar. The ‘abs’ function may also be applied to points. This function gives the distance
from the origin to the point, i.e. the vector length if the point is interpreted as a scalar value.
Currently no other operations may be applied to points.

3.3.5 Workplane

In CADFEKO, there are three predefined workplanes namely: Global XY, Global XZ and Global YZ.
Any of these workplanes can be at any time be set as the default workplane by right-clicking on

October 2013 FEKO User’s Manual


USING CADFEKO 3-19

the respective workplane in the model tree and selecting Set as default from the context menu.
After a workplane is set as the default workplane, it will be indicated by the text, [Default] in
the model tree. The default workplane will be used as the starting workplane for the dialogs
concerning primitive creation, operators and transforms. If necessary, the workplane can be
modified on any Workplane tab for primitive creation, operators and transforms. (The easiest is
to use point entry - <Ctrl><Shift> + click on workplane in the tree.)
The workplane is determined by the orientation of the axis which is displayed as a blue X/U,
green Y/V and red Z/N tangential lines. When an axis is obscured by geometry, it will still be
visible as a dotted line in their respective colour.

A new workplane can be added to the model by selecting the Construct tab and clicking
on the Add workplane button.
The visibility of the workplane may be enabled/disabled (see Section 3.22.7). This action will
also hide the dynamic grid. The grid is dynamic as the tick marks are determined by the amount
to which the model is zoomed in or out. When the model is zoomed out, the interval between
the tick marks will be increased. An extra option is available under the Show/Hide workplane to
hide the tick marks on the dynamic grid.

The workplane is specified in terms of an Origin which defines the position, and the
U vector and V vector directions which define the orientation of the workplane. The
workplane can also be rotated around the U, V or N axis. The angle (in degrees) for rotation
can be entered underneath the icons (shown in Figure 3-13). Note that these buttons perform
actions on the values entered in U and V.
A workplane can be easily modified by snapping to existing faces, edges and wires (see Sec-
tion 2.6.5).

Figure 3-13: The workplane tab on the Create cuboid dialog.

Only the directions of the vectors are relevant, i.e. using the vector (2,0,0) is the same as using
(1,0,0). When calculating the v-axis, the component of V vector parallel to the U vector is

October 2013 FEKO User’s Manual


USING CADFEKO 3-20

removed to ensure that the two axes are orthogonal. Thus, the V vector need not be specified
exactly orthogonal to the U vector, though it may not be specified exactly parallel to U vector.
The n-axis is normal to the uv-plane and in the direction u × v.
The Origin, U vector and V vector fields may be specified using the <Ctrl><Shift> (see Sec-
tion 2.7.2) and clicking with the mouse. This means that the current workplane may be used to
enter values which will define the settings of a new workplane. (Pressing <Ctrl><Shift> and
clicking on the view while any of the Origin, U vector or V vector fields has focus will modify its
values.)

Coordinates set in a given workplane

All primitive geometry objects and solution entities with spatial properties in CADFEKO are de-
fined in the default workplane environment, unless the default workplane was modified on the
workplane tab. When a workplane is defined (see Section 3.3.5), the coordinate system is set in
the defined workplane environment.

3.3.6 Model unit

To set the unit used for all distances and dimensions in CADFEKO, select the Construct tab
and click on the Model unit button. For quick access, it is also available on the Home tab.
Changing the unit does not directly modify any numbers specified in CADFEKO, but rather the
interpretation of all numbers (created before and after the unit change) — hence the unit can be
changed at any time during construction of the model.
Besides the standard units provided in the dialog, the user can specify an arbitrary unit conversion
factor with respect to metres. For example, the model unit should be 1 × 10−6 when working in
micrometres. The unit is displayed on the active status bar (see Section 2.4).

3.3.7 Geometry extents

Operations on geometry (such as checking if two points are at the same physical location) require
a numeric tolerance. This tolerance is dependent on the model size. For example, microwave
structures may require dimensions that differ by only few micrometers, but this level of accuracy
is not required for studies of antennas on large ships.

To set the geometry extents, select the Construct tab and click on the Model extents button.
For quick access, it is also available on the Home tab.
The model extent is the same in all coordinate directions and therefore only one value needs to be
specified. This is the Maximum coordinate which gives the largest offset — in either direction —
along any of the three axes. For example, if the Maximum coordinate is 500, the entire geometry
must fit inside a 1000x1000x1000 box centred at the origin. The size of the extents are specified
in the CADFEKO model unit (see Section 3.3.6).
The tolerance on the model dimensions can be determined by taking the Maximum coordinate
divided by 5 × 108 . If coordinate values differ by more than this amount, they are considered
unique. Note, however, that values are only guaranteed to be considered identical if the distance

October 2013 FEKO User’s Manual


USING CADFEKO 3-21

between them is less than a hundredth of the model tolerance. (Between these values is a range
where the uniqueness and connectivity cannot be guaranteed.)
The default value for the geometry extents is 5E+02 (500). It is recommend that this value be
used except if the model is large (for example, when modelling an automobile in mm model
units), or small with a requirement for high dimension-accuracy (accurate CAD model and/or
mesh). For extent settings other than the default value of 500, exported Parasolid models will
not be in the same unit used in CADFEKO (see Section 5.1.2.)
The extents box limitation applies to all geometry. For example, an intersection between two
spheres cannot be performed if either sphere exceeds the size box even if the resultant inter-
section would be within the extents boundary. CADFEKO will display an error if the geometry
exceeds the specified size. In this case, the extents can be changed without having to close the
dialog that caused the error and the operation re-attempted.

3.3.8 Planes/arrays

Infinite planes — Planar Green’s functions and ground planes

FEKO can include the effect of an infinite ground plane and/or planar substrates.

Select the Construct tab and click on the Infinite structures button and select Infinite plane
from the dropdown menu to open the Infinite planes/ground options dialog (shown in
Figure 3-15).

No ground (homogeneous free space medium): This is the default for any new model. When this option
is selected, the model is solved in an homogeneous environment filled with the Free space
medium. The properties of the Free space medium may be edited in the media tree as
required.

Perfect electric (PEC) ground plane at z=0: This provides for the inclusion of an infinite ground plane
that coincides with the z = 0 plane (in the global coordinate system). Perfect electric con-
ductor is used as the ground medium. In the reflection coefficient approximation, a reflected
component is added to each field. This technique is much faster than the exact Sommerfeld
integral method, but also less accurate. For real grounds all conducting structures must be
more than a tenth of a wavelength above the ground. (For perfect ground, structures may
be connected to the ground, but not below it.)

Perfect magnetic (PMC) ground plane z=0: This provides for the inclusion of an infinite ground plane
that coincides with the z = 0 plane (in the global coordinate system). Perfect magnetic con-
ductor is used as the ground medium. In the reflection coefficient approximation, a reflected
component is added to each field. This technique is much faster than the exact Sommerfeld
integral method, but also less accurate. For real grounds all conducting structures must be
more than a tenth of a wavelength above the ground. (For perfect ground, structures may
be connected to the ground, but not below it.)

Homogeneous half space in region z<0 (reflection coefficient approximation): This provides for the inclu-
sion of an infinite ground plane that coincides with the z = 0 plane (in the global coordinate
system). The medium is selected from the list in the Ground medium group. This list con-
tains all of the user-defined Dielectric media. In the reflection coefficient approximation, a
reflected component is added to each field. This technique is much faster than the exact

October 2013 FEKO User’s Manual


USING CADFEKO 3-22

Sommerfeld integral method, but also less accurate. For real grounds all conducting struc-
tures must be more than a tenth of a wavelength above the ground. (For perfect ground,
structures may be connected to the ground, but not below it.)

Homogeneous half space in region z<0 (exact Sommerfield integrals): This provides for the inclusion of
an infinite ground plane that coincides with the z = 0 plane (in the global coordinate sys-
tem). The ground medium is selected from the list in the Ground medium group. This list
only contains all of the user-defined Dielectric media (Perfect conductors are not supported
in the Sommerfeld ground). The Sommerfeld integral solves the exact boundary condition
using the appropriate Green’s function. This method supports conducting structures inside
the ground, but no mesh element that crosses the surface of the ground may be connected
to an element below the ground. For example, partly buried wires are allowed as long as
there is a vertex at the position where the wire passes through the surface of the ground.).

Planar multilayer substrate: This provides for the inclusion of a planar multilayer substrate (infinite or
finite) in the model. For each layer, the presence of a Ground plane, Thickness and Medium
may be specified.
A ground plane can be specified at the bottom of each layer by selecting Bottom from the
Ground plane dropdown list. If a ground plane is enabled at the bottom of a layer, it will be
indicated by an orange line below the respective layer in the Media preview column.
The thickness of each layer is specified in the Thickness column. Layer 0 and the bottom
layer are infinitely thick.
Layers can be added and removed with the Add and Remove buttons. Layers are added
beneath the currently selected layer. So if a new layer must be added between two layers,
select the one on top and click Add. To remove a layer, select it and click Remove.
The planar structure is always orthogonal to the global z-axis. The vertical position may be
modified by specifying the Z-value at the top of layer 1.
Planar substrates may be used without ground planes in complex (layered) models to model
real earth. To use it for microstrip applications, add a ground plane at the bottom of the
planar substrate. With both conducting top and bottom planes present, it can be used for
stripline applications.
A planar multilayer substrate can be enclosed inside a MoM/SEP region to model a finite
size planar multilayer substrate, see Figure 3-14(a). To do this define a multilayer substrate
and set the Region medium (see Section 3.13.2) of the MoM/SEP region to Plane/ground
(finite).
Arbitrarily shaped dielectric bodies can be modelled inside a planar multilayer substrate,
see Figure 3-14(b). An example is the modelling of a dielectric pipe buried in the ground.

Figure 3-14: (a) A finite size planar multilayer substrate enclosed inside of a MoM/SEP region and (b)
the modelling of arbitrarily shaped dielectric body in connection with a planar multilayer
substrate.

Refer to the GF card (see Section 14.40) and BO card (see Section 14.23) for information regard-
ing defining planar multilayer substrates and ground planes in EDITFEKO.

October 2013 FEKO User’s Manual


USING CADFEKO 3-23

Figure 3-15: The Plane/ground dialog.

Periodic boundary

Periodic boundary conditions may be specified in CADFEKO. Like symmetry, periodic


boundary conditions are considered a model setting and may be accessed by selecting
the Construct tab, Planes/arrays group and selecting Periodic boundaries from the dropdown
menu.
The dialogs for 1D and 2D periodic boundary conditions are shown in Figure 3-16.

Figure 3-16: The Periodic boundary condition dialog.

October 2013 FEKO User’s Manual


USING CADFEKO 3-24

The definition of the unit-cell of the periodic boundary condition solution is based on vectors. For
the 1D case, the start– and end–point of a single vector is required. Periodicity is then defined
based on two planes passing through these start and end points, and normal to the vector formed
between them. The vector used to define 1D periodicity can have any orientation, but must
have a non-zero length. For the 2D case, two vectors are required. These vectors form the two
boundaries of the unit cell which is infinite in the direction normal to the plane on which both
vectors lie (see Figure 3-17). The vectors that define the unit-cell for 2D periodicity must have
non-zero length, and cannot be oriented in the same direction.

Figure 3-17: The periodic boundary condition for 2D periodicity.

CADFEKO allows the specification of the phase shift to be applied in the direction of each of the
vectors defining the unit-cell. The specified values for the phase-shift are only used if a plane-
wave excitation is not present. (If phases are specified and a plane wave excitation is present in
the solution, the FEKO kernel will return an error during solution.)
For array modelling using periodic boundary conditions, the beam (squint) angle can be specified
by defining the theta and phi angle. The phase along the periodic lattice vectors will then be
computed automatically to ensure the specified beam direction.

3.3.9 Creating finite antenna arrays

The creation of finite antenna arrays which includes mutual coupling and edge-effects in
the analysis, are supported in CADFEKO. Create a finite antenna array by selecting the
Construct tab and clicking on the Planes/arrays menu button.

October 2013 FEKO User’s Manual


USING CADFEKO 3-25

Linear/planar arrays

A linear/planar antenna array may be defined by selecting the Linear/planar array from
the dropdown menu. See Figure 3-18 for the Create linear/planar array dialog.

Number of elements in the U dimension: The number of finite antenna array elements in the U dimen-
sion.

Offset along x axis: The distance between the finite antenna array elements along the x axis.

Number of elements in the V dimension: The number of finite antenna array elements in the V dimen-
sion.

Offset along y axis: The distance between the finite antenna array elements along the y axis.

Uniform distribution or calculated from plane wave: If this option is checked, the array elements will
either have an uniform distribution or the distribution will be calculated from
the plane wave if a plane wave is present in the model. If the option is
unchecked, the user can specify the excitation for each element. Note the
indexing for linear/planar antenna arrays, see Figure 3-18.

Magnitude scaling: The excitation magnitude for the individual element is scaled relative to the
base element.

Phase offset (degrees): The phase offset in degrees for the individual element relative to the base ele-
ment.

Import: The Magnitude scaling and Phase offset (degrees) of the array elements can be
imported from a comma, tab or space separated value file by clicking on the
Import button, see Figure 3-19.

Cylindrical/circular arrays

A cylindrical/circular antenna array may be defined by selecting the Cylindrical/circular


antenna array from the dropdown menu.
See Figure 3-18 for the Create cylindrical/circular antenna array dialog.

Radius: The radius of the cylindrical/circular antenna array.

Number of elements in the Phi dimension: The number of array elements along the phi dimension.

Number of elements in the N dimension: The number of array elements along the N dimension.

Offset along z axis: The distance between the array elements along the z axis.

Uniform distribution or calculated from plane wave: If this option is checked, the array elements will
either have an uniform distribution or the distribution will be calculated from
the plane wave if a plane wave is present in the model. If the option is
unchecked, the user can specify the excitation for each element. Note the
indexing for linear/planar antenna arrays, see Figure 3-20.

October 2013 FEKO User’s Manual


USING CADFEKO 3-26

Figure 3-18: (a) The Create linear/planar array dialog and (b) the Create cylindrical/circular array dialog.

n v
4
5
6
1
2
3
u
Figure 3-19: The Create linear/planar array dialog (Distribution tab) to the left and an image depicting
the array element numbering to the right.

Magnitude scaling: The excitation magnitude for the individual element is scaled relative to the
base element.

Phase offset (degrees): The phase offset in degrees for the individual element relative to the base ele-
ment.

Import: The Magnitude scaling and Phase offset (degrees) of the array elements can be
imported from a comma, tab or space separated value file by clicking on the
Import button, see Figure 3-20.

October 2013 FEKO User’s Manual


USING CADFEKO 3-27

n v
5
6
2
4
3

1
u
Figure 3-20: The Create cylindrical/circular array dialog (Distribution tab) to the left and an image de-
picting the array element numbering to the right.

Custom array elements

Create a custom antenna array element by specifying the Origin, Magnitude scaling and
Phase offset (degrees). The option is also available to convert linear/planar and circular/-
cylindrical antenna arrays to custom array elements.

To convert a predefined array to custom antenna array elements, select the array in the
model tree (Construct tab) and select the Convert to custom array from the context menu.

Import from file

A custom antenna array may be imported from an Antenna Magus (see Section 3.16.1)
generated XML file.
Refer to the FA card (see Section 13.15) for information regarding antenna arrays in EDITFEKO.
The use of the domain Green’s function method (DGFM) (see Section 3.12.5) can be disabled
should it only be required to create the array, but not solve it by means of the DGFM.

Viewing the array

After a antenna array has been created, the original/base element will be indicated in the 3D view
by green hatching, see Figure 3-21. Note that creating large arrays with non-uniform distribution
will affect the 3D rendering and performance of creating and modifying large arrays in CADFEKO
and 3D rendering in POSTFEKO.

October 2013 FEKO User’s Manual


USING CADFEKO 3-28

Figure 3-21: The display of the original/base element is indicated by green hatching.

3.3.10 Creating solids

The Create solid group on the Construct tab contains tools for the creation of cuboids, flares,
spheres, cylinders and cones. A typical solid primitive dialog is shown in Figure 3-22.

Figure 3-22: The Create cuboid dialog.

Figure 3-23: The (a) Cuboid button (b) the Flare button (c) the Sphere button (d) the Cylinder button
and (e) the Cone button.

Solid primitives are by default perfect electric conductors, but can be changed to dielectric or
shell structures. This is done by setting region properties (see Section 3.13.2).
For the creation of solids, a number of special definition options are available in order to aid
flexibility in the creation of complex geometries. The various primitive definition options are
depicted and described below. If the Radius field for a sphere or cylinder is specified using a

October 2013 FEKO User’s Manual


USING CADFEKO 3-29

point, the surface of the sphere or the extended cylinder will pass through that point. For a cone
the radius is determined as the distance between the origin of the local coordinate system and
the projection of the point in the local uv-plane. To specify a sharp tipped cone, set the Top radius
field to ‘0’.
When creating any of the solid primitives, surface primitives or line primitives, default values are
added to the geometry dimension fields. The default values are dependent on the zoom level in
the 3D view and are only given to enable a preliminary preview of the primitive in the 3D view.
The exceptions to these default values are the polygon and fitted spline.

Definition options for solid geometry objects

Cuboid - Method 1

Base corner (C): One corner of the cuboid.

Width (W ): The cuboid dimension in the u-axis direction.

Depth (D): The cuboid dimension in the v-axis direction.

Height (H): The cuboid dimension in the n-axis direction.

Cuboid - Method 2

Base centre (C): The centre of the base of the cuboid.

Width (W ): The cuboid dimension in the u-axis direction.

Depth (D): The cuboid dimension in the v-axis direction.

Height (H): The cuboid dimension in the n-axis direction.

Flare - Method 1

Base centre (C): The centre of the flare base.

Bottom width (Wb ): The width of the base in the u-axis direction.

Bottom depth (D b ): The depth of the base in the v-axis direction.

Height (H): The height of the flare, in the n-axis direction.

Top width (Wt ): The width of the top in the u-axis direction.

Top depth (D t ): The depth of the top in the v-axis direction.

October 2013 FEKO User’s Manual


USING CADFEKO 3-30

Flare - Method 2

Base corner (C): A corner of the flare base.

Bottom width (Wb ): The width of the base in the u-axis direction.

Bottom depth (D b ): The depth of the base in the v-axis direction.

Height (H): The height of the flare, in the n-axis direction.

Top width (Wt ): The width of the top in the u-axis direction.

Top depth (D t ): The depth of the top in the v-axis direction.

Flare - Method 3

Base corner (C b ): A corner of the flare base.

Top corner (C t ): A corner point of the flare top.

Bottom width (Wb ): The width of the base in the u-axis direction.

Bottom depth (D b ): The depth of the base in the v-axis direction.

Flare - Method 4

Base centre (C b ): The centre of the flare base.

Bottom width (Wb ): The width of the base in the u-axis direction.

Bottom depth (D b ): The depth of the base in the v-axis direction.

Height (H): The height of the flare, in the n-axis direction.

Flare angle (AU): The angle of the flare from the u-n plane.

Flare angle (AV ): The angle of the flare from the v-n plane.

Sphere - Method 1

n Centre (C): The centre point of the sphere.


v C
u
Radius (R): The radius of the sphere.

Sphere - Method 2 (ellipsoid)

Centre (C): The centre point of the sphere.


Rn
n Radius (Ru ): The radius of the ellipsoid in the U dimension.
v C
u
Rv Radius (R v ): The radius of the ellipsoid in the V dimension.
Ru

Radius (R n ): The radius of the ellipsoid in the N dimension.

October 2013 FEKO User’s Manual


USING CADFEKO 3-31

Cylinder - method 1

Base centre (B): The centre of the cylinder base.

Radius (R): Cylinder radius (parallel to the uv plane).

Height (H): Cylinder height in the n-direction measured from B.

Cylinder - method 2

Base centre (B): The centre of the cylinder base.

Top centre (T ): The centre of the cylinder top.

Radius (R): The cylinder radius (perpendicular to the line from B to T ).

Cone - method 1

Base centre (B): The centre of the base of the cone.

Base radius (R b ): The radius of the cone base (parallel to the uv plane).

Height (H): The cone height in the n-direction measured from B.

Top radius (R t ): The radius of the cone top (parallel to the uv plane).

Cone - method 2

Base centre (B): The centre of the base of the cone.

Top centre (T ): The centre of the top of the cone.

Base radius (R b ): The radius of the cone base (perpendicular to the line from B
to T ).

Top radius (R t ): The radius of the cone top (perpendicular to the line from B to
T ).

Cone - method 3

Base centre (B): The centre of the base of the cone.

Base radius (R b ): The radius of the cone base (parallel to the uv plane).

Height (H): The cone height in the n-direction.

Flare angle (A): The growth angle measured from the n-axis.

October 2013 FEKO User’s Manual


USING CADFEKO 3-32

Cone - method 4

Base centre (B): The centre of the base of the cone.

Top centre (T ): The centre of the top of the cone.

Base radius (R b ): The radius of the cone base (perpendicular to the line from B
to T ).

Flare angle (A): The growth angle measured from the line defined between B to
T.

3.3.11 Creating surfaces

The Create surfaces group on the Construct tab contains tools for the creation of rectangles,
polygons, ellipses, paraboloids and NURBS surfaces. More complex surfaces may be created
using the loft, spin, sweep or path sweep (see Section 3.3.16) operations on line primitives (see
Section 3.3.12). A typical surface primitive dialog is shown in Figure 3-24.

Figure 3-24: The Create polygon dialog.

Figure 3-25: The (a) Rectangle button (b) the Polygon button (c) the Ellipse button (d) the Paraboloid
button and (e) the NURBS surface button.

The polygon creation dialog is shown in Figure 3-24. All of the specified points must lie in a
plane.

October 2013 FEKO User’s Manual


USING CADFEKO 3-33

Clicking the Add button adds an additional corner to the list directly below the one that has focus
or, if no corner has focus, at the end of the list. The polygon is created by connecting the lines in
the specified order and the edges are not allowed to cross. The corner with focus is represented
in the 3D display with a cyan square. If the last coordinate is entered using the mouse (see
Section 2.7.2), CADFEKO automatically adds another corner and moves the focus to the added
corner.
The polygon primitive provides an Import points option (see Section 3.3.14) to populate the
corner point definitions based on an external file.
The Reverse normal button reorders the points in such a way that the normal vector (determined
in a mathematically positive sense from the direction of the edges) is reversed. When Create is
clicked, all empty points are removed automatically, and the surface is created.
The definition options for the different surface primitives are depicted and described in the sec-
tion that follows.

Definition options for surface primitive objects

Polygon

Corner 1 (C1 ): The first corner of the polygon.

Corner 2 (C2 ): The second corner of the polygon.

...Corner n (Cn ): Additional corners of the polygon (an arbitrary number). All
must be in the same plane. The polygon is closed by connecting the
last point to C1 .

Rectangle - Method 1

n Base corner (C): A corner of the rectangle.

W
C D Width (W ): The width of the rectangle.
u v
Depth (D): The depth of the rectangle.

Rectangle - Method 2

n Base centre (C): The centre of the rectangle.

W
D Width (W ): The width of the rectangle.
C
u v
Depth (D): The depth of the rectangle.

Ellipse

Centre point (C): The centre of the ellipse.


v Radius (Ru ): The radius (half of the axis length) in the u-axis direction.
u C Ru
Rv

Radius (R v ): The radius (half of the axis length) in the v-axis direction.

October 2013 FEKO User’s Manual


USING CADFEKO 3-34

Paraboloid

Centre point (C): The apex of the paraboloid.

Radius (R): The radius of the paraboloid aperture, parallel to the uv-plane.

Focal depth (F ): The Focal depth of the paraboloid is the distance F from the
centre point (C) to the focal point. If this is negative, the paraboloid
is oriented towards the or -n axis. The focal depth is related to the
height (h) by
R2
F= .
4H
with the height (H) defined as the distance from the centre point (C)
to the centre of the aperture of the paraboloid.

NURBS

P11 P12 Specify the order of the Bézier curves: The degree of the Bézier curve in the U 0 -
P21 P13
direction and V 0 -direction.
P22 P23
P31 P32 P14
P33
P42
P24
Point position: The position of each surface control point is specified.
P41 P43 P34

P44
Weight: The weight of each surface control points is specified.

3.3.12 Creating curves

The Create curve group on the Construct tab contains tools for the creation of lines, polylines,
fitted splines, Bézier curves and analytical curves. Curve primitives in CADFEKO can be used
either as building blocks for constructing geometry (for example, using the spin, sweep or loft
operations) or as free-standing conducting wires. A typical curve dialog is shown in Figure 3-26.
The polyline and fitted spline primitives make use of a list of points. These points may be man-
ually specified, or imported from an external text file (see Section 3.3.14). Here, as for polygon
surfaces, new fields are created if the last field is entered with the mouse, and blank points are
removed before constructing the geometry.
The helix primitive may be used to create conical spirals by setting the top and bottom radii to
different values, or flat spirals by setting the height to zero. The direction of rotation of the helix
can be specified using the Left handed checkbox. When this box is checked, a left-handed spiral
will be generated, when it is un-checked, a right-handed spiral will be created. The handedness
of the spiral is defined based in the direction from the start point to the end point of the spiral.
The definition options for the different line primitives are depicted and described below.

October 2013 FEKO User’s Manual


USING CADFEKO 3-35

Figure 3-26: The Create polyline dialog.

Figure 3-27: (a) The Line button (b) the Polyline button (c) the Fitted spline button (d) the Bézier curve
and (e) the Analytical curve button.

Definition options for line primitive objects

Line

Start point (P1 ): The starting point of the line.

End point (P2 ): The end point of the line.

Polyline

Corner 1 (C1 ): The starting point of the polyline.

Corner 2 (C2 ): The second point of the polyline.

...Corner n (Cn ): Additional points in the polyline. There may be an arbitrary


n number of points.
v
u
z Analytical curve - Cartesian
P[x(t),y(t),z(t)]

x n Parametric interval: Interval over which the analytical curve is parametrically de-
z
y P[u(t),v(t),n(t)]
fined.
v
y
Cartesian description: The description of the curve using the Cartesian coordinate
x u
system. The u, v and n dimensions as a function of variable t.

October 2013 FEKO User’s Manual


H

B
Rb
z

USING CADFEKO 3-36

Analytical curve - Spherical

n Parametric interval: Interval over which the analytical curve is parametrically de-
P[r(t), (t), (t)]
fined.
r
v

u
Spherical description: The Spherical description of the curve in the r, θ and φ
dimensions as a function of variable t.

Analytical curve - Cylindrical

z n Parametric interval: Interval over which the analytical curve is parametrically de-
P[ (t), (t),n(t)]
fined.
v
y
Cylindrical description: The Cylindrical description of the analytical curve in the
x u
ρ, φ and n dimensions as a function of variable t.

Bézier curve

Corner 1 (C1 ): The starting point of the curve.

Corner 2 (C2 ): The first control point of the Bézier curve (the curve does not
necessarily pass through this point).

Corner 3 (C3 ): The second control point of the Bézier curve (the curve does not
necessarily pass through this point).

Corner 4 (C4 ): The end point of the curve.

Fitted spline

Point 1 (P1 ): The starting point of the curve.

Point 2 (P2 ): The second point through which the spline curve will pass.

...Point n (Pn ): The additional points through which the spline must pass. There
may be an arbitrary number of points.

Note that the local wire radius (see Section 3.10.7) is specified on wires (as listed in the details
tree) rather than on the curve primitive directly. Specifying the radius for a wire curve that was
created by geometry operations (such as the intersection of two crossing faces) is done in the
same way.

3.3.13 Creating arcs

The Create arc group on the Construct tab contains tools for the creation of elliptic arc, parabolic
arcs, hyperbolic arcs and helices. A typical arc primitive dialog is shown in Figure 3-28.

October 2013 FEKO User’s Manual


USING CADFEKO 3-37

Figure 3-28: The Create hyperbolic arc dialog.

Figure 3-29: The (a) Elliptic arc button (b) the Parabolic arc button (c) the Hyperbolic arc button and (d)
the Helix button.

Elliptic arc - method 1

Centre point (C): The centre of the ellipse on which the arc lies.

Radius (RU): The radius (half of the axis length) in the u-axis direction of the
ellipse on which the arc lies.

Radius (RV ): The radius (half of the axis length) in the v-axis direction of the
ellipse on which the arc lies.

Start angle (A0): The angle, from the positive u-axis direction where the arc be-
gins.

End angle (A1): The angle, from the positive u-axis direction where the arc ends.

October 2013 FEKO User’s Manual


USING CADFEKO 3-38

Elliptic arc - method 2 (V Major axis direction)

Aperture centre (C): The centre of the aperture formed by the elliptical arc sec-
tion.

Depth (D): The distance from the aperture centre point to the apex of the ellipti-
cal arc section.

Aperture radius (R): The radius of the aperture of the elliptic arc.

Eccentricity: The eccentricity of the ellipse on which the elliptical arc section lies.
The eccentricity must be less than 1 to specify a valid ellipse.

Conditions for creating a valid elliptic arc:


r
R2
if R ≤ D : 1− ≤"<1 (3-8)
D2
where D is denoted by the depth, R by the aperture radius R and "
the eccentricity.

Elliptic arc - method 2 (U Major axis direction)

Aperture centre (C): The centre of the aperture formed by the elliptical arc sec-
tion.

Depth (D): The distance from the aperture centre point to the apex of the ellipti-
C cal arc section.
D R

Aperture radius (R): The radius of the aperture of the elliptic arc.
R
C D Eccentricity: The eccentricity of the ellipse on which the elliptical arc section lies.
v
y u The eccentricity must be less than 1 to specify a valid ellipse.
x
Conditions for creating a valid elliptic arc:
r
D2
if R ≥ D : 0 ≤ " ≤ 1− (3-9)
R2
where D is denoted by the depth, R by the aperture radius R and "
the eccentricity.

Parabolic arc - method 1

Base centre (C): The centre of the parabola on which the arc lies.

Focal depth (F ): The focal depth of the parabola.

Radius (R): The radius of the aperture of the parabolic arc.

October 2013 FEKO User’s Manual


USING CADFEKO 3-39

Parabolic arc - method 2

Base centre (C): The centre of the parabola on which the arc lies.

Radius (R): The radius of the aperture of the parabolic arc.

Depth (D): The distance from the apex of the parabola to the centre of the aper-
ture.

Parabolic arc - method 3

Aperture centre (C): The aperture centre of the parabolic arc section.

Radius (R): The radius of the aperture of the parabolic arc.

Depth (D): The distance from the apex of the parabola to the centre of the aper-
ture.

Hyperbolic arc - method 1

Base centre (C): The centre of the hyperbola on which the arc lies.

Depth (D): The distance from the apex of the hyperbola to the centre of the arc
aperture.

Radius (R): The radius of the aperture of the hyperbolic arc.

Eccentricity: The eccentricity of the hyperbola on which the hyperbolic arc section
lies.

Conditions to create a valid hyperbolic arc:


r
R2
1≤"≤ 1+ (3-10)
D2
where D is denoted by the depth, R by the aperture radius R and "
the eccentricity.

October 2013 FEKO User’s Manual


USING CADFEKO 3-40

Hyperbolic arc - method 2

Aperture centre (C): The centre of the aperture formed by the hyperbolic arc.

Depth (D): The distance from the apex of the hyperbola to the centre of the arc
aperture.

Radius (R): The radius of the aperture of the hyperbolic arc.

Eccentricity: The eccentricity of the hyperbola on which the hyperbolic arc section
lies. The eccentricity must be greater than one to specify a valid
hyperbola. Note that not all values greater than one specifies a valid
hyperbola.

Conditions to create a valid hyperbolic arc:


r
R2
1≤"≤ 1+ (3-11)
D2
where D is denoted by the depth, R by the aperture radius R and "
the eccentricity.

Helix - method 1

Origin (C): The centre point of the helix base.

Base radius (R b ): The radius of the helix base (parallel to the uv-plane).

End radius (R t ): The radius of the helix top (parallel to the uv-plane.

Height (H): The height of the helix, in the n-axis direction.

Turns (N ): The number of turns of the helix (the rotation direction is chosen
based on the Left handed checkbox option).

Helix - method 2

Origin (C): The centre point of the helix base.

Radius (R): The radius of the helix (parallel to the uv-plane).

Pitch angle (A): The angle formed between the tangent of the curve and the uv-
plane — constant along the length of the helix.

Turns (N ): The number of turns of the helix (the rotation direction is chosen
based on the Left handed checkbox option).

October 2013 FEKO User’s Manual


USING CADFEKO 3-41

Helix - method 3

Origin (C): The centre point of the helix base.

Radius (R): The radius of the helix (parallel to the uv-plane).

Height (H): The height of the helix, in the n-axis direction.

Pitch angle (A): The angle formed between the tangent of the curve and the uv-
plane — constant along the length of the helix. (In this method,
the number of turns is related to the height (H) and pitch angle (A)
chosen).

3.3.14 Import points

Primitives such as the polygon, polyline, fitted spline, cable paths and the points list definition
for the imprint points tool, are defined based on a list of coordinate points. These points are
entered manually (using the keyboard or based on mouse clicks) or imported from an external
file that contains a list of the coordinates. Figure 3-30 shows the Import points button on the
Create polyline dialog.

Figure 3-30: (a) The Create polyline dialog. (b) Clicking on the Import points button launches the Import
points dialog.

If the Import points button is clicked, the Import points dialog, shown in Figure 3-30, is opened
to allow file location and data format selection.

Source file: The coordinates is imported from either an ASCII file or from a NASTRAN file.
Note that when importing points from a NASTRAN file it is assumed that the
points are specified in metre. CADFEKO also does not maintain any form of
linkage to files specified as the source for point coordinate definitions. During

October 2013 FEKO User’s Manual


USING CADFEKO 3-42

the import process, the values represented in the source file are simply used to
automatically populate the relevant dialog fields. In order to reflect changes
made in the source file, the point import process will have to be repeated.

Scale by: A scaling factor may be applied to the coordinates as specified in the Import
points dialog before they are used (for example, to convert to the current model
unit setting). This scaling is linearly applied to all coordinates, and cannot be
specified only in a specific coordinate direction.

Delimiter: The coordinates are specified using either a comma, tab or space delimited
file format. The expected file format comprises three columns (for each of the
three Cartesian coordinates) separated by the specified delimiter, with each
coordinate set on a separate line. Any errors in the file format will be reported
when the file selection is applied and the points are imported. Errors in the
individual imported values will be reported during geometry/solution request
creation or when the changes are applied. This allows the addition/removal or
editing of specific points before application.

3.3.15 Modifying geometry

Complex geometry is created from a sequence of operations starting with simple primitives. This
sequence is represented in the model tree (see Section 2.4.3). It is possible to select and modify
objects at any level in this tree, or change variables upon which the geometry depends. If par-
ent items are selected, CADFEKO displays a temporary wire-frame representation of all selected
items.
All items higher up in the geometry tree are re-evaluated each time an item is changed. During
this process CADFEKO may not be able to maintain the identities of regions/faces/edges, for
example, where multiple faces are derived from the same original face during Boolean operations.
These items are then marked suspect (indicated by a question mark next to the representation of
the items in the details tree — see Section 2.4.4) as a warning that properties set may not have
been maintained. The reason for an item to become suspect is displayed if the mouse pointer
is moved over the item in the tree. After ensuring that the properties are correct, the suspect
setting on the relevant regions/faces/edges may be reset using Set not suspect from the context
menu. Solution configuration items (for example ports) that depend on the model will also be
marked suspect if the model changes in such a way that they are no longer valid. These must also
be checked and the suspect setting removed. It is advisable to resolve all suspect items before
launching the FEKO solver or optimiser, as the loss of certain properties on the model geometry
may change the electromagnetic problem description dramatically and have a large effect on
computed results.
Any combination of objects or the variables that they depend on can be selected and modified.
All operations are available from the Construct and Transform tabs.
The geometry modification operations are listed below.

Boolean operations: Union, Subtract and Intersect

Operations on parts: Project, Imprint points, Split, Explode, Simplify, Stitch sheet parts

Creation operations: Spin, Loft, Sweep, Path sweep

October 2013 FEKO User’s Manual


USING CADFEKO 3-43

Property operations: Reverse face normals and Properties (which opens an edit dialog similar
to the create dialog.)

Administrative operations: Rename (<F2>), Copy (<Ctrl+K>), Delete (<Del>)

In addition to these operations, transformations (see Section 3.4) (Scale, Mirror, Rotate, Trans-
late) can be applied to geometry objects.
The Construct tab provides access to the Boolean operations Union, Subtract and Intersect. The
part(s) to which the operation will apply must be selected before requesting a Boolean opera-
tion. The boolean operations are inactive when no parts are selected. (Surfaces and wire bodies
are also considered parts.) Boolean operations cannot be applied to parents or the regions/-
faces/edges of parts.
When adjacent objects in a model are slightly misaligned, there may be faces and/or edges
that have very small overlapping (supposedly separate objects) or non-overlapping (supposedly
connected objects) sections as shown in Figure 3-31. If these sections are of the same order as
the model tolerance, Boolean operations involving these objects may fail, or result in very small
faces or gaps. The snap facility can be used to ensure that these items line up correctly. Similar
problems can occur when an item is split very close to a boundary.

Small non-overlapping edge

Small overlapping edge

Figure 3-31: Slightly misaligned surfaces showing a short overlapping edge as well as a short non-
overlapping edge.

Note that is now possible to add and remove items from an union and other boolean operators
without having to copy the contents out to the root and recreating the boolean operation.

The Union operation

Union combines all selected parts. Select the Construct tab and click on the Union button.
In CADFEKO the Union operation is used to define connectivity between parts. Parts
that touch, but are not unioned are considered not to be physically connected. When meshing,
incorrect connectivity may result in invalid meshes (overlapping or misaligned meshes) that will
generate errors during the FEKO solution.

The Subtract operation

For Subtract, all the selected parts are subtracted from a final part, which must be selected
when prompted for. When only one part is selected, the only Boolean operation that can
be launched is Subtract. After the selected parts have been subtracted from the target part, the

October 2013 FEKO User’s Manual


USING CADFEKO 3-44

target part (the part which was subtracted from) will be indicated by a T in the model tree (see
Section 2.4.3).
Select the part which will be subtracted, select the Construct tab and click on the Subtract from
button. Now select the target part to complete the subtract operation.

Figure 3-32: The T indicating the target part in the subtract operation.

Note that regions are taken into account during the subtract operation. Subtracting a shell struc-
ture (a free space region - implying an empty/hollow closed structure) may generate new regions,
faces or edges on intersecting geometry, even though no geometry will be removed. Subtracting
a solid structure (a region that is not set to free space) will result in geometry being removed
from any intersecting parts.

The Intersect operation

For Intersect, the result is the common part of all the selected parts. Select the parts which
are intersecting, select the Construct tab and click on the Intersection button.

Split parts

Selecting the Split button on the Construct tab will open a dialog where the split plane
can be specified by means of an origin, a plane (UV, UN or VN) and the angle of rotation
around the axes.
The split operation creates two new parts (named Split_back. . . and Split_front. . ., where the
Front side of the split is in the direction of the positive n axis of the split plane) for each selected
part. The two halves of each split are derived from independent copies of the original part — if
parent items are modified for one half, the other half remains unchanged and has to be modified
separately. If synchronised changing is required, the original part must be created using variables.
The split plane used in a split operation may be modified by selecting the new part and selecting
Properties from the context menu.
Select the Construct tab and click on the Split button.

Stitch sheet parts

If geometry is required to be connected but is unconnected, or have small sections that


overlap, the stitch operation may be used. This is most often due to problems encountered
with tolerances during geometry import and should not be encountered for geometry created in
CADFEKO. These geometry elements (sheet parts only) can be stitched together using the Stitch
tool. Sheet parts that are within the specified tolerance is then considered to be connected and
meshed correctly.

October 2013 FEKO User’s Manual


USING CADFEKO 3-45

Note that the stitch tool can lead to a very strange (seemingly contradictory) display of geometry
in CADFEKO. This happens due to the tolerance of edges, faces and nodes being large (as specified
in the Stitch tool) and thus they can be displayed anywhere within the tolerance area. The mesh
will not have this strange display since the mesh elements have a very small tolerance.
The Stitch tool may be used as a replacement for the Union operation. Generally the Stitch
operation is faster and more efficient than the Union operation, but it may only be employed for
connected sheet parts.
Select the Construct tab and click on the Stitch button.

3.3.16 Extend geometry

Spinning and sweeping parts

Selecting Sweep, Path sweep or Spin on the Construct tab sweeps the selected parts along a
specified vector or path (these operations are also often referred to as ‘extrude’) or spins (rotates)
them around a specified axis, respectively. Spin and sweep operations can only be applied to
parts.
The sweep/spin operation is applied separately to each of the selected parts. If multiple parts
are swept/spun, the resulting new parts have no defined relation to each other based on the
spin/sweep operation, i.e. the defined operation is applied to each item independently and the
spin/sweep parameters can be modified independently afterwards. The Path sweep tool cannot
be applied to multiple parts.
Only parts that contain edges and/or faces (not solids or closed regions) may be spun/swept/path
swept. For surface bodies, the body must have a single boundary which does not close on itself
and no edge may be attached to more than two faces (for example, the T-plate union in Figure 3-
33 is not an acceptable part for a spin/sweep/path sweep operation as the connecting edge
borders three faces). Sweeping or spinning a curve results in a surface, while applying these
operations to a surface results in a solid.

Edge bordering 3 faces

Figure 3-33: T-plate example of an edge bordering three faces so that it cannot be swept/spun.
Small overlapping edge

When the Sweep operation is selected, the Sweep geometry dialog allows specification of
the sweep vector in terms of a start and end point (the path is taken as the straight line
between these two points). These fields accept standard point entry (see Section 2.7.2). It is not
possible to sweep bodies in a direction that is tangential to any of its edges or in the plane of its
faces.

October 2013 FEKO User’s Manual


USING CADFEKO 3-46

The Path sweep operation is only available when a part that can be swept is selected. The
Path sweep dialog is shown in Figure 3-34. The tool requests that the path for the sweep
operation be selected. Any part consisting of only free edges and curves that form a joined, non-
overlapping path may be chosen as a sweep path. The sweep may be adjusted by assigning a
Twist angle (in degrees) and a Scale factor. These factors specify a scaling and rotation to be
applied along the sweep path, beginning with unity scaling and 0 degree rotation and linearly
increasing, ending at the specified angle and scale factor at the end of the sweep path. Normal or
Parallel sweeps may be selected. The Parallel sweep maintains the orientation of the part during
the sweep process, while a Normal sweep maintains the angle between the sweep object and the
sweep path.
When a sweep path is selected, CADFEKO automatically determines the most appropriate sweep
direction. This can, however be changed by selecting the Start from other end of path checkbox.

Figure 3-34: The Path sweep dialog.

The Spin geometry dialog allows specification of the axis of rotation (an origin and a
direction) and a rotation angle. The angle is taken in the mathematically positive sense
around the specified axis and is specified in degrees. (In CADFEKO radian angles are only used
in the arguments and results of the trigonometric functions and their inverses.) The Set to . . .
axis buttons allow quick selection of common axes. Note that the local axis buttons (U,V, N) are
only available if all selected parts have the same local coordinate system.
The normal directions of the faces that result from a spin/sweep operation depend on the direc-
tion of the curves to which the operation is applied.
There are a number of restrictions on the relation between the part and the spin axis. No free
edges may be coincident with the axis, nor are they allowed to intersect the axis at any point
other than at the ends of the curve. For full spins (360◦ ) of parts with faces, the spin axis may
not intersect the face at only one point, unless it is at an end point of an edge. The axis may be
coincident with any edge of the sheet, provided that the entire edge lies on the axis. In addition,
no edge may touch the axis tangentially as shown in Figure 3-35 — not even if the edge is broken
at this point. (Again, this is allowed IF the entire edge lies on the axis.)
The sweep and spin operators may also be applied with an arbitrary orientation by making use
of workplanes. This is set on the Workplane tab of the Sweep and Spin dialogs.

October 2013 FEKO User’s Manual


USING CADFEKO 3-47

Tangential touch point

Axis

Figure 3-35: Example of a surface with an edge that just touches the axis of rotation.

Loft surfaces

The Loft operation forms a smooth surface by connecting two curve parts with straight
lines. (This is sometimes called a ruled surface, but it is not a faceted model — unless one
or both curves are polylines). The curve bodies involved in the loft may consist of a number of
edges, for example, a polyline. The two lofted curves must, however, have an equal number of
edges (the loft can be considered to connect each pair of edges). If this is not the case, points can
be imprinted (see Section 3.4.3) on one of the curves to satisfy this requirement. Curves with
more than two edges joining at one point cannot be used in a loft operation. While the loft tool
is active, the 3D view preview shows how the curves will be connected. The Loft dialog allows
reversing the start and end points of one curve in the case where the loft between the two curves
is not indicated in the desired direction.

3.4 Transformations on geometry

Geometry objects or mesh parts can be transformed by selecting them and selecting the transfrom
from the Transform tab. The Transforms entry in the details tree contains a list (in creation
order) of all the operations applied to each object. These may be edited (by double clicking
on the specific operation) or deleted (by pressing the <Del> key). A transform may be applied
to a selection of multiple objects, but it is in fact applied separately to each object. Therefore,
changing the transformation afterwards requires selecting and editing the transform of each
object separately. A transformation can, of course, be defined in terms of variables. In this
case, changing the variable value will modify all the items to which the transform was applied
accordingly.
The transforms now also make use of transforms which enable the application of the transforms
with arbitrary orientation.

3.4.1 Copy

Copy objects

Geometry objects (including parents of objects that are shown in the tree) can be copied to
new root-level parts by selecting the items and selecting Copy from the Transform tab. From
the dropdown menu select Copy (duplicate) or use the shortcut <Ctrl><K>. For example, if
a spherical shell is created by subtracting one sphere from another (which will remove both
original spheres from the model and list them as parents of the new part created by the Boolean

October 2013 FEKO User’s Manual


USING CADFEKO 3-48

operation), the inner sphere can be copied to create a new root-level part which fits inside the
shell. Copied items are created in the root level, even if the original items form part of an
assembly. It is also possible to make multiple transformed copies of parts (see Section 3.4).
The new part is completely independent of the existing one and neither will change if the other
is modified. If it is desired that they change together, the original object should be created using
variables as all field expressions used in the primitive definition are maintained during the copy
operation.
It is also possible to select faces or edges of parts and select Copy. In this case new parts are made
for each selected item. This allows, for example, an edge to be copied from a complex object and
used to loft to another edge. Note that these copies are snapshots of the model when the copy is
made — they are not linked to the parent object in any way and are not parametric.

Special copy options

In addition to the basic copy functionality, CADFEKO provides a number of special copy options.
These special copy options are available on the Transform tab, select Copy and from the drop-
down menu, select copy Original geometry.
The Copy and translate, Copy and rotate and Copy and mirror options allow the inclusion of a
transformation in the copy operation.
The copy Original geometry can be used to retrieve faces and edges that have been deleted from
a part. The copy of a part generated using the Original geometry will include all of these removed
faces and edges.
When creating a copy of the original geometry, properties such as local mesh sizes, region, face
medium and solution methods of the new copy will be identical to the properties of the original
geometry as at the time of the copy operation.

3.4.2 Transform

The following transform operations are applicable to geometry/mesh:

Translate

The Translate dialog, shown in Figure 3-36, requires a start and end point from which it
calculates the translation distance and direction. Select the Transform tab and click on
the Translate button.

Mirror

The Mirror operation requires an origin and a plane. This is specified via the dialog shown
in Figure 3-36. Select the Transform tab and click on the Mirror button.

October 2013 FEKO User’s Manual


USING CADFEKO 3-49

Rotate

The Rotate operation requires an origin, axis direction, workplane and a rotation angle (in
degrees). The angle is measured in a mathematically positive sense around the axis. The
dialog, shown in Figure 3-36, also allows the modification of the workplane on the Workplane
tab. Select the Transform tab and click on the Rotate button.

Scale

The Scale transformation requires an origin (set in the global workplane) and a scale
factor as shown in Figure 3-37. Scaling is done around the origin specified on the scaling
dialog, not around the centre or origin of the object or the model. Select the Transform tab and
click on the Scale button.

Figure 3-36: The Translate, Mirror and Rotate dialog.

Align

The Align dialog (shown in Figure 3-37) requires an origin and an axis direction for both
the source and destination workplane. This transformation may be used to easily place
objects on structures as it performs a rotate and a translate as a single transformation. Select the
Transform tab and click on the Align button.

3.4.3 Operations on parts

It may be desirable to create specific points, edges or faces on a given geometry. For example,
to provide accurate and valid attachment points for other structures on the model, to manually
force a finer mesh size along a curve or to create conducting patches on dielectric objects.

October 2013 FEKO User’s Manual


USING CADFEKO 3-50

Figure 3-37: The Scale and Align dialog.

Project

Multiple parts can also be projected onto another part by selecting them, activating the
Project operation and then selecting a target part to project onto. This sequence is similar
to the subtract operation. All the projected parts appear as parents of the resulting part, i.e. they
are no longer present as individual parts of the model. All of the edges of the selected parts are
projected onto the faces of the target part. Any part (curves, surfaces and solids) can be projected
onto any other part containing faces. (Spheres do not have edges, hence projecting a sphere has
no effect other than removing it from the model.) Where the projected edges form closed paths,
new faces will be created.
The projection direction is determined based on the normals of the faces of the target. Projecting
edges onto convex curved target faces will thus tend to reduce their size and/or perspective.
Convex surfaces may also “shadow” other surfaces in that all points on the projected edge may
project onto the curved face even though it may seem as projection onto another face should also
result. Edges are only projected onto the normal side of faces.
Edges where the projection crosses itself or turns back on itself are not allowed.
Select the Transform tab and click on the Project button.

Imprint points

The Imprint points operation allows the placement of specified points on the selected part.
Points can only be imprinted on one part at a time. The Imprint points dialog allows a
list of points to be specified using standard point entry (see Section 2.7.2) or based on a list of
points imported from an external file (see Section 3.3.14) in either global or local coordinates.
The specified points are projected onto the closest point on the selected part — either on a face

October 2013 FEKO User’s Manual


USING CADFEKO 3-51

or an edge. Points may not be imprinted on top of existing points. The imprint operation creates
a new entry in the tree (allowing access to the part without points), but uses the name of the
parent object, as there is only one parent for this case.
Select the Transform tab and click on the Imprint points button.

3.4.4 Simplify (removing detail)

Redundant faces and edges may be deleted by selecting them and pressing the <Del> key or
selecting Delete from the context menu. Faces can only be redundant if they have the same
medium (i.e. metal, free space or the same dielectric medium — see Section 3.3.2) on both sides.
When a face separating an internal free space region from the outside free space is deleted, the
internal region is merged with the outside. Since the outside medium is free space, faces can
only be removed from closed regions if the internal medium is set to Free space.
These items are permanently removed, but it is possible to copy the original object (see Sec-
tion 3.4.1) in which the faces/edges still exist out of the tree to restore them. If a component
or variable is changed in such a way that the object is re-evaluated, suspect faces (see Sec-
tion 3.3.15) will not be removed and deleted faces/edges may reappear.
Note that edges are not redundant if the normals of the faces on either side of the edge are in
opposite directions. For this reason the front and back sides of faces are coloured differently in
the Colour by element normal (see Section 3.22.2) and it is possible to reverse the face normals
(see Section 3.4.5) of these faces. The normals of mesh triangle elements created in CADFEKO
are in the same direction as the faces they originate from.

CADFEKO provides a tool for the automatic removal of redundant faces and edges. Select
Simplify from the Transform tab to open the Simplify geometry dialog.

Figure 3-38: The Simplify dialog.

This operation allows removing specific types of items from the selected part(s). The simpli-
fied geometry will be electromagnetically the same as the original, but may not have the same

October 2013 FEKO User’s Manual


USING CADFEKO 3-52

meshing constraints. If, for example, an imprinted point is removed, there will no longer be a
guaranteed mesh vertex at this location. (Note that imprinted points that are not attached to any
edges are considered redundant.) Faces cannot be deleted unless the regions they separate can
be merged. The same applies to edges on the boundaries of faces and geometry points at the
ends of edges.
By default the simplify operation does not remove redundant regions, faces or edges on which
local mesh properties (see Section 3.10.7) are set. To remove them, the various Keep . . . with
local mesh sizes options must be unchecked. For example, consider the union of two spheres of
the same dielectric medium shown in Figure 3-39, case (a). A local mesh size is set on Region1. If
the union is simplified with Keep regions with local mesh sizes checked, the result is as shown in
case (b). Since the region contains local properties, it cannot be removed and the face between it
and the centre region can also not be removed. If Keep regions with local mesh sizes is unchecked,
the result is as shown in case (c).

Figure 3-39: Illustrations of the simplify operation.

3.4.5 Alter

It may be desirable to alter the given geometry. For example, to reverse the face normals, reduce
the complexity of a model component by ignoring its creation history and using as a base element,
exploding a part into faces and wires and re-evaluating old models.

Reverse normals

Face normals can be reversed by selecting the Transform tab and clicking on the Reverse
normals button. (The normals of all selected faces — in the tree and 3D view — are
reversed, even though only one part’s faces are shown in the details tree at any given time.)
Currently, it is not possible to reverse the normal on a body with a single, closed face, for example,
a sphere. If such a normal must be reversed, the simplest option is to project a circular line onto
the body to create two open faces. The normals of these faces can then be reversed and the
separating edge deleted or removed using the Simplify operation (see below).

Convert to primitive - removing the creation history of a part

CADFEKO stores the entire creation history of every part allowing the user to modify any
point in the creation history. While extremely powerful this requires a significant amount
of memory and possibly also a significant amount of processing time.
For example, if a small component of a union operation is modified, CADFEKO needs to recreate
the parent parts in order to re-execute the union. Since these are not stored at every level, it

October 2013 FEKO User’s Manual


USING CADFEKO 3-53

means constructing them again from the lowest level up. However, quite often a large part of
the model will never change. (It is, for example, unlikely that the model of a specific motor
vehicle will be modified to another model, but it is common to place different antennas on such
a vehicle.) Hence it should not be required to re-evaluate the vehicle each time a small part of
the geometry is changed.
CADFEKO provides the option to convert a part to a primitive using the Convert to primitive tool.
It removes the entire creation history and stores the model as is. If this part is then used in other
operations it does not have to be re-evaluated since the ‘primitive’ part is available immediately.
This can save a significant amount of processing time and also reduce the possibility that edges /
faces or regions cannot be mapped and will become suspect (see Section 3.3.15).
The Convert to primitive operation can be undone, but once the model is saved and reloaded the
creation tree can only be accessed using a previously saved or archived copy (see Section 2.5.1)
of the model which still contains the tree information.

Exploding parts

Using the Explode operation will explode all selected geometry parts. Separate new sur-
face parts are created for each face and free edge of the original parts. The new parts
represent a snapshot of the geometry at the time it was exploded — they are not parametric.
Select the Transform tab and click n the Explode button.

Re-evaluating the geometry

CADFEKO uses advanced mapping algorithms to keep track of individual items when ge-
ometry is modified. This re-evaluation option is automatically launched when an older
model is loaded for the first time in CADFEKO, but the user may initiate a re-evaluation at any
time by selecting the Transform tab and clicking on the Re-evaluate button.
Note that all the mapping information is not available in models created in earlier CADFEKO
versions, thus it may not be possible to map all items during the re-evaluation. These items are
then marked suspect (see Section 3.3.15). All properties (such as local mesh sizes) set on such
suspect items will be lost during re-evaluation. In addition, faces or edges that were deleted,
may re-appear if they cannot be successfully mapped. The user therefore needs to evaluate his
situation carefully. If the model geometry is likely to change in the future, it is recommended
that the geometry be re-evaluated and that all suspect items resolved before making any changes
to the model or setting any additional properties.
If the model geometry will not change, it may be better to keep the existing model and all its
settings. Note, however, that this model should not be changed in any way that requires re-
evaluation of the model tree. For example if the model contains a motor vehicle with a monopole
antenna unioned to it, changing the length of the monopole would trigger an automatic re-
evaluation of the tree as re-execution of the union operation between the vehicle and the mod-
ified monopole is required to maintain the model consistency. (For memory reasons, CADFEKO
does not store the entire model in each level of the tree.) Complex geometry in a CADFEKO model
created in an early CADFEKO version that is not re-evaluated should in general be converted to
a primitive form (see Section 3.4.5).

October 2013 FEKO User’s Manual


USING CADFEKO 3-54

Depending on the complexity of the model, this operation may be a quite lengthy operation. It is
possible to cancel this operation, but the cancel process may also require a significant amount of
time.
It is possible that during geometry re-evaluation, faults will be identified in the model that were
not previously displayed. This is particularly true of models built in previous versions of CAD-
FEKO, or models containing imported geometry. These faults identified during re-evaluation may
provide additional information that may be useful in repairing a model.

3.4.6 Assemblies

Assemblies are used to organise the geometry and mesh parts. They become part of the geometry
structure and are shown as the first level under Model in the tree.

To create a new assembly, select the required items, select the Transform tab and click on
the Create button. Only parts (displayed objects) can be added to an assembly. (Mesh and
geometry parts cannot be added to the same assembly.)

Items are moved between assemblies by selecting Assembly → Move to → . . . in the con-
text menu. Similarly Assembly → Move out moves the selected items back to the root
level in the tree. An item cannot be in two assemblies at the same time.

Deleting an assembly removes the entire assembly and its contents from the model. Simi-
larly, selecting an item in an assembly and pressing <Del> will remove it from the model.
(It is very different from Assembly → Move out.)
Selecting Disassemble on an assembly moves all of the items inside it back to the root level and
deletes the assembly — in effect removing the assembly without deleting the contents.
Operations (Boolean, transforms, splitting, etc.) may be applied to the individual items. If multi-
parent operations are applied to items in one assembly, the result is also in that assembly. Where
such operations are applied to items from more than one assembly, the result is placed at the root
level.
Assembly names are part of the full label/name, for example, Assembly1.Union4.Face12. This
is the reference required in EDITFEKO to reference elements on this specific face. Note that all
names in CADFEKO are case insensitive, i.e. Face1 and face1 are the same.

3.5 CAD fixing tools

CADFEKO contains an extensive set of geometry manipulation tools dedicated to the repair of a
range of CAD geometry issues/faults. It prepares the fault-containing CAD model for analysis by
reducing complexity/faults in the model. These CAD fixing tools are best applied directly after
importing a model (see Section 4.3). The tools only act on primitive parts (see Section 3.4.5).
The primitive parts are non-parametric (cannot be re-evaluated), and this is required since the
tools act on the underlying geometry directly.
When trying to correct faults in a CAD model, it is suggested to first attempt to fix the model by
means of the Repair part tool. In some cases it will be necessary to apply a number of the CAD
fixing tools in succession to get a usable model.

October 2013 FEKO User’s Manual


USING CADFEKO 3-55

Figure 3-40: The CAD fixing tools are accessed by selecting the Transform tab.

For most cases, the default settings for the CAD fixing tools will suffice. If it is required to modify
the advanced settings of the CAD fixing tools, a general rule of thumb is to use the smallest
tolerance possible, or not at all if the option allows. Note that any specified tolerances are given
in the model unit.

3.5.1 Repair part

This CAD fixing tool heals a body in an attempt to create a valid solid. It will attempt to remove
the following problems:

• Topology with invalid sense.

• Invalid edge and vertex tolerances.

• Invalid geometry.

• Self-intersecting geometry.

• Non-G116 geometry.

• Missing edge or vertex geometry.

• Missing vertices.

• Vertices not on curve of edge.

• Edges and vertices not on surface of face.

To launch the Repair part dialog, select the Transform tab and click on the Repair part
button. The View mode can be set either to Simple or Advanced, see Figure 3-41.
The geometry in Figure 3-42 is an example of a model containing faults and the result after the
Repair part tool was used to repair the faults in the model.
16
A surface can be composed of several NURBS surfaces known as patches. These patches should be fitted together
in a way that the boundaries are invisible. This is mathematically expressed by the concept of geometric continuity.
One of the options to establish geometric continuity is by means of Tangential continuity (G1). It requires the end
vectors of two curves or surfaces to be parallel which elliminates sharp edges.

October 2013 FEKO User’s Manual


USING CADFEKO 3-56

Figure 3-41: The Repair part dialog.

Figure 3-42: (a) The model after import containing faults and (b) the result of the Repair part tool on the
model.

Advanced settings for Repair part

Remove small edges: If this option is selected, edges whose arc length is less than Maximum length
of small edges, are removed.

Maximum length of small edges: Edges with arc lengths of edges less than Maximum length of small
edges, are removed.

Upper bound on deviation between original and repaired geometry: The tolerance for repairing the part.

Use more lenient edge tolerance: To be more consistent with the surfaces in the model, it may be the
case that the distance changes in the surface geometry is more important than
where the edges lie. If this option is checked, a more lenient tolerance for edge
geometry can be specified for Repair tolerance.

Edge repair tolerance: An optional tolerance that is specified to permit greater latitude in repairing
edges.

Remove self-intersections: If this option is selected, when a surface contains self-intersections which lie
outside its face boundaries, then this portion of the surface will be removed by
splitting the surface. This may result in the face being split into several faces.

October 2013 FEKO User’s Manual


USING CADFEKO 3-57

Advanced self-intersection removal: If this option is selected, more effort will be spent to attempt to fix
self-intersecting surfaces.

Remove discontinuities: If this option is selected, then surface discontinuities will be removed. If the
discontinuity has a change in tangent of less than the angular tolerance, then
the discontinuity will be smoothed. If the change in tangent is greater than an-
gular tolerance then the face or edge will be split at the surface’s discontinuity.
The same applies to curve G1 discontinuities.

Suppress surface modifications: If this option is selected, surface geometry will be preserved and re-
pairs will be confined to getting face boundaries repaired as far as possible.

Angular tolerance for geometry smoothening (degrees): The tangent change angle in degrees above which
G1 discontinuities will be removed by splitting topology rather than smoothen-
ing geometry.

Repair bad face-face errors: If this option is selected, an attempt will be made to repair face-face colli-
sions in the body.

Repair surfaces by simplifying to blends: Surfaces will cleaned by simplifying to blends.

Geometry simplification settings: These settings are also available for the Simplify part tool, indepen-
dent of the Repair part tool. As the settings are identical, their description is
omitted for conciseness and the user is referred to the Simplify part tool (see
Section 3.5.2) for more information.

3.5.2 Simplify part representation

This CAD fixing tool simplifies a curve or a surface17 . It will attempt to perform the following
simplifications:

• Simplification of rational and non rational B-spline surfaces to analytic surfaces (plane,
cylinder, sphere, cone, torus) where possible.

• Simplification of rational and non rational B-spline curve to analytic curves (line, circle,
ellipse).

• Simplification of swept and spun surfaces to analytic surfaces (plane, cylinder, sphere, cone,
torus) where possible.

• Simplification of spcurves controlled by given options.

To launch the Simplify part representation dialog, select the Transform tab and click on
the Simplify part representation button. The View mode can be set to either Simple or
Advanced, see Figure 3-43.
17
This refers to the underlying geometry representation of a face or wire.

October 2013 FEKO User’s Manual


USING CADFEKO 3-58

Figure 3-43: The Simplify part representation dialog.

Advanced settings for Simplify part

Simplify B-surfaces to analytic/swept/spun surfaces: If this option is selected, any B-surfaces are sim-
plified to planes, cylinders, cones, spheres or tori where possible.

Simplify swept/spun surfaces to analytic surfaces: If this option is selected, any swept or spun surfaces
are simplified to planes, cylinders, cones, spheres or tori.

Simplify B-curves to analytic curves: If this option is selected, any B-curves are simplified to lines, cir-
cles or ellipses.

Simplify rational B-geometry to non-rational geometry: If this option is selected, any rational B-surfaces
are simplified to non-rational B-surfaces. Non rational B-surfaces have fewer
degrees of freedom than rational B-surfaces.

Reduce high-degree and trim large B-geometry: If this option is selected, any high-degree B-surfaces
are trimmed or simplified to cubic B-surfaces.

Simplify to constant U or V curves: If this option is selected, the tool will attempt to simplify SP-curves18
to be constant in one parameter (U or V).

Merge multiple segments: If this option is selected, the tool will attempt to merge multiple curve seg-
ments to a single segment.

Operating precision (tolerance): The tolerance for replacement geometry.

Use more lenient edge tolerance: To be more consistent with the surfaces in the model, it may be the
case that the distance changes in the surface geometry are more important
than where the edges lie. If this option is checked, a more lenient tolerance for
edge geometry can be specified for Repair tolerance.
18
They are surface parameter curves and are defined only in terms of the U and V parameters of the surface they
belong to.

October 2013 FEKO User’s Manual


USING CADFEKO 3-59

Edge repair tolerance: This is an optional tolerance to permit greater latitude in repairing edges.

Convert surfaces to blend surfaces: The surfaces are cleaned by attempting to simplify to blends.

Constrain surface normals along smooth edges: If this option is selected, the surface normals are con-
strained.

Surface normal tolerance (degrees): The angular tolerance for constraining surface normals in degrees.

3.5.3 Repair edges

This CAD fixing tool attempts to repair inaccuracies in the edges of a sheet or a solid body. It
repairs tolerant geometry by recalculating edge and vertex geometry to a specified tolerance
wherever possible, see Figure 3-44. It also ensures that the edges which were designed to be
tangential, are tangential within a specified tolerance. The tool will attempt to remove any
mergeable edges or vertices in the geometry part (this option can be disabled by unselecting the
Merge edges option).

Figure 3-44: Examples of situations where edges can be repaired. The blue spheres represent the toler-
ance, within which the differing edges are meant to be considered as the same edge. The
first and third image show the input geometry, while the second and last images indicate the
edges after it was repaired.

To launch the Repair edges dialog, select the Transform tab and click on the Repair edges
button. The View mode can be set to either Simple or Advanced, see Figure 3-45.

Figure 3-45: The Repair edges dialog.

Advanced settings for Repair edges

Linear tolerance for repairing: The linear tolerance used for repairing, see Figure 3-45.

Merge edges: If this option is selected, any redundant edges or vertices will be removed.

October 2013 FEKO User’s Manual


USING CADFEKO 3-60

3.5.4 Repair and sew faces

This CAD fixing tools attempts to repair any problems in the faces of the part then tries to sew
them into a solid or sheet part. It will attempt to perform the following:

• Heal the input faces.

• Preprocess the faces for sewing by identifying and removing those that are invalid due to
bad trimming curves. It will also identify and remove sliver faces from the part.

• Sew the faces.

• Postprocess the resulting part by sewing up remaining thin gashes. New faces are con-
structed to fill any holes caused by missing geometry which were removed during the pre-
process stage.

Figure 3-46: (a) A part with a number of faults where the edges and vertices do not align and (b) after
the Repair and sew faces tool was used on the model

To launch the Repair and sew faces dialog, select the Transform tab and click on the
Repair and sew faces button. The View mode can be set to either Simple or Advanced, see
Figure 3-47.

Figure 3-47: The Repair and sew faces dialog.

Sew tolerance: The supplied tolerance will be used as the tolerance when sewing the sheets.

October 2013 FEKO User’s Manual


USING CADFEKO 3-61

Advanced settings for Repair and sew faces

Angular tolerance (degrees): The tangent change angle in degrees above which G119 discontinuities
will be removed by splitting rather than smoothing.

Replace missing geometry: If this option is selected, the tool will attempt to generate surface geometry
for faces that will cap holes in the resulting body. If the resultant body has
closed circuits of laminar edges that appear to bound a missing face, the tool
will attempt to generate a surface to span the gap (bounded by the edges) and
make a capping face from it.

3.5.5 Remove small features

This CAD fixing tool attempts to remove small features, such as edges, faces, spikes and gashes,
from the input parts.

Figure 3-48: (a) A model containing small entities and (b) the model after the small entities were removed.

To launch the Remove small features dialog, select the Transform tab and click on the
Remove small features button. The View mode can be set to either Simple or Advanced,
see Figure 3-49.

Figure 3-49: The Remove small features dialog.

Small feature size: See the Advanced settings for Remove small features below.
19
A surface can be composed of several NURBS surfaces known as patches. These patches should be fitted together
in a way that the boundaries are invisible. This is mathematically expressed by the concept of geometric continuity.
One of the options to establish geometric continuity is by means of Tangential continuity (G1). It requires the end
vectors of two curves or surfaces to be parallel which elliminates sharp edges.

October 2013 FEKO User’s Manual


USING CADFEKO 3-62

Advanced settings for Remove small features

Remove spikes: A spike, see Figure 3-50, is a section of a face that has a high aspect ratio and
small area. Spikes can lead to modelling failures. If this option is selected,
spikes are removed from the geometry part.

Remove small edges: Small edges have a length less than specified by Small feature size. If this
option is selected, small edges are removed.

Remove small faces: A small face is any face that fits within a sphere of a radius specified by Small
feature size. If this option is selected, small faces are removed.

Remove sliver faces: Sliver faces have a high aspect ratio and small area. Removing unwanted sliver
faces can simplify a body and lead to more reliable downstream operations. If
this option is selected, sliver faces are removed.

Remove gashes: Gashes are similar to spikes. They also have a high aspect ratio and small area.
Gashes always lie between at least two faces, see Figure 3-50. If this option is
selected, gashes are removed.

Gash aspect bound (0,1]: The maximum width to length ratio of any gash that is to be removed.

Spike

Gash
Spike

Figure 3-50: Examples of a spike and a gash.

3.5.6 Fill hole tool

This CAD fixing tool attempts to fill a hole in a primitive (see Section 3.4.5) based on the currently
selected laminar20 or free edges (wires).

To launch the Fill hole dialog, select the Transform tab and click on the Fill hole button.
Select the laminar edge or edges in the 3D view and press <Q,C> to automatically select
the loop of edges (see Section 3.19.3) containing the selected edges. Click on the OK button to
activate the tool.
When filling a hole, the manner in which the hole is to be filled (hole boundary transition) needs
to be specified (see Figure 3-52):

Cornered face-face transition: If this option is selected the hole is filled while ignoring all smoothness
requirements at the boundary. The sheet is analytic if possible.

Smooth face-face transition: If this option is selected the hole is filled with a sheet that is smooth at
the boundary. The sheet is analytic if possible.
20
An edge is laminar when the edge represents (part of) the boundary of a single face.

October 2013 FEKO User’s Manual


USING CADFEKO 3-63

Figure 3-51: The Fill hole dialog.

Model containing
hole Cornered face-face
transition Smooth face-face
transition Extend bounding
faces

Figure 3-52: Example showing the result of hole filling. Starting from the left, (a) models containing a
hole, (b) result of the Cornered face-face transition option, (c) result of the Smooth face-face
transition option, (d) result of the Remove hole option.

Remove hole (extend bounding faces): If this option is selected, the tool will attempt to grow neigh-
bouring faces in order to fill the hole, without creating additional faces.

The following topology surface settings are available for the patch filling the hole:

Minimum number of faces: If this option is selected, the tool will attempt to minimise the number of
faces in the patch.21

Multiple faces: If this option is selected, the tool will create a patch if possible. The patch may
contain multiple faces.

Single face: If this option is selected, the hole is filled with a single face patch if possible.
This option can sometimes result in performance improvements if a single face
solution is required, but will not work in all cases.
21
The faces used to fill the hole.

October 2013 FEKO User’s Manual


USING CADFEKO 3-64

Smooth internal edges: If this option is selected, should multiple faces be used to fill the hole, their
internal edges will be smooth without discontinuities.

3.6 Cables

CADFEKO supports the analysis of cable harnesses consisting of arbitrary cable bundles along
cable paths, cable connectors and probes.
See the Example Guide for a related example: Example D-2.
The workflow for the analysis of cable harnesses is depicted in Figure 3-53:

Definitions: Define the cables by either specifying its cross sections, shields and cable paths
or by importing a harness description list (*.kbl file).

Harness: Specify the cable coupling properties and solution method for the outer cable
problem. Define the harness by specifying the cables and connectors it consists
of. When importing a harness description list, the cables are imported as single
conductors. It may be required to combine the single conductors into one
cable.

Cable schematic view: Create a cable schematic view for each harness and add resistors, capacitors,
inductors, SPICE circuits, sources and ground.

Requests: Add schematic probes and cable probes to request results.

Workflow for creating cables Workflow for when importing


cables from *.kbl file

• Define cross sections


Definitions • Define shields • Import *.kbl file
• Define paths

Harness • Add harness


• Find specific cables
• Specify cable coupling
• Combine cable instances
properties
• Specify cable coupling
• Specify solution method
parameters
• Add connectors
• Specify solution method
• Add cable instances

• Add resistors, capacitors and • Add resistors, capacitors and


Schematic inductors inductors
• Add sources and ground • Add sources and ground

Requests • Add schematic probes • Add schematic probes


• Add cable probes • Add cable probes

Figure 3-53: The workflow for defining cables in CADFEKO.

To gain access to the cable tools, select the Home tab and click on the Cables button. It will
enable a new tab called Cables that is displayed between the Transform and Source/Load tabs,
see Figure 3-54.

October 2013 FEKO User’s Manual


USING CADFEKO 3-65

Figure 3-54: The Cables tab is accessed by selecting the Home tab and enabling it by clicking on the Cables
button.

3.6.1 Defining cable cross sections

Define a cable type by specifying its cable cross section. Select the Cables tab (see Section 3.6)
and click on the required cable cross section button on the ribbon.
The following cable cross sections are available in CADFEKO:

Single conductor: Define a single conductor by specifying the core and its insulation
layer/coating (optional).

Ribbon: Define a ribbon topology by specifying the number of cores, core spacing, core
and the insulation layer/coating (optional).

Twisted pair: Define a twisted pair cable by specifying the core, insulation layer/coating
(optional) and twisted pair parameters.

Specified coax: Define a coaxial cable either by specifying the coaxial cable dimensions
or the cable characteristics.

Predefined coax: Define a coaxial cable by selecting one from a list of predefined coaxial
cables from industry.

Non-conducting element: Define a non-conducting fibre by specifying its medium and the
radius of the fibre.

Cable bundle: Define a cable bundle by specifying the cables contained in the bundle, its
insulation and shielding characteristics.
When creating a cable bundle and the exact orientation of the cables in the bundle is unknown
or not important, the Auto bundle option is used, see Figure 3-55. The bundle may be rebundled
by clicking on the Rearrange button, which allows stochastic analysis.
For information regarding cable cross sections in EDITFEKO (see Section 11), refer to the CD
card (see Section 14.25).

3.6.2 Defining cable shields

To specify a cable shield, select the Cables tab (see Section 3.6) and click on the Cable
shield button. The following shields are supported: Braided (Kley), Solid (Schelkunoff)
and manually defined shield properties, see Figure 3-56.
For information regarding cable shields in EDITFEKO as well as an XML example for importing
frequency dependent cable properties from file, refer to the SH card (see Section 14.63).

October 2013 FEKO User’s Manual


USING CADFEKO 3-66

Figure 3-55: An example of a cable bundle showing the Create/Modify bundle dialog.

Figure 3-56: The Create cable shield dialog.

3.6.3 Defining cable paths

A cable path is a defined route along which cables may be installed. To add a cable
path, select the Cables tab (see Section 3.6) and click on the Cable path button. The
path is defined by specifying the points or importing the cable path from an ASCII text file or a
NASTRAN file. To import a cable path from a file, click on the Import points button on the Import
points dialog. When a cable path is imported from a NASTRAN file, it will be visible in the 3D
view. Note that when importing points from a NASTRAN file it is assumed that the points are

October 2013 FEKO User’s Manual


USING CADFEKO 3-67

specified in metre.
The path of the cable is specified as a series of straight line sections. Corner points can be
inserted or removed from the points list using the Add and Remove buttons. If point entry (see
Section 2.7.2) is used to specify the last point in the list, a new point is added automatically.
Note that cable paths may not overlap. If a cable path is defined, it must be specified as non-
overlapping sections, see Figure 3-57.

A D

B C

F E
Figure 3-57: (a) The Create cable path dialog and (b) an example of a cable path. A cable path may not
consist of overlapping sections. To create this cable path, five separate cable paths need to be
defined namely: AB, BC, CD, EC and FB.

Figure 3-58: Cable paths are visible in the 3D view when the Construct tab is selected. The paths are
indicated by blue dotted lines.

Cable paths will be displayed in the 3D view as blue dotted lines (see Figure 3-58) if the Construct
tab (see Section 2.4.3) is selected. For information regarding cable paths in EDITFEKO (see
Section 11), refer to the CS card (see Section 14.30).

October 2013 FEKO User’s Manual


USING CADFEKO 3-68

3.6.4 Adding a cable harness

A cable harness consists of a collection of cables and connectors. A harness has its own
separate cable schematic view (see Section 3.6.10). To add a cable harness, select the
Cables tab (see Section 3.6) and click on the Cable harness button. Note that an empty cable
harness instance will be created in the Configuration tab without launching a dialog.
To specify the cable coupling properties of the empty cable harness instance, double-click on the
cable harness in the Configuration tab (see Section 2.4.3) to launch the Modify cable harness
dialog (see Figure 3-59).
The following cable coupling parameters can be set:

Irradiating: Only the effect of external fields coupling into a cable is considered.

Radiating: Only the effect of currents radiating from the cables is considered.

Radiating (taking irradiation into account): The combined effect of external fields coupling into a ca-
ble as well as the effect of currents radiating from the cable are considered.

The following solution methods for the outer cable problem can be set:

Multiconductor transmission line (MTL): The model is solved with the multiconductor transmission
line theory which is also hybridised with the MoM or MLFMM. The cable path
should be within λ5 of the conducting surface.

Method of moments (MoM), only for shielded cables: The model is solved by means of the combined
MoM/MTL solver. Any arbitrary cable path may be defined.

Figure 3-59: The Bundle and Solution tabs of the Modify cable harness dialog.

The Bundle tab of the Modify cable harness dialog will be populated with cables after the cable
instances have been defined and routed.

October 2013 FEKO User’s Manual


USING CADFEKO 3-69

If it is required to rearrange the Tube cross section, select the harness in the tree and select
the Rearrange cross sections button.
For information regarding the solution methods for the outer cable problem in EDITFEKO (see
Section 11), refer to the CS card (see Section 14.30).

3.6.5 Adding cable connectors

A cable connector is the end terminal for a cable. It has a position in 3D space and may be
viewed on the cable schematic view (see Section 3.6.10). To add a cable connector select
the Cables tab (see Section 3.6) and click on the Cable connector button.
When defining the position of the cable connector (see Figure 3-60), the following options are
available:

Cable path terminal: The position of the connector is specified as the start or end position of a de-
fined cable path.

3D coordinate: The position of the cable connector is specified as X, Y and Z coordinates.

Figure 3-60: The Create connector dialog.

Add pins to a cable connector by clicking on the Add button on the Create connector dialog. Pins
may be removed by clicking on the Remove button.
An arbitrary number of pins may be added to a connector. Pins represent connection points
between cables and cable components such as capacitors, inductors, etc. which are specified on
the cable schematic view (see Section 3.6.10).

October 2013 FEKO User’s Manual


USING CADFEKO 3-70

3.6.6 Adding cable instances

A cable instance is created by specifying the Cable type (see Section 3.6.1), the Source
(start) and Destination (end) connectors, its routing and the pins of the Source and Des-
tination connector. To add a cable instance select the Cables tab (see Section 3.6) and click on
the Cable instance button.
The following routing options are available:

Select shortest route: An optimal route is calculated by considering all the combinations of the de-
fined cable paths.

Defined cable path: List all the combinations of defined cable paths between the specified Source
and Destination connectors.

Figure 3-61: An example of the Create cable instance dialog. The selected route is indicated in the 3D
view by a green line.

The cross section of the selected cable type is displayed below the Routing options groupbox, see
Figure 3-61. Each conductor in the cable is a signal. A signal is connected to the pins of a cable
connector.

If it is required to exclude a cable instance from the solution without permanently remov-
ing it from the model, it may be excluded. Select the cable instance in the model tree and
select Include/Exclude from its context menu. An excluded cable instance will also be removed
from the 3D view and the cable schematic view. A cable instance excluded from the solution will
be indicated by an icon in the model tree.

October 2013 FEKO User’s Manual


USING CADFEKO 3-71

3.6.7 Importing cables from a harness description list (*.kbl)

Refer to importing harness description list (see Section 4.2) for information regarding the import
of *.kbl files.

3.6.8 Search for a cables instance

To find and highlight a specific cable instance in the model tree (see Section 2.4) and 3D
view (see Section 2.4.1), the Find cable instance tool is used. By specifying the Cable
harness, Connector (optional), Path (optional) and Cable instance (optional), the search for a
cable instance may be narrowed down to a specific cable instance.
Cable instances which satisfy the search criteria are listed in the table, see Figure 3-62. Select the
cable instance in the table and press on Select to highlight the cable instance in the model tree
and 3D view.

Figure 3-62: The Find cable instance dialog.

3.6.9 Combine cable instances to create new instance

After a harness description list is imported, it may be necessary to convert the cables imported as
single conductor, to a different type of cable. To use this tool ensure that the target22 cable cross
section is defined.

In the model tree (see Section 2.4), select the cable instances to be combined. This will
enable the Combine cables button on the ribbon. Select the Cables tab and click on the
Combine cables button to launch the Combine cables dialog, see Figure 3-63. Note that cable
instances to be combined must share the same cablepath.
First specify the target cable cross section by selecting from the Target cross section dropdown
menu. In the Old cable column, the selected cable instances to be combined will be listed along
with their old signal labels.
22
The target cable cross section is the new cross section of the cable instance which replaces or combines the
selected cable instances.

October 2013 FEKO User’s Manual


USING CADFEKO 3-72

Figure 3-63: The Combine cables dialog. A preview is given of the selected cable instance in the table, as
well as the new target cable instance.

Note that the number of signals for the cables to be combined must equal the total number of
signals for the new target cable. For example, a single conductor (one signal) and twisted pair
(two signals) may be combined to create a bundle cable with three signals.
The old signal labels will be converted to new labels once the cables are combined (indicated in
the New signal column). The Source and Destination terminal connectors of each cable instance
as well as their pins are given in the Pin connections column.
A preview of the target cross section is given on the right of the dialog. On the left, a preview is
given of the selected cable in the table.
Once the selected cable instances are combined, it will be removed from the tree and replaced
by the new specified target cable instance.

3.6.10 Adding circuit elements to the cable schematic view

Circuit elements are added to cable connector pins in the cable schematic view. To view
the cable schematic view, either select the Cables tab or the View tab and click on the
Schematic views menu button. For quick access, it is also available on the Home tab.As each
cable harness has its own cable schematic view, select a cable harness from the dropdown menu.
An additional tab with the label of the cable harness will be created containing a representation
of a 3D cable harness projected onto a 2D plane, see Figure 3-67.

Schematic view interaction

In the cable schematic view, sources, complex loads, resistors, capacitors, inductors, external
SPICE circuits, ground and probes (voltage and current) can be connected to the pins of cable
connectors.

October 2013 FEKO User’s Manual


USING CADFEKO 3-73

Figure 3-64: The Cable schematic tab containing the schematic view selection mode, circuit elements,
schematic probes and display options.

To place any of the above circuit elements on the cable schematic view, select the Schematic tools
tab and click on the required circuit element on the ribbon.
The following can be added to the cable schematic view. For all elements, double clicking on the
elements will launch the modify dialog where applicable.

Resistor: Add a resistor to the cable schematic view.

Capacitor: Add a capacitor to the cable schematic view.

Inductor: Add an inductor to the cable schematic view.

Complex load: Add a complex load to the cable schematic view.

SPICE circuit: Define a SPICE circuit by either importing a SPICE circuit from file or
manually specifying the SPICE circuit.

Voltage source: Define a voltage source by specifying the Voltage, Phase and Port impedance
(Ohm).

Ground: Create a ground to add to the cable schematic view.

Voltage probe: Define a voltage probe to measure the voltage between two points. Dou-
ble click on the voltage probe to launch the Modify voltage probe dialog.

Current probe: Define a current probe to measure the current at a point. Double click on
the current probe to launch the Modify current probe dialog.

Figure 3-65: (a) Voltage probe on the left and (b) current probe to the right.

To add a cable probe to monitor the current and/or voltage at a specified position along a cable
path, refer to Cable probe request (see Section 3.9.8).
For more information regarding the general networks and non-radiating transmission lines in the
network schematic view in CADFEKO, see Network schematic (see Section 3.21.4).

To connect circuit elements in the schematic view, select the Wire mode button. A ‘+’
at the cursor position will indicate that the wire mode is enabled. Left-click and drag to

October 2013 FEKO User’s Manual


USING CADFEKO 3-74

Figure 3-66: (a) The Modify complex load dialog and (b) the Create SPICE circuit dialog.

Figure 3-67: The cable schematic where the 3D cable harness is projected onto a 2D plane. Note that the
cross section of the cables in the cable harness is also indicated. Zoom in on cable connectors
to add sources, complex loads, capacitors, inductors, external SPICE circuits and probes.

Figure 3-68: An example of an unconnected cable connector. No cable instance is connected to the con-
nector. No circuit elements are connected to the pins of the connector which is indicated by
a smaller white circle on the right of the connector (for this example).

create a wire connection and release at the position where the end of the wire connection is
required.
It is important to note that connectors and circuit elements have connection points which al-
low for interconnection between elements. These connection points are filled white when no
connection is made, see Figure 3-68.
When a connection is made between two elements, the connection dot is filled black. This is also
true for connections made between wires. If wires connect, it is indicated by a black dot, if two

October 2013 FEKO User’s Manual


USING CADFEKO 3-75

wires touch one another without a black dot, this is an indication that the wires overlap without
any physical connection.
When a cable instance is created, it is displayed as a grey line (indicating the cable path) between
its two connectors in the schematic view. A cross section of the cable instances running along this
cable path is also displayed on the cable path.

Figure 3-69: The grey line indicates a cable path containing a cable instance between the two connectors.
A cross section of the cable instances running along this cable path is displayed on the grey
line.

Rectangle selection of circuit elements are achieved by left-clicking and dragging the mouse over
elements to select. Note that Wire mode must be disabled to enable rectangle select.
Circuit elements are moved about the schematic view by left-clicking and dragging the circuit
element to the desired location (Wire mode must be disabled). The content of the schematic view
is panned inside the display window by clicking with the middle mouse button and dragging.
The schematic view can be zoomed by pressing <Shift> whilst clicking and dragging the mouse
or zoomed to extent by pressing <F5>.

To zoom the schematic view to a specific Cable path, Cable connector and Cable instances,
select it in the model tree (see Section 2.4). From its context menu, choose the option
Zoom to selection.

Schematic view display options

The following options are available for cable schematic views:

The display of cable instance cross sections along a cable path, is disabled by clicking on
the Cross section button.
The projection type for the schematic view can be changed by clicking on the Projection button
and selecting the type of projection from the dropdown menu.

XY plane projection: An XY plane projection of the cable harness in the 3D view.

XZ plane projection: An XZ plane projection of the cable harness in the 3D view.

YZ plane projection: A YZ plane projection of the cable harness in the 3D view.

October 2013 FEKO User’s Manual


USING CADFEKO 3-76

The schematic view can be made more compact by decreasing the distance between the
cable connectors. Note that this is purely a cosmetic change on the schematic view. To
modify the distance between the connectors, click on the Connector spacing button and select
the required spacing from the dropdown menu.

3.7 Adding sources/loads to geometry

Before requests are added to a model, the frequency must first be specified. Sources and loads
may also be added to the model.

3.7.1 Setting the frequency

Select the Source/Load tab and click on the Frequency button to open the Solution fre-
quency dialog (shown in Figure 3-71 and Figure 3-72). The following options are avail-
able:

Single frequency: Allows setting a specific solution frequency

Continuous (interpolated) range: All requested results are calculated using adaptive sampling in the
range Start frequency to End frequency. The sampling algorithm (see Sec-
tion 22) uses finer sampling in areas where the results change rapidly to ensure
that all resonance effects are calculated accurately. Since all the requested re-
sults are interpolated, it is best to use this technique with as few result requests
as possible. The Maximum number of samples option limits the number of so-
lutions and hence the runtime, but the results may be inaccurate if not fully
converged. The Minimum frequency increment is used to limit how far FEKO
refines the frequency. This is mostly useful if there are small discontinuities in
the results. In general, the user should use the default settings for these two
options.
On the Advanced tab of the Solution frequency (see Figure 3-70), the following
Continuous frequency options can be set: Specify maximum number of sam-
ples, Specify minimum frequency increment, Specify number of samples for
exported data files. The frequency stepping can also be set as Linear or Loga-
rithmically. An option is also available to set the Convergence accuracy as the
following:

High more samples, highly resonant structure


Normal default
Low fewer samples, smooth frequency response

A user may also elect to include certain quantities for adaptive frequency sam-
pling. Selecting specific quantities of interest will include it in the adaptive
sampling. The unselected quantities will be calculated at the discrete solution
frequency points.

Linearly spaced discrete points: The user can specify a fixed number of linearly spaced points between
the Start frequency and the End frequency. CADFEKO calculates and displays
the increment. This is typically used when the exact frequencies are known
where the solution is required.

October 2013 FEKO User’s Manual


USING CADFEKO 3-77

Figure 3-70: The Solution frequency dialog showing the options on the Advanced tab for the Continuous
(Interpolated) range.

Logarithmically spaced discrete points: The user can specify a fixed number of logarithmically spaced
points between the Start frequency and the End frequency. CADFEKO calcu-
lates and displays the multiplicative factor. This is typically used when the
exact frequencies are known where the solution is required.

List of discrete points: The user can specify a list of discrete frequency points. This is typically used
when frequencies which are not linearly or logarithmically spaced, are re-
quired.

The frequency may be set by using point entry (see Section 2.7.2) by <Ctrl><Shift> + clicking
on a defined variable in the model tree.

Figure 3-71: The Solution frequency dialog used to define the solution frequencies. The Single frequency
and Continuous (interpolated) range options are shown.

3.7.2 Setting the total source power

The excitation of an antenna is normally specified as a complex voltage, but it may be useful to
specify the total radiated or source power instead. FEKO can therefore scale the result to yield

October 2013 FEKO User’s Manual


USING CADFEKO 3-78

Figure 3-72: The Solution frequency dialog showing the Linearly spaced discrete points and the List of
discrete points options are shown.

the desired source power level.

Select the Source/Load tab and click on the Power button to control the source power
(the Power settings dialog is shown in Figure 3-73).
Note that FEKO uses peak magnitude for all complex values — hence excitations (i.e. voltage
sources and current sources) must be specified with peak magnitude (as opposed to root mean
square values) if no power scaling is done. Note however that power settings are specified as
time-averaged values.

Figure 3-73: The power settings dialog used to control the source power options.

No power scaling: This is the default setting. If this option is selected, FEKO will calculate the results
using the specified source magnitudes. Note that plane wave excitations have infinite extent
and therefore infinite power. If a model contains plane wave excitations, the No power
scaling option must be selected.

Total source power: If Total source power is selected, FEKO will scale the results such that the total
source power (the sum of the power delivered by all the individual sources in a model with
multiple sources) is equal to the amount specified in the Source power field. No mismatch
is taken into account. This option can be used with any excitation except plane waves.

Incident power (transmission line model): If Incident power (transmission line model) is selected, all
structures are assumed to be fed using transmission lines with a complex characteristic
impedance Z0 . The Source power field specifies the sum of the incident power from all
these transmission lines. If there is a mismatch between the transmission line impedance

October 2013 FEKO User’s Manual


USING CADFEKO 3-79

and the structure input impedance at the excitation point, a fraction of the incident power
will be reflected back to the source. This is the mismatch loss. This option may be used
for models that contain only voltage source excitations. See illustration in the PW card (see
Section 14.60)

FEKO always calculates the total source power for all solutions. For large models or models
with many sources, the calculation of mutual coupling — which is required for accurate source
power calculations — can be very time consuming. If Decouple all sources when calculating
power is checked, the mutual coupling is not considered when calculating the source power.
This is acceptable for sources which (in terms of the computation wavelength) are relatively far
from each other and from other structures in the model, or when accurate power values are not
required. (Gain and directivity extraction are based on source power, and are in general likely to
be inaccurate if the Decouple all sources when calculating power option is checked.)

3.7.3 Setting ports, sources and loads on geometry

Ports and loads are mathematical representations for where energy can enter or leave a model.
A port can either serve as a source, or as a sink. Loads and excitations may be applied to a port
in a variety of ways to best model the equivalent real-world problem.
In CADFEKO, voltage sources and discrete loads are not applied directly to the model geometry
or mesh, but rather to ports which must be defined on the geometry or mesh before adding the
required source or load. Ports effectively define the locations where excitations and loads may
be attached to the geometry.

3.7.4 Ports

There are six types of ports that can be defined in CADFEKO: wire ports, edge ports, microstrip
ports, waveguide ports, FEM line ports and FEM modal ports. Each one has different applications,
advantages or restrictions. The FEM ports, for example, may only be applied in FEM regions.
Waveguide ports may be used with most solution methods, but only have predefined shapes (i.e.
rectangular, circular and coaxial). Using the correct port for a particular model can help reduce
resource requirements and provide more accurate results.
All defined ports are listed under Ports in the model tree. Generally ports are created on geometry
items and such ports contain only a geometry instance. When the geometry part to which the
port is applied is meshed, a mesh instance is automatically created. If the mesh is unlinked (see
Section 3.10.1), the mesh instance of the port will be displayed in the model tree.
The tree representation for each port contains separate icon representations for the geometry
instance or of the mesh instances of the port.
Ports may be created directly on unlinked meshes (see Section 3.10.1). This option should only
be used for imported meshes or in cases where the geometry is no longer available.
If a port contains a geometry instance, selecting Properties on the context menu of the main
port item opens the properties of the geometry instance. If the port contains only a single mesh
instance, this opens the properties of the mesh instance.

October 2013 FEKO User’s Manual


USING CADFEKO 3-80

The Label field is used to uniquely identify each port. The label may be changed using the Rename
entry in the context menu of the main port item or the Properties dialog of any geometry or mesh
instance of the port.
The mesh refinement tools may remove elements on which ports are set. The affected ports are
then marked suspect and must be edited (and correctly re-assigned to geometry/mesh items) to
correct this setting.
The geometry and mesh instances associated with a port can be individually deleted. A port is
deleted when its last instance is deleted. If a port is applied to a mesh part (as described above)
or the geometry instance is deleted after meshing, that port contains only mesh instances. Any
mesh part that a port refers to cannot be remeshed unless the port is removed completely.
Note that only the mesh instances of ports are written to the *.pre and *.cfm files.
The following convention is followed when a port is added: if a positive voltage is applied to a
port, the current flows through the port from the negative side to the positive side.

Wire ports

Wire ports can be applied to wire edges (free edges that do not form a face boundary).

Figure 3-74: From the left, a wire port on a segment and a wire port on a vertex. The positive side of the
port is indicated with a red sphere and the negative side with a blue sphere.

Select the Source/Load tab and click on the Wire port button. The Create wire port
(geometry) dialog is shown in Figure 3-75.

Edge: Specifies the wire where the port is to be located. To specify an edge, ensure that the edge
selection mode (see Section 3.19.2) is active and click on the wire in the 3D view. The
selection mode is changed to edge selection when the dialog is opened. Additionally, an
edge can be entered automatically into the Edge field by selecting it in the details tree and
from the context menu, select the option to create a wire port.

Place port on: When the wire is meshed, the mesh instance of the port can be placed on a single segment
or on the vertex between two segments. Vertex ports are mainly used where wires are
connected to other structures and the phase difference from the end point to the centre of
the first segment would have a significant influence on the input impedance. Vertex ports
may be set on the end of wires that are connected to infinite ground planes and UTD plates.

Location on wire: This group is used to specify the location of the port on the wire. If Segment points
are specified at the end points, the first (specially shortened) segment on this end is used.
With the Other option, the user may specify an arbitrary position along the wire in terms of
the position as a percentage of the total wire length. 0% is interpreted as the start point and

October 2013 FEKO User’s Manual


USING CADFEKO 3-81

Figure 3-75: The Create wire port dialog for geometry instances.

100% at the end point. If the wire is modified after the port has been specified, the port will
maintain the same relative position along the wire. For example, if the port was one third
from the end of a wire and the wire is shortened to work at a different frequency, the port
remains one third from the end of the shorter wire. The absolute position of a port may be
fixed by entering a named point or a ‘pt’ expression (see Section 3.3.4) in the % field. The
port is then located at the projection of this point onto the wire. If the wire is modified after
application of the port, the point will remain as close as possible to this absolute position.
This field accepts standard point entry (see Section 2.7.2).

Reverse polarity: If this option is selected, the polarity of the port is reversed.

If a model is modified such that the wire label to which a port is applied no longer exists, or if the
wire is divided into multiple parts during a geometry operation, the port may be marked suspect.
The user must then edit it and select the appropriate single edge to which the port should apply.
If the wire is split into multiple edges in the case where the port position has fixed using a named
point, the port will be located on the edge where the projection is closest to this point where
possible.
Wire ports can be set directly on the mesh by selecting the Source/Load tab and clicking on the
Wire port button. Note that ports should generally be applied to the geometry, mesh instances
should only be directly defined on imported and unlinked meshes (see Section 3.10.1).
The Create wire port (mesh) dialog (shown in Figure 3-76) is similar to the Create wire port
dialog for geometry. The Place on port group allows direct segment or vertex selection. Ensure
that current selection made is active and select a segment/vertex by clicking in the 3D view. The
Segment/Vertex field reflects the wire label to which the port will be applied, while the start
and end point coordinates of the segment or the coordinates of the vertex are displayed in the
read-only fields below this.

Edge ports

Edge ports are created along an edge defining the boundary between two sets of faces. All the
faces referenced in the port definition must belong to the same part for the port definition to be

October 2013 FEKO User’s Manual


USING CADFEKO 3-82

Figure 3-76: The Create wire port (mesh) dialog for mesh instances.

valid. Note that the edge on which a port is defined need not be straight - it may close on itself.
For example, to create a port at the centre of a thick dipole modelled using a cylinder, meshed
into triangle elements rather than wire segments.

Figure 3-77: The display of the edge port in the 3D view. The side of the positive faces is indicated with a
red cylinder and the negative faces with a blue cylinder.

Select the Source/Load tab and click on the Edge port button. The Create edge port
(geometry) dialog is shown in Figure 3-78. The dialog contains two lists of labels. The
Positive faces list defines the set of faces on the positive side of the port, while the Negative faces
list defines the set of faces on the negative side.
When the dialog is launched, the Positive faces list is populated based on the current selection.
If the current selection contains a face selection, then the list is automatically populated with all
of the selected face labels. If the selection contains edges, then the labels of all of the associated
faces are also listed. If the selection contains only parts, then no faces are added to the initial
list. (Note that this initial list of faces may contain labels of faces from different parts, and is
simply intended as a starting point for the port definition. Labels may need to be moved to the
Negative faces list and other labels may need to be added or entirely removed to specify a valid
port definition).
Faces that use the UTD solution method may also be used in the definition of an edge port, but
one side of the port must consist only of one valid UTD face, and all faces on the other side of
the defined port must be standard MoM faces.

October 2013 FEKO User’s Manual


USING CADFEKO 3-83

Where an infinite ground plane is present in the model, any edges that lie in the plane may be
excited with respect to that ground plane. The Connect to infinite ground checkboxes on the
dialog allow the positive or negative side of the port to connect to the infinite ground.

Figure 3-78: The Create edge port dialog for geometry instances.

Add/Remove: The user may add and remove face labels from each of the lists as required.

Move to negative/positive face: Faces can be switched between the lists by clicking the button between
the lists (double-clicking on an entry will also shift that entry to the other list)

Connect to infinite ground: When this option is selected, the infinite ground will form the positive/neg-
ative side of this edge excitation (according to the selection). Only one side of the excitation
may be connected to ground at a time, and all faces in the list on the other side of the port
must have edges that lie in the plane of the infinite plane.

Only one entry in either of the lists of face labels may be selected at a time. The background of
the entry that has the selection focus is coloured yellow. While one of the list entries has focus,
clicking on a face in the 3D view or on the details tree representation of a face will enter the
face’s label into the selected field. In this way, the relevant face labels may be added to the lists
to complete the port definition.

Microstrip ports

Microstrip ports are used to represent feed lines on microstrip structures. These ports are speci-
fied on an edge or set of edges that form a continuous, straight, horizontal (i.e. lie in a constant
z plane in the global coordinates) edge bordering only one face. In addition, the model must
contain a planar dielectric substrate with a conducting ground plane at the bottom.
The Create microstrip port (geometry) dialog (shown in Figure 3-80) contains a single list of
edges (similar to the face lists of the Edge port discussed above).

October 2013 FEKO User’s Manual


USING CADFEKO 3-84

Figure 3-79: From the left, the positive side (indicated in red) of a microstrip port connected to an edge
and the negative side (indicated in blue) of a microstrip port connected to an edge.

Figure 3-80: The Create microstrip port (Geometry) dialog for geometry instances.

This port is applied by selecting the Source/Load tab and clicking on Microstrip port
button. The port is previewed and displayed in the 3D view in a similar fashion to the
edge port. The orientation or polarity of the microstrip port is shown in the 3D view port preview.
If the excited edge is highlighted blue, the positive side of the port is connected to the edge and
the negative side to the ground plane. If the edge is highlighted red, then the negative side of
the port is connected to the edge. The orientation of the port can be reversed by checking or
un-checking the Reverse polarity checkbox.
A microstrip port may be created directly on the mesh. The mesh microstrip port dialog is
accessed by selecting the Source/Load tab and clicking on the Microstrip button. On the mesh
instance dialog (shown in Figure 3-81) the edge to which the port is to be applied is specified in
terms of its start and end points. These must be mesh vertices and must be selected by clicking on
the relevant vertices in the 3D view while the Start vertex and End vertex fields are active. (Mesh
vertices must be displayed.) The vertex fields then display the label of the elements associated
with the appropriate vertices. The display is the same as for the geometry instance.

Figure 3-81: The Create microstrip port (mesh) dialog for mesh instances.

October 2013 FEKO User’s Manual


USING CADFEKO 3-85

Waveguide ports

Waveguide ports are used to define the planes of excitation for waveguide structures. Three basic
waveguide cross sections are supported namely:

1. Rectangular waveguide

2. Circular waveguide

3. Coaxial waveguide

These ports are specified on a single face with the correct shape. In order to apply a port to
a face, the face must be flat, not contain any internal edges, form the boundary of a PEC or
dielectric region, not have any special material properties (e.g. dielectric coating) or be solved
using special solution methods (e.g. UTD).

Figure 3-82: The display of the waveguide port in the 3D view, indicated by a blue border. A waveguide
port excited by a waveguide excitation is indicated by a red border.

Select the Source/Load tab and click on the Waveguide port button. The Create waveguide
port dialog is shown in Figure 3-83 and allows the selection of a single face to which the
port is to be applied. When a face is selected, a propagation direction and reference direction for
the port are automatically chosen and displayed in the port preview. If the propagation direction
is not as desired, it can be changed by selection the Propagation direction opposite to normal and
by setting the relevant rotation angle in the Rotate reference direction list respectively.

Figure 3-83: The Create waveguide port dialog for geometry instances.

October 2013 FEKO User’s Manual


USING CADFEKO 3-86

The reference vector specifies the reference direction of the port. It is indicated by a white line
connecting the edge of the waveguide with the centre of the waveguide port and shows the
direction of m23 , see Figure 3-84.

Figure 3-84: On the left, the reference vector was selected in the direction of the width of the waveguide.
To the right, the reference vector is was selected in the direction of the height of the wave-
guide.

For rectangular waveguide, defining the reference vector in one direction, the dominant mode at
a particular frequency might be T E10 . Rotating the reference vector with 90 degrees and solving
the same problem, the dominant mode will be indicated as T E01 . For circular waveguide, there
is no ambiguity which direction is for m or n. Note that information given for the modes in the
*.out file will correspond to the specified direction of the reference vector.
If the reference vectors differ between ports, see Figure 3-85, it will result in a phase mismatch
between the S21 and S11 .

Figure 3-85: (a) Two waveguide ports with equal reference directions and (b) two waveguide ports with
opposite reference directions. For both these cases, the magnitude for S11 and S21 will be
identical. For the case where the reference directions differ, the phase for S21 will differ by
180 degrees from S11 .

Selecting the Manually set the reference vector option, the reference vector for the port can be
overridden. In this case, the reference vector is specified from the centre of the port face in the
direction of the specified vector.
On the Advanced tab of the Create waveguide port dialog, the maximum modal expansion indices
can be specified. If this option is not selected, FEKO will automatically calculate the number of
modes to consider.
Waveguide ports may also be applied directly to mesh faces. Specification of a waveguide port
on a mesh is very similar to the specification of a waveguide port on geometry. CADFEKO will
23
where m is the number of half-wavelengths across the width of the waveguide (for rectangular waveguide) or
where m refers to the number of radial variations (for circular waveguide)

October 2013 FEKO User’s Manual


USING CADFEKO 3-87

Figure 3-86: The Advanced tab of the Create waveguide port dialog for geometry instances.

automatically calculate the relevant port shape based on the shape of the selected mesh face (the
mesh must represent one of the supported waveguide shapes sufficiently or CADFEKO will give
an error). For direct application of a waveguide port to the mesh, the reference direction of the
port should be specified manually in terms of a vector from the centre of the excitation face.
The waveguide port differs from other geometry-linked ports in CADFEKO in that when no ex-
citation is applied to the port, it will still be considered in the FEKO solution. A waveguide
port without any waveguide excitation(s) (see Section 3.7.5) applied will be considered as an
ideal waveguide termination in all parts of the solution (i.e. all energy that propagates into the
waveguide port will be absorbed and not reflected).

FEM modal ports

FEM modal ports can be applied to flat face on the boundary of a FEM region. FEM modal
ports are used to apply a modal port boundary condition on the boundary of a finite element
(FEM) region. A FEM modal port essentially represents an infinitely long guided wave structure
(transmission line), connected to a dielectric volume modelled with FEM. The FEM modal port
may be excited with the fundamental mode of the associated guided wave structure, or it can
act as a passive port. S-parameters can be computed between the fundamental mode of the FEM
modal port and other excitations in the model.

Figure 3-87: The display of the FEM modal port in the 3D view.

Select the Source/Load tab and click on the FEM modal port button. The Create FEM
modal port dialog is shown in Figure 3-88 and allows the specification of the port either
as a list of faces or as points.

October 2013 FEKO User’s Manual


USING CADFEKO 3-88

Figure 3-88: The Create FEM modal port for geometry instances.

FEM line ports

FEM line ports are used to define the location of impressed current source excitations and loads
in the FEM region.

Figure 3-89: The display of the FEM line port in the 3D view.

Select the Source/Load tab and click on the FEM line port button. The Create FEM line
port (geometry) dialog is shown in Figure 3-90.
The port position may be specified in one of two ways, based on the location of a free edge (or
a connected set of free edges that form a continuous straight line) inside of a dielectric region in
the model, or based on coordinates defining the beginning and end points of the FEM line port
(in global coordinates).
If the port location is specified based on an edge (or set of connected edges) the orientation of the
port is determined automatically. The orientation can be visually determined from the 3D view
preview of the port, and may be reversed if required by checking the Reverse the port orientation
option. If the geometry on which the port is defined is modified (translated or scaled etc.) the
FEM line port location and size will be adjusted accordingly. If the FEM line port definition is
based on coordinates, the user must ensure that the coordinates remain correct.
During meshing, all edges that are associated with a FEM line port definition will be excluded
in the mesh, but are used to determine the start and end points of the FEM line port. The FEM
line port has a mesh instance which may be directly defined or edited (after it is generated from
a geometry port during meshing). The mesh instance of the FEM line port is defined based on
either the start and end coordinates, or by attaching the start and end point of the FEM line port

October 2013 FEKO User’s Manual


USING CADFEKO 3-89

Figure 3-90: The Create FEM line port (geometry) dialog for the definition of a FEM line port in the FEM
region.

to specific mesh vertices within (or on the boundary of) a tetrahedral FEM mesh. Mesh instances
of the FEM line port that are generated based on geometry ports during meshing will be defined
based on mesh vertices where possible, or based on the coordinate values directly.
The Create FEM line port (mesh) dialog is shown in Figure 3-91.

Figure 3-91: The Create FEM line port (mesh) dialog for the definition of a FEM line port in a tetrahedral
mesh region.

Where the mesh instance of a port is defined based on mesh vertices it will be maintained through
operations on the mesh (scaling, translation etc.). Where the mesh instance of the FEM line
port is based on coordinate points, the user must ensure that the port definition is as intended.
(Note that during meshing, mesh instances of FEM line ports that are based on coordinate point
definitions are generated with the label ‘user defined’ and do not inherit their name from the
geometry instance of the port. This indicates that CADFEKO will not maintain this port position
through mesh manipulations.)

October 2013 FEKO User’s Manual


USING CADFEKO 3-90

Loads (see Section 3.7.7) and current sources (see Section 3.7.5) may be applied to a FEM line
port and the FEM line ports may be included in S-parameter calculations (see Section 3.8.1).

3.7.5 Sources on ports

Voltage sources

The voltage source excitation can be applied to any wire, edge, line, network or transmission-line
port to define the excitation of that port. Any port of these types to which a voltage source (or
load) is not applied will have no effect on the solution — though it may be used in the definition
of a port for S-parameter calculations.

In order to define a voltage excitation, select the Source/Load tab and click on the Voltage
source button.
The voltage source creation dialog is shown in Figure 3-92. The dialog contains a Port field which
lists all the ports in the model to which a voltage source may be applied. The list of valid ports
will include all defined ports, and when the excitation is applied, it will be reflected in all of the
mesh and geometry instances of that port.

Figure 3-92: The Add voltage source dialog.

The input fields for the voltage magnitude and phase define the excitation to be applied. The
specified voltage gives the potential difference between the positive side of the port relative to
the negative side. A positive voltage will result in positive current flowing out of the positive side
and into the negative side of the port.

Waveguide excitation

Specific waveguide mode excitations can be applied to waveguide ports (see Section 3.7.4)
that have been defined in the model. A waveguide mode excitation is added by selecting
the Source/Load tab and clicking on the Waveguide excitation button.
The Add waveguide excitation dialog is shown in Figure 3-93.
The Excite fundamental mode only option should be selected if the fundamental propagating
mode at the solution frequency must be excited (the FEKO kernel will compute this mode based
on the waveguide size and cross section during the solution). The Magnitude and Phase (in
degrees) of the excitation, as well as the physical Rotation of the mode (also in degrees) can be

October 2013 FEKO User’s Manual


USING CADFEKO 3-91

Figure 3-93: The dialog for the application of a waveguide excitation to a waveguide port (options for
manual and fundamental mode selections shown).

specified. The rotation of an excited mode is relative to the reference direction of the port to
which the mode is applied.
If a specific mode or a specific set of modes are to be excited, the Specify modes manually
option should be selected. In this case, the type and indices as well as the magnitude, phase
and physical rotation of the mode(s) must be entered in the table where applicable. Modes
may be added or removed from the list using the Add and Remove buttons. It is important to
note that if multiple modes are applied to a single waveguide port (as part of one waveguide
excitation definition or in separate definitions) the modes will all be applied simultaneously
during the solution phase. When using waveguide ports as part of an S-parameter calculation, the
waveguide excitations that are applied to the port will not influence the S-parameter calculation
(see Section 3.8.1). During the S-parameter calculations, only the mode(s) specified as part of
the S-parameter request will be considered.

Current sources

The current source may be applied to a line port (see Section 3.7.4) in a dielectric region to be
solved with the FEM in order to realise an impressed current excitation (this is equivalent to the
FEM current source excitation available in FEKO versions before the Suite 5.4 release).

Add a current source by selecting the Source load tab and clicking on the Current source
button.
The Add current source dialog is shown in Figure 3-94. The excitation is specified based on a
constant current (Magnitude and Phase) that is applied in a filament along the line defined by the
line port to which it is attached. The line port should therefore be short relative to a wavelength
in the medium in which it is located.
An intrinsic limitation of the impressed current source is that no radius is taken into account,
therefore the field is singular in the vicinity of the filament. This affects the accuracy of the
computed input impedance of the source.

October 2013 FEKO User’s Manual


USING CADFEKO 3-92

Figure 3-94: The Add current source dialog.

FEM modal excitation

The FEM modal excitation can be applied to FEM modal ports (see Section 3.7.4) that have
been defined in the model. A FEM modal excitation is added by selecting the Source/Load
tab and clicking on the FEM modal excitation button.
The Add FEM modal excitation dialog is shown in Figure 3-95.

Figure 3-95: The Add FEM modal excitation dialog.

If the FEM modal excitation is defined, the modal port will be excited with the fundamental
mode of the associated long guided wave structure of the FEM modal port. When no excitation
is defined, the modal port will act as a passive port (sink) for fields incident on the port.

3.7.6 Ideal sources

Plane wave excitation

Select the Source/Load tab and click on the Plane wave button.
All other sources (listed separately under Excitations) will also be considered active during
the computations for each plane wave incident direction. While defining or editing a plane wave
source, a preview of the incident and polarisation directions is shown in the 3D view. The preview
indicates the polarisation of the E-field (green arrow) and the direction of propagation of the
plane wave (blue arrow) for each of the defined incident directions. Once the field is created,
the E-field polarisation is depicted by a red arrow.

October 2013 FEKO User’s Manual


USING CADFEKO 3-93

Figure 3-96: The Add plane wave excitation dialog.

The plane wave source has two modes of operation namely Single incident wave and Loop over
multiple directions.

Single incident wave: If Single incident wave is selected, a single plane wave is added to the existing
sources. Multiple Single incident wave excitations can be added to create specific field
distributions.

Loop over multiple directions: If Loop over multiple directions is selected, FEKO calculates a solution
for each specified direction of incidence. The incident direction is specified in a spherical
coordinate system, in terms of the angles θ and φ (in degrees). The user must specify
the Start angle, End angle and angle Increment for each angular coordinate. CADFEKO
calculates and displays the resulting number of incident directions. The actual end angle
is determined based on the start angle, the increment and the number of samples and may
not coincide exactly with the specified end angle. Note that with the Loop over multiple
directions a single plane wave source may also be defined (by setting the Start and End
angles the same). It is currently not possible to define multiple independent plane wave
excitation loops (more than a single incident direction) in a single CADFEKO solution setup.

Polarisation angle: Polarisation angle specifies the angle η, in degrees, — measured in a right-handed
sense around the direction of propagation — from −θ̂ to the polarisation vector E ~ 0 (linear
polarisation) or major axis (elliptical polarisation). The angle fields in the dialog accept
point entry (see Section 2.7.2) from the 3D view. For elliptical polarisation the Ellipticity
must be larger than 0 (linear polarisation) and smaller than or equal to 1 (circular polarisa-
tion).

The electric field strength of the incident field is given by

~ i (~r ) = E~ 0 + jv( E~0 × β̂0 ) · e− j β~0~r


” —
E (3-12)

October 2013 FEKO User’s Manual


USING CADFEKO 3-94

~ 0 is the polarisation vector.


where v is the ellipticity, β̂0 is the direction of incidence and E
On the Workplane tab, a new workplane can be created. As a result, the plane wave is interpreted
in the chosen/specified workplane. When a new workplane was not set, the plane wave will be
influenced by the default workplane.

The electric point source excitation

The Electric point source represents an elementary dipole element with the specified ori-
entation, magnitude and phase. The dialog is shown in Figure 3-97. Select the Source
/Load tab and click on the Electric dipole button.

The magnetic point source excitation

A magnetic point source can be either an Electric ring current (the magnitude is specified
as the product of the loop current and loop area) or aMagnetic line current (the magnitude
is specified as the product of the dipole length and the magnetic current). The electric ring
current and magnetic line current radiate the same near and far fields, though the radiated
potentials differ. The selection of which of these sources to use is dependent on the application.
Select the Source/Load tab and click on the Magnetic dipole button. The dialog is shown in
Figure 3-97.

Figure 3-97: The Add electric dipole and Add magnetic dipole dialogs.

October 2013 FEKO User’s Manual


USING CADFEKO 3-95

Impressed current excitation

An Impressed current may be defined as an excitation in a model. This is a special excita-


tion type, and it is subject to a number of limitations (see Section 14.15). The impressed
current excitation is defined on the Add impressed current dialog (shown in Figure 3-98). This
dialog is launched by selecting the Source/Load tab and clicking on the Impressed current button.

Figure 3-98: The Add impressed current dialog.

The position of the start and end points of the current segment, as well as the magnitude and
phase (in degrees) of the current at the start and end points can be defined. The radius of the
impressed current must also be specified in the Radius field. This radius value may not be zero,
and the unit is determined by the model unit.
A Connect the end point to the closest triangle vertex option is provided. When checked, the
end position of the impressed current cannot be specified, but will be determined based on the
closest triangle mesh vertex available during the solution. This is useful when the impressed
current should terminate (and be connected to) the model geometry. There must be a mesh
vertex at the connection point, but it is not always possible to predict the exact location of the
mesh vertex to which the excitation should be connected. When using this option, care should
be taken to confirm that the excitation does indeed connect at the required triangle vertex. (This
can be visually confirmed by running PREFEKO and observing the impressed current excitations
in POSTFEKO.)
Impressed current excitations are shown as red arrows in the 3D view. The preview arrow is
located between the start and end points, and has the specified radius of the impressed current.
When the Connect the end point to the closest triangle vertex option is used, the impressed
current is represented by a red sphere at the starting point of the impressed current. The radius
of the sphere is determined by the radius of the impressed current.

October 2013 FEKO User’s Manual


USING CADFEKO 3-96

3.7.7 Equivalent sources

Aperture field excitation

Aperture excitations may be used to specify a planar, cylindrical or spherical aperture of measured
or calculated field values that are impressed as an excitation. The field values are converted into
an equivalent array of electric and magnetic dipoles in the solution.

Aperture excitation is added by selecting the Source/Load tab and clicking on the Aperture
field button to launch the Add aperture excitation dialog (shown in Figure 3-99).

Figure 3-99: The Add aperture excitation dialog.

In this dialog the source may be defined as follows:

Magnitude scale factor: The field magnitudes in the files will be multiplied by this factor. This is useful
when using data files where the field values are in different units (e.g. µV/m)

Phase of the aperture (deg): This phase (in degrees) will be added to the phase of the fields as defined
in the data files.

Aperture data type: The type of data to be used to generate the aperture excitation is specified here. An
aperture excitation may either be defined based on only impressed electric or magnetic field
distribution or a combination of both electric and magnetic fields.

Source: The data for the E and H fields may be imported from *.efe and/or *.hfe files gen-
erated by a previous FEKO solution (see Section 3.9.2) or a more general ASCII file (see
Section 14.18). Refer to the DA card (see Section 14.32) for the writing of additional data
files. Note that the units for when reading data from an ASCII file are V/m and A/m for

October 2013 FEKO User’s Manual


USING CADFEKO 3-97

the E-field and H-field respectively. The first line number in the file from which data should
be read may be specified in the Start reading from line number field. This may be used,
for example, when a single file contains information for multiple aperture excitations. Note
that comment lines and empty lines are not counted. For example, a file with 100 points per
near field, the second block will start reading at line 101, regardless of any comment lines
in the file. If both electric and magnetic field data is read, the starting line in the files will
be the same.

Source destination: The coordinate system in which the field data is specified, as well as the number of
field points in each coordinate direction is specified here. Note that data may be specified
in Cartesian coordinates should either the electric or magnetic field or both may be used.
Data may only be specified in Cylindrical and Spherical coordinates when both the electric
and magnetic fields are used.
An additional Also sample along edges option is provided. This should be used depending on
how the physical location of the sample points relate to the aperture defined in the Source
destination. When checked the outer sample points are assumed to lie on the edges, when
unchecked the sample point lie half an increment away from the edges. When using multiple
aperture excitations in a single model, sample points should not lie on the edges of any two
apertures that share a common side, otherwise two elementary dipoles elements with the
same location and polarisation will be included. If this is the case the power calculation in
FEKO will fail and incorrect results may be calculated.

Note that the position of the aperture excitation is by default at the global workplane. The
position may be adjusted by modifying the workplane on the Workplane tab.

Impressed spherical mode excitation

An Impressed spherical mode excitation can be defined based on pre-calculated spherical


modes. The excitation is added by selecting the Source/Load tab and clicking on the
Spherical modes button.
The Add spherical mode source dialog (shown in Figure 3-100) allows the specification of the
source position, orientation and the spherical mode expansion to be excited. The source data
may be imported from an external TICRA *.sph file or specified manually.
When importing the source data from an external TICRA (*.sph) file, the following additional
options are available such as scaling the magnitude of the data file and offsetting the phase.
For manual specification, each mode must be defined separately per line of the table on the dialog
(also shown in Figure 3-100).
When specifying the spherical modes manually, individual modes may be added or removed using
the Add and Remove buttons. The options for manual specification of the spherical modes are
detailed as follows:

Propagation direction: This determines if the spherical waves propagate Inward (the model is illumi-
nated with modes propagating towards r = 0, i.e. spherical Hankel function of the first kind
(3) (1)
zN = hN ) or Outward (the modes radiate towards r = ∞, i.e. spherical Hankel function
(4) (2)
of the second kind zN = hN ). This option is only available when the modes are entered in
the *.pre file and not when the modes are imported from a TICRA file (*.sph), in which
case the outward propagating direction is used.

October 2013 FEKO User’s Manual


USING CADFEKO 3-98

Figure 3-100: The Add spherical mode source dialog for excitations based on an external file.

Index scheme: The Normal scheme uses the traditional smn index. If this option is selected, the user
can specify TE-mode (s = 1) or TM-mode (s = 2) and the indices M and N in the indices
columns. Here N is the mode index in radial direction and must be in the range 1, 2, . . . ∞
and M is the mode index in the azimuth direction ϕ. We do not distinguish between even
and odd modes (with cos(M ϕ) and sin(M ϕ) angular dependencies), but rather use the
angular dependency e j M ϕ . Thus the index M can also be negative, but it must be in the
range −N . . . N .
The Compressed scheme uses a compressed one-dimensional mode numbering scheme. The

October 2013 FEKO User’s Manual


USING CADFEKO 3-99

J mode index is then specified in the index column. Here

J = 2 [N (N + 1) + M − 1] + s (3-13)

where s = 1 for TE-modes and s = 2 for TM-modes. This unified mode numbering scheme
allows the computation of an extended scattering matrix (with network and radiation ports).
The index J then represents a unique port number in the scattering matrix.

Mag. sqrt(W): Absolute value of the complex amplitude of this specific spherical mode p (due
p to the
applied normalisation of the spherical modes, the unit of this amplitude is W = VA).

Phase (deg.): The phase of the complex amplitude of this spherical mode in degrees.

Radiation pattern point source

To add a point source with a specified far field pattern, select the Source/Load tab and
click on the Radiation pattern.
The Add radiation pattern point source dialog is shown in Figure 3-101.

Figure 3-101: The Add radiation pattern point source dialog.

The specified Magnitude scale factor and Phase offset is applied to each field point in the entire
pattern.
On the Workplane tab, a new workplane can be created. As a result, all the fields are interpreted
in the chosen/specified workplane. When a new workplane was not set, the Position field on the
Pattern tab will be influenced by the default workplane.

October 2013 FEKO User’s Manual


USING CADFEKO 3-100

Radiation pattern data may be imported from an *.ffe file (created by FEKO) or from an ASCII
data file. The AR card (see Section 14.19) can be viewed for more detail on the ASCII format.
The user must ensure that the pattern information in the data file is applicable to the solution fre-
quency of the current model. Since far field patterns are typically frequency dependent, models
with radiation pattern sources will usually have a single solution frequency only. If the radiation
pattern was calculated using a frequency sweep in FEKO, the *.ffe file will contain multiple
patterns. The Start from point number field may then be used to indicate the position in the
file of the first line of the required pattern. For example, if the pattern was originally calculated
for 50 field directions in a frequency sweep, the pattern for the third frequency of the original
solution may be selected by setting the Start from point number field to 101.

Add load

An impedance load may be applied to any wire, edge, line, network or transmission-line port.

The Create load dialog (shown in Figure 3-102) is launched by selecting the Source/Load
tab and clicking on the Add load button.

Figure 3-102: The Create load dialog.

There are three types of loads that may be specified.

Complex impedance: A frequency-independent load consisting of a constant real and imaginary part.
This load type can be applied to wire, edge, stripline, network or transmission-line ports.

Series circuit: A frequency dependent load consisting of a series-connected resistor (R), capacitor (C)
and inductor (L). This load can only be applied to wire and edge ports. The load impedance
is given by
1
Zs = R + jωL + . (3-14)
jωC

Parallel circuit: A frequency dependent load consisting of a resistor (R), capacitor (C) and inductor (L)
connected in parallel. This load can only be applied to wire and edge ports. The load
impedance is given by
1
Zp = 1 1
(3-15)
R
+ jωL + jωC

October 2013 FEKO User’s Manual


USING CADFEKO 3-101

where the resistance or inductance is taken as infinite when set to 0 (i.e. it does not con-
tribute to the impedance).

If multiple loads, or loads and sources are applied to the same port, they are placed in series.
This also applies to the Parallel circuit load — only the three elements of the load are connected
in parallel.

Add network

General non-radiating networks may be added to the CADFEKO model by interconnecting (cas-
cading) and exciting or loading directly at the ports. These networks are defined using network
parameter matrices.

Select the Source/Load tab and click on the Network button to open the Add general
network. After a general network has been created, it will be shown under the Non-
radiating networks branch of the model tree. The definition of the network may be edited by
double-clicking on this representation to open the Modify general network menu.
Defined general non-radiating networks and transmission lines can be inter-connected or con-
nected to geometry/mesh ports on the Network schematic view (see Section 3.21.4).
S-matrix, Z-matrix, Y-matrix: The general network may be defined by means of S-, Y- or Z-parameters
imported from a Touchstone file or manually specifying the data matrix.
If a Touchstone file is used to specify the network parameters, the number of network ter-
minals must be indicated, the file name and the label. The number of network terminals
(ports) may be any number greater than or equal to 1. Reference impedances for the ports
will be determined from the Touchstone file.
Note that only the Touchstone format v1.1 is supported.

SPICE network: A general network may also defined by importing a direct component-based network
imported from a SPICE *.cir file. If a SPICE *.cir file is used to specify the network,
the following are required to be specified: Number of network terminals, file name and the
label. Note that the number of the ports and the general network label in CADFEKO need to
correspond to the number of ports and the subcircuit label in the *.cir file. Optionally, the
sub-circuit name may be specified for the SPICE networks by unchecking the Auto checkbox.
The *.cir file should contain a description of the circuit defined in Berkeley SPICE3f5
syntax. Ensure that the correct syntax is used since FEKO only uses a subset of the Berkeley
SPICE3f5 syntax Berkeley SPICE3f5 syntax (see Section 28). As FEKO is a frequency domain
solver, note that only linear circuits are supported.

Add transmission line

Non-radiating transmission lines may be added to the CADFEKO model by connecting a non-
radiating transmission line between FEKO geometry and other non-radiating networks or trans-
mission lines. Loads and sources can be connected to a transmission line terminal. After a
transmission line has been created, it will be shown under the Non-radiating networks branch
of the model tree. The transmission line properties may be edited by double-clicking on this
representation to open the Modify transmission line menu.

October 2013 FEKO User’s Manual


USING CADFEKO 3-102

Figure 3-103: The Add general network dialog.

Ideal transmission lines may be added to the CADFEKO model by selecting the Save/Load
tab and clicking on the TX line button.
The Add transmission line menu is shown in Figure 3-104. The length of the transmission line
may be determined automatically by the geometrical distance between the start and end points
of the transmission line.
A transmission line is defined by specifying the following parameters: Transmission line length,
Transmission line losses (dB/m), Real part of Z0 (Ohm) and the Imaginary part of Z0 (Ohm).
Note that the transmission line length is specified in terms of the model unit (default metre).

Figure 3-104: The Add transmission line dialog.

3.8 Multiple configurations

Multiple configurations provides users the option to obtain multiple solutions for a single model.
It removes the requirement to create a number of models (*.cfx files) with different solution
requests. For example:

• Calculate the input impedance of a patch antenna over a frequency range (Configuration 1)
as well as calculate the radiated far field at the centre frequency (Configuration 2).

October 2013 FEKO User’s Manual


USING CADFEKO 3-103

• Calculate the antenna parameters of a dual-band antenna over two frequency bands
(Configuration 1 and Configuration 2).

• Calculate the current on a wire above ground in three configurations:

– Terminated in an open circuit (Configuration 1).


– Terminated in short circuit (Configuration 2).
– Terminated with a matched load or system impedance (Configuration 3).

• Calculate the two-port S-parameters of a system (Configuration 1) as well as calculate the


radiated currents when both ports are active at the same time (Configuration 2).

3.8.1 Add a configuration

The following configuration types are available: Standard configuration, S-parameter configu-
ration and Characteristic mode configuration. These configurations will be discussed in detail
below.

Standard configuration: For a Standard configuration, the following may be requested:


Near fields, Far fields, Currents, SAR, Transmission/reflection, Cable harness, Receiving
antenna and Error estimation. A Standard configuration may be added to the model by selecting
the Request tab and clicking on the Standard configuration button.

S-parameter configuration: The calculation of S-parameters between an arbitrary number


of ports may be requested by adding an S-parameter configuration.
For an S-parameter configuration, only one S-parameter request is allowed per configuration.
Adding an S-parameter request will result in an additional S-parameter configuration.
No Configuration specific (local) excitations or power are allowed in an S-parameter configu-
ration. An S-parameter configuration may be added to the model by selecting the Request tab
and clicking on the Multiport S-parameter button. The S-parameter request may be modified
by ensuring that the S-parameter configuration is selected in the Configurations list and double-
clicking on the S-parameter request in the tree. The Request S-parameters dialog (shown in
Figure 3-105) contains a table where the user can specify the different ports to be considered in
an S-parameter extraction. For all ports that are not waveguide ports, the reference Impedance
can be specified (if no reference impedance value is given, a default reference impedance of 50
Ohm is used). For waveguide ports, type (TE/TM/TEM), indices and rotation of the mode that
is to be considered can be specified. The Add and Remove buttons can be used to add or remove
ports to the list. If the Active field of any port in the table is checked, the port is used as a source.
Otherwise it is only a receiving port. For example, if the list contains two ports and only Port 1
is active, FEKO will calculate S11 and S21 but not S12 and S22 . If Port 2 is also active, S12 and S22
will also be calculated.
The port numbers in an S-parameter solution request are indexed based on the order of appear-
ance in the port list on the S-parameter request dialog, and not on the label of the selected
port.
If Export S-parameters to Touchstone file (*.snp) is checked, the calculated S-parameters included
in the solution output are written to an additional *.snp file. When exporting S-parameters to a

October 2013 FEKO User’s Manual


USING CADFEKO 3-104

Figure 3-105: The Request S-parameters dialog.

Touchstone file it is important to note that FEKO does not normalise the S-parameter values to a
global reference impedance, but rather provides the values referenced to the impedance specified
on each port. Tools that use the Touchstone format, however, often assume that all values are
referenced to a common impedance. This may result in misinterpretation of the S-parameter
results provided by FEKO. When exporting S-parameters for use in a tool that supports only a
single reference impedance, the reference impedance provided at each port in the S-parameter
solution request should be set the same to ensure the correct interpretation.
During the calculation of S-parameters, FEKO adds loads of the specified reference impedances
at all the port locations. These loads normally remain in place after the S-parameter calcula-
tion. If Restore loads after calculation is checked the S-parameter loads are removed once the
S-parameter calculation is complete. However, restoring the loads require repetition of a full
matrix computation and LU decomposition step for the MoM. This is typically the most time
consuming step in the analysis.

Characteristic mode configuration: The characteristic mode analysis is based on the nu-
merical calculation of a weighted set of orthogonal mode currents that are supported
on a conducting surface as well as dielectric and magnetic materials with MoM/SEP and also
apertures with the planar Green’s function. It is well suited for antenna design purposes as it
provides the antenna designer with physical insight regarding the antenna operating principles.
This insight is due to the fact that antenna are resonating structures and the characteristic modes
are its resonances. Key parameters such as the resonance frequency of these modes and their
radiating behaviour can be determined by studying the current distribution of these modes, see
Figure 3-106.
A characteristic mode analysis of a model is requested by selecting the Request tab and clicking
on the Characteristic mode button, see Figure 3-107. Selecting the Compute modal excitation co-
efficients (when sources are present) option will in addition to the characteristic modes, compute
the modal excitation coefficients given an excitation source.
Refer to the OM card (see Section 14.55) for more information regarding characteristic modes
in EDITFEKO. For Characteristic mode configuration, only Near fields, Far fields, Currents and
Characteristic modes requests are allowed.

Multiple configurations may also be added to the CADFEKO by clicking on the “+” button
on the Configurations list panel (see Section 2.4).

October 2013 FEKO User’s Manual


USING CADFEKO 3-105

Figure 3-106: The first four modal currents and associated far field of a ring antenna with four slots
bridged with excitation ports.

Figure 3-107: The Request characteristic modes analysis dialog.

Figure 3-108: Adding new configurations to a CADFEKO model by means of the Configurations list.

From the context menu, the user has the option to change the order in which the multiple
configurations are calculated by the FEKO kernel by moving a specific configuration up or
down in the Configurations list.

If it is required to exclude a configuration from the solution without permanently remov-


ing it from the model, it may be excluded. Select the configuration and select Include/Ex-
clude from the context menu. A configuration excluded from the solution will be indicated by an
icon in the model tree.

October 2013 FEKO User’s Manual


USING CADFEKO 3-106

3.8.2 Global and Configuration specific (local) items

Global refers to items which have been specified for


all configurations. Note that globally defined sources
will only be shared by Standard configurations since
they are not applicable to S-parameter configurations
or Characteristic mode configurations.
Configuration specific refers to items which have been
specified to be only applicable to a specific configura-
tion. The following may be set: Frequency per configu-
ration, Sources per configuration, Loads per configura-
tion and Power per configuration.

If multiple configurations have been defined in a model, a configuration specific item may be
copied and sent to another configuration by means of the Send copy to context menu option, see
Figure 3-109.

Figure 3-109: The Send copy to option which is available on the context menu for configuration specific
items.

After a Global item has been specified, it may be converted to a Configuration specific item.
For example, by right-clicking on globally specified Loads in the tree, it may be changed to
a configuration specific load by selecting the Specify loads per configuration from the context
menu, see Figure 3-110.
This also holds true for Configuration specific items which may be converted to a Global item.
For example, by right-clicking on configuration specific Loads in the tree, it may be changed
to a globally specified load by selecting the Specify loads globally from the context menu, see
Figure 3-111.

3.9 Request calculations

Before running a simulation, the required results must be requested. The CADFEKO model con-
tains a list of requested calculations. These are listed in the model tree under Requests. The
same set of results are calculated for all frequencies with the specified loads and excitations. The
following operations may be performed on individual requests:

October 2013 FEKO User’s Manual


USING CADFEKO 3-107

Figure 3-110: Converting a globally specified load to a configuration specific load. In this example it was
changed to a configuration specific load for StandardConfiguration1.

Figure 3-111: Converting a configuration specific load to a globally specified load.

• Requests that are represented in the 3D view may be hidden/shown.

• Requests that are represented in the 3D view may be included/excluded without deleting
them by selecting Include/Exclude from the context menu. Excluded solution requests are
indicated by the addition of a small red cross next to the icon and will not be included in
the FEKO solution (excluded solutions cannot be used during optimisation).

• Requests may be copied (to create similar requests).

• Requests may be renamed. (The names or labels of requests are referenced in POSTFEKO.
OPTFEKO also uses the labels of solution requests to uniquely identify the results applicable
to optimisation).

• Requests may be deleted from the context menu of the tree item, or using the <Del> key.

• Requests may be edited by double-clicking on them or selecting Properties from the context
menu.

All results may be requested from the context menu on Requests or by double clicking the ap-
propriate header if other requests of this type have already been defined and are present in the
model.

October 2013 FEKO User’s Manual


USING CADFEKO 3-108

3.9.1 Far fields

The calculation of far fields is specified by adding a far field solution request. Select the
Request tab and click on the Far fields button.
The Request far fields dialog is shown in Figure 3-112.

Figure 3-112: The Position and Advanced tabs of the Request far fields dialog.

The Position tab

On the Position tab, a selection can be made between two different far field calculation types.

Calculate fields as specified: This option provides for the extraction of general far field patterns. The
Start and End angles and the Increment for each angular axis can be specified. (All these
fields do accept point entry from the 3D view, though it may be counter-intuitive to enter 3D
angles from a planar surface.) CADFEKO calculates and displays the number of field points.
The actual end angle depends on the start angle, the number of points and the increment
and may not coincide exactly with the specified end angle value. In models that contain
plane wave sources, the direct contribution of these sources is always ignored. The preview
shows a spherical “surface” of the specified range, with markers on the surface, indicating
the actual calculation directions. Buttons are provided on the dialog that can be used to
quickly define commonly used pattern requests.

Calculate fields in plane wave incident direction: This option is used in conjunction with a plane wave
excitation (see Section 3.7.6), mostly to calculate monostatic radar cross section (RCS).
If this option is selected, the model must contain a plane wave excitation (with single or

October 2013 FEKO User’s Manual


USING CADFEKO 3-109

multiple directions of incidence). If no plane wave excitations are defined, an error will be
reported during the solution. No additional parameters are required in the far field request,
as scattered fields are only calculated in the direction that the incident wave is coming from.
This option must be selected if an RCS optimisation search is based on this far field request.

When extracting large numbers of far field samples for both axes, the impact on the solution time
may be significant.
When the number of requested far field points is larger than 1 for both angular axes, FEKO
computes (in addition to the far field values themselves) the integral of the Poynting vector (i.e.
the total radiated power) through the spherical segment defined by the start and actual end
angles in each angular direction.
A full φ-cut runs from 0◦ to 360◦ and a full θ -cut runs from 0◦ to 180◦ . In order to account for a
potential ambiguity when specifying such a closed surface representing a full pattern in spherical
coordinates, FEKO also computes the radiated power over a second sector that extends by half
an angular increment beyond the specified start and end points in both angular directions.
For the case where the φ and θ start and end angles exactly overlap, the power computation
in the first-sector correctly represents the radiated power in all directions. If, however, the first
and last angular directions do not exactly overlap, but are separated by a single increment angle
value, the power computed over the second sector represents the actual power over the full
pattern. (Both radiated power values — with and without the overlap-correction — are computed
and stored in the text *.out file below the far field information. The actual ranges represented
by each of the power values is also indicated. The value that represents the intended angular
ranges should be taken — for example, when considering a full pattern, the value for which the
φ range is exactly 360◦ and the θ range is exactly 180◦ should be used.)

The Scope tab

On the Scope tab, a selection may be made between the field calculation using all sources and
only using sources on elements with specified labels. If labels are specified, only the currents on
structures with specified labels are used during field computation. The Scope tab on the Request
far fields dialog is shown in Figure 3-113.

Figure 3-113: The Scope tab on the Request far fields dialog.

October 2013 FEKO User’s Manual


USING CADFEKO 3-110

The Advanced tab

Directivity/Gain: A selection may be made between the calculation of directivity or gain (when not cal-
culating RCS). Note that both POSTFEKO and OPTFEKO can access both gain and directivity
results independent of this setting — this setting controls only what is written to the *.out
file.

Export fields to ASCII file (*.ffe): If this option is checked, the computed far fields are exported to an
*.ffe file (see Section 14.32.3). This file can be used by other post-processors or as a source
pattern for the radiation pattern point source (see Section 3.7.7) or a receiving antenna (see
Section 3.9.6) element.

Export fields to *.out file: If this option is checked, the fields are included in the text output *.out file.
This file is not used by POSTFEKO or OPTFEKO and is only necessary if the user would like
to view or extract the relevant data from the text output directly.

Calculate only the scattered part of the field: This option indicates that the radiated contribution from
impressed sources (such as electric and magnetic point sources) should (in addition to the
contribution from plane wave sources) be ignored, yielding only the scattered fields. Nor-
mally this option should remain unchecked.

Only determine radiated far field power by integration: If this option is checked, the far fields — and the
total radiated power — are calculated, but the field values are not written to the *.bof or
*.out output files (fields are still written to the *.ffe file if this has been requested). This
option should only be used if the individual field values are not required and the output files
would otherwise become too large. If this option is selected, the far field values will not be
accessible for viewing in POSTFEKO or for optimisation in OPTFEKO

Calculate continuous far field data: If this option is checked, interpolation is used to display continuous
far field data (see Section 9.8.2).

Figure 3-114: (a) The result of a 3D pattern far field request with θ = 7 and φ = 13 points and (b) the
result of a 3D pattern far field request with θ = 7 and φ = 13 points with the Calculate
continuous far field data option selected.

Calculate spherical expansion mode coefficients: This can be checked to calculate these coefficients. The
coefficients can be exported to a TICRA *.sph file. Note that the gain in GRASP will only
be correct if the radiated power in FEKO has been set to 4π Watts. For more detail see

October 2013 FEKO User’s Manual


USING CADFEKO 3-111

the description of spherical modes in the FF card (see Section 14.38). Spherical mode
coefficients can also be imported from a *.sph file in the spherical mode excitation (see
Section 3.7.7).

Specify number of modes: If this option is unchecked, the maximum mode index N is automatically de-
termined when computing the spherical mode coefficients. If this option is checked, the
maximum mode index is specified by the user.

Maximum mode index N: The maximum mode index is specified.

Calculate far field for an array of elements: If this option is checked, the far field can be calculated for
an array of elements. Optional is to set the Number of elements along vector 1 and Number
of elements along vector 2.

3.9.2 Near fields

The calculation of near fields is requested by adding a near field solution request. Select
the Request tab and click on the Near fields button.
The Request near fields dialog is shown in Figure 3-115.

Figure 3-115: The Position and Advanced tabs of the Request near fields dialog.

The Position tab

When specifying a near field request, one of the following definition methods/coordinate systems
may be used: Cartesian, Conical, Cylindrical, Cylindrical (x axis), Cylindrical (y axis), Spherical
and Tetrahedral mesh.
For the above Definition methods (except Tetrahedral mesh), the following are required to be
specified:

October 2013 FEKO User’s Manual


USING CADFEKO 3-112

Specify increments: A user specifies the Start, End and Increment. The Number of field points are then
automatically calculated.

Specify number of points: A user specifies the Start, End and Number of field points. The Increment is
then automatically calculated.

The actual end position depends on the start position, the number of samples and the increment
and may not coincide exactly with the specified end position. The fields and units of the fields
are interpreted according the coordinate system selection on the coordinates tab (distances in
terms of the model unit and angles in degrees). CADFEKO dynamically calculates the number of
sample points in each direction and displays a preview of in the 3D view. This preview shows
the specified range as surfaces enclosing the specified volume, with markers at the actual sample
positions. For finely sampled near field requests, where there are too many markers, the markers
may not be displayed. (Note that using even moderate numbers in all three directions can quickly
result in a large number of samples.)

The Scope tab

On the Scope tab, a selection may be made between the field calculation using all sources and
only using sources on elements with specified labels. If labels are specified, only the currents on
structures with specified labels are used during field computation. The Scope tab on the Request
near fields dialog is shown in Figure 3-116.

Figure 3-116: The Scope tab on the Request near fields dialog.

The Advanced tab

On the Advanced tab, a selection may be made between the calculation of fields or potentials and
special storage options may be set.

Field: The actual near field components are calculated and stored in the solution output. The
electric and/or magnetic field components may be included.

Potential: This option may be used for advanced field analysis. Only one potential type may be in-
cluded in a single near field request. The vector potential, scalar potential or the gradient
of the scalar potential for either the electric or magnetic field may be selected.

October 2013 FEKO User’s Manual


USING CADFEKO 3-113

The following options are common to both the Fields and Potentials near field request types.

Export fields to ASCII file (*.efe, *.hfe): Calculated electric fields/potentials are written to a *.efe file
(see Section 14.32.2) and magnetic fields/potentials to a *.hfe file (see Section 14.32.2).
These are ASCII files that may be used by other post-processors.

Export fields to *.out file: If this option is checked, the fields are included in the human readable *.out
file. (The *.out file is not required for viewing in POSTFEKO or for optimisation in OPT-
FEKO.)

Export fields to SEMCAD *.dat file: If this option is checked, the fields are written to a *.dat file.

Export fields to SPARK3D *.fse file: If this option is checked, the fields calculated at the vertices and
edge mid-points of the tetrahedra are written to a *.fse file. Note that the Tetrahedral
mesh option must be selected on the Position tab.

Calculate only the scattered part of the field: If this option is checked, the radiated contribution from im-
pressed sources (such as electric and magnetic point sources) is ignored, yielding only the
scattered fields. Normally this option should remain unchecked.

3.9.3 Error estimation

Error estimation is an a-posteriori error indicator which gives feedback on the mesh quality.
The mesh quality is determined by testing the solution against an unconstrained physical test.
Requesting of error estimates will enable the user to find areas which might require local mesh
refinement (see Section 3.10.7).

Select the Request tab and click on the Error estimation button.
A user may elect to request error estimates only on All mesh elements, Only error estimates
on triangles, Only error estimates on segments, Only error estimates on tetrahedra or Only error
estimates on specified labels.
The error estimate dialog is shown in Figure 3-117.

Figure 3-117: The Request error estimation dialog.

Export error estimates to *.out file: In addition to the inclusion of the currents in the standard solution
output (used by POSTFEKO), the error estimates are written to the text *.out file.

October 2013 FEKO User’s Manual


USING CADFEKO 3-114

Adaptive mesh refinement may be applied by reading the error estimates from an earlier solution.
Point refinement rules will be created in the areas where the errors are estimated to be the
highest.
An Adaptive refinement (see Section 3.10.6) may be added by selecting the Mesh tab and clicking
on the Adaptive refinement button.

3.9.4 Currents

The currents that should be provided in the output of the simulation (and therefore be
available for analysis or visualisation) are specified in the Request currents dialog (shown
in Figure 3-118). This dialog is launched by selecting the Request tab and clicking on the Currents
button.

Figure 3-118: The Request currents dialog.

All currents: All currents will be computed and stored in the simulation output.

Only currents on specified labels: The currents on the segments and triangles with the specified labels
are computed.

Only segment currents: The currents on segments are computed.

Only triangle currents: The currents on triangles are computed.

Export currents to ASCII file (*.os/*.ol): The currents and charges that are stored in the solution out-
put are also written to a *.os (see Section 14.32.5) and *.ol (see Section 14.32.4) files
respectively which can be read by other post-processors.

Export currents to *.out file: In addition to the inclusion of the currents in the standard solution output
(used by POSTFEKO), the currents are written to the text *.out file.

Though currents must be included in the output to enable the display of current distributions,
in large models the unnecessary storage of currents can lead to large output files. When using
adaptive sampling (see Section 3.7.1) the unnecessary storage of currents may also increase the
number of frequencies required for solution convergence. In general, only the currents that are
needed should therefore be stored.

3.9.5 Transmission/reflection coefficients

October 2013 FEKO User’s Manual


USING CADFEKO 3-115

The calculation of transmission/reflection coefficients for a plane wave interacting with


a planar structure may be requested by selecting the Request tab and clicking on the
Transmission/reflection button.
The Request transmission/reflection coefficients dialog is shown in Figure 3-119.

Figure 3-119: The Request transmission/reflection coefficients dialog.

Plane position for phase reference: The position of the plane wave in Cartesian coordinates are defined
here.

Incident field E i Reflected field Er

Transmitted field Et

Figure 3-120: A plane wave interacting with a planar structure.

The transmission coefficient is defined as


Et
τ= (3-16)
Ei

The reflection coefficient is given as


Er
ρ= (3-17)
Ei

Note that only a single plane wave is allowed (i.e. no other sources are allowed in the model).
The model must either contain a:

• Planar multilayer substrate without any other geometry/mesh in the model or

• 2D periodic boundary condition (PBC)

3.9.6 Ideal receiving (RX) antenna

October 2013 FEKO User’s Manual


USING CADFEKO 3-116

The Receiving antenna provides a tool by which the power that would be received by an
antenna can be calculated. Select the Request tab and click on the RX antenna menu
button. From the dropdown menu select one of the following options:

RX far field antenna (far field pattern): An ideal receiving antenna is described by a far
field pattern by means of a *.ffe file (see Section 3.9.1) or from an external file.

RX near field antenna (near field aperture): A receiving antenna is described by near field
aperture(s) by means of an *.efe and *.hfe file (see Section 3.9.2) or from ASCII test
files.

RX spherical modes: A receiving antenna is described by spherical modes by means of a


TICRA (*.sph) file (see Section 3.9.2).
Note that the following assumptions must be kept in mind when using the receiving antenna:

• The antenna is considered to be matched (i.e. no mismatch loss is taken into account)

• The antenna and model are assumed to have no impact on each other during the solution
phase (no coupling is taken into account)

RX far field antenna

The far field pattern receiving antenna is assumed to exist only at one point and is reciprocal to
the point source with a specified pattern (see Section 3.7.7) and the parameters on the dialog
are identical.
If only the scattered part of the fields is required, select the Advanced tab and check the option
Include only the scattered part of the field.

RX near field antenna

The near field aperture receiving antenna is reciprocal to the aperture field excitation (see Sec-
tion 3.7.7) and the parameters on the dialog are identical.
If only the scattered part of the fields is required, select the Advanced tab and check the option
Include only the scattered part of the field.

RX spherical modes

The spherical modes receiving antenna is reciprocal to the impressed spherical mode excitation
(see Section 3.7.7) and the parameters on the dialog are identical.
If only the scattered part of the fields is required, select the Advanced tab and check the option
Include only the scattered part of the field.

October 2013 FEKO User’s Manual


USING CADFEKO 3-117

Figure 3-121: The Request ideal receiving antenna (far field pattern) and Request receiving antenna (near
field aperture) dialogs.

Figure 3-122: The Request receiving antenna (spherical modes) dialog.

3.9.7 SAR

Specific absorption rate (SAR) studies typically require the average absorption over a
volume (the Volume-average SAR) or the maximum absorption in a 1 g or 10 g cube
anywhere in a given volume (the Spatial-peak SAR). The calculation of these quantities can be
requested by adding a SAR solution request. Select the Request tab and click on the SAR button.
The Request SAR dialog is shown in Figure 3-123.

Select calculation: The specific SAR related quantity that is required is defined here.

October 2013 FEKO User’s Manual


USING CADFEKO 3-118

Figure 3-123: The Request SAR dialog.

Specify the search region: The region (or volume) is which the SAR should be calculated is defined here.
The available search regions are:

• Entire model : All dielectric regions in the model will be considered, and a single
average or peak SAR value will be computed.
• By medium : Only the set of regions with specific media types will be considered.
All, or only a specific medium may be selected. For All media average or peak SAR is
calculated separately for each medium, and thus it is not the same as selecting Entire
model.
• In a planar substrate : A specific layer (layer 0 is the upper free space region, layer 1
the uppermost dielectric layer, etc.) or All layers may be included. This option cannot
be used with volume averaging.
• At a specified position : The 1 g or 10 g cube SAR value may be calculated at a specific
position. This option cannot be used with volume averaging.

3.9.8 Cable probe

The Cable probe provides a tool to request the voltage or current along a cable path.

Select the Request tab and click on the Cable probe button. The Create cable probe dialog
is shown in Figure 3-124.

Percentage along cable path: The position of the probe on the cable path. The position is determined as
a percentage of the total path length, beginning from the start connector.

Distance along cable path: The position of the probe on the cable path. The position is determined by
the specified distance from the start connector.

Refer to the PR card (see Section 14.58) for more information.

October 2013 FEKO User’s Manual


USING CADFEKO 3-119

Figure 3-124: The Create cable probe dialog.

3.10 Mesh the geometry/model mesh

A mesh is a discretised representation of a geometry model or mesh model. All models need a
mesh representation that is used for simulation in the FEKO kernel. This mesh representation is
called the simulation mesh. All geometry parts need to be meshed to obtain a simulation mesh.
Mesh parts can either be remeshed to obtain a new simulation mesh or the model mesh can be
used as the simulation mesh. The accuracy of the results depend greatly on generating a mesh
that is appropriate for the problem being solved. As such it is important to generate the correct
mesh.
The following terminology will be used:

Model mesh: While model refers to either geometry (created or imported) or imported mesh,
the term model mesh refers to the parts that consist of mesh elements (usually
imported meshes).

Simulation mesh: The geometry or model mesh is meshed to create the simulation mesh. The
simulation mesh is used by the FEKO kernel to obtain a solution.

3.10.1 Create simulation mesh

The Create mesh dialog (see Figure 3-125) is launched by selecting the Mesh tab and click-
ing on the Create mesh button. The Create mesh dialog can also be launched by means
of its shortcut, <Ctrl><M>. For quick access, it is also available on the Home tab. If the mesh
settings have been verified, the user can also run a Quick mesh that skips the dialog and performs
the mesh without dialogs or prompts. To start a Quick mesh, press <Ctrl><Shift><M>.
When creating a mesh, the model can either be automatically meshed (see Section 3.10.2) by
taking into account model properties or by specifying custom mesh sizes (see Section 3.10.3).
The user also has control on whether the entire model is to be meshed or only a selection of the
model. Note that selection can be changed while the dialog is open.
Once the mesh action is performed, a resulting simulation mesh will be generated and indicated
by a blue mesh icon, see Figure 3-126. Any major changes to the geometry will automatically
remove the simulation mesh, since it will no longer accurately represent the geometry.

October 2013 FEKO User’s Manual


USING CADFEKO 3-120

Figure 3-125: The Create mesh dialog.

Figure 3-126: A generated simulation mesh is indicated by a blue mesh icon in the model tree.

It is not possible to directly edit a simulation mesh. However, it is possible to unlink a


simulation mesh from its geometry and edit it as though it is a imported model mesh.
Unlinking the simulation mesh creates a new model mesh. To unlink the simulation mesh, select
the simulation mesh in the model tree. From the context menu, select Unlink mesh.

3.10.2 Automatic meshing

Automatic meshing takes several model properties into account and generates a mesh that is
appropriate for that configuration. Local refinement (see Section 3.10.7) may still be necessary,
but in most cases the automatic meshes will give a reasonable mesh. Meshes are generally built
relative to the wavelength of an electromagnetic wave in the medium of propagation. Each
solution method has different requirements and sometimes the model itself will influence the
accuracy of results. The following model properties are considered:

Frequency: The shortest wavelength corresponds to the highest simulation frequency. Note then that the
frequency range for the simulation must be set before automatic meshes can be generated.

Solution method: Depending on the solution method being used to solve the problem, different mesh
requirements may be needed. For example, a FEM model requires settings for tetrahedra,
a MoM solution requires settings for triangles and wires, while a hybrid solution needs to
take both into account.

Dielectric properties: The dielectric properties of the media in the model will affect the propagation
speed of an electromagnetic wave in a medium, which will in turn affect the wavelength.
Dielectric media are taken into account in all cases except in the case where infinite layers
are being used. In these cases, local refinement must be applied.

October 2013 FEKO User’s Manual


USING CADFEKO 3-121

Geometry curvature: Even in cases where a finer mesh isn’t required for accurate solution results, it may
still be required to accurately model aspects of the geometry. Automatic meshes will attempt
to reasonably conform to the original geometry, the settings of which can be modified on
the Advanced tab.

Local mesh refinement settings may still be applied to individual components in a model. Any
local mesh refinement settings will be respected, meaning that a user’s local mesh refinement
setting will never be overwritten.

Wires

For wires, the wavelength (λ) is determined based on the maximum simulation frequency and
the surrounding medium.

Table 3-7: Automatic meshing for wires.

Type Fine Standard Coarse


1 1 1
Method of moments (MoM) 25
λ 12
λ 8
λ

Faces and edges

If any of the bounding regions have a user-defined local mesh size, then the face will inherit the
smallest of these local mesh sizes. If a face is the bounding face of a FEM region, then the first
order automatic mesh size of that region will be used. If a face is the bounding face of a VEP
region, then the mesh size of that region will be used. In all other cases the smallest wavelength
for the bounding media is determined.

Table 3-8: Automatic meshing for faces and edges.

Type Fine Standard Coarse


1 1 1
MoM (RWG or 0.5 order basis function) 16
λ 12
λ 8
λ
3 1 3
MoM (1.5 order basis function) 16
λ 4
λ 8
λ
1 1 1
MoM (2.5 order basis function) 3.2
λ 2.4
λ 1.6
λ
1 1 1
MoM (3.5 order basis function) 1.6
λ 1.2
λ 0.8
λ
1 1 1
Physical optics (PO) 10
λ 8
λ 6
λ
9 9 9
Large element PO (LE-PO) 5
λ 5
λ 5
λ
Geometric optics (GO) ∞ ∞ ∞

Regions

For regions, the wavelength (λ) is determined based on the maximum simulation frequency and
the medium properties of the region. The specified lengths will be applied to the tetrahedral edge
lengths.

October 2013 FEKO User’s Manual


USING CADFEKO 3-122

Table 3-9: Automatic meshing for regions.

Type Fine Standard Coarse


1 1 1
Finite element method (1st order FEM) 15
λ 10
λ 6
λ
1 1 1
Finite element method (2nd order FEM) 12
λ 8
λ 6
λ
1 1 1
Volume equivalence principle (VEP) 16
λ 12
λ 8
λ

3.10.3 Custom meshing

For finer control over the simulation mesh, the lengths of the edges of triangles and tetrahedra
as well as the lengths of wire segments can be specified. This type of control can be used if the
automatic meshing does not provide an appropriate mesh.

Triangle edge length: The Triangle edge length field specifies the default mesh size for the edges of
triangles. Note that edges may be as much as 30% longer than the specified length. (See
Section 3.10.5.)

Wire segment length: The Wire segment length field specifies the maximum length for wire segments.
All edges that do not form the boundary of a face are assumed to be conducting wires and
meshed into segments.

Tetrahedral edge length: The Tetrahedral edge length field specifies the default mesh size for the edges
of tetrahedral. Note that edges may be as much as 30% longer than the specified length.
(See Section 3.10.5.)

3.10.4 Advanced meshing options

The following options are available on the Advanced tab of the Create mesh dialog (shown in
Figure 3-127).

Handling of small geometry features: This group allows special treatment of small geometry details. The
Geometry smaller than [%] field specifies the limit of what is considered a small feature as
a percentage of the size of the part that it belongs to.
The Default setting is to mesh these structures using the Standard option. This will result in
an accurate representation of the geometry, potentially using very small elements. Optimise
is useful where the geometry has long narrow slivers or faces that are close together. If this
option is selected, CADFEKO will try to improve the mesh quality of small features. Finally,
it is possible to Ignore small features. Small details are then ignored at a possible cost of
accurate geometry representation. This option may at times allow the meshing of faces that
otherwise cannot be meshed with the default settings. Note that ignoring small features
does not work for closed edges. Such edges can, however, be divided by imprinting points
(see Section 3.4.3).

Enable mesh smoothing: If Enable mesh smoothing is checked, an additional smoothing algorithm is
applied. This will result in a better quality mesh, but will increase meshing time.

Mesh quality: The Mesh size growth rate controls how quickly the mesh size changes. Fast allows an
abrupt jump from small to large elements, while for Slow each triangle will not be more
than twice the size of any other triangle that it is connected to.

October 2013 FEKO User’s Manual


USING CADFEKO 3-123

Figure 3-127: The Create mesh dialog (Advanced tab).

Curved geometry approximation settings: The Refinement factor indicates how closely a mesh must con-
form to the geometry. For geometries with many small details, a setting of Fine will require
smaller triangles which will reduce simulation performance and perhaps even give errors.
To limit the size of these elements, the Minimum element size can be set as a percentage of
the average edge length on that part.
The option to allow elongated triangles means that the resulting mesh will make use of
long, thin triangles where required. This could lead to a reduction in the number of mesh
elements, depending on the type of geometry being meshed.

Curvilinear mesh triangles: Geometry and mesh parts can be meshed by using second order curvilinear
triangles with 6 vertex points. Curvilinear meshes allow users to utilise few, large HOBF
elements on models that previously (pre Suite 6.3) had to use many, small, lower order or
traditional basis functions to accurately represent the model curvature.
The following options are available: Auto: Curvilinear mesh triangles will be used if it
will usually result in a faster solving time with the selected solution method, see Figure 3-
128. Disabled: Flat triangle elements are created. Enabled: Curvilinear mesh triangles are
enabled.
Note that higher order basis functions (HOBF) (see Section 3.12.1) needs to be enabled for
curvilinear meshing (except for windscreen elements).

In general, the mesh size is not allowed to be smaller than the maximum coordinate divided by
1×108 . This is the limit of the numerical precision of the geometry. For very small models (which
require correspondingly small mesh sizes), the geometry extents (see Section 3.3.7) should be
decreased. The mesh size is also not allowed to be larger than four times the extents. (For more
information regarding the required and suggested mesh sizes for different mesh elements, see
Section 15.2.2.)

October 2013 FEKO User’s Manual


USING CADFEKO 3-124

Figure 3-128: (a) A model with flat triangular mesh and (b) model with curvilinear mesh and higher order
basis functions enabled.

3.10.5 Mesh info

After the geometry has been meshed, the quality of the simulation mesh may be examined by
viewing the mesh info.

Select the Mesh tab and click on the Info button to show a histogram of the edge length
distribution (as well as the average edge length and standard deviation of the edge
lengths) for the current mesh selection. Note that the selection may contain mesh parts, la-
bels or elements. The number of triangles, tetrahedra, line segments and cuboids are also given
on the Mesh information dialog.

Figure 3-129: The Mesh information dialog.

The spread gives an indication of the quality of the mesh and shows how many edges are longer
than a desired length.

October 2013 FEKO User’s Manual


USING CADFEKO 3-125

3.10.6 Mesh refinement rules

CADFEKO supports Point, Polyline refinement and Adaptive mesh refinement.

Point refinement

If a point refinement is required in the mesh, select the Mesh tab and click on the Point
refinement button.

Polyline refinement

If polyline refinement is required in the mesh, select the Mesh tab and click on the Point
refinement button. The polyline, radius and the mesh size is specified by the user, see
Figure 3-130.

Figure 3-130: The Add polyline refinement dialog.

Adaptive mesh refinement

Adaptive mesh refinement may be applied by reading the error estimates from an earlier solution.
Point refinement rules will be created in the areas where the errors are estimated to be the
highest.

An Adaptive refinement may be added by selecting the Mesh tab and clicking on the
Adaptive refinement button. Note that an error estimation data (see Section 3.9.3) must
have been requested.

October 2013 FEKO User’s Manual


USING CADFEKO 3-126

3.10.7 Setting local mesh sizes

Sometimes an accurate solution requires a very fine mesh of the model. Additionally, when
meshing curved structures, a finer mesh may be required for an accurate representation of the
geometry. Rather than mesh the entire model at this size, the user may specify a local mesh size
for these parts.
The sizes specified on the Create mesh dialog are used on all items which do not have a local
mesh size.
For regions, faces or edges, local mesh parameters can be specified in the Mesh size group on the
respective Properties dialogs. This group contains a Local mesh size field which must be checked
if a local mesh size is to be set. An icon will be displayed next to all items in the details tree on
which local mesh parameters have been set to indicate this.
If a region that has a local mesh size set on it is meshed into tetrahedra, that size will also be
applicable to the bordering faces. An additional finer mesh size can, of course, be specified on
these faces. (The minimum of all applicable local mesh sizes are used.) Likewise, setting a mesh
size on a face also sets that size on its bounding edges. If a finer mesh size is specified on, for
example, an edge of a face, then the triangles of the face will adhere to this length along the
edge, even though the rest of the face may have a much larger mesh size.
The final mesh size on any item is the minimum of all local sizes applicable to it. As an extreme
example, if an edge borders a face which is the boundary of a region and all three items have
a local mesh size, the final mesh size on the edge is the minimum of all three these sizes. On
faces, the local mesh size may be larger than the global mesh size. Note, however, that if no local
mesh size is specified on the bordering edges, the global mesh size applies to them. The triangles
on the edge of the surface will then have the global mesh size. For regions, the local mesh size
is only used when meshing the region into tetrahedra. If the local mesh size on a region is set,
then volume meshing of that region still will occur at the smaller of the specified local and global
mesh sizes.
For wires, a local wire radius may be specified on the Edge properties dialog. Note that wires are
displayed as lines in the 3D view and that the radius is not represented. The radius for meshed
segments are displayed by default . An icon next to the edge in the details tree indicates that a
local wire radius has been set.

3.10.8 Batch meshing - changing the model variable from a command line

A stand-alone batch meshing tool can be called from a command line. This tool makes provision
for the re-evaluation and meshing of an existing CADFEKO model (after reassigning specific
variable values) without launching the graphical user interface.
This functionality is used by OPTFEKO during the optimisation process, and also provides for the
manipulation of CADFEKO models and the creation of meshes from CADFEKO models directly
from a third-party tool, or a command line script. The required variables and values are included
directly in the command line string.
The CADFEKO batch-mesher is launched using the command:
cadfeko_batch <filename> [options]

October 2013 FEKO User’s Manual


USING CADFEKO 3-127

Where <filename> is an existing CADFEKO model (*.cfx) (with or without the extension).
The path may be included in the <filename> string. After re-evaluation and meshing, the
modified CADFEKO model will be saved, replacing the existing *.cfx file as well as the *.cfm,
*.pre , *.opt and *.pfg files (if the solution configuration is deactivated in the CADFEKO
model, or if the *.pre file has been edited outside of CADFEKO, then the *.pre file will not be
overwritten).
If the batch-mesher is called with no variable assignments in the options, then the indicated file
will simply be re-meshed and saved without any changes to the variable values in the model. This
will create (or overwrite existing) *.pre, *.opt, *.cfm and *.pfg files (where applicable).
If the new variable values indicated in the command line cause an error during re-evaluation or
meshing, the changes will be aborted (no changes are made to the model) and an error reported.
If suspect entities are found in the CADFEKO model after re-evaluation, the re-evaluation and
meshing will be completed, and the new model and mesh created, but an error will also be
reported (this error will be reported for all suspect items, even if they were not introduced due
to changes made by the batch-mesher).
If multiple assignments are included in the command line options for the same variable, then
the last value assigned to that variable will be used for that variable before model re-evaluation,
meshing and saving.
The command line options are:

−−version Output only the version information to the command line and then terminate. No file
name is required to use this option.

-#var=value Allows variables to be assigned new values before re-evaluation and meshing. Multiple
variables may be included, but each variable must be indicated in the same way (i.e. to
set variables ‘a’ and ‘b’ to 1, the options should contain ...-#a=1 -#b=1...).

−−run-from-gui This uses a special execution mode for the graphical user interface. In this mode,
additional information regarding the progress of each phase of the model re-evaluation
and meshing is included in the screen output.

3.10.9 Find

CADFEKO provides tools to perform basic consistency checks on the geometry. These tools may
be applied globally (to all geometry in the model) or locally (only to the current selection — not
available if the selection is empty).

Clashing geometry

Since properly connected meshes are only guaranteed for single parts, it is important to
ensure that different parts do not clash. Parts clash if there is any contact between them or
if one part is completely inside another. Select the Mesh tab and click on the Clashing geometry
button.
Any parts containing clashing geometry will be selected and listed in the message window.

October 2013 FEKO User’s Manual


USING CADFEKO 3-128

This finds and selects all the edges that are free (not attached to any face) or attached to only
one face within the indicated scope. If this operation selects an edge that seems to be connected
to multiple faces, it means that there is more than one edge at this location and that the faces do
not make electrical contact. This usually indicates a problem in the model.

Distorted elements

Selecting the Mesh model and clicking on the Distorted elements button searches the
current selection (mesh parts, labels or elements) for distorted elements.
After the operation is applied, the identified inappropriate elements are selected and listed in the
message window. The selection Undo and Redo operations can be used to see which elements
were selected before and after the test.
Distorted mesh elements are specified in terms of the minimum internal angle. In an ideal mesh
all internal angles are 60◦ (all angles in CADFEKO — except the arguments of trigonometric
functions used in expressions — are in degrees). If any of the three angles in a mesh element
are very small, the element is a sliver. Such elements can be removed by deleting vertices (see
Section 3.10.10).

Intersecting elements

Intersecting mesh triangles indicates all triangles that intersect, but are not connected.
This is useful for identifying areas of poor mesh quality - particularly in imported meshes.
This tool highlights all mesh elements that overlap (entirely or partially) or cut each-other and
are not connected at the point of intersection. After the tool is applied, all parts that contain
intersecting mesh elements are highlighted in the tree, and the individual problematic mesh
elements are highlighted (shown in yellow) in the 3D view. The selection may be deleted, but
typically each intersection should be considered and repaired according to the intended mesh
representation.

Oversized elements

Oversized elements are found based on the maximum edge length. It is recommended
not find and take note of any elements that are oversized. Large elements can cause
inaccuracies in the results and lead to errors during the simulation.

3.10.10 Fix

CADFEKO provides tools to create triangles, merge selected mesh parts, remove collapsed and
duplicate triangles and to merge vertices.

Create triangle

Sometimes manual mesh fixing is required. This may be because the mesh contains a number
of holes or because faulty elements were selected and deleted. Unlike deleting vertices (see
Section 3.10.10), deleting elements leaves a hole in the mesh surface.

October 2013 FEKO User’s Manual


USING CADFEKO 3-129

For this reason, mesh triangles can be manually constructed by selecting the Mesh tab and
clicking on the Create triangle button.
This operation is only allowed if the selection contains a single mesh label (in which case the new
element is added to this label), or a single mesh part (in which case the new element is added to
a new label created under this part). The Create mesh triangle dialog allows specification of the
three corners of the triangle. Since these three fields are standard point entry (see Section 2.7.2)
fields, all the different snap options (see Section 2.6.5) are available.
Manually constructed triangles may be “moved” into an existing label. Select all the elements of
the existing label as well as all the new elements. (If the elements were selected by label, click
the Select mesh element button to convert the selection to individual elements.) Now right click
on the selected elements and select Rename. This will merge all the selected elements to one
label which can then be renamed. If all elements of a label are renamed, that label is removed —
the original label name can then be used for the newly created label. Alternatively, mesh labels
may be selected, and the Merge tool applied from the right-click menu. This will merge all of the
selected mesh elements into a single mesh label within the same mesh part.

Merge meshes (union for meshes)

When mesh parts have been imported as separate mesh parts, it is not possible investigate
mesh connectivity or add edge port between these parts. Meshes can be merged into a
single mesh by selecting the mesh parts in the model tree and selecting the Merge option from
the context menu (right-click on the mesh parts) or merge the meshes by selecting the Mesh tab
and clicking on Merge meshes.

October 2013 FEKO User’s Manual


USING CADFEKO 3-130

Remove collapsed elements

Selecting the Mesh tab and clicking on the Remove collapsed button will delete all degen-
erate elements (elements where two or more nodes coincide).

Remove duplicates

Duplicate elements within a mesh part can be deleted automatically. Select the required
mesh parts and select the Mesh tab and click on the Remove duplicates button.(Generally
duplicate elements should only occur in imported meshes or where CADFEKO meshes were edited
manually.)
If duplicate elements have the same label, CADFEKO deletes all but one. If the elements do not
have the same label, it may be important to delete a specific element. This is controlled with
the Remove duplicate mesh elements dialog shown in Figure 3-131. The items are ordered by
pressing <Ctrl> and dragging the numbers in the left-hand column. For each set of duplicates
an element whose label is highest on this list is retained and all others are deleted. (There could
be more than two identical elements.)

Figure 3-131: The Remove duplicate mesh elements dialog.

Merge vertices (Removing vertices)

Connectivity in FEKO relies on vertices of adjacent mesh elements being within a small
tolerance of each other. CADFEKO allows merging all vertices within a user-specified
tolerance. To do this, select one or more mesh parts and select the Mesh tab and click on Merge
vertices to open the Merge coincident vertices dialog.
Here a Tolerance can be specified. Any two points separated by less than this distance are then
merged to the coordinates of one of the original vertices (as opposed to taking the average
position) resulting in a single vertex.
If the Snap to geometry points or Snap to named points fields are checked, mesh vertices lying
within the specified tolerance of these points will be snapped to them. For example, if a named
point lies between two mesh vertices that are less than the specified tolerance from each other
they will be merged at this point. If the snap options are checked, vertices lying within the
tolerance from geometry or named points will be included in the number of merged vertices
listed in the message window — even if they originally coincided exactly with the points.
Merging points can lead to degenerate (collapsed) triangles. CADFEKO tries to avoid this by
giving a warning if the tolerance is large relative to the mesh sizes. It also automatically removes
all degenerate elements after merging the vertices.

October 2013 FEKO User’s Manual


USING CADFEKO 3-131

3.10.11 Relabelling mesh elements

Any selection of mesh elements can be relabelled provided they are of the same type and belong
to the same mesh part. Since the full label is constructed as Assembly.Part.Label, it is not possible
to relabel elements on different parts. Note that the individual elements represented in the 3D
view, not the labels in the tree, must be selected. (If the selection is done by mesh part or mesh
label, switching to element selection automatically selects all elements belonging to the selected
parts/label — see Section 3.19.1). If the original elements did not have the same settings (media,
using PO, etc.) the new label is marked suspect as CADFEKO cannot automatically determine
which of the settings to use.
Multiple mesh labels labels can also be merged (grouped under the same name) by simply select-
ing the mesh elements in the details tree and clicking on Merge in the context menu. Merging of
elements is also only possible within in a single mesh part.
Labels are used to reference specific elements when setting certain properties. To specify unique
properties on an element or collection of elements, those elements need to be relabelled. As an
example, consider a simple wire monopole attached to a plate, created as Union1. The resulting
mesh contains two labels: Face1 for the triangles on the plate and Wire5 for the segments on
the monopole. If, for example, only the bottom half of the dipole is coated with a dielectric,
only these segments must be relabelled before applying the coating. (A better approach to this
example would be to split the original wire — by imprinting a point — and apply the coating to
the resulting lower edge.)
When the last element with any label is removed (deleted or relabelled), the label is removed.
Thus if a selection containing all elements from more than one label is renamed, the total number
of labels is reduced.
Care must be taken when remeshing parts where the mesh has been relabelled. Since the entire
mesh part is replaced by the new mesh, the label created by relabelling the elements is lost. If
the example above is remeshed, there will again be only the labels Face1 and Wire5. Therefore,
relabelling elements should be delayed till as late as possible in the model preparation process.

3.11 Model solution settings

3.11.1 Symmetry

CADFEKO allows the specification of planes of symmetry that may be used to accelerate the
simulation and reduce the memory requirements for the solution of a problem.

To add symmetry to a model select the Solve/Run tab and click on the Symmetry button.
The Symmetry definition dialog is given in Figure 3-132.
During meshing CADFEKO will validate that the geometry to be meshed does indeed adhere to
the specified model symmetry (both geometric symmetry as well as symmetry of excitation and
loads where magnetic/electric symmetry is used). If the model is found not to adhere to the
specified model symmetry then CADFEKO will abort the meshing process, and provide a list of
the parts of the model that break the symmetry.

October 2013 FEKO User’s Manual


USING CADFEKO 3-132

When writing the mesh to the *.cfm file (during saving or exporting) the symmetry of the mesh
is verified. If the mesh does not adhere to the symmetry (both geometric and excitation/loads),
then the *.cfm file is written, but the symmetry is excluded. In this case a warning is given with
the reasons why the symmetry cannot be applied.
It is possible that the geometry and/or mesh of a model appear to be symmetrical but the CAD-
FEKO symmetry tests indicate that this is not so. In this case it may be more appropriate to
delete half of the model, and use the mirror operation to ensure a symmetrical model rather than
trying to resolve each asymmetry. This is particularly relevant when working with imported CAD
geometry or imported meshes where there may be slight differences with respect to tolerances.
CADFEKO indicates the current symmetry of the model in the 3D view (as shown in Figure 3-
132 for three planes of symmetry). This preview is always shown while the Symmetry definition
dialog is open, but may be deactivated by toggling the Symmetry button (see Section 3.22.6)
in the relevant 3D view. The preview is coloured according to the symmetry type (green for
geometric symmetry, orange for electric symmetry and grey for magnetic symmetry).

Figure 3-132: The Symmetry definition dialog showing a preview of the symmetry.

When using magnetic or electric symmetry planes, all loads, excitations, media properties etc.
must be defined such that the model properties are identically symmetrical. For geometric planes
of symmetry, the geometry must be symmetric though symmetrical loading, excitation and media
properties are not required. It is important to note that geometry-linked ports (wire ports, wave-
guide ports, edge ports, line ports) may affect meshing and must therefore always have sym-
metrical counterparts around any defined symmetry plane, irrespective of the symmetry plane
type.

3.11.2 Numerical Green’s function (NGF)

CADFEKO allows the numerical Green’s function (NGF) to be applied to a MoM problem con-
sisting of a dominant, fixed static part and a smaller dynamic part. A user may elect to save the
static interaction matrix to a *.ngf file. The CPU time is then reduced by reusing the *.ngf file
to obtain solutions for the various dynamic domains.

Select the Solve/Run tab and click on the NGF button to launch the Numerical Green’s
function settings dialog, see Figure 3-133. The dialog will open with point entry (see
Section 2.7.2) enabled to add static parts. To add a part or model mesh to the list of static parts,

October 2013 FEKO User’s Manual


USING CADFEKO 3-133

Figure 3-133: The Numerical Green’s function settings dialog.

either click on the part or model mesh in the 3D view or in the tree (see Section 2.4.1). If a part
is specified as static, the NGF icon will be displayed next to the part in the tree, see Figure 3-134.
If the NGF is to be disabled for a part or model mesh, uncheck the Numerical Green’s function
active checkbox, see Figure 3-133. The NGF icon will be removed from the tree to indicate that
it is deactivated.

Figure 3-134: The numerical Green’s function activated for a part.

Note that domain decomposition is recommended for MoM models consisting of a large static
part and a smaller dynamic part. The static part must be large in relation to the dynamic part
to obtain a reduction in CPU time for calculating and solving the part of the problem associated
with the static domain.
The following restrictions apply with respect to NGF:

• NGF can only be activated on a part. Selecting a sub-part and activating the NGF will
activate the NGF for the entire part.

• NGF is not supported in conjunction with continuous frequency simulations.

• When NGF is activated for a part, the following can not be modified: the geometry, solution
method, media, ports added or deleted, loads, transmission lines and general networks as
the part is essentially “locked” (see Section 2.7.4). Excitations may be added or removed
from the part.

Refer to the DD card (see Section 13.9) for more information regarding domain decomposition
in EDITFEKO.

October 2013 FEKO User’s Manual


USING CADFEKO 3-134

3.12 Solver settings (global solution settings)

CADFEKO provides a number of options for the different solution techniques available in the
FEKO Suite. These options are advanced and the implications of each setting should be well
understood before use. The inappropriate application of these settings may result in poor result
accuracy or inefficient calculations. For most cases, the default solver settings are appropriate
and no changes are necessary before solving the model.

The solver settings may be accessed by selecting the Solve/Run tab and clicking on the
Solver settings button.

3.12.1 General solver settings

The general tab contains solver settings that have not been grouped with any of the other solver
settings groups.

Geometry tests

The following geometry checks are available on the General tab of the Solver settings dialog (by
default enabled).

• Activate normal geometry checking

• Activate mesh element size checking

The Activate normal geometry checking checks the geometry elements in the model for typical
user errors. Examples of geometry elements that are verified includes that connecting surfaces
have identical segmentation along a common edge and that connection points coincide. These
are types of errors which may be as a result of not unioning the geometry.
The Activate mesh element size checking activates the verification of the mesh size in relation to
the frequency.

Data storage precision

The option of setting the Data storage precision to Single precision forces FEKO to store certain
memory-critical arrays in single precision. Single precision is recommended unless the FEKO
kernel gives warnings and suggests that Double precision be used (this might happen for instance
at very low frequencies where increased accuracy is required).

Low frequency stabilisation

For low frequency modelling, the low frequency stabilisation for MoM may be activated in the
Low frequency modelling group. Note that this option is not required at higher frequencies
and does use more memory. This option should only be enabled when solving a model at low
frequencies and the matrix condition number starts to deteriorate.

October 2013 FEKO User’s Manual


USING CADFEKO 3-135

Figure 3-135: The General tab on the Solver settings dialog.

Store and re-use solution files

For large models, a significant amount of time can be saved if the solution coefficients are saved
during the solution phase. Note that for smaller models (where the run time is short), storage
of the solution coefficients is typically not required. Storage of the solution coefficients creates
large files that need to be maintained by the user.
The reading / creation of the matrix elements (*.mat), LU-decomposition (*.lud) and solution
vector of the linear equations (*.str) may be enabled in the Output files group. The *.str files
are used by default to allow fast simulations in cases where the requests are modified without
changing the rest of the model.

Higher order basis function control

The Basis function control group allows users to enable higher order basis functions (HOBF)
for the model globally. In addition to the global setting, HOBF can also be set on specific faces
and regions once it has been enabled. When HOBF are enabled for the model, the user can
select the desired order or allow the solution kernel to select the most appropriate order (Auto
(default)). For the Auto (default) option, the order is chosen by the kernel based on the size of
the element and neighbouring elements as well as the preferred range selection specified by the
user. Changing this setting from the default could cause a higher order or a lower order basis
function to be used for a particular element size.

October 2013 FEKO User’s Manual


USING CADFEKO 3-136

3.12.2 MLFMM and ACA settings

The MLFMM may be activated on the MLFMM/ACA tab by selecting Solve model with the multi-
level fast multipole method (MLFMM). For most cases the default settings are appropriate. The
MLFMM is typically used to solve electrically large, high frequency problems faster and with less
memory resources than the method of moments (MoM). If monostatic RCS is requested, solution
time can be decreased if the angular increment is less or equal to 5◦ . Note that the MLFMM
can currently not be used simultaneously with a multilayer Green’s function in the same model.
MLFMM may be used with the hybrid FEM/MoM.
The parameters on the MLFMM/ACA tab are only enabled if solution using the MLFMM is acti-
vated. The MLFMM is based on a hierarchical tree-based grouping algorithm, and FEKO automat-
ically determines the ideal number of levels for each model. If the solution does not converge,
advanced users may try to obtain convergence by modifying the Box size in wavelengths option.
A starting point of 0.23 is recommended and values should not be much less than this. (The value
specifies the box size in fractions of the wavelength.) Alternatively, the user can select Advanced
solver settings and set the number of iterations or the stopping criteria for the iterative process
or even select a different preconditioner. Any text field on this tab may be left empty. It should
be emphasised again that setting these parameters can have significant consequences, both in
accuracy and solution time — users without a working knowledge of the MLFMM or iterative
solvers should preferably only use the default settings. The behaviour of the MLFMM can also be
influenced by selecting the combined field integral equation, see Section 3.13.
The adaptive cross-approximation (ACA) may be activated on the MLFMM/ACA tab by selecting
the Solve model with the adaptive cross-approximation (ACA). The ACA is a fast method similar
to the MLFMM but is also applicable to low frequency problems or when using a Green’s function
in the model. If the solution does not converge, advanced users may try to obtain convergence
by selecting the Advanced solver settings and setting the number of iterations, stopping criteria
for the iterative process or even selecting a different preconditioner.
The advantages of the ACA is that it is done on the matrix level and has no low frequency
breakdown like MLFMM. It is not restricted to free space Green’s function like MLFMM and each
matrix-vector multiplication is very fast.

3.12.3 FEM solver settings

The FEM tab is used to control the FEM (finite element method). The FEM is used if the model
contains tetrahedral mesh elements (see Section 3.10.1). The following conductor properties of
metallic surfaces inside a FEM region are supported: skin effect, thin dielectric sheet, impedance
sheet and electrically thin surface coating.
If the FEM and MoM are de-coupled, the imperfect conductor surface may be on the FEM bound-
ary. If Decouple from MoM (use FEM absorbing condition) solutions is checked, the FEM region
(the tetrahedral elements and any conducting surfaces on their boundaries) will not influence the
MoM solution. This decoupling may save significant run time, but is only valid if the FEM and
MoM regions are electrically far enough apart. Closed FEM problems (i.e. completely confined
by PEC and/or modal port boundaries) will automatically be detected and the MoM solver will
be deactivated.
Switching to First order elements reduces the required memory and run time as well as the
accuracy. To get the same accuracy using First order elements, the mesh size must be reduced

October 2013 FEKO User’s Manual


USING CADFEKO 3-137

— normally such that the solution actually requires more memory and run time than the larger
mesh with second order elements. Thus switching to First order elements is only recommended
if the mesh is already very fine, for example to account for highly inhomogeneous media or very
complex geometry.

3.12.4 High frequency solution methods

The High frequency tab provides settings for the high-frequency asymptotic methods available
in FEKO (Physical optics, the UTD (uniform theory of diffraction) and Geometrical optics (ray
launching)).
Any changes to the high frequency settings should be based on the physical considerations of
each model.

Figure 3-136: The High frequency tab on the Solver settings dialog.

Solution using PO, UTD or GO is activated for each face (see Section 3.13). If Decouple PO and
MoM solutions or Decouple UTD/GO and MoM solutions are checked, the PO or UTD/GO struc-
tures are not taken into account when calculating the MoM currents. In this case, for example,
the input impedance of a horn fed parabolic reflector, where the horn is solved using the MoM
and the reflector using PO, will be the same as that of the MoM horn in free space. In general,
where the MoM and PO/UTD/GO regions are electrically far apart, and far field quantities are of
interest, decoupling the solutions may save a significant amount of memory and run time without
significantly affecting the results.
During calculations using the PO formulation, a large amount of the time is spent in determining
which surfaces are illuminated from each source. This information may be saved by activating the

October 2013 FEKO User’s Manual


USING CADFEKO 3-138

Store/re-use shadowing information to speed up subsequent runs (re-use is only possible if the
physical geometry of the model is unchanged). Storage of the shadowing information, however,
does lead to huge *.sha files on disk.
The option Use symmetry in ray-tracing (when possible), is set by default for PO. If Export ray
file for postprocessing is checked, FEKO outputs the rays used during the UTD or GO solution
process to a *.ray file. The ray-tracing information is also stored in the *.bof file and the rays
may be viewed in POSTFEKO. It should be noted that *.ray files can be very large, especially
when using a MoM/UTD solution that has not been decoupled and there are more than a few
hundred mesh elements in the MoM region.
The Max. no. of ray interactions field limits the number of reflections/transmission interactions
taken into account for each ray that is tracked during the solution process. For example, a ray
path that includes a double diffraction and one reflection has three interactions, or a path that
includes a diffraction and three reflections has four interactions. The options in the Select ray
contributions group allow selection of the special UTD ray interactions that are to be taken into
account. (Note that combinations go hand in hand. For example, the contributions of edge and
corner diffractions in the UTD solution are usually of the same order and they should be switched
on or off together.) Selecting more contributions or increasing the number of ray interactions
will increase both accuracy and computation time. The chosen settings should therefore be a
compromise between accuracy and solution time.
For geometrical optics (ray launching), special ray launching settings may be accessed in the
Dielectric GO ray launching settings section. When Specify angular increment is selected, the θ
and φ angular resolution for ray launching and the increments for the parallel ray front in the U
and V direction may be manually specified. Though the runtime for a problem involving GO may
be decreased by using this option, it may influence the accuracy of the solution. Manual specifi-
cation of the angular increment should only be used in specific conditions after the implications
have been carefully considered.

3.12.5 Domain decomposition settings

When defining a finite antenna array, the option is available to solve the model with the domain
Green’s function method (DGFM) by checking the Solve model with Domain Green’s Function
Method (DGFM) checkbox. When this option is not checked, the array will be solved using the
standard full wave solution method (MoM or MLFMM). This option is useful for validation since
it allows the user to compare the full wave solution (longer run time and memory requirement)
with the faster finite antenna array solution method.
The mutual coupling between the antenna array elements may be ignored by checking the Deac-
tivate coupling between domains checkbox. This is not recommended since the results could be
incorrect. This option is available to users who would like to investigate the effect of coupling
between the elements.

3.12.6 Preconditioner settings

Advanced users may elect to use the Direct sparse solver or the Iterative solver for MLFMM or
FEM models which do not give a solution with the default settings.

October 2013 FEKO User’s Manual


USING CADFEKO 3-139

For the iterative solver it is possible to set the Maximum number of iterations, Stopping criterion
for residuum, Stopping at maximum residuum and Preconditioner.
The following preconditioners are supported (note that the number given in bracket correspond
to the I3 field of the CG card, refer to the format of cards in *.pre file (see Section 12.2.2) and
the CG card (see Section 14.27)):

Default (recommended): When this option is selected, then FEKO will automatically select a suitable
solver along with all its required parameters. The choice depends on whether
FEKO is executed sequentially or in parallel, but also which solution method is
employed.

Block-Jacobi using LU-decomposition (64): The inverses of the preconditioner are calculated and ap-
plied during every iteration step. For performance reasons Block-Jacobi pre-
conditioning using LU-decomposition is recommended.

Incomplete LU decomposition (ILU) (128): The inverses of the preconditioner are calculated and ap-
plied during every iteration step. For performance reasons Block-Jacobi pre-
conditioning using LU-decomposition is recommended.

Multilevel ILU/diagonal decomposition (512): Preconditioner for a hybrid FEM/MoM solution. A mul-
tilevel sparse incomplete LU-decomposition with thresholding and controlled
fill-in is applied as preconditioner.

Multilevel FEM-MLFMM LU/diagonal decomposition (2010): Preconditioner for a hybrid FEM/MLFMM


solution. A multilevel sparse LU decomposition of the combined, partitioned,
FEM/MLFMM system is applied as preconditioner.

Multilevel LU/diagonal decomposition (2050): Preconditioner for a hybrid FEM/MoM solution. A mul-
tilevel sparse LU decomposition of the partitioned system is applied as precon-
ditioner.

Block-Jacobi preconditioner of MLFMM one-level-up (4096): Block-Jacobi preconditioner for MLFMM


using LU-decomposition on entries in the boxes one-level-up from the finest
boxes.

Sparse approximate inverse (SPAI) (8192): Preconditioner which can be used in connection with the
MLFMM.

Sparse LU (8193): Preconditioner for the MLFMM. A sparse LU decomposition of the MLFMM
near field matrix is applied as preconditioner.

For more information regarding Level-of-fill, Fill-in per row and Stabilisation factor (FEM) and it
usage in EDITFEKO, refer to the CG card (see Section 14.27).
Note that any field on the Preconditioner tab may be left empty.

3.13 Solver settings and properties on faces, edges and regions

By default all items are perfectly electric conducting (PEC) and will be solved using the MoM.
Material properties can be set on regions, faces, edges or wires.

October 2013 FEKO User’s Manual


USING CADFEKO 3-140

Regions are enclosed volumes. When the region is selected in the 3D view, its is listed in the
details tree. A region may be selected either in the details tree or in the 3D view by means
of the Auto selection tool (see Section 3.19.2).
Note that models that have been imported as separate faces do not have regions. To create
regions for these models, the surface parts can be unioned to indicate connectivity. Parts
that form closed surfaces will automatically be identified as regions in the details tree
when selecting the resultant union part. Where the unioning of imported faces that look
like they form a closed regions do not result in new regions, the Stitch sheet parts (see
Section 3.3.15) tool may be used.

Figure 3-137: Selecting the region of a cuboid in the 3D view highlights the corresponding entry in the
details tree and vice versa.

Faces are the individual surfaces of a part. When the face is selected in the 3D view, its is listed
in the details tree. A face may be selected either in the details tree or by clicking in the
3D view when face selection (see Section 3.19.2) is active. The term “face” is used to
distinguish it from “surface”, which in CADFEKO refers to a 2D primitive such as a polygon.

Figure 3-138: Selecting one of the faces of a cuboid in the 3D view highlights the corresponding entry in
the details tree and vice versa.

Edges/wires are listed in the details tree when the part is selected. They include the edges of
faces as well as free curves (also called “wires”).

October 2013 FEKO User’s Manual


USING CADFEKO 3-141

Figure 3-139: Selecting one of the edges of a cuboid in the 3D view highlights the corresponding entry in
the details tree and vice versa.

3.13.1 Setting local properties on geometry elements

The following properties can be set on geometry elements:

Dielectric volumes: Dielectric volumes are specified by applying a Dielectric media (see Section 3.3.2)
to the relevant geometry region.

Conducting losses: Conducting losses are accounted for by applying a user defined Metallic medium
(see Section 3.3.2) to the relevant faces and wires.

Coatings and thin dielectric sheets: Coatings and thin dielectric sheets are specified by applying user
defined Layered dielectric media (see Section 3.3.2) to surfaces or wires (free
edges).

Impedance sheets: Impedance sheets are used to represent metal surfaces in cases where only the
surface impedance per unit area is known. It can be modelled by applying an
Impedance sheet (see Section 3.3.2) to the surface.

Windscreens: Windscreens are defined by applying Windscreen media (see Section 3.3.2) to
the relevant wires and faces.

When geometry operations are performed, the medium properties will be retained where possi-
ble. For example:

• If a face is split in two by a subtract operation, both the resulting faces will inherit the
properties of the parent.

• If two overlapping faces are intersected, the resulting face will have the properties common
to both parents.

If it is not possible to merge the properties of the parents, the items are marked suspect (see
Section 3.3.15) and a warning is provided indicating which properties could not be resolved.

October 2013 FEKO User’s Manual


USING CADFEKO 3-142

Figure 3-140: The Region properties dialog.

3.13.2 Region properties

To set properties on regions, select one or more regions and select Properties from the context
menu. This will launch the Region properties dialog shown in Figure 3-140.

Properties tab

On the Properties tab, the medium type of the selected region can be set:

Perfect electric conductor: The default media for newly-created regions are perfect electric conductor
(PEC). It is possible to delete faces that border a PEC region. Deleting a face that forms part
of the boundary of a region effectively removes the region.

Free space: Setting a region to Free space effectively converts it to a hollow shell as the faces bounding
the region are set to PEC. It is possible to delete faces that border free space regions if
the media outside of the region is also free space. Deleting a face that forms part of the
boundary of a region effectively removes the region, as the remaining faces are no longer
closed. Face properties such as a thin dielectric sheet can only be set on faces bordering free
space regions.

Dielectric: The Dielectric medium is only available if the media has been defined and listed in the
model tree. By default, the faces bounding a region that is denoted as Dielectric assume
the same dielectric property as the region. This may be modified to any conductive medium
(not a dielectric or layered dielectric medium) by setting the face properties for each face
(see Section 3.13.3). The faces bounding a region that is denoted as Dielectric can only be
deleted under certain conditions. If the face defines a border between two different media,
it cannot be deleted.

Plane/ground (finite): The Plane/ground (finite) option is only available if a Planar multilayer substrate
(see Section 3.3.8) has been defined. Setting a region to Plane/ground (finite) effectively
limits the size of the planar multilayer substrate to that MoM/SEP region.

Where geometry operations introduce intersections of existing regions, and the parent regions
have conflicting material properties, the resulting regions will be marked suspect.

October 2013 FEKO User’s Manual


USING CADFEKO 3-143

Initially the region properties dialog shows the current state of each property for the selected
items. If multiple regions are selected, fields which differ are left blank. The properties repre-
sented by blank field are not modified when changes are applied. This allows, for example, mod-
ifying the mesh size for a number of different dielectric regions simultaneously without changing
the media properties of the individual regions.

Meshing tab

The Meshing tab allows special mesh settings to be applied to this region. Local mesh settings
will take precedence over global mesh settings (see Section 3.10.1).

Solution tab

On the Solution tab of the Region properties dialog, the solution method for the selected region
may be set (shown in Figure 3-140).

MoM/MLFMM with surface equivalence principle (SEP) - default: The selected region will be solved with
MoM/MLFMM.

MoM/MLFMM with volume equivalence principle (VEP): The selected region will be solved by employ-
ing tetrahedra to accurately mesh arbitrarily shaped volumes with dielectric properties and
solved by means of the MoM/MLFMM.

Finite element method (FEM): The selected region will be solved by employing tetrahedra to accurately
mesh arbitrarily mesh shaped volumes with dielectric properties and solved by means of the
finite element method (FEM).

Uniform theory of diffraction (UTD) cylinder: The selected cylinder region will be solved with the uni-
form theory of diffraction (UTD).

Basis function settings can also be set on the solution tab when it has been activated for the
model (see Section 3.12.1). Any settings applied on a region will also be used for faces bounding
the region unless the face has a different setting (the face setting will take precedence over the
region setting).

3.13.3 Face properties

To set properties on faces, select one or more faces and select Properties from the context menu.
This will launch the Face properties dialog shown in Figure 3-141.

Properties tab

On the Properties tab, the medium type of the selected faces can be set (note that the media op-
tions available in the Medium dropdown menu depend on the media of the two regions bordering
the selected face):

October 2013 FEKO User’s Manual


USING CADFEKO 3-144

Figure 3-141: The Face properties dialog showing the face properties and solution settings options.

Default: The default medium for faces that do not bound a region and faces that bound
a PEC or a free space region is the same as for Perfect electric conductor.

Impedance sheet: Setting the properties of faces to an impedance sheet can be used as an method
to define conductive surfaces.

Layered dielectric: Setting the properties of faces to a layered dielectric sheet can be used as an
method to model flat multilayer dielectric structures.

Perfect electric conductor: Perfect electric conductor (PEC) is the default media for newly-created faces.

Metal: Setting the properties of faces to a metal can be used to model a lossy con-
ducting surface. A lossy metallic region can be effectively modelled by setting
the boundary faces of a free space region to a lossy surface with a thickness of
more than 5X than that of the skin depth at the frequencies of interest. The
skin depth is defined as
2
r
δskin = . (3-18)
ωµσ

When a face medium is specified, it is important to note that changing a bordering region may
result in invalid settings. For example, if a lossy conducting surface is set on a face bordered
by free space and one of the bordering regions is set to PEC, the unsupported metallic will be
removed. The face will be marked “suspect” (see Section 3.3.15) and its medium displayed as
PEC in the details tree. After the problem has been solved, the face must be manually set to “not
suspect”.
In addition to the face medium settings, Coatings may be applied to faces. Coatings are applied
on both sides of the face and as a result this option is only available when the face has free space
on both sides. To add a coating, a layered dielectric must be defined. The coating is applied
such that layer 1 (according to the layered dielectric definition) is on the outside, as shown in
Figure 3-142.24
24
The kernel may refer to the CO card in error messages regarding coatings.

October 2013 FEKO User’s Manual


y1
USING CADFEKO 3-145
0
1 Coating
n
2
2 Reference n Conducting surface
n
1 Medium/layers 2
1 Coating

Figure 3-142: Coatings are applied to both sides of conducting surfaces.


y2
When thin dielectric sheets are used in conjunction with geometrical optics (GO)-ray launching
or UTD, please note that the order of the thin dielectric sheet is important. For example, a model
is simulated with two layers, one layer that is a good absorber and the second, a good conducting
layer. When a ray is incident on the side of the absorber, the reflection is zero. When a ray is
incident on the side of the conducting layer, the reflection coefficient is -1. The transmission
factor in both cases is zero.
The definition of which side is the front/rear is determined by the normal vector n of the triangles,
see Figure 3-143. If one ray is incident in the direction of the normal vector (ray 1) and as a result
hits the first layer (index number n - layer with the highest index number). An incident ray in
the opposite direction of the normal vector (ray 2) will first hit the layer with the lowest index
number.

Ray 1

0
1
n
d/2 2
2 Reference n
Normal vector n n
d/2 1 Medium/layers 2
1

Ray 2

Figure 3-143: The order of the layers for thin dielectric sheets is important when used in conjunction with
geometrical optics (GO)-ray launching and UTD.

Meshing tab

The Meshing tab allows special mesh settings to be applied to this face. Local mesh settings will
take precedence over global mesh settings (see Section 3.10.1) set for the model or on a region.

Solution tab

On the Solution tab of the Face properties dialog, the solution method (see Section 1.1.1) for the
selected face may be set (shown in Figure 3-141).

October 2013 FEKO User’s Manual


USING CADFEKO 3-146

None: The selected surface will be solved with the method of moments (MoM), which
is the default solver

Physical optics (PO) - full ray-tracing: The selected surface will be solved with physical optics (PO)
(see Section 3.12.4) which is an asymptotic high frequency numerical method
of the same nature as UTD (see Section 3.12.4). Normal, complete ray tracing
is carried out.

Physical optics (PO) - always illuminated: The selected surface will be solved with physical optics (PO)
which is an asymptotic high frequency numerical method of the same nature
as UTD. The ray tracing is switched off to save computational time.

Physical optics (PO) - only illuminate from front: The selected surface will be solved with physical op-
tics (PO) which is an asymptotic high frequency numerical method of the same
nature as UTD. Full ray tracing is done, but metallic triangles can only be lit
from the side to which the normal vector is pointing.

Large element PO - full ray-tracing: The selected surface will be solved with physical optics (PO) which
is an asymptotic high frequency numerical method of the same nature as UTD.
Normal, complete ray tracing is carried out. Electrically large triangular patches
will be allowed.

Large element PO - always illuminated: The selected surface will be solved with physical optics (PO)
which is an asymptotic high frequency numerical method of the same nature
as UTD. The ray tracing is switched off to save computational time. Electrically
large triangular patches will be allowed.

Large element PO - only illuminated from front: The selected surface will be solved with physical optics
(PO) which is an asymptotic high frequency numerical method of the same
nature as UTD. Full ray tracing is done, but metallic triangles can only be
lit from the side to which the normal vector is pointing. Electrically large
triangular patches will be allowed.

Geometrical optics (GO) - ray launching: The selected surface will be solved with geometrical optics
which is a ray-based method.

Uniform theory of diffraction (UTD): The selected surface will be solved with the uniform theory of
diffraction (UTD).

Windscreen: The selected surface can either be defined as a windscreen (see Section 3.3.2)
reference element or a solution element. A windscreen reference element is
the curvature reference for the windscreen. The windscreen solution elements
are the metallic antenna elements.

Planar Green’s function aperture: The selected surface is solved with the planar Green’s function. The
aperture or slot is discretised rather than the finite size ground plane that sur-
rounds the aperture or slot. See the Example Guide for a related example:
Example A-10.

Basis function settings can also be set on the solution tab when it has been activated for the
model (see Section 3.12.1). Any settings applied on a region will also be used for faces bounding
the region unless the face has a different setting (the face setting will take precedence over the
region setting).

October 2013 FEKO User’s Manual


USING CADFEKO 3-147

3.13.4 Wire properties

To set properties on wires, select one or more wires and select Properties from the context menu.
This will launch the Edge properties dialog for wires shown in Figure 3-144.

Figure 3-144: The Edge properties dialog for wires.

Properties tab

On the Properties tab, the Wire segment radius, Wire core medium and Coating may be set.

Wire segment radius: If this option is selected, a local wire radius is specified which overrides the
default setting on the Create mesh dialog (see Section 3.10.1).

Wire core medium: Conducting losses on wires can be accounted for by selecting a metal in the
Medium dropdown list.

Coating: A coating can be applied to a wire by selecting a predefined Layered dielectric


from the list.

Meshing tab

The Meshing tab allows special mesh settings to be applied to the selected wire/edge. Local mesh
settings will take precedence over global mesh settings (see Section 3.10.1).

Solution tab

On the Solution tab of the Edge properties dialog, the solution method for the selected wire may
be set.

None: The selected wire will be solver with the method of moments (MoM), which is
the default solver.

Windscreen: The selected wires will be solved as the windscreen solution elements which
are the metallic antenna elements.

October 2013 FEKO User’s Manual


USING CADFEKO 3-148

3.13.5 Edge properties

The properties for edges and wires (see Section 3.13.4) are very similar. For edges, the settings
such as Wire segment radius and Coating are disabled, but still displayed on the dialog.

3.13.6 Setting properties on mesh elements

Material properties may be set on geometry, model mesh (see Section 3.10) and unlinked simu-
lation meshes (see Section 3.10.1).
Select the required element labels (not the individual elements) in the details tree and access the
Properties from the context menu. Properties can only be set on one type of mesh element at a
time (for example, if the selection contains mesh triangles and wire segments then the properties
dialog will not be available). According to the type of elements selected, the relevant mesh
properties dialog will be launched.
For triangles, the medium is specified on each side. The media on either side of the mesh elements
are specified on the same dialog (rather than on a separate region dialog for faces that bound a
region), see Figure 3-145. The Face medium and Coating properties may be set as for geometry
faces.

Figure 3-145: The Mesh properties dialog.

For segment labels in the mesh, the surrounding medium can be set on the Mesh properties dia-
log. The Segment radius, Segment medium, Surrounding medium and Coating can be specified.
For tetrahedra mesh elements, only the Tetrahedral medium can be specified by referencing the
label of a user defined dielectric medium.
If any medium is changed in such a way that the Face medium or Coating setting on a mesh be-
comes invalid, that setting immediately reverts to a ternary state and has to be updated manually.

3.14 Working with CADFEKO models in EDITFEKO

CADFEKO can control the entire solution configuration and it should generally not be necessary
to work with the *.pre file directly. Advanced features may only available in the EDITFEKO

October 2013 FEKO User’s Manual


USING CADFEKO 3-149

interface and more flexible solution configurations can be realised by direct editing of the *.pre
file.
Users may prefer to continue using EDITFEKO for existing models, particularly those with com-
plex control settings. Even though CADFEKO can create new *.pre files, it cannot import settings
or card-based geometry from an existing *.pre file. If a *.pre file created by CADFEKO is modi-
fied outside of CADFEKO, then CADFEKO will relinquish control of the *.pre file and it will have
to be maintained outside of CADFEKO from that point onwards. Refer to the EDITFEKO chapter
for more information regarding EDITFEKO (see Section 11).

3.14.1 Disabling the CADFEKO solution configuration

As mentioned above, CADFEKO supports old models (or cases where the user wants to edit
the *.pre file to create complex solutions) by working in a geometry only type mode. This
is activated by activated by selecting the Solve/Run tab and click on the Enable solution button.
Normally this item is disabled and all solution related operations are enabled. If a model is
loaded or saved in CADFEKO, it checks if the *.pre file has been edited outside CADFEKO. If this
is the case, the user can elect to ignore the changes made to the *.pre file or disable the solution
control in CADFEKO.
If the CADFEKO solution is disabled, the Enable solution button will be enabled. All solution
settings are unavailable and any existing settings are ignored when saving the model. (They
are maintained and can be re-instated by enabling the solution again.) Dielectric media can be
created, but their material parameters cannot be set.
Selecting Enable solution will re-enable all the solution settings and rename the existing *.pre
file to name_orig_x.pre (x is a number chosen to ensure that no existing file is overwritten).
After re-enabling the CADFEKO solution, all settings made exclusively in the *.pre file will be
ignored, and only solution components and settings defined in CADFEKO will be used in the
solution.

3.14.2 Setting units

If the solution configuration is disabled, FEKO expects all input to be in metres unless the SF
card is used in the geometry section of the *.pre file to specify the units. For example, if the
model was constructed in millimetres, an SF card with a 0.001 scale factor should be added to
the *.pre file.

3.14.3 Referencing elements

In EDITFEKO, properties can be set on specific elements using their full labels (see Section 3.4.6).
Segments have the label of the edge (typically called Wire. . .), triangles that of the face (typically
Face. . .) and tetrahedra that of the dielectric region (typically Region. . .). Of course, these names
can be modified on the geometry or the mesh elements. See Section 3.10.11 for more details.
Since setting sources or loads on wire segments require unique labels, CADFEKO exports the port
segments with unique labels. These labels are created by appending the port name to the wire

October 2013 FEKO User’s Manual


USING CADFEKO 3-150

label. For example, if Port1 is located on the centre segment of Line1.Wire1, this segment will
be written with the label Line1.Wire1.Port1 while the remaining segments will have the label
Line1.Wire1. For vertex ports, the associated segment is the shorter segment connected to the
vertex — POSTFEKO can be used to check which segment was relabelled.
Since every region/face/edge has a unique label, a typical model may contain a large number
of labels. Setting properties such as losses then requires a large number of cards. To simplify
this, PREFEKO supports renaming multiple labels using the wild cards * and ? (where * expands
to any string and ? to any character). For example, renaming Wheel?.Face* to Wheel will
rename the faces Wheel1.Face1 and Wheel2.Face17 (and all others matching this pattern, but
not Wheel10.Face1 or Wheel1.Wire1) to Wheel. They can then be referenced with a single name.
After renaming these elements, the original names no longer exist, i.e. referencing items using
those names will not find any elements. Care should, however, be taken not to rename labels —
such as ports — which need to be unique.

3.14.4 Using variables and named points in EDITFEKO

When exporting the *.cfm file, CADFEKO includes all variables and named points with their
current values (i.e. all expressions used in the definitions of variables and named points are
evaluated and reduced to numerical values before inclusion in the *.cfm file). If requested in
the IN card settings, these variables and named points are then imported by PREFEKO and can
be referenced in the *.pre file — at any point after the IN card.
Note that all expressions used in the solution configuration in CADFEKO are evaluated and re-
duced to static numerical values before writing the *.pre file — hence changing these variables
by redefining them after the IN card in EDITFEKO will not have any effect on expression-based
solution configurations defined in CADFEKO.

3.14.5 Setting dielectric parameters

If the solution is disabled in CADFEKO, dielectric media may still be defined and applied to
regions or mesh elements in CADFEKO.
The parameters of each additional dielectric must, however, be specified by the manual addition
of a DI card — referencing the name of the dielectric specified in CADFEKO — to the control
section of the *.pre file. As dielectric names are not hierarchical (like the label names) and the
same dielectric can be applied to multiple, entirely separate regions.

3.15 Validate

CADFEKO provides the following tools whereby the model can be validated namely CEM validate
and the View by solution parameters where a user can select certain solution parameters to
highlight in the 3D view.

October 2013 FEKO User’s Manual


USING CADFEKO 3-151

3.15.1 CEM validation of the CADFEKO model

CADFEKO provides a tool that performs a number of basic consistency checks on the model.
These checks are largely related to electromagnetic modelling rules and limitations. As meshes
may consist of millions of elements, CADFEKO does not perform continuous consistency valida-
tion of all of the mesh parameters, but requires that the user launch the validation tool manually
to check the model. EM validation of the model is generally advisable and all indicated prob-
lems should be addressed before the FEKO solver is launched. Considerable amounts of time and
frustration can be spared if modelling errors are identified as early as possible.

Select the Solve/Run tab and click on the CEM validate button. For quick access, it is also
available on the Home tab.
As the electromagnetic validation for the various components are completed, the details are
displayed on the dialog. The following components are checked: Frequency, Geometry, Mesh
and Solution. As each component is validated, an icon is displayed giving the user information
regarding the status of the completed EM validation. When selecting a received warning or error,
a message detailing the warning/error is given in the Error/Warning details of the selected item
window.

Figure 3-146: The Computational electromagnetic validation dialog.

3.15.2 View by solution

Keeping track of different solution parameters that have been set on different regions of
the geometry can become difficult. CADFEKO provides a View by solution tool, which
allows highlighting of all the geometry with the same solution settings in the 3D view, while the
display of all other geometry is semi-transparent. This tool allows the user to quickly check that
the correct solution parameters have been set before solution. The View by solution tool (shown
in Figure 3-147) may be enabled by selecting the Solve/Run and clicking on the View by solution
button.

October 2013 FEKO User’s Manual


USING CADFEKO 3-152

Figure 3-147: The View by solution parameters dialog.

3.16 Run/launch the FEKO components

For an quick overview regarding the FEKO components, please refer to the FEKO Suite compo-
nents (see Section 1.1.4).

3.16.1 Running the FEKO solver components

The CADFEKO model is saved as a *.cfx file. In order to solve a model built in CADFEKO,
two input files are required by the FEKO preprocessor. These are the *.cfm file (which con-
tains the mesh information) and the *.pre file (which refers to the *.cfm file and contains
information regarding the solution process and settings). When saving the model, CADFEKO
automatically exports the current mesh to the *.cfm file (if solution parameters are enabled (see
Section 3.14.1), the *.pre file is also updated). CADFEKO also exports the current mesh to the
*.cfm (and *.pre) file each time a component is started from the Run menu.
If CADFEKO encounters any invalid settings, it writes error states to the *.pre file so that the user
will get the appropriate error message, even when running PREFEKO from another component
of the FEKO Suite.
Typically, once the model is set up in CADFEKO, PREFEKO is executed to create the FEKO input
file (*.fek) from the *.cfm and *.pre files. The geometry, excitations and solution requests
represented in this file can then be viewed and visually validated in POSTFEKO before running
FEKO or OPTFEKO.
Once the FEKO solution is completed, the results (stored in the *.bof file) can be viewed in
POSTFEKO, or in the text output file (*.out) .

FEKO solver: Run the FEKO solver (see Section 19). The ASCII (*.out) and binary
(*.bof) output files are generated by the FEKO solver. Shortcut: <Alt><4>.

October 2013 FEKO User’s Manual


USING CADFEKO 3-153

POSTFEKO: Run POSTFEKO (see Section 8). POSTFEKO enables users to read and dis-
play results obtained from the FEKO solver on 2D graphs or in combination with the
geometry in a 3D view. Shortcut: <Alt><3>.

EDITFEKO: Run EDITFEKO (see Section 11). EDITFEKO is used to construct models by
means of a high level scripting language. Shortcut: <Alt><1>.

Antenna Magus: Run Antenna Magus. Its a design tool with a searchable collection of
antennas to design and export models (see Section 3.3.9) of designed antennas to FEKO.

FEKO terminal: Open a FEKO console in the current working directory. Shortcut: <Alt>8.

PREFEKO: Run PREFEKO (see Section 18). PREFEKO processes the model and prepares
the input file (*.fek) for the FEKO solver. Shortcut: <Alt><2>.

OPTFEKO: Run OPTFEKO (see Section 21). OPTFEKO is a tool that is used for the optimi-
sation of a FEKO model. OPTFEKO calls the FEKO solver as required during optimisation.
Shortcut <Alt><6>.

Parallel: Run the parallel FEKO kernel (see Section 19.2.2).

Farm out: Allow OPTFEKO (see Section 21.4) to run the FEKO kernel on multiple remote
machines.

Remote: Run the FEKO kernel on a remote machine (see Section 19.2.3) with automatic
file transfer.

3.16.2 Component launch options

The Component parameters item is situated on the Run/launch tab. Click on the dialog
launcher button to display the Component launch options dialog. This dialog provides for
the specification of command line parameters for the various FEKO components. Note this dialog
is the same for CADFEKO, POSTFEKO and EDITFEKO.

The PREFEKO tab

If Treat errors as non-fatal. . . is checked, PREFEKO will continue running after encountering an
error. This is used to see all geometry modelling errors identified during the PREFEKO geometry
validation at once. (PREFEKO can also generate additional debug output, but these options
should only be activated to debug specific issues.)
The PREFEKO tab on the Component parameters dialog is shown in Figure 3-148. The follow-
ing options are available: Export of variables (names, values, comments), Debug options and
Advanced.
The Advanced field allows manually typing the required command line options as would be done
after the file name in a command shell (see Section 18).

October 2013 FEKO User’s Manual


USING CADFEKO 3-154

Figure 3-148: The PREFEKO tab on the Component launch options dialog.

The FEKO tab

If Only check the geometry on the FEKO tab is checked, FEKO will perform all the geometry
checks and exit before any computations commence. This option is usually used to check model
validity before solving the model on a separate machine.
The user can also set priority of the FEKO run on this tab. If the priority is set to Low the run
will take slightly longer, but the computer will still be responsive for other work. (Note that for
parallel runs, all machines in the cluster operate at the speed of the slowest PC, so starting other
CPU-intensive jobs on one of the PCs in a cluster is generally not recommended.)
Users may elect to utilise their multiple NVIDIA GPUs based on the Compute Unified Architecture
(CUDA) by checking the Use GPU (graphics processing) for NVIDIA CUDA devices checkbox. If
more than one GPU is available, the number of GPUs to be utilised can be specified. Note that
the minimum requirement for a CUDA device is a compute capability of at least 1.3.
GPU acceleration is supported for Windows and Linux platforms. Always ensure that the lat-
est NIVIDIA drivers are installed for the graphics card. More details regarding GPU accel-
eration and CUDA and a list of supported graphics cards is available on the FEKO website
(www.feko.info/GPU).
Note that enabling GPU acceleration is only applicable if compatible NVIDIA GPU devices are
found. If no compatible NVIDIA GPU device is found, a warning will be issued during the com-
putation run and the setting is reverted to the default state of no GPU acceleration. The enabling
of GPU acceleration can also be done by means of a command line option (see Section 19.2).
The Remote host information is used for remote execution (see Section 19.2.3). The Remote
execution is enabled on the Solve/Run tab.
The Remote execution group deals with the parameters defining the settings used when launching
FEKO on another machine remotely. First one specifies which machine to use in the Remote
host (hostname or IP address) field and second the Remote execution method for the launching
mechanism can be chosen. Here two options are available:

• ssh/rsh: This is the method using a remote shell (either RSH or SSH or similar) for launch-
ing the process. For copying of the files SCP (or similar) will be used. Thus the remote

October 2013 FEKO User’s Manual


USING CADFEKO 3-155

Figure 3-149: The FEKO tab on the Component launch options dialog.

machine must be able to serve such connection attempts (i.e. a SSH daemon must be setup
and running with public key authentication). This method can be used between different
platforms.

• MPI: This is only supported between Windows machines (i.e. both machines must run a
Windows operating system), since this method uses native windows file copy methods and
a shared network folder on the remote machine for transferring the model files and results.
The launching on the remote machine is then done by the MPI daemon which is installed
already during the FEKO setup for parallel launching. Authetnication is done by Windows
internal mechanims, so the remote machine must be able to authenticate the current user
either against a domain or its local user database to grant access.

The options under Parallel execution are used when parallel (see Section 19.2.2) is selected on
the Solve/Run tab.
The option Specify number of parallel processes along with the associated edit field specifies the
total number of parallel processes to be launched. If this is not active, then all entries in the
machines list (see below for the Configure button) with their specified number of processes will
be used for launching. If this option is active then only the given number of processes will be
started using the list from the beginning until the number is reached, regardless if there were
more entries available.

October 2013 FEKO User’s Manual


USING CADFEKO 3-156

If the Use shared memory/OpenMP threading for multiple CPU nodes is selected, the hybrid
MPI/OpenMP parallelisation is uitilised. It combines the benefits of OpenMP (implementation
of multi-threading) and MPI (communications protocol used to program parallel computers).
Processes are distributed over multiple machines/nodes by means of MPI. Multi-threading is
then used on each node for subsequent parallelisation and memory saving.
Clicking Configure in this group allows specification of the machines to be used for the parallel
solution and the number of processes to run on each. The order of the entries is of importance
as this order is used upon starting the processes (i.e. the processes are started on the machines
from top to bottom).
The options Full CPU report with runtimes for individual processes, Output MFLOPS rate of each
process (with network communication time) and Network latency and bandwith enable addi-
tional diagnostic tests and output and should be disabled for normal FEKO runs to not degrade
performance.
In the Parallel authentication method group one selects the mechanism to be used for authenti-
cating the parallel processes on the individual machines. Options are:

• Use encrypted credentials in registry (Windows only): This option uses previously stored
encrypted username and password from the Windows registry. The user has to save these
credentials previous to starting any parallel computation using the tool Update parallel
credentials (MPIregister) provided with the FEKO installation (START → All Programs →
FEKO → Suite x.y). This is a per-user setting and has to be updated on each change of the
user’s password. If using remote-parallel launching, this must also be done one the remote
host where then parallel FEKO will be started from.

• Use SSPI (Active Directory) integration (Windows only, requires domain): If selecting
this option all the machines must be member of a Windows (Active Directory) domain
and also the user accounts must be domain accounts. Then the authentication will be
carried out using internal functions of Windoes without having to encrypt anything into
the registry. Note that maybe additional (one time) configuration settings have to be
done (by the domain administrator) to prepare the Windows domain for this kind of au-
thentication requests (see the Intel MPI (User Authorization — Active Directory Setup)
and/or MPICH2 (Runtime Environment — Security) documentation shipped in the direc-
tory mpi\<mpi-version>\doc of the FEKO installation directory for details).

• Local run only (no authentication required): This option signals to FEKO that all processes
run on the same local machine and thus no authentication is required at all. This is most
commonly used if running parallel FEKO only locally on a multicore or multiprocessor
machine.

• Default (rsh/ssh for UNIX, registry for Windows): Selecting this option will always use
the default authentication method for the target operting system. For UNIX systems the
public key authentication of rsh/ssh will be used and for Windows the registry method is
considered the default.

Additional information is also available in Section 19.2.2.


The Advanced field allows manually typing the command line options as would be done after
the file name when launching FEKO from a command shell (see Section 19). The installation of
remote launching as well as the parallel version is covered in the FEKO Installation Guide.

October 2013 FEKO User’s Manual


USING CADFEKO 3-157

The Utilities tab

On the Utilities tab, the user can select if the temporary files created during OPTFEKO and ADAPT-
FEKO runs should be deleted or kept (in the case of OPTFEKO, the files relating to the optimum
model and solution are not considered temporary files and are not deleted), shown in Figure 3-
150.

Figure 3-150: The Utilities tab on the Component launch options dialog.

The following options can be set on the Utilities tab: ADAPTFEKO and OPTFEKO.
The Restart analysis number option for ADAPTFEKO can be used if the run was discontinued
(and the temporary files were not deleted). The solution can be restarted at the number of the
first unfinished model.
The Restart from solver run option for OPTFEKO can be used if the optimisation process was
terminated or interrupted and no temporary files were deleted. The optimisation can be restarted
at the number of the last completed optimisation iteration. No changes whatsoever may be made
to the model before restarting the optimisation process.
The Farming out kernel runs section provides a Configure button that launches the Machines
configuration dialog. This can be used to set up the machines and processors that should be used
for an optimisation run where farming out of the kernel solutions (see Section 21.4) is used.

The Environment tab

The Environment variables field may be used to enter environment variables which can control
the FEKO solution.

3.16.3 Additional solution configurations

The following additional solution configurations are available:

Selecting this option enables parallel FEKO execution. The solution is then launched on
a parallel cluster as defined in the Component launch options dialog (FEKO tab).

Selecting this option enables farm out by OPTFEKO. This option enables parallel optimi-
sation.

October 2013 FEKO User’s Manual


USING CADFEKO 3-158

Selecting this option enables remote FEKO execution. CADFEKO will then launch the
solution on the host as specified in the Component launch options dialog (FEKO tab).
Should both Farm out and Parallel be selected, the combination of the two will result in farming
during optimisation using parallel FEKO runs.

3.17 Tools

CADFEKO provides a set of tools that may be used for the validation of models/mesh. The
following tools are available namely the Measure distance, Measure angle and Calculator tool.

3.17.1 Measure distance

The Measure distance tool can be opened by selecting the Tools tab and clicking on the
Measure distance button.
The absolute distance between two points together with the relative x, y and z distance can be
determined by pressing <Ctrl><Shift> and clicking with the mouse cursor on any two respective
points in the model. The Measure distance dialog is shown in Figure 3-151.

Figure 3-151: The measure distance dialog.

3.17.2 Measure angle

The Measure angle tool can be opened by selecting the Tools tab and clicking on the
Measure angle button. The between between three points can be determined by holding
down <Ctrl><Shift> and clicking with the mouse cursor on any three points in the model.

3.17.3 Calculator

October 2013 FEKO User’s Manual


USING CADFEKO 3-159

The Calculator allows the evaluation and testing of variable and named point based ex-
pressions without modifying any model entries. The Calculator tool can be opened by
selecting the Tools tab and clicking on the Calculator button.
The format of the result can be controlled. Scientific uses exponential notation, for example,
0.01 becomes 1.0e-2. Engineering format is similar to Scientific, except that the exponent part
is always a multiple of 3. Thus 0.01 becomes 10.0e-3. Decimal uses a fixed notation without
an exponent. This is not recommended for numerically small numbers, for example, with 5
decimals, 1.0e-6 becomes 0.000001 which means all information is lost. The Decimals field gives
the number of digits after the decimal point.

3.18 Image tools

The following image tools are available namely the exporting of images and the copying of im-
ages.

3.18.1 Export image

The 3D view (see Section 2.4), cable schematic (see Section 3.6.10) and network schematic
(see Section 3.21.4) may be exported to an image format and export size of the user’s
choice. Select the Tools tab and click on the Export image button.

3.18.2 Copy image

A bitmap copy of the 3D view (see Section 2.4), cable schematic (see Section 3.6.10) and
network schematic (see Section 3.21.4) can be copied to clipboard. Note that the image
will only be stored to clipboard whilst CADFEKO is opened. Closing CADFEKO will result in losing
the content of the clipboard. Select the Tools tab and click on the Copy image button.

3.19 Selection

The following selection settings may be set namely the selection method, selection type, selection
tools and the undo/redo of selection.

3.19.1 Selection method

Items are selected by clicking either in the tree or on the item representation in any 3D view.
Selected items are highlighted in the tree and in the 3D view. When parent objects are selected
in the tree, CADFEKO displays wire-frame outlines of these objects in the 3D view. These items
are not themselves part of the model, but it is useful to be able to distinguish the different parents
in a composite part.
Three selection methods are supported. Select the Tools tab and click on the Selection method
button.

October 2013 FEKO User’s Manual


USING CADFEKO 3-160

Single selection: Select the single item under the mouse cursor.

Rectangle selection: Select all items in a rectangle. The user has to click once to place
the first corner of the rectangle, then move the mouse cursor and select a second time
to indicate the second point in the rectangle.

Polygon selection: A polygon selection area can be defined using successive clicks. All
elements inside the polygonal area will be selected.

3.19.2 Selection type

The selection type is set to Auto selection by default, but the user can set the selection type
manually on the Tool tab by clicking on the Selection type button or the status bar. Auto selection
cycles through the available selection types when left-clicking on the model in the 3D view.

Auto selection: When this option is selected, selection will cycle through the available
selection types.

Geometry parts: This option enables the selection of geometry parts in the 3D view.

Faces: This option enables the selection of faces in the 3D view.

Edges/Wires: This option enables the selection of edges and wires in the 3D view.

Regions: This option enables the selection of regions in the 3D view.

Mesh parts: This option enables the selection of mesh parts in the 3D view.

Mesh label: This option enables the selection of mesh labels in the 3D view.

Mesh element: This option enables the selection of mesh elements in the 3D view.

Mesh vertex: This mesh vertex selection enables the selection of mesh vertices or nodes
in the 3D view. Mesh vertices need to be selected when creating or modifying mesh
triangles.

3.19.3 Selection tools

Although items can be selected by clicking on it in the 3D view, advanced selection tools are
available which are tailored for specific selection requirements.

Select the Selection tools dropdown menu to select an advanced selection tool for the 3D
view. The tool is also available on the status bar.

Select edge loop: When this tool is activated, selecting one or more laminar and/or free
edges (wires), the smallest loop containing these edges will be selected by the tool, see
Figures 3-152 and 3-153. An edge is laminar when the edge is only on the the boundary of a
single face.
This tool is used when selecting edges for the hole filling tool (see Section 3.5.6), minimising the
number of edges that need to be selected manually. Shortcut: <Q,C>.

October 2013 FEKO User’s Manual


USING CADFEKO 3-161

Figure 3-152: Example 1 showing two selected wires. Using the Select edge loop tool by pressing the
shortcut <Q,C> results in the smallest loop containing these edges being selected. Note
that the background colour was changed to show the selection (indicated in yellow) more
clearly.

Figure 3-153: Example 2 showing two selected wires. Using the Select edge loop tool by pressing the
shortcut <Q,C> results in the smallest loop containing these edges being selected.

3.19.4 Undo/Redo selection

The Undo and Redo of the selection in the 3D view is possible by selecting the Tools tab
and clicking on the Undo selection or Redo selection buttons.

3.20 Snapping

The following tool is available when snapping to a surface of face with a given offset, is required.

The snapping settings may be specified to only snap to specific snapping targets. The
settings apply when <CTRL>+<SHIFT> are pressed, see Figure 3-154. Select the Tools
tab and click on the Snap settings button.
This tool may be used for routing cables at a certain offset from complex geometry.

Figure 3-154: The Snapping settings dialog.

October 2013 FEKO User’s Manual


USING CADFEKO 3-162

3.21 View options

The following view actions are available in CADFEKO for the 3D views (View tab). Note that
these options are also available for 3D views in POSTFEKO.

3.21.1 Rotating the model in theta/phi direction

Rotate negative phi: This option enables the rotation of the model in the negative phi
direction.

Rotate positive phi: This option enables the rotation of the model in the positive phi
direction.

Rotate negative theta: This option enables the rotation of the model in the negative theta
direction.

Rotate positive theta: This option enables the rotation of the model in the positive theta
direction.

3.21.2 Preset views

In CADFEKO there are a number of preset view options available to the user to obtain consistent
views. Select the View tab for the Preset view buttons.

Isometric: Restores the 3D view to a predefined isometric view. This is the default view
when no view angles have been set and the model has not yet been rotated.

Top view: The viewing angle of the 3D view is modified to display the model from the
top (along the x-axis towards the origin).

Bottom view: The viewing angle of the 3D view is modified to display the model from
the bottom (along the negative z-axis towards the origin).

Front view: The viewing angle of the 3D view is modified to display the model from the
front (along the x-axis towards the origin).

Back view: The viewing angle of the 3D view is modified to display the model from the
back (along the negative x-axis towards the origin).

Left view: The viewing angle of the 3D view is modified to display the model from the
left (along the negative y-axis towards the origin).

Right view: The viewing angle of the 3D view is modified to display the model from the
right (along the y-axis towards the origin).

3.21.3 Manipulation of views

The following actions are available on the View tab to manipulate the 3D view.

October 2013 FEKO User’s Manual


USING CADFEKO 3-163

View settings

The Transform view dialog may be launched by selecting the View tab and clicking on the
Transform view button.
The Transform view dialog (shown in Figure 3-155) opens with the current view settings rep-
resented by the position of the Origin (defined as the centre of the view), the spherical angular
coordinates θ and ϕ that specify the View direction and the current radial Zoom distance. These
values are updated each time the 3D view is changed. This means that rotating, moving or
zooming while the transform view dialog is open causes the values in the relevant fields to be
updated.
The option Model rotation w.r.t. camera Z-axis is only enabled when the Vertical z axis option is
disabled (i.e. z axis lock is disabled).

Figure 3-155: The Transform view dialog

The Vertical Z axis button controls the rotation of the model in such a way that the z-axis
remains vertical on the screen (i.e. locking it in place).

Depth lighting

Depth lighting adds depth to a 3D model. It is by default enabled for the 3D views. It may
however be disabled for specific views by selecting the View tab and clicking on the Depth
lighting button.

Figure 3-156: (a) A model with depth lighting disabled (b) a model with depth lighting enabled.

October 2013 FEKO User’s Manual


USING CADFEKO 3-164

View undo and redo

Select the View tab and click on the Undo view action and Redo view action buttons to apply
the undo/redo actions to the current view. View manipulations history is stored in a separate
list from the one used to store model manipulations. View operations can therefore be undone
independent of geometry modifications. The Undo/Redo buttons are disabled if there are no
additional undo / redo operations available in the view transformations history.
The undo/redo actions can also be accessed with the shortcut keys <Alt> <←> and <Alt> <→>.

Undo view action: Undo the previous action to the 3D view. The view undo stack is
separate from the normal undo stack allowing the view change to be undone multiple
times without affecting the model.

Redo view action: Redo the previous action to the 3D view. The redo view action allows
the user to get back to a specific view after too many view undo actions.

3D mouse sensitivity

CADFEKO and POSTFEKO supports the usage of a 3D mouse. The 3D mouse sensitivity
may be set by selecting the View tab and clicking on the 3D mouse button.

3.21.4 Create views

Views such as 3D view, Schematic view and Notes view may be added to the CADFEKO model by
selecting the View tab. For quick access, it is also available on the Home tab.

3D view: Clicking on the 3D view button opens another 3D view. All 3D views update
when the model changes and all 3D views can be used at the same time.

Network schematic view

Connections between network and transmission line components are made in the network schematic
view. To view the network schematic view, select the View tab and click on the Schematic view
menu button. From the dropdown menu select Network schematic. For quick access, it is also
available on the Home tab. An additional tab with the label Network schematic will be created.

Figure 3-157: The Network schematic tab containing the schematic view selection mode, network, trans-
mission lines and the rotate option for the components.

October 2013 FEKO User’s Manual


USING CADFEKO 3-165

Defined general non-radiating networks and transmission lines in a model may be inter-
connected or connected to geometry/mesh ports in the model on the Network schematic
view. In order to specify the interconnection of networks, transmission lines and ports, select
the View tab and click on the Schematic views menu button. From the dropdown menu, select
Network schematic. The schematic tools may be accessed by clicking on the Schematic tools
context tab.

Figure 3-158: An example showing the Network schematic view with connections between transmission
lines, general networks and ports.

Wire mode: Connections between networks, transmission lines and ports can be created
by clicking on the Wire mode button. A connection between two elements can be created
by clicking on the connector point (indicated by a white dot) and dragging the connection until
the mouse cursor is over the desired second connection point. When clicking at the second, a
connection between wires will be indicated by a black dot. Selected networks, transmission lines,
ports and connections will be indicated by a dotted outline. Connections between elements can
be deleted by selecting the respective element and pressing <Delete>.
Loads and excitations may be connected to general non-radiating network ports and transmis-
sion line ports in exactly the same way as they are connected to geometry and mesh ports (see
Section 3.7.3).
For more information regarding the adding of circuit elements to a cable harness, refer to the
cable schematic view (see Section 3.6.10).

Notes editor

CADFEKO provides a rich text editor tool (shown in Figure 3-159) in which the user can
add comments to a model. The editor is opened by selecting the View tab and clicking on
the Notes button. For quick access, it is also available on the Home tab.
The notes view opens in its own window, allowing usage of multiple monitors. Unlike the 3D
views, there is only one notes editor.
The toolbar at the top of the noted editor provides buttons to Clear notes, Print the notes, for
Undo/Redo changes as well as the standard Cut, Copy and Paste commands. Multiple undo/redo

October 2013 FEKO User’s Manual


USING CADFEKO 3-166

Figure 3-159: The Notes view editor.

commands are supported. There is no facility to Cancel any changes to the text, but this may be
achieved with the Undo command.
The editor allows a choice of font name, font size, font type (bold, italic, underlined) and text
colour as well as setting the justification. If no notes have been previously saved with the model,
then a basic template is loaded (as shown in Figure 3-159).
The contents of the notes editor is also written to the *.pre file for users that need to create the
model in CADFEKO and then change the model using EDITFEKO. The contents are written tot he
top of the *.pre file as a series of comments.

3.21.5 Show tree/messages

The model tree and the message window may be hidden or displayed by toggling the Tree or
Messages button on the View tab.

Tree: Toggling this button hide/shows the model tree (see Section 2.4). By default, the
model tree is displayed.

Messages: Toggling this button hide/shows the messages window (see Section 2.4). By
default, the messages window is displayed.

3.22 Model display options

The following display options may be set for the 3D model namely the display mode of the
model/mesh, the display style, visibility of the model and mesh, entity display, solver display
options and the display settings for the visualisation of axes and workplanes.

3.22.1 Display mode

The display mode contains the following three modes: Model view, Simulation mesh and the
Overlay modes.

October 2013 FEKO User’s Manual


USING CADFEKO 3-167

The model (geometry and mesh) is displayed. This is the default display mode and
should be used for model creation and manipulation.

The simulation mesh (used by the solver/kernel) is displayed. This option is useful when
the mesh needs to be inspected.

The overlay options shows a bit of the view mode that is not selected. In model view
mode, the simulation mesh edges will be displayed, but not the faces. In simulation mesh
mode, the model will be displayed semi-transparent so that the model and simulation mesh can
be compared.

Figure 3-160: An example of a sphere where the Simulation mesh and Overlay has been selected. Note
the transparent geometry shown together with the mesh.

The antenna array is displayed consisting of the base element and its copies. The base
element is indicated by green hatching.

Figure 3-161: (a) The antenna array is displayed consisting of the base element indicated by green hatch-
ing and its copies and (b) the display of the antenna array is disabled. As a result only the
base element is displayed.

3.22.2 Style

The following style options may be set for the display options of the 3D view: the colouring
theme of the model, visualisation of cutplanes, connectivity in the model, coatings on wires and
setting the opacity of the 3D model.

Colour

October 2013 FEKO User’s Manual


USING CADFEKO 3-168

Element normal: All parts are drawn with the same colour. The two sides of faces are
coloured differently to indicate the normal direction of the faces. On the geometry, the
normal side is coloured green, while the reverse side is coloured red. On the mesh, the normal
side of each element is coloured blue, while the reverse side is coloured brown.

Region medium: Each region medium is indicated according to the media list under
Media in the model tree (see Section 3.3.2 and Section 3.13.2). In the mesh view,
surface mesh elements are coloured on each side according to the medium on that side of the
face. For example, when viewing the mesh of a dielectric/metallic object, the entire object will
have the free space colour when viewed from outside, but the view from inside (utilising a
cutplane or after elements of the region boundary have been deleted) will be the colour of the
dielectric/metallic medium of the inside region. In the geometry view, regions are, however,
displayed using the colour of the internal medium (whether viewed from outside or inside the
region). If the display of the segment radii and coatings are activated on wire mesh elements,
these are coloured according to the core medium or the layered medium defined as coating for
that wire respectively.

Face medium: The faces are displayed according to the material type of each face. There
is no differentiation of the colouring according to the direction from which faces are
viewed on the mesh. In the mesh view, the display of segment radii is automatically activated for
wire elements in the mesh and these are coloured according to the core medium. (The segment
radii display may be manually deactivated if required, in which case no specific colouring will be
shown for wire elements in the mesh.)

Face normal medium: The faces are displayed according to the material colour on the
two sides of the face. As an example, an object in free space will have the colour of free
space (red by default) on the outside of the object.

Cutplanes

The cutplane dialog for a specific view can be opened by selecting the Display options
context tab and clicking on the Cutplanes button.
The first cutplane is created automatically when the dialog is opened (shown in Figure 3-162).
Additional cutplanes can be added or deleted using the Add and Remove buttons. Unchecking
the Active item on any of the cutplanes deactivates that cutplane without losing its settings. The
Flip button reverses the operation of the cutplane, hiding the visible region, and showing the
invisible region.
The cutplane is specified in a similar manner to the workplane (see Section 3.3.5), using an
origin and two vectors. These fields all use the standard point entry (see Section 2.7.2). Thus
the definition of the cutplane may be interactively modified. Before applying any changes to a
cutplane, a plane preview is shown in all 3D windows (and will accept point entry from any 3D
view), but when applied, the cutplane applies only to the current window.
The cutplane is updated with each change in the dialog. Closing the dialog with Cancel reverts
to the previous state (i.e. when the Apply or OK button was last clicked).
If a solid is cut, while the current mode selection (see Section 3.19.1) is Select geometry parts, a
surface (in the colour of the internal region of the solid) is displayed in the plane of the cut where

October 2013 FEKO User’s Manual


USING CADFEKO 3-169

Figure 3-162: The Cutplane dialog.

the solid is intersected, even when the geometry is not coloured by medium (see Section 3.22.2).
Such surfaces cannot be selected, and clicking on them will select geometry that lies behind
the cutplane. When the selection mode is anything other than Select geometry parts, CADFEKO
displays cut solids in a similar fashion to shells (showing only the actual faces) allowing visible
selection-access to the internal faces and edges.

Selective viewing

Where items are obscured by other items in the 3D view, it can be difficult to set up cutplanes to
view these items. In addition, 3D view representations of items such as field calculation requests
can cause a general clutter of the view window. In order to tailor views, specific items (geometry,
mesh or solution entity items) can be hidden selectively. Hidden items are removed from all 3D
views, but are still part of the model and will be exported to the *.cfm and *.pre files and
will be considered in any computation process. (Meshing a hidden object will result in a visible
mesh part — even if a hidden mesh part with that name existed beforehand.) Hidden items are
indicated with grey icons in the model tree.
Items can be shown or hidden by selecting them in the 3D view or tree and choosing Show/Hide
from the context menu. If the selection contains visible and hidden items, selecting Show/Hide
toggles the hidden state of each of the selected item. The Show all option shows all geometry and
mesh parts respectively. Ports can be shown/hidden at the port level or the level of the individual
mesh/geometry instances.
Item viewing properties are not saved as part of the model or session and if the model is saved
and reloaded, all items will become shown (visible) again.

Mesh connectivity

October 2013 FEKO User’s Manual


USING CADFEKO 3-170

The Connectivity display option may be used to display connectivity lines. Select the
Display options context tab and click on the Connectivity button. Faces with unbounded
edges are shown in red, see Figure 3-163.

Figure 3-163: An example showing the mesh connectivity. Faces with unbounded edges are shown in red.

October 2013 FEKO User’s Manual


USING CADFEKO 3-171

Coatings

The display of coatings in the 3D view may be enabled/disabled by selecting the Display
options tab and clicking on the Coatings button.

Opacity

The opacity of the model may be set by selecting a specific amount or setting a custom
setting. A decrease in opacity will result in an increase of transparency in the model.
Select the Display options context tab and click on the Opacity button.

Figure 3-164: (a) A ship model with 100% opacity (b) a ship model with 20% opacity.

3.22.3 Model visibility

The model visibility settings may be specified for the following elements: Geometry, Triangles,
Segments and Tetrahedra. The settings as available for each element are listed below. Note that
the Model view must be selected to enable the Model visibility group (see Section 3.22.1).

Geometry: The visibility of geometry volumes, faces, edges and vertices is controlled by
the check box items on this menu button.

Triangles: The visibility of the model mesh triangle faces, edges, outlines, vertices and
element normals is controlled from the menu button.

Segments: The visibility of the model mesh segment cylinders, wires and vertices is
controled from the menu button.

Tetrahedra: The visibility of the model mesh tetrahedra volumes, faces, edges and ver-
tices is controlled from the menu button.

3.22.4 Simulation mesh

The mesh visibility setting may be specified for the following elements: Triangles, Segments and
Tetrahedra. The settings as available for each element are listed below. Note that the Simulation
mesh must be selected to enable the Model visibility group (see Section 3.22.1).

Triangles: The simulation mesh visibility of the triangle faces, edges, outlines, vertices
and element normals is controlled from the menu button.

October 2013 FEKO User’s Manual


USING CADFEKO 3-172

Segments: The simulation mesh visibility of the segment cylinders, wires and vertices is
controlled from the menu button.

Tetrahedra: The simulation mesh visibility of the tetrahedral volumes, faces, edges and
vertices is controlled from the menu button.

3.22.5 Entity display

The display of the following entities may be enabled/disabled by clicking on the respective but-
tons on the Entity display group.

Named points: The visibility of named points (see Section 3.3.4) that have a presentation
in the 3D view can be controlled.

Cable paths: The visibility of cable paths (see Section 3.6.3) in the 3D view can be
controlled.

Meshing rules: The visibility of defined meshing rules (see Section 3.10.6) in the 3D view
can be controlled.

Ports: The visibility of defined ports (see Section 3.7.4) in the 3D view may be controlled.

Port annotations: The visibility of annotations for defined ports in the 3D view may be
controlled. A tag will be displayed at each active port, indicating the port name and the
names of the excitations and loads that are applied at that point.

3.22.6 Solver display

The display buttons for solution entities, symmetry and PBC enables the visualisation of solution
entities in the 3D view. These buttons may be enabled/disabled on the Display options context
tab, Solver display group. Note that these buttons mere enable/disable the visibility.

Solution entities: The solution entities button enables the visualisation of solution re-
quests (see Section 3.9) in the 3D view.

Symmetry: The symmetry button enables the visualisation of symmetry planes in the 3D
view.

PBC: The periodic boundary conditions button enables the visualisation of PBC in the
3D view.

3.22.7 Axes

The visibility of the axes and the workplane may be set on the Display options context tab, Axes
group. Note that these buttons merely enable/disable the visibility.

Main axes: The main axis button enables the visualisation of the main axis at the origin
of the 3D view.

October 2013 FEKO User’s Manual


USING CADFEKO 3-173

Workplane: The workplane button enables the visualisation of the default workplane in
the 3D view. The orientation of the default workplane is indicated in grey in the 3D
view.

Tick marks:The axis tick marks may be enabled by selecting the Tick marks button.

Mini axes:The mini axis at the bottom left corner in the 3D view may be enabled by
selecting the Mini axis button.

Workplane grid: The workplane button enables the visualisation of the workplane grid
in the 3D view.

3.23 Messages and log files

In addition to the messages and errors in the message window, CADFEKO creates a text log
file for each session in the logs subdirectory of the FEKO_USER_HOME. If CADFEKO encounters
an internal error, the log file for the session is copied to CADFEKO.ERROR.LOG and the current
model to CADFEKO.ERROR.CFX. If these files exist, they will be overwritten. If possible, these
error files should be included when reporting any problem to FEKO support.

3.24 Shortcut keys

The keyboard shortcut keys that are available in CADFEKO are listed in this section. Keyboard
shortcut keys enable users to save time accessing actions that they perform regularly. The shortcut
key or key combination is also displayed in the keytip that is displayed when hovering the mouse
over the action on the ribbon.

Table 3-10: Shortcut keys (running other FEKO components)

Shortcut key Description


<Alt><1> Run EDITFEKO.
<Alt><2> Run PREFEKO.
<Alt><3> Run POSTFEKO.
<Alt><4> Run FEKO.
<Alt><6> Run OPTFEKO.

The following keyboard shortcuts are available for constructing solid primitives.

October 2013 FEKO User’s Manual


USING CADFEKO 3-174

Table 3-11: Shortcut keys for general editing and construction.

Shortcut key Description


<F1> Context-sensitive help for the dialog/window that has focus.
<F2> Rename selected item.
<F9> Create workplane.
<Del> Delete selected items.
<Shift><Ins> Paste clipboard text.
<Ctrl><Ins> Copy selected text.
<Shift><Del> Cut selected text.
<Ctrl><A> Select all items of the current selection type.
<Ctrl><C> Copy selected text/image.
<Ctrl><E> Export image.
<Ctrl><K> For mesh parts or solution items which allow multiple instances,
create copies of the selected items. For geometry items (at any
level) create new root-level parts as copies of the selected items.
<Ctrl><M> Create mesh.
<Ctrl><Shift><M> Quick mesh - mesh with the current settings without
requiring confirmation.
<Ctrl><N> Create new model.
<Ctrl><3> Create new 3D view.
<Ctrl><O> Open model.
<Ctrl><P> Print.
<Ctrl><S> Save model.
<Ctrl><V> Paste.
<Ctrl><X> Cut selected text.
<Ctrl><Y> Redo model creation/modification.
<Ctrl><Z> Undo model creation/modification.
<Alt><←> Undo view manipulation.
<Alt><→> Redo view manipulation.
<#> Create variable.
<Ctrl><Shift> Point entry.

Table 3-12: CADFEKO tree and message window shortcut keys

Shortcut key Description


<Alt><T> Open/closes the tree.
<Alt><W> Open/closes the message window.

October 2013 FEKO User’s Manual


USING CADFEKO 3-175

Table 3-13: CADFEKO create solids shortcut keys

Shortcut key Description


<C,1> Create a cuboid.
<C,2> Create a flare.
<C,3> Create a sphere.
<C,4> Create a cylinder.
<C,5> Create a cone.

Table 3-14: CADFEKO create surfaces shortcut keys

Shortcut key Description


<S,1> Create a polygon.
<S,2> Create a rectangle.
<S,3> Create an ellipse.
<S,4> Create a paraboloid.
<S,5> Create a NURBS.

Table 3-15: CADFEKO create curves/arcs shortcut keys

Shortcut key Description


<V,1> Create a straight line.
<V,2> Create a polyline.
<V,3> Create a fitted spline.
<V,5> Create a Bezier curve.
<V,6> Create an analytical curve.
<A,1> Create an elliptic arc.
<A,2> Create a parabolic arc.
<A,3> Create a hyberbolic arc.
<A,4> Create a helix.

Table 3-16: CADFEKO modify shortcut keys

Shortcut key Description


<U> Union the selected parts.
<B,1> Subtract selected object from another object.
<B,2> Intersect the selected geometries.
<B,3> Split selected items along a plane.
<B,4> Stitch selected face parts together.
<E,1> Spin selected items around a specified axis.
<E,2> Sweep selected items in a specified direction.
<E,3> Sweep selected item along a path.
<E,4> Connect two curve parts to form a loft surface.
<R> Re-evaluate the geometry tree.

October 2013 FEKO User’s Manual


USING CADFEKO 3-176

Table 3-17: CADFEKO view shortcut keys

Shortcut key Description


<F5> Zoom to extents.
<0> Restore view.
<8> Top view.
<2> Bottom view.
<5> Front view.
<Ctrl><5> Back view.
<4> Left view.
<6> Right view.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-1

4 Importing models into CADFEKO

In CADFEKO there are a number of ways to import and export geometry. CADFEKO can
import geometry from other CADFEKO models, Parasolid and other CAD formats.

Contents
4.1 Importing CADFEKO models (*.cfx) . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2 Importing harness description list (*.kbl) . . . . . . . . . . . . . . . . . . . . 4-2
4.3 Importing geometry formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.4 Importing general mesh formats . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

4.1 Importing CADFEKO models (*.cfx)

CADFEKO supports the import of existing CADFEKO models (*.cfx) into other *.cfx files.

When importing CADFEKO models, the user has to select whether geometry, meshes,
solution entities or optimisation settings should be included in the import process. Click
on the Application menu button and hover over the Import menu anchor.
From the Home tab select → Import → CADFEKO model (*.cfx).

Figure 4-1: The Import CADFEKO model dialog.

Variables, named points and media are always imported. An option is provided to merge variables
and media that are shared between the model being imported and the destination model (i.e.
variables and named points with the same name and value in both models). If there are naming
conflicts between names of imported- and existing entities in the model (variables, named points,
geometry, meshes or solution entities), an error message will list the offending entities and the
import will be terminated. This problem can be overcome by adding an optional prefix (in the
Prefix field) that will be pre-pended to all imported entity names in order to ensure uniqueness.
When variables or media are merged, variables and media with the same name and the same
value result in a single instance of that variable or media after importing.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-2

It should be noted that the frequency, infinite planes and various other settings (e.g. meshing
settings in the Create meshing dialog) are not considered during the import process and will not
affect the destination model in any way.
When the unit of the model being imported is not the same as the target model unit, the following
warning will be given, see Figure 4-2.

Figure 4-2: The Import unit warning dialog.

Note that if a *.cfx file is imported and it contains an empty configuration (i.e. it contains no
entities, only frequency), it is removed during the importing of the *.cfx file.
The importing of *.cfx file is only allowed if the configuration settings of the imported file is
identical to the current *.cfx file settings. Should the configuration settings differ, the configu-
ration settings must be merged to continue with the import process, see Figure 4-3.

Figure 4-3: The Merge configuration settings dialog.

4.2 Importing harness description list (*.kbl)

CADFEKO supports the import of a subset of the KBL format. For any questions regarding
KBL import, please contact FEKO support (see Section 1.7).
From the Home tab select Import → Geometry → KBL file (*.kbl).

4.3 Importing geometry formats

CADFEKO is based on the Parasolid solid modelling kernel and therefore models can be imported
and exported from/to the native Parasolid format without any translation. The import of CAD
formats using Spatial InterOp translators is also supported. The following formats are supported:
ACIS, CATIA V4, CATIA V5, AutoCAD, IGES, Pro/ENGINEER, STEP and Unigraphics.
Since all imported CAD models are converted to a Parasolid format during the import process,
importing from other CAD formats may have unexpected results. Due to the differences in the
internal representation used by various CAD formats, adjoining surfaces sometimes might not

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-3

line up correctly. This discrepancy is as a result of tolerance differences. Models that use a
numerical representation can cause faults during scaling.
If the imported CAD models contain faults, the CAD fixing tools (see Section 3.5) may be used to
attempt to repair the faults and prepare the models for analysis.
The following CAD formats are supported by CADFEKO for importing:

• ACIS (*.sat)

• CATIA V4 (*.model/*.exp)

• CATIA V5 (*.CATPart/*.CATProduct / *.CATShape)

• AutoCAD (*.dxf): Supported entities are: 3D face, Arc, Circle, Ellipse, Line, Polyline and
Polyface mesh (3D). Entities that are not supported are: Point, Spline, 3D solid, Trace,
Hatch, Text and Dimensional annotations.

• IGES (*.iges/*.igs)

• Parasolid (*.x_t/*.x_b): Isolated vertices (acorns which are not the same as named
points) is not imported. The coordinates are written to the message window and, if re-
quired, the relevant named points can be created manually.

• Pro/Engineer (*.prt/*.asm/*.prt/*.asm)

• STEP (*.step/*.stp)

• Unigraphics (*.prt)

From the Home tab select → Import → Geometry. Specify the geometry format of the
imported file on the File and format tab, see Figure 4-4. Click on the Browse button and
select a filename. If a filename is selected, the file format will be automatically detected and
displayed in the File format field.
Alternatively, files can be filtered to display only a specific file format. Select a file format and
click on the Browse... button. Only files with the specified file format will now be displayed.

Figure 4-4: The File and format tab of the Import geometry dialog.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-4

4.3.1 Advanced options

On the Advanced tab, information regarding the unit of the imported geometry and the CADFEKO
model unit can be viewed. Note that the best results are obtained if the CADFEKO model unit is
in “m”. If a large model is imported and the source file unit is not equal to the CADFEKO model
unit, the import process may be slow.

• Healing: This option controls the healing of data which has performance-expensive errors.
If this option is selected, geometrical and topological irregularities are repaired and healed.
Repairing involves the checking of the translated file for corrupted data and fixing the
invalid data.

• Simplify model: This option controls the process of cleaning and removing redundant
topologies and geometries from the model during translation. If a vertex is redundant,
the vertex is deleted and the associated edges are merged. If an edge is redundant, the
edge will be removed and the associated faces merged.

• Stitch trimmed faces: This option controls the stitching of trimmed25 faces during the trans-
lation process.

• Use two step import process: Some models may not import correctly with the current
import process. For such cases, CADFEKO supports the older, legacy import process. The
user may select this option, Use two step import process, to try to import problematic
models into CADFEKO.

• Extrude: A local coordinate transformation is specified with each element. This option is
only available for *.dxf geometry imports.

• Auto-stitch faces: Faces that touch are automatically stitched. This option is only available
for *.dxf geometry imports.

• Auto-merge wires: Wires that touch are automatically stitched. This option is only available
for *.dxf geometry imports.

While the CAD model is being imported, the status of the import process is indicated on the
Importing file dialog, see Figure 4-6. The output generated is hidden by default unless a warning
and/or error is given. The CAD importing output is viewed by selecting the Summary or Output
tabs. Similarly, notices, warnings and errors can be viewed by selecting the Warnings and Errors
tabs respectively.
If a CAD file is selected and afterwards a File format is specified, but they do not match, a warning
will be displayed on the dialog, see Figure 4-7.
If a selected File format is not supported by the current license, it will be indicated on the dialog,
see Figure 4-7.
25
A trimmed surface is a surface which was divided into multiple pieces as a result of a modelling operation. A
portion of the surface may then no longer be required to support the model topology. The redundant pieces are then
discarded.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-5

Figure 4-5: The Advanced tab of the Import geometry dialog. The second dialog shows the options for
when importing an AutoCAD (*.dxf) file.

Figure 4-6: The Importing file dialog. Output generated is hidden by default unless a warning and/or
error is given. The CAD import info may be viewed by clicking on the Details button.

Figure 4-7: (a) The File extension does not match file format and (b) Not supported by current license
warnings.

4.3.2 Geometry import log

For a summary of the last geometry import, select Home → Import → Geometry import
log. To view the warnings or errors in the import process, click on the Warnings or Error
tabs.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-6

Figure 4-8: (a) The Import log dialog is displayed for the last geometry import and (b) CAD error dialog
which is displayed when no import history is available.

All model format conversions performed during a CAD import are logged in the file
CADimport.log in the directory %FEKO_USER_HOME%/logs. The information in this file is
useful in cases where the import conversion fails.

4.4 Importing general mesh formats

CADFEKO imports all mesh formats (except for *.fek file imports) by running PREFEKO and
importing the resulting *.fek file. Since these formats do not support specifying dielectric
media, all segments, triangles and polygonal plates are PEC structures in free space. Tetrahedra
have the medium Unknown.
When importing *.fek files, only the mesh parts (wire segments, triangles, polygonal plates
and tetrahedra) are imported. Information regarding the solution configuration is completely
ignored. Medium information and segment radii are retained during import.
The following mesh formats are supported by CADFEKO for importing:

• FEKO model (*.fek)

• FEMAP neutral mesh (*.neu) - boundary surfaces bordered with line curves are imported
as polygonal plates.

• NASTRAN mesh (*.nas)

• Meshed AutoCAD file (*.dxf) - only LINE and POLYLINE structures which define segments
and triangles are supported.

• STL mesh (*.stl)

• PATRAN mesh (*.pat)

• ANSYS mesh (*.cdb)

• Concept mesh (*.dat)

• ABAQUS mesh (*.inp)

• ASCII data mesh

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-7

• GiD mesh (*.msh) - hexahedra elements are ignored.

• NEC data mesh (*.nec)

From the Home tab select → Import → Mesh. Specify the mesh format of the imported
file on the File and format tab, see Figure 4-9. Click on the Browse button and select a
filename. If a filename is selected, the file format will be automatically detected and displayed in
the File format field.
Alternatively, files can be filtered to display only a specific file format. Select a file format and
click on the Browse... button. Only files with the specified file format will now be displayed.

Figure 4-9: The File and format tab of the Import mesh dialog.

4.4.1 Advanced options

On the Advanced tab, the following options may be specified:

• Segments, Triangles, Tetrahedra, Polygons, Quadrangles: Select the elements to import.


Note that quadrangles are divided into triangles.

• Default wire radius: Only ANSYS files support segment radius information. For all other
formats and ANSYS files where the segment radius is not specified, a default radius must
be specified.

• Scale factor to metres: A scale factor can be specified if the unit of the imported mesh is
not in metres.

• Segment length: For meshed AutoCAD DXF files, the LINE elements are divided in seg-
ments according to the value of the Segment length field. If the LINE elements may not be
subdivided, this value must be larger than the longest line. This option is only available for
*.dxf mesh imports.
• Mesh vertex tolerance: The mesh vertex tolerance is specified. If the tolerance is small,
FEKO will interpret the vertices as connected. Usually the default setting should suffice.

If a mesh file is selected and afterwards a File format is specified, but they do not match, a
warning will be displayed on the dialog similar to Figure 4-7.
If a selected File format is not supported by the current license, it will be indicated on the dialog
similar to Figure 4-7.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-8

Figure 4-10: The Advanced tab of the Import mesh dialog. The second dialog shows the options for when
importing an AutoCAD mesh (*.dxf) file.

While PREFEKO is running and importing the resulting *.fek file, the output generated is
displayed on the Figure 4-11. The mesh importing output is viewed by selecting the Output or
Notices tabs. Similarly, warnings and errors can be viewed by selecting the Warnings and Errors
tabs respectively.

Figure 4-11: The Executing prefeko dialog. The output of the mesh import may be viewed by clicking on
the Output, Notices, Warnings and Errors tabs.

October 2013 FEKO User’s Manual


IMPORTING MODELS INTO CADFEKO 4-9

4.4.2 Mesh import log

For a summary regarding the last mesh import, select Home → Import → Mesh import
log. To view the warnings or errors in the import process, click on the Warnings or Error
tabs.

Figure 4-12: (a) The Import log dialog is displayed for the last mesh import and (b) CADFEKO error dialog
which is displayed when no import history is available.

October 2013 FEKO User’s Manual


EXPORTING MODELS FROM CADFEKO 5-1

5 Exporting models from CADFEKO

In CADFEKO there are a number of ways to export geometry. CADFEKO can export geom-
etry and mesh to Parasolid and other CAD formats. Note that the Gerber export translator
module is licenced separately. If the Gerber menu item is disabled, the module is not activated
in the licence. If you wish to evaluate or purchase this export modules, please contact your
distributor (see Section 1.7).

Contents
5.1 Exporting general geometry formats . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2 Exporting general mesh formats . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

5.1 Exporting general geometry formats

CADFEKO can export a variety of geometry formats. The export tools are accessed by
clicking on the Home tab and selecting Export → Geometry . . .
The following geometry formats are supported:

• ACIS (*.sat)

• CATIA V4 (*.model/*.session/*.exp)

• IGES (*.iges/*.igs)

• Parasolid (*.x_t/*.x_b)

• STEP (*.STEP/*.stp)

5.1.1 Exporting general CAD formats

From the Application menu select Geometry. If an export format is selected, the options
and information available for the particular format is displayed. Clicking on OK allows
the user to select the file to export to.
Scaling is very important when translating between the different CAD file formats (ACIS, CATIA,
IGES, Pro Engineer, STEP, Unigraphics, Parasolid) and this is often the source of many importing
errors. During an export a dialog displays the difference in the number of units displayed in
CADFEKO and the number of units that would be seen in the program where the file is imported.
The difference in the number of units is caused by the fact that CADFEKO does not perform
any scaling during the export (scaling could cause tolerance errors during the subsequent import
process). During an import, CADFEKO also displays the scaling that will be applied during the
import process - the scaling can be changed by changing the CADFEKO model unit or geometry
extents. If a model does not import as expected the scaling should be varied in an attempt to
import the geometry correctly.

October 2013 FEKO User’s Manual


EXPORTING MODELS FROM CADFEKO 5-2

5.1.2 Exporting of Parasolid models (*.x_t/*.x_b)

Click on the Application menu button and hover over the Export menu anchor. From the
Application menu select Geometry → Parasolid. This opens the Export Parasolid model
dialog, where the option of Text or Binary format can be set and the Parasolid version to export
to can be chosen, see Figure 5-1. Once the export options have been chosen, a dialog prompting
for the name of the file to export to will be launched.

Figure 5-1: The Export Parasolid model dialog.

Parasolid models are inherently limited to a 1000x1000x1000 unit box centred at the origin.
CADFEKO introduces a scaling factor to make this more flexible (see Section 3.3.7). The Scale
factor field on the Export Parasolid model dialog displays the factor by which the CADFEKO
model must be scaled during export to convert it to correct units required in the Parasolid model.
A scale factor of 0.1 implies that the dimensions of the saved Parasolid model are one tenth of
the native dimensions as set in CADFEKO. Typically, programs that import Parasolid models allow
specifying a factor by which the Parasolid model must be scaled during the import. In order to
maintain the correct units and scale, this factor should then be the inverse of the scale factor
used in the export of the model from CADFEKO.
For large models (larger than 500 of the current CADFEKO units), the extents must be increased.
If, however, the model is smaller than 50 CADFEKO units, the extents should be decreased. In
general, changing the model extents is not recommended (unless the model is very small and
precision or geometric accuracy problems are encountered). Using the default extents results
in an unscaled Parasolid model, and it is not necessary to keep track of the scale factor during
model import/export.
Bodies in Parasolid are divided into two categories, namely manifold or general bodies. When
exporting the Parasolid model, the Topology type can be specified as:
General: A manifold body is any body that can exist in the real world or could be manu-
factured. Wire bodies must be one-dimensional open (linear sections with two
endpoints) or closed (loops with no endpoints); they may not contain junc-
tions. Similarly, sheet bodies must be two-dimensional open or closed and may
not contain junctions.

Manifold: General bodies differ from manifold bodies in that they usually cannot exist
in the real world. They are often idealized representations of bodies, e.g. in-
finitely thin sheets joined in a T-junction. Bodies of mixed dimensions are also
general, e.g. a body with wires, sheets and solids.

CADFEKO exports the latest Parasolid version by default, but older versions of Parasolid can also
be selected. Only the final geometry is exported. Exporting and importing the same model will

October 2013 FEKO User’s Manual


EXPORTING MODELS FROM CADFEKO 5-3

result in the loss of the entire creation tree. This is similar to the make primitive operation (see
Section 3.4.5).

5.2 Exporting general mesh formats

CADFEKO can export a variety of mesh formats. The export tools are accessed by click-
ing on the Home tab and selecting Export → Mesh . . . The following mesh formats are
supported:

• CADFEKO mesh (*.cfm)

• NASTRAN mesh (*.nas)

• STL mesh (*.stl)

• DXF mesh (*.dxf)

• Gerber mesh (*.gbr)

When exporting a mesh format, the user may choose the option to Only export selection. Note
that the option Only export selection will only be enabled if:

• geometry parts are selected (associated mesh parts will be exported)

• mesh parts are selected

• regions, faces or wires are selected (the associated mesh elements will be exported)

• mesh elements are selected (triangles, segments, tetrahedra)

5.2.1 Exporting NASTRAN mesh (*.nas)

CADFEKO is able to export NASTRAN mesh formats. Select the Home tab and click on
Export → Mesh → Nastran mesh (*.nas).
It is exported directly from CADFEKO and does not make use of PREFEKO. The user may choose
from the options Only export selection or Only export bounding faces of volume meshes, see
Figure 5-2.

Figure 5-2: The Nastran export dialog.

5.2.2 Exporting Gerber mesh (*.gbr)

October 2013 FEKO User’s Manual


EXPORTING MODELS FROM CADFEKO 5-4

CADFEKO is able to export the Gerber mesh format. Select the Home tab and click on
Export → Gerber mesh (*.gbr).
When exporting planar structures to Gerber format, all entities are projected onto the XY-plane
before exporting.
Each model entity is written to its own Gerber layer with its layer name equal to the entity label.
Note that it is an information layer and not a layer in the PCB sense. Should a model outline be
required, CADFEKO wires may be used as these are exported as zero width wires.
The user is also given a mirror option where the exported area is mirrored around its local y axis
centre while maintaining the same global x-axis range, see Figure 5-3.
The export of drilling info is not supported.

Figure 5-3: The Gerber export dialog.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-1

6 Requesting optimisation in CADFEKO

The CADFEKO interface supports the defining of an optimisation search and optimisation related
options. Refer to the optimiser OPTFEKO (see Section 21.1) for information regarding optimisa-
tion algorithms and related options. An example of the usage of the optimiser may be found in
the Getting Started Manual.
It is important to note that adaptive or continuously sampled results (generated using ADAPT-
FEKO) cannot be used in an optimisation. Only results generated when using single or discretely
sampled frequency settings may be used.
The workflow for requesting an optimisation is as follows and depicted in Figure 6-1.

Optimisation method: Select one of the following optimisation methods (see Section 6.1) namely:
Simplex (Nelder-Mead), Particle swarm optimisation (PSO) and Genetic algo-
rithm (GA).

Model parameters: Specify the model parameters to be varied during the optimisation to obtain
the optimal solution.

Parameter range: Define the range for the parameters to be varied by specifying the Min value,
Max value and Start value.

Optimisation mask: Define an optimisation mask (optional). An optimisation mask is a set of user
specified values that form a continuous line. The mask is a criterion to which
the optimal solution must adhere to. The optimised solution is specified to
be either less than, equal or greater than the mask. During the calculation of
the optimal solution, the goal values are compared to the mask. If the mask
criterion is satisfied, the values are added to a long array of values.

Optimisation goal: Goal(s) are defined that specify the desired state that the optimisation process
should attempt to achieve by varying the specified model parameters.

Run OPTFEKO: Run OPTFEKO (see Section 21.1) to calculate the optimum solution for the
specified parameters.

Optimum parameters: After the optimum values are obtained for a model, a CADFEKO model is cre-
ated with the optimum parameters. The file is indicated with a _optimum
suffix.

Contents
6.1 Optimisation methods and stopping criteria . . . . . . . . . . . . . . . . . . . 6-2
6.2 Optimisation goal types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
6.3 The global goal: combining and weighting of multiple goals . . . . . . . . 6-18
6.4 Specifying special optimisation solver settings . . . . . . . . . . . . . . . . . 6-19
6.5 Using optimisation in CADFEKO after making modifications to the *.pre
file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-2

Workflow for optimisation

Use CADFEKO Add an optimisation search

Define the model parameters


to be varied

Define the range of the model


parameters

Define the mask (optional)

Define the desired goal(s)

Run OPTFEKO Run OPTFEKO to optimise the


model

Use CADFEKO OPTFEKO creates model with


variables set to optimum values -
“_optimum.cfx”

Figure 6-1: The workflow for defining an optimisation search in CADFEKO.

6.1 Optimisation methods and stopping criteria

To request an optimisation search, select the Request tab and click on the Add search
button to launch the Add optimisation search dialog. Once a search has been created, it
is visible in the model tree (see Section 2.4).
In order to change the optimisation search settings, the Modify optimisation search dialog may
be opened by double-clicking on the relevant search in the Optimisation tree, see Figure 6-2.

Figure 6-2: (a) The Options tab of the Optimisation search dialog and (b) the Advanced tab of the Opti-
misation search dialog.

The following optimisation method types are supported:

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-3

Automatic: A method will be automatically chosen by the optimiser.

Simplex (Nelder-Mead): A gradient-based or ‘hill-climbing’ method (see Section 21.2.1).

Particle swarm optimisation (PSO): A swarm-based global search method (see Section 21.2.2).

Genetic algorithm (GA): An evolutionary global search method (see Section 21.2.3).

Grid search: This method searches over a predefined grid of parameter sets (see Section 21.2.4).

For the Automatic, Simplex (Nelder-Mead), Particle swarm optimisation and Genetic algorithm
methods, two stopping criteria options are available:

Specify maximum number of solver runs: The optimisation process is terminated when the FEKO solver
was launched the specified number of times during the optimisation process.
For the PSO and GA methods, should a full swarm or generation not be gen-
erated within the allowable number of allocated runs, the optimisation may
terminate before the indicated number of solver runs.
When an optimisation process is prematurely terminated due to the limitation
placed on the number of solver runs, the optimum solution found up to that
point and the optimisation process information will be available.

Optimisation convergence accuracy (standard deviation): This option allows the level of accuracy re-
quired for the optimisation process to be adjusted. The three options, High,
Normal and Low modify the conditions under which the search algorithm will
converge, and the effect is dependent on the method chosen (see Section 21.2).

For the Particle swarm optimisation and Genetic algorithm methods, the seed value can be set
for random generation, see Figure 6-2. The following Random number generation options are
available:

Default: The seed value is set equal to a fixed default.

Generate random seed: The seed value is set equal to a random integer number.

Specify seed value: The seed value can be entered as any number greater or equal to 1.

For the Grid search method, the number of grid points can be set. The Default number of points
specifies the number of grid points used for each optimisation parameter in the predefined grid.
This value will be used for the Grid points of the parameters should no values be specified on the
Optimisation parameters dialog, see Figure 6-3.

Multiple searches

Multiple searches may be defined in one model and are represented as individual branches below
the Optimisation heading in the model tree. Only one optimisation search may be activated at
a time. If only one search is defined in the model, then this search will always be active. The
settings for each search are completely independent, and only the settings specified in the active
search will be saved to the *.opt and *.pfg files for use during an optimisation run.
In order to activate a specific search, right-click on the relevant search in the tree and select
Activate optimisation search or select the Request tab and click on the Activate button.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-4

The active search is indicated by the addition of a green check-mark to the icon represen-
tation of the search in the tree.

6.1.1 Defining optimisation parameters

Parameters define the variables which may be varied during the optimisation process. The
parameters are local to each optimisation search and a valid search must contain at least
one defined parameter. To add an optimisation parameter to a search, select the Search... in the
model tree (see Section 2.4), select the Request tab and click on the Parameters button.
Any variable defined in CADFEKO (see Section 3.3.1) may be used as an optimisation parameter
e.g. physical dimensions, loads and excitations (amplitude and phase) provided that a depen-
dency is not implied between optimisation parameters in the same search. Optimisation param-
eters are added or removed from the list by using the Add and Remove buttons.

Figure 6-3: The Optimisation parameters dialog

For each optimisation parameter a Min value, Max value and Start value (optional) must be
specified. The starting value will have an effect on the optimisation process when the Particle
swarm optimisation (see Section 21.2.2) or Genetic algorithm (see Section 21.2.3) is used. If the
Start value is not specified by the user, the value at the centre of the range will be taken as the
starting point for the optimisation.

Constraints between optimisation parameters

A dynamic boundary can be defined for an optimisation parameter by specifying a constraint, see
Figure 6-4. A constraint is defined by specifying two parameters and their dependency on one
another. The following dependencies can be specified: !=, <, <=, > and >=.

Parameter and constraint deactivation

For each parameter in the parameter list or constraint in the parameter constraints list, there is a
Use check-box that can be used to specify the inclusion of each specific parameter or constraint
in the optimisation search process. If the Use check-box for a specific parameter or constraint is
un-checked, then that parameter or constraint will not be included in the *.opt or *.pfg files
and will not influence the optimisation search. If a parameter is deactivated, the value of the

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-5

Figure 6-4: The Constraints tab of the Optimisation parameters dialog.

variable as specified in the CADFEKO variables list will be used as if it were not defined as an
optimisation parameter. Note that all parameter and constraint settings are local to each search.
Deactivating a specific parameter or constraint in the parameter settings of one search will not
deactivate that parameter or constraint in any other search.

6.1.2 Defining optimisation masks

An optimisation mask may be defined by selecting the Request tab and clicking on the
Add mask button.

Figure 6-5: (a) The desired frequency response of a Ku-band waveguide filter (indicated in green) with a
mask (indicated in blue) and (b) The optimisation mask dialog.

The Add optimisation mask dialog (shown in Figure 6-5) allows the definition of the mask either
by importing values from an external text file (tab-, comma- or space-delimited) or by manually
entering the x and y coordinates of the mask points. No linkage is maintained to an external file
from which mask coordinates may have been imported, and if the file changes, the points must
be re-imported. When importing points from an external file, any existing coordinate definitions

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-6

in the mask are over-written by the imported data. The import therefore always starts from the
first coordinate point of the mask.
A graphical representation of the mask is shown. This is useful for validating that the mask data
is in fact as intended, particularly when working with large numbers of data points imported
from an external file.
The mask can be given a label that is used when referencing the mask in the optimisation objec-
tive of the optimisation goal(s). Note that masks are not specific to an optimisation search and
may therefore be referenced from multiple optimisation searches without having to redefine the
mask within each search.

How masks are used for optimisation

An optimisation mask is a set of values that form a continuous line (or trace). The mask is used
to determine the goal value for the FEKO simulations. All the points that are calculated by FEKO
that satisfy the criteria for the goal type and name will be added to a long array of values and
then compared to the mask. Three examples will be used to illustrate the usage of masks during
optimisation.
Example 1: If a user wants to optimise his far field pattern at a single frequency using a mask, the
user needs to create the mask with the required shape and also create the far field request that
should be compared to the mask. The first point in the far field calculation will map to the first
point in the mask and the last point in the far field calculation will map to the last point in the
mask. All other points of the far field will be compared to points in the mask (linear interpolation
is used to ensure a continuous mask).
Example 2: If a user want to optimise the antenna gain in a predefined direction to have a gain
profile that can be described by a mask, the user needs to create the single point far field request
and the mask. The gain at the first frequency will now map to the first point in the mask and the
last frequency will map to the last point in the mask. The gain at the frequency values within the
range will be compared to values in the mask using linear interpolation.
Example 3: Using a combination of the two examples above the user can create a complex
optimisation requiring a predefined gain pattern that changes as a function frequency. The user
needs to create the multi-point far field request and create a mask such that the first point of the
mask maps to the first point in the far field request at the first frequency and the last point in the
mask maps to the last point of the far field request of the last frequency. Suppose the required
far field pattern does not change over frequency, then the mask will have the same required far
field pattern repeated several times (once for every frequency).
It is clear that very complex optimisations are possible using masks. Care should be taken to
create the correct mask for the optimisation since the optimisation will not fail due to an incorrect
mask, but the user will not get the optimum result that was expected.

6.1.3 Setting up optimisation goals

For each optimisation search, Goals must be defined to specify the desired state the optimisation
process should attempt to achieve. Multiple goals can be defined but a valid optimisation search
must contain at least one defined goal.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-7

An optimisation goal is local to a single search and is created by selecting the specific
search in the model tree, selecting the Request tab and clicking on the Add goal function
menu button.
The following goals can be defined:

• Impedance goal (input impedance, input admittance, reflection coefficient (S11) , transmis-
sion coefficient, VSWR, return losses, current).

• Near field goal (e-field, h-field, directional component, coordinate system).

• Far field goal (e-field, gain, directivity, RCS).

• S-parameter goal (coupling coefficient, reflection coefficient transmission coefficient, VSWR,


return losses).

• SAR goal.

• Power goal (efficiency, active power, power loss).

• Transmission/reflection coefficients goal (reflection, transmission, co-polarisation, cross -


polarisation).

• Receiving antenna power goal (efficiency, active power, power loss).

Structure of an optimisation goal

All optimisation goals (irrespective of type) have the same basic structure. They are divided into
four basic parts.

Focus: The part of the FEKO solution to be considered for optimisation. The Focus
is based on a quantity computed by the FEKO solver. It is uniquely identified
based on the Request label.

Processing steps: A number of conversion steps or mathematical operations to be carried out


on the Focus before the Goal is evaluated. Processing steps may be specific to
the focus and goal type, while other processing steps are generic to all focus
and goal types. The number, order and type of processing steps can be freely
chosen by the user to provide flexibility in the goal definition.

Operator: The operator indicates the desired relationship between the focus and the ob-
jective.

Objective: The objective describes a state that the optimisation process should attempt to
achieve. The objective is predefined and assumes the same unit as the focus.

Label: The Label for each goal uniquely identifies the simulation results to be consid-
ered during the evaluation of the goal.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-8

Focus processing options

The following processing steps are common to all goals.

No processing: Where the focus is non-complex, no processing steps are required. In order to
consider the focus directly, the No processing option is provided.
x→x

Real/Imaginary/Magnitude/Phase: Allows selection of a specific component of a complex focus type


— for an array, the complex component of each array element is taken, deliv-
ering a non-complex array.
x → Re(x)/I m(x)/Phase(x)/M a g(x)

Unwrap: Unwraps a phase component — for a phase array, the whole array is considered
in the unwrap process. This operator can only be applied directly after phase.
(x → unw r ap(x))

Absolute value: Takes the absolute value — for an array, the absolute value of each element is
taken.
x → |x|

Average/Minimum/Maximum: Finds the average, minimum or maximum value of an array — this has
no effect on a single value.
x → ave(x)/min(x)/ma x(x)

Normalise: Normalises to the largest value in an array — for a single value, ‘1’ will be
returned.
x
x→ ma x(x)

Log: Takes the base-10 logarithm — for an array, the base-10 logarithm of each
element of the array is taken. This operator is only available for non-complex
values or arrays.
x → l o g10 (x)

Offset: Adds a specified non-complex value — for an array, the value is added to each
element of the array. This operator is only available for non-complex values or
arrays.
x → x +n

Scale: Multiplies by a specified scale factor — for an array, each element of the array
is multiplied by the scaling factor.
x → nx

Exponent: Applies an exponent — for an array of values, the exponent of each value in
the array is taken.
x → xn

Undefined: When a processing step is modified so that a previously chosen processing


step becomes invalid, the processing step that is no longer valid reverts to an
Undefined state. All Undefined steps must be deleted or redefined before the
changes to the goal can be applied.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-9

The objective

The optimisation objective may be defined in each Goal as a Single value or as a mask.

The Single value objective: This objective is defined in the Value text-box. The error is evaluated by
comparing this value to the processed focus value according to the defined
operator. Where the focus remains an array after the processing steps have
been applied, the objective value will be compared to each of the array values
separately, and the cumulative error will be extracted according to the operator
type by a summation of all of the errors.

The Mask objective: A 2D mask may be predefined (see Section 6.1.2) and used as the objective of
an optimisation goal. This allows for the comparison of an array of calculated
data with a predefined array in the evaluation of the fitness of the optimisation
step. This type of objective would typically be used when a quantity that varies
with position, observation angle or frequency within one simulation result is
to be optimised. The mask array need not be the same length as the computed
data array to which it will be compared as the optimiser will use a piece-wise
linear fitting on the mask array to determine the values for comparison at the
correct points (points as calculated according to the solution set up).

The operator

There are five operator types that are common to all Goals.

1. Equal - Indicates that the processed focus should be equal to the objective.
N
X
er r or = Focus(n) − Ob jec t ive (6-1)
n=1

2. Greater than - Indicates that the processed focus should be greater than the objective.

N 

X Focus(n) − Ob jec t ive for Focus < Ob jec t ive
er r or = (6-2)
n=1
 0 for Focus ≥ Ob jec t ive

3. Less than - Indicates that the processed focus should be less than the objective.

N 

X Focus(n) − Ob jec t ive for Focus > Ob jec t ive
er r or = (6-3)
n=1
 0 for Focus ≤ Ob jec t ive

4. Maximise - Indicates that the processed focus should be maximised (no objective is required
for this operator).

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-10

5. Minimise - Indicates that the processed focus should be minimised (no objective is required
for this operator).

When a goal is evaluated, a single value error representation of the goal is extracted according
to the operator type. When the focus remains an array after the processing steps, an error is
evaluated at each point in the array, and the cumulative error is taken. For the comparative
operator types (Equal, Greater than and Less than), where the relationship between the focus
and objective satisfies the operator, the contribution to the error representation will be zero.

6.2 Optimisation goal types

6.2.1 The impedance goal

The Impedance goal provides for optimisation relating to the impedance and admittance
of any voltage or current source that is solved as part of the FEKO model. The Focus is
identified based on the label of a voltage source or current source in CADFEKO or of a card-
defined excitation of the type A1, A2, A3, A4, AF or AN card in EDITFEKO.

Figure 6-6: The Create impedance goal dialog.

Focus type

Input impedance/Input admittance: Both of these are complex quantities that represent the load char-
acteristics (based on the currents and voltages at the source points). As these focus types
always consists of complex values, the focus processing options require that there be at least
one general processing step indicating the selection of one of the complex components.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-11

Reflection coefficient (S11): The reflection coefficient is computed with respect to the indicated refer-
ence impedance. For the impedance goal, the reflection coefficient is computed directly
from the observed input impedance. This value is then in effect the ’active’ reflection coef-
ficient (Γ) and may differ from the S11 computed during an S-parameter calculation in a
multiport model.

Transmission coefficient: The transmission coefficient (1 − Γ) is considered with respect to the indicated
reference impedance.

VSWR: The Voltage Standing Wave Ratio [1 + |Γ|]/[1 − |Γ|] for the observed input impedance is
considered with respect to the indicated reference impedance.

Return losses: The return loss (−20l o g|Γ|) for the observed input impedance is considered with respect
to the indicated reference impedance.

Current: The current flowing through the segment on which the selected voltage source is located. In
order to use this optimisation goal, a port with an excitation or an A1 card (see Section 14.4)
must be applied to the segment of interest. The excitation should be set to zero magnitude,
and referenced in the voltage source label field.

Reference impedance

The impedance to be used during the calculation of the relevant focus types can be indicated
here. The impedance must be a single non-complex value and is local to each impedance goal
(i.e. different reference impedances may be used for different impedance goals in the same
optimisation search).

6.2.2 The Near field goal

The Near field goal provides for optimisation relating to all near fields computed during
of the FEKO solution. The focus is identified based on the label of a Near fields request in
CADFEKO or of an FE card in EDITFEKO (see Section 14.37).
The Near field Goal dialog is shown in Figure 6-7. There are three goal-specific options available
in the choice of the focus that are described below.

Field component

Electrical/Magnetic: The Electrical or Magnetic part of the near field must be chosen. If the data com-
puted based on the referenced label does not include the chosen part of the near field, then
an error will be returned during the evaluation of the goal in the first optimisation iteration.

Coordinate system

The coordinate system in which the directional component of the near field is required must
be selected. The available coordinate systems are Cartesian, Cylindrical(X)/(Y)/(Z), Spherical
and Conical. This coordinate system selection defines the options available in the Directional
component selection list.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-12

Figure 6-7: The Create near field goal dialog.

The coordinate system chosen here differs from the coordinate system chosen as part of the near
field computation request, in that the coordinate system choice in the near field goal is related
to the near field component of interest, while the coordinate system chosen in the near field
request dialog is related to the positioning of the sample points for near field calculation. This
distinction makes it possible consider the near field component in any direction independently of
the physical placement of the near field sampling points.

Directional component

The options available in the Directional component list depends on the choice of Coordinate
system, but are independent of the near field request sampling point positions.

Radial or x/y/z/phi/theta-directed: In the chosen Coordinate system, the field in any of the 3 coordinate
directions may be requested. Each individual component of the electric or magnetic near
field is a complex quantity, and the selection of a specific field component requires that there
be at least one general processing step which indicates the selection of one of the complex
components.

Combined: In addition to the individual components in the coordinate directions, the Combined near
field value may be requested. This value is computed by combining all 3 directional compo-
nents of the field at each point as follows (shown for Cartesian components).
Æ
Fcombined = |F x |2 + |F y |2 + |Fz |2 (6-4)

The choice of Coordinate system has no effect on the value of the Combined component.
The combined field is always a non-complex value (or an array of non-complex values) and
it is therefore not required that any further processing be performed.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-13

6.2.3 The Far field goal

The Far field goal makes provision for optimisation relating to all far field quantities com-
puted as part of the FEKO solution. The focus is identified based on the label of a Far field
request (see Section 3.9.1) in CADFEKO or of an FF card in EDITFEKO (see Section 14.38).
Fields that are requested in invalid directions (for example fields requested below an infinite
ground plane) are ignored during the Goal evaluation. If no valid far field results with the
correct request label are found in the solver output, an error will be generated during the Goal
evaluation phase of the first optimisation iteration.

Figure 6-8: The Create far field goal dialog.

The Far field goal dialog is shown in Figure 6-8. Goal specific options for the Far Field focus are
described below.

Focus type
E-field: The E-field focus type considers the radiated fields associated with specified far field solution
request directly. The fields are considered according to the settings of the far field request
(for example if only the scattered fields from a single object are requested, then only these
will be taken into account in the goal evaluation).

Directivity and Gain: With this focus type, only the gain/directivity of the model is considered. This
option can only be based on a far field request where the Calculate fields as specified option
is chosen and is independent of the Directivity/Gain selection in the far field request.

Radar cross section (RCS): This focus type is only valid for far field solutions that have been computed
with an exclusively plane-wave excitation. The RCS focus type delivers non-complex values
(or an array of non-complex values) representing the derived RCS (see Section 20-8) ac-
cording to the options set in the far field calculation request. If no valid RCS information is
found in the computation output, an error will be generated during the goal evaluation.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-14

Polarisation

The Polarisation option allow specification of the component of the far field to be considered in
the goal.

Total: For the E-field focus type, the Total option provides a magnitude combination of the θ - and
φ-components of the far field. The total field is calculated as:
Æ
Etotal = |Eθ |2 + |Eφ |2 (6-5)

This value is representative of the power in the far field.


For the Gain and Directivity focus types, the polarisation-independent quantities are consid-
ered. This is the only Polarisation option for RCS.

Horizontal (Phi)/Vertical (Theta): These options allow specific selection of the θ - and φ-directed com-
ponents of the far field. For the Gain and Directivity focus types, only the component of
the field with the selected polarisation is used in the calculation of the required quantity,
delivering a non-complex value (or array of non-complex values).

LHC/RHC: These options allow specific selection of the left-hand-circular and right-hand-circular com-
ponents of the far field (see Equations 20-4 and 20-5). For the Gain and Directivity focus
types, only the component of the field with the selected polarisation is used in the calcu-
lation of the required quantity, delivering a non-complex value (or array of non-complex
values).

S/Z: These options allow specific selection of the S- or Z-polarised components of the far field
(see Equations 20-2 and 20-3). For the Gain and Directivity focus types, only the component
of the field with the selected polarisation is used in the calculation of the required quantity,
delivering a non-complex value (or array of non-complex values).

Axial ratio: The Axial ratio option is only available for the E-field focus type. This provides the ratio
between the magnitudes of the θ - and φ-directed field components, see Equation 20-22. For
the purposes of optimisation, an additional sign is added to the Axial ratio value considered
by the optimiser. The sign indicates the handedness of the radiated field, with a negative
sign implying left-handedness, and a positive sign implying right-handedness. This makes
provision for the inclusion of the required handedness directly in the Axial ratio optimisa-
tion.

Ludwig III (Co and Cross): These options allow specific selection of the Ludwig III (Co and Cross) po-
larised components of the far field (see Equations 9-5 and 9-6).

6.2.4 The S-parameter goal

The S-parameter goal dialog is shown in Figure 6-9. The Focus result is identified based
on the request label of an S-parameter request (see Section 3.8.1) in CADFEKO or an SP
card in EDITFEKO (see Section 14.65).

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-15

Figure 6-9: The Create S-parameter goal dialog.

Quantity

Coupling coefficient (Smn ): Only the coupling between different ports will be considered in the optimi-
sation (all S-parameter values where the port indices are not equal). It is important to note
that if Snm and Smn are computed in an S-parameter solution, then both of these values
will be considered in the goal evaluation. If the consideration of only the coupling in one
direction is required, the relevant port should be deactivated in the S-parameter calculation
request.

Reflection coefficient (Snn ): Only the reflection at the port(s) will be considered in the optimisation. The
reflection coefficient at all ports that are active for the S-parameter computation will be
considered.

Return loss: The return loss at the port(s) will be considered in the optimisation. Return loss is calcu-
lated from the reflection coefficient at each active port as:

RL = −20 log |Snn | (6-6)

Transmission coefficient: The transmission coefficient at the port(s) will be considered in the optimisa-
tion. The transmission coefficient is calculated from:

γ = 1 − |Snn | (6-7)

VSWR: The voltage standing wave ratio at the port(s) will be considered in the optimisation. Return
loss is calculated from the reflection coefficient at each active port as:

1 + |Snn |
VSWR = (6-8)
1 − |Snn |

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-16

Port selection

Specify input port number (n): By default all of the active ports will be considered during the goal eval-
uation. When activated, this option allows the selection of a single port to be used as the
input port. For example, if all of the S-parameters in a 3-port device are computed and the
Focus quantity is chosen as Coupling coefficient (Smn ), then if the input port is specified as
2, only the values of S12 and S32 will be considered during the goal evaluation.

Specify output port number (m): In a similar manner to the input port selection option, this option when
selected, allows the selection of a single port to be used as the output port. For example,
if all of the S-parameters in a 3-port are computed and the Focus quantity is chosen as
Coupling coefficient (Smn ), then by specifying the output port as 2, only the values of S21
and S23 will be considered during the goal evaluation.

6.2.5 The SAR goal

The SAR goal dialog is shown in Figure 6-10. The SAR focus delivers a non-complex value
(or an array of non-complex values) based on the FEKO solution. The focus is identified
based on the label of a SAR request in CADFEKO (see Section 3.9.7) or of an SA card in EDITFEKO
(see Section 14.62).

Figure 6-10: The Create SAR goal dialog.

6.2.6 The Power goal

The Power goal allows the user to optimise the total antenna efficiency, total power and
power loss. The power goal does not accept any request name since the operates on the
total power in the model.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-17

6.2.7 The Receiving antenna goal

The receiving antenna goal allows the user to optimise receiving antenna efficiency, re-
ceived power or power loss. The focus is identified based on the label of a RX antenna
request (see Section 3.9.6) in CADFEKO or of an RA card in EDITFEKO (see Section 14.61).

6.2.8 The Transmission/reflection goal

The Transmission/reflection goal makes provision for optimisation based on factors re-
lating to all transmission/reflection coefficients quantities computed as part of the FEKO
solution. The focus result is identified based on the request label of a Transmission/Reflection
coefficient request (see Section 3.9.5) in CADFEKO or a TR-card request (see Section 14.67) in
EDITFEKO.

Figure 6-11: The Create transmission/reflection coefficients goal dialog.

The Transmission/reflection goal dialog is shown in Figure 6-11. Goal-specific options for the
Transmission/reflection focus choice are described below.

Focus type

Transmission: The transmission coefficient is calculated as


Et
τ= (6-9)
Ei

Reflection: The reflection coefficient is calculated as


Er
ρ= (6-10)
Ei

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-18

Polarisation

The co-polarisation and cross-polarisation is available for optimisation.

6.3 The global goal: combining and weighting of multiple goals

When multiple goals are included in a search, in addition to the individual goal definitions, the
way in which the goals should be combined during the evaluation of the global goal must be
defined. CADFEKO provides two mechanisms by which the evaluation of the global goal can be
controlled.

6.3.1 Goal weighting

The first mechanism is a weighting that can be defined for each goal on the Goal definition dialog
(see Section 6.1.3). This weighting is used to modify the contribution of the goal’s error to the
global error during the fitness evaluation. The global error in each level of the tree is computed
by taking the evaluated error of each goal, multiplying it by the indicated weighting factor, and
then summing all of the resultant weighted errors in each branch-level of the tree.
The weighting of each goal is shown in brackets next to the tree representation of the goal.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-19

6.3.2 Goal combination tools

A goal combination tool is provided, which allows the extraction of a single error value
from a set of goals. The extraction type can be chosen as Maximum, Minimum or Average.
When a set of goals are combined using this tool, only the minimum, maximum or average value
of all of the errors of all of the goals in the set is taken.
In order to combine goals using a combination tool, goals in one search in the same tree level
should be selected. The Combine goals dialog (shown in Figure 6-12) is launched in which the
combination method can be chosen. Goals may be added to an existing combination by right-
clicking on the combination in the tree, and selecting the type of goal to add. Goals can be
removed from the combination by deleting them. If all goals in a combination are deleted, then
the combination is automatically deleted as well. Goals can be copied out of a combination to
the root of the goals tree by right-clicking on the goal and selecting Copy. The original goal can
then be deleted.

Figure 6-12: The Combine goals dialog.

The Average, Minimum and Maximum options define how the evaluated errors of the goals in the
combination should be reduced to one error value. For example, if Average is chosen, then the
average error of the goals in the combination will be returned, while if Maximum is chosen, the
maximum error will be returned. Each combination can be assigned a weighting which indicates
how the error should be combined with other goals and combinations in the same level of the
tree during the global fitness evaluation. The combination tools may be nested to as many levels
as required.

6.4 Specifying special optimisation solver settings

Special options relating to OPTFEKO can be set by selecting the Solve/Run tab and clicking on
the dialog launcher button (Utilities tab, OPTFEKO groupbox).

Restart from solver run: If this option is selected, then OPTFEKO will attempt to restart the optimisation
process from the indicated iteration number. The optimisation can only be restarted if the
temporary files have been kept during a previous optimisation run. If solution files are
missing for a specific optimisation iteration, OPTFEKO will run the FEKO solver to recreate
the missing files. If any changes have been made to the model, solution or optimisation
settings, OPTFEKO will ignore all existing results, and re-compute all results as required.

Delete all files (except optimum): If this option is selected, then all of the temporary files will be deleted
during the optimisation process. When the optimisation process is completed (or if the

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-20

optimisation process is interrupted), the original model, as well as the optimum will be
available along with all related simulation results. The optimum model and results are
indicated by the addition of _optimum at the end of the file name(s). If this option is
unchecked then no model or results files will be deleted during the optimisation process.

Specify number of processes to farm out: This section allows the specification of the distributed comput-
ing system when farming out the solutions during an optimisation (see Section 21.4). The
Configure button launches the Machines configuration dialog where the machines in the
cluster as well as the number of processes to be launched on each machine is specified. This
is identical to cluster configuration for parallel launching (see Section 19.2.2).

6.5 Using optimisation in CADFEKO after making modifications to the *.pre


file

Usually the optimiser operates on requests specified in CADFEKO. But if advanced editing is done
in the *.pre file, the solution configuration in CADFEKO is disabled. However it is still possible
to make use of the optimiser with the solution configuration in CADFEKO disabled.
The optimiser operates on the labels of the solution requests. Although the labels are usually
created in CADFEKO, these labels are copied into the *.pre file. The optimiser uses the labels
from the *.pre file.
For example, after creating a voltage source in CADFEKO, the default label of the source is Volt-
ageSource1. Opening the *.pre file (see Section 12.2.2) an A1 card is visible with its label,
VoltageSource1, preceded by **, see Figure 6-13.

Figure 6-13: (a) A voltage source with label VoltageSource1 on a wire port and (b) the A1 card in the
*.pre file.

Opening the *.pre file, CADFEKO will display a dialog asking the user whether to disable the
solution configuration, see Figure 6-14.
If the Yes button is clicked, the solution configuration will be disabled on the ribbon and the tree,
see Figure 6-15.

October 2013 FEKO User’s Manual


REQUESTING OPTIMISATION IN CADFEKO 6-21

Figure 6-14: (a) The Disable CADFEKO solution configuration? dialog.

Figure 6-15: The tree with the solution configuration disabled.

Note that the solution configuration may at any time be enabled by clicking on the Enable
solution button.
After the *.pre file is edited and saved, the optimiser is run by manually adding the label of the
parameter to be optimised in the Goal focus group (Create... goal dialogs).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-1

7 Scripts and application programming interface (API)

CADFEKO and POSTFEKO have a powerful, fast, lightweight scripting language integrated into
the application allowing users to create models, get hold of simulation results and model configu-
ration information and much more. The scripting interface, or application programming interface
(API), also allows a user to control CADFEKO and POSTFEKO from an external script. This in-
terface is similar to Visual basic for application (VBA). Editing scripts is easy with the integrated
script editor (see Section 9.10) that includes many development tools such a break points and
the ability to pause an executing script.
The scripting language that has been integrated with CADFEKO and POSTFEKO is called Lua26 .
Lua has a syntax that is similar to Python and Matlab (or Octave) and is easy to learn and use.
There are many Lua modules available on the internet that can be installed and thus integrated
into FEKO. By using the luacom Lua module it is possible to control applications such as Excel
and Word using the component object model (COM) interface. Section 7.1.3 contains examples
of COM usage. There are also many modules for performing calculations on results or reading
(or writing) data from (or to) files in CSV or XML format (using luaxpat). For more information
regarding the use of external Lua modules, see Section 7.1.5.
It is recommended that users read through the basic scripting section (see Section 7.1) before
starting with a new scripting project. There are a number of useful demonstrations that could
save development time.

Contents
7.1 Scripting basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.2 Object reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
7.3 Collection reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-323
7.4 Function reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-396
7.5 Enumeration type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . 7-397
7.6 Data type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-418
7.7 Constant value reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-428

7.1 Scripting basics

The scripting capability in CADFEKO and POSTFEKO is very easy and powerful, but without the
basics it may seem to be a daunting task. This section will lay the foundation that will enable
users to quickly start creating their own scripts.

API scripts

General scripts, or API scripts, are stored separate from the CADFEKO mode as *.lua files. They
perform actions such as controlling CADFEKO, launching other applications, reading and writ-
ing data to disk. CADFEKO currently allows geometry creation using the API. The API will be
26
see www.lua.org

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-2

extended in the future to allow full control over all features in CADFEKO. A detailed descrip-
tion of the API objects (7.2), collections (7.3), enumerations (7.5), data types (7.6), predefined
constants (7.7), methods and properties are available in the sections that follow.

7.1.1 Example CADFKO API script

The easiest way to understand and get started with scripting is by analysing a working example.
As part of the example, a number of important aspects are highlighted. The example can be
copied into the POSTFEKO script editor and executed as part of the demonstration.

Create a cuboid

The first part of the example will get hold of the CADFEKO application object, create a new
project or model and then create a cuboid. Try to understand what the script does and then read
the section that explains the script.
app = cf.GetApplication()
project = app:NewProject()

-- Create a cuboid with its base corner at the specified ’Point’

corner = cf.Point(-0.25, -0.25, 0)


cube = project.Geometry:AddCuboid(corner, 0.5, 0.5, 1.25)

The code extract starts by accessing and storing the application object (see Section 7.2.3) using
the GetApplication static function that is available under the cf namespace. All functions,
objects, constants and enumerations are available in the cf name space in CADFEKO, although
a subset of these are also globally available. These were added in a name space so that they will
not be replaced when loading external libraries. The name space also makes it easier to use the
auto completion feature in the editor (type “pf.” in the editor to see the auto completion menu).
The application objects are stored in a variable app to make it easier to access further down in
the script.
The NewProject() method of the Application object is then executed to create a new CAD-
FEKO project (model). Note that the method is accessed using a colon (“:”) while the static
function was accessed using a full stop(“.”).
A new Point object is created that defines a point in 3D space. A cuboid is added to the model
using the AddCuboid method of the Geometry object.
If the script is executed, CADFEKO should perform all the steps. Once the script has completed,
the resulting model will be visible in CADFEKO.

7.1.2 Lua language essentials

There are many tutorials and help available on the internet for Lua. This section introduces
the basic language concepts by using small extracts of executable Lua code. This should not be
considered an exhaustive description of the Lua language, but rather as a very basic introduction.
For a complete guide on the Lua language, we refer you to the official Lua Reference Manual
(www.lua.org/manual/5.1/)) and Programming introduction (www.lua.org/pil/). Another use-
ful resource is the community maintained Wiki that is available on the internet at the Lua wiki
(lua-users.org/wiki/).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-3

Comments

There are two ways to comment your code in Lua and both are illustrated in the following
example code. The single line comment is started with “--” and terminates at the end of the
line. The multi line comment is started with “--[[” and terminated by “]]”.
-- This is a single line comment
--[[ This is
a multi line comment]]

Variable assignments

The example below illustrates how variables are assigned. It should be noted that Lua is case
sensitive, unlike the variable definitions in CADFEKO and EDITFEKO that are case insensitive.
-- Note: All number types are doubles. There are no integers.
print(type(42), type(42.0)) -- prints out "number number"
variable_one = 1 + 2 - 3 -- This will equal zero.
variable_One = "Variables are case sensitive."

a, b = 42, 101 --multiple assignment


a, b = b, a --provides quick value swap
x, y, z = 1, 2, 3, "this value is discarded"
x, y, z, mytext = 1, 2, 3, "this value is discarded"

Strings

Simple string assignment and concatenation can be performed directly in Lua. More advanced
string manipulation is available using the string module (included as part of the FEKO instal-
lation).
Strings are concatenated using two full stops (“..”). The “#” operator returns the length of
the string. The string module should be used for more advanced string manipulation such as
substitutions.
print("Here is a string" .. ’ concatenated with ’ .. 2 .. ’ other strings.’)
a = ’hello’
print(’The # operator says there are ’ .. #a .. ’ letters in "’ .. a .. ’".’)
print(a .. ’ becomes ’ .. string.gsub(a,’h’,’y’))

Booleans and nil

Variables can be assigned the boolean values, true or false. Boolean arithmetic can be per-
formed on boolean values using not, and and or.
When variables are not assigned any value, they are equal to nil. Lua often complains about a
nil value when a user tries to use a variable that has not yet been defined or initialised.
bool_variable = true and false or true and not false
print(uninitialised_variable == nil) -- prints true, all vars start as nil
print(nil == 0 or nil == "") -- prints false, nil is not the same as 0 or an empty string

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-4

Tables

Tables in Lua can be dictionaries or arrays. Arrays are special dictionaries where the index is
automatically assigned and the first value is at index 1. The “#” operator also works for arrays,
but it will not result in the correct value for tables such as dictionaries in general.
An inspect function is available as part of Lua in FEKO that allows users to easily see the
contents of a table.
an_array = {1,1,2,3,5,8,13}
print(#an_array) -- prints "7"
print(an_array[3]) -- prints "2"

a_table = {[’bread’] = "brown", [’eggs’] = 10} -- tables are dictionaries or arrays


print(a_table[’bread’]) -- "prints brown"
print(a_table) -- prints "table: 0x7f63c8001200", the memory location of the table
inspect(a_table) -- prints the contents of the table
print(#a_table) -- prints "0" since it is not an array (take note)

IF statement - conditional

The extract below is an example that illustrates the Lua conditional statements. The example
uses another useful Lua module, math, to generate a random number for two variables.
a = math.random()
b = math.random()
if a < b then
print("Variable a (" .. a ..") is smaller than variable b (" .. b .. ").")
print( a == b ) -- prints false
print( a ~= b ) -- prints true
elseif a > b then
print("Variable a (" .. a ..") is larger than variable b (" .. b .. ").")
else
print("Variable a is equal to variable b.")
end

WHILE loops

While loops perform a test at the beginning of every loop. The code extract below is a example
of a while loop.
m = 0
while m < 5 do
print("While loop count " .. m)
m = m + 1 -- there is no m++ or m += 1
end

REPEAT loops

A repeat loop performs the test condition at the end of every loop and will execute at least one
loop. The code extract below is an example of a repeat loop. A break statement can be used
to terminate a repeat loop before the end condition has been satisfied.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-5

m = 0
repeat
m = m+1
print("Repeat loops check the condition at end, and stops if it is true.")
print("The value of m is " .. m)
if (math.random()*10 > 5) then
print("A random number larger than 5 was generated. Terminating the loop early.")
break -- breaks out of the loop early
end
until m == 5

FOR loops

A for loop can be used to iterate over a predefined set of numbers (example 1 below), iterate
over the key and value pairs of a dictionary (example 2) or the values of an array (example 3).
A special function, forallvalues (see Section 10.2.4), is also available for iterating of over all
axes of a dataset.
for i = 1, 3 do
for j = 0, 9, 3 do
print("for loops add 1 to i and 3 to j during each iteration " .. i .. ’ ’ .. j)
end
end

myDict = {["bread"] = "brown", ["eggs"] = 12}


for key, val in pairs(myDict) do
print(key .. " " .. val)
end

myArray = {1,1,2,3,5,8,13}
for key, val in pairs(myArray) do
print(key .. " " .. val)
end

Functions

It is also easy to create and use functions in Lua. The example illustrates how to define and
use a function. It is also important to note the scope of the local and global variable definitions.
Users are advised to use local variable definitions as far as possible.
function myFunction(name)
print(’Hello ’ .. name)
var1 = 100
local var2 = 99
return "returns nil if you don’t have a return statement."
end

myFunction(’FEKO user’)
print(var1) -- prints 100
print(var2) -- prints nil, since var2 does not exist outside the function

7.1.3 Default Lua modules

There are a number of Lua modules that are included by default. These include the following list
of modules.

math: A math library that supports most common math functions.

string: A string manipulation library.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-6

table: A table manipulation library.

os: A library that allows users to access the operating system environment and files.

io: A input-output module for reading and writing files.

debug: A debug module for locating problems in scripts.

The script editor auto-complete feature also supports these modules. For more information re-
garding these and other modules, please consult the Lua website (www.lua.org). Many additional
packages are available for download and included as part of POSTFEKO. See Section 7.1.5 for
more details regarding external Lua modules.
The FEKO installation also includes a number of modules that are not included by default with
all Lua distributions, but are useful for many scripting applications. Documentation and usage
examples are available for these modules on the internet. Although these modules are included
as part of the installation, the still need to be loaded or required when the are used in a script.
Modules are included in a script by using the require command.
require(’luacom’)

The modules available as part of the FEKO installation include the following:

luacom The Windows FEKO installation includes the “luacom” module. The “luacom” module
allows users to control applications their component object model (COM). The following
two examples illustrate how “luacom” is used to control Microsoft Excel. These examples
require a compatible version of Excel to be installed. For more information regarding the
COM interface for Microsoft Office components, please consult object model references
available at the Micorsoft MSDN website (msdn.microsoft.com).
-- COM example 1
require(’luacom’)
excel = luacom.CreateObject("Excel.Application")
excel.Visible = true
wb = excel.Workbooks:Add()
ws = wb.Worksheets(1)

for i=1, 20 do
ws.Cells(i,1).Value2 = i
end

-- COM example 2
require "luacom"
excel = luacom.CreateObject("Excel.Application")
local book = excel.Workbooks:Add()
local sheet = book.Worksheets(1)
excel.Visible = true

for row=1, 30 do
sheet.Cells(row, 1).Value2 = math.floor(math.random() * 100)
end

local chart = excel.Charts:Add()


chart.ChartType = 4

local range = sheet:Range("A1:A30")


chart:SetSourceData(range)

LuaFileSystem LuaFileSystem offers a portable way to access the underlying directory structure
and file attributes. The module name that needs to be included is “lfs”.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-7

LuaXml LuaXML provides a minimal set of functions for the processing of XML data. The module
name that needs to be included is “luaxml”.

PenLight The PenLight module is a collection of common lua code patterns for tables, arrays,
strings, paths and directories, data, and functional programming. The module name that
needs to be included is “pl”.

winapi This module provides some basic tools for working with Windows systems such as ac-
cessing the registry, finding out system resources, and gives you more control over process
creation.

7.1.4 Additional functionality as part of the API

Special functionality has also been added and although these are included in the API documen-
tation for both CADFEKO and POSTFEKO, they are worth highlighting here. Discuss items such
as:

Complex The ‘Complex’ object (7.2.6) adds complex number support to the scripting interface.

Matrix The ‘Matrix’ object (7.2.49) adds support for fast matrix manipulation to the scripting
interface.

ComplexMatrix The ‘ComplexMatrixtrix’ object (7.2.7) adds support for fast matrix manipula-
tion for complex numbers to the scripting interface.

7.1.5 External Lua modules

Many useful modules and scripts are available on the internet for Lua27 . These can be used
in POSTFEKO by installing them and ensuring that they are included in the Lua search path.
The search path for scripts and libraries can be set on the Scripting tab of the Preferences. The
Preferences dialog is available on the Settings sub-menu on the Application menu.

27
See “Lua for Windows” and “LuaRocks”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-8

7.2 Object reference (API)

The CADFEKO API includes many objects. Every object, including its methods, properties, func-
tions and operators are described in the sections that follow.
The Application object is the most important object when creating API scripts since it is the root
object as can be seen in the following object hierarchy. The object hierarchy show the relationship
between the objects.

/ Application

/ Project
/ Geometry
/ Children
/ Edges
/ Faces
/ Regions
/ Transforms
/ Wires
/ NamedPoints
/ Variables
/ Workplanes

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-9

7.2.1 Align

An aligned geometry. The Align object’s user interface equivalent is explained in section 3.4.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare to align

flare = project.Geometry:AddFlare(cf.Point(0, 0, 0), 1, 1, 1, 0.5, 0.5)

-- Create variables to define the source workplane

sourceOrigin = cf.Point(0, 0, 0)
sourceUVec = cf.Point(1, 0, 0)
sourceVVec = cf.Point(0, 1, 0)

-- Create variables to define the destination workplane

destOrigin = cf.Point(0, 0, 2)
destUVec = cf.Point(0, 0, 1)
destVVec = cf.Point(-1, -1, 0)

-- Align the flare

alignOne = flare.Transforms:AddAlign(destOrigin, destUVec, destVVec, sourceOrigin, sourceUVec, sourceVVec)


alignTwo = flare.Transforms:AddAlign(sourceOrigin, sourceUVec, sourceVVec, destOrigin, destUVec, destVVec)

-- Remove the first align transform

alignOne:Delete()

Inheritance

The object Align is derived from the Transform object.

Parent collection list

The following collections contain the Align object:

/ TransformCollection

Property list

Name Description
.DestinationWorkplane The destination workplane.
(Read/Write LocalWorkplane)
.SourceWorkplane The source workplane.
(Read/Write LocalWorkplane)
.Type The object type string.
(Read only string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-10

Method list

Name Description
:Delete () Delete the transform.

Properties (details)

.DestinationWorkplane
The destination workplane.
Type: LocalWorkplane
Access: Read/Write

.SourceWorkplane
The source workplane.
Type: LocalWorkplane
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-11

7.2.2 AnalyticalCurve

An analytical curve. The AnalyticalCurve object’s user interface equivalent is explained in section
3.3.12.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create an analytical curve

analyticalCurve = project.Geometry:AddAnalyticalCurve(1, 15, "t/15", "sin(t)/t", "sin(t)")

Inheritance

The object AnalyticalCurve is derived from the Geometry object.

Parent collection list

The following collections contain the AnalyticalCurve object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.CartesianDescription The description of the curve using the Cartesian co-
ordinate system.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-12

(Read/Write CartesianDescription)
.CylindricalDescription The description of the curve using the cylindrical co-
ordinate system.
(Read/Write CylindricalDescription)
.DefinitionMethod Analytical curve coordinate system as specified
by the AnalyticalCurveDefinitionMethodEnum, e.g.
Cartesian, Spherical or Cylindrical.
(Read/Write AnalyticalCurveDefinitionMethodE-
num)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The analytical curve workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.ParametricEnd The end of the interval over which the analytical
curve is parametrically defined.
(Read/Write Expression)
.ParametricStart The start of the interval over which the analytical
curve is parametrically defined.
(Read/Write Expression)
.SphericalDescription The description of the curve using the spherical co-
ordinate system.
(Read/Write SphericalDescription)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-13

:CopyAndTranslate (from, to, count) Copy and translate the geometry.


(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-14

Properties (details)

.CartesianDescription
The description of the curve using the Cartesian coordinate system.
Type: CartesianDescription
Access: Read/Write

.CylindricalDescription
The description of the curve using the cylindrical coordinate system.
Type: CylindricalDescription
Access: Read/Write

.DefinitionMethod
Analytical curve coordinate system as specified by the AnalyticalCurveDefinitionMethodE-
num, e.g. Cartesian, Spherical or Cylindrical.
Type: AnalyticalCurveDefinitionMethodEnum
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The analytical curve workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.ParametricEnd
The end of the interval over which the analytical curve is parametrically defined.
Type: Expression
Access: Read/Write

.ParametricStart
The start of the interval over which the analytical curve is parametrically defined.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-15

.SphericalDescription
The description of the curve using the spherical coordinate system.
Type: SphericalDescription
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-16

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-17

7.2.3 Application

The CADFEKO application object which is returned by the cf.GetApplication() method.


See the example below:
-- The "GetApplication" function lives in the "cf" namespace and
-- returns the current CADFEKO application object.

app = cf.GetApplication()

-- Open an example file located in the FEKO_HOME folder

project = app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.cfx]])

Property list

Name Description
.Project The application project.
(Read only Project)
.Type The object type string.
(Read only string)
.Version The application version.
(Read only Version)

Method list

Name Description
:CascadeWindows () Cascade the windows.
:Close () Close the CADFEKO application.
:CloseAllWindows () Close all windows.
:NewProject () Starts a new project.
(Returns a Project object.)
:OpenFile (filename) Opens a file.
(Returns a Project object.)
:Save () Saves the current session.
:SaveAs (filename) Saves the current model with the given name.
:TileWindows () Tile the windows.

Properties (details)

.Project
The application project.
Type: Project
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-18

.Type
The object type string.
Type: string
Access: Read only

.Version
The application version.
Type: Version
Access: Read only

Methods (details)

:CascadeWindows
Cascade the windows.

:Close
Close the CADFEKO application.

:CloseAllWindows
Close all windows.

:NewProject
Starts a new project.
Returns:

• Project: The application project.

:OpenFile
Opens a file.
Parameters:

• filename: The name of the file to open. (string)

Returns:

• Project: The application project.

:Save
Saves the current session.

:SaveAs
Saves the current model with the given name.
Parameters:

• filename: The name of the cfx file. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-19

:TileWindows
Tile the windows.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-20

7.2.4 BezierCurve

A Bezier curve. The BezierCurve object’s user interface equivalent is explained in section 3.3.12.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a Bezier curve

startPoint = cf.Point(1,0,0)
startTangent = cf.Point(0.5,0.5,0)
endTangent = cf.Point(-0.5,0.5,0)
endPoint = cf.Point(0,1,0)
beziercurve = project.Geometry:AddBezierCurve(startPoint, startTangent, endTangent, endPoint)

Inheritance

The object BezierCurve is derived from the Geometry object.

Parent collection list

The following collections contain the BezierCurve object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Points The collection of four point coordinates of the Bezier
curve.
(BezierCurvePointCollection of LocalCoordinates)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-21

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The Bezier curve operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ModifyEnd (point) Modify the end point coordinate.
:ModifyEndTangent (point) Modify the end tangent point coordinate.
:ModifyStart (point) Modify the start point coordinate.
:ModifyStartTangent (point) Modify the start tangent point coordinate.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-22

:ReEvaluate () Re-evalute the model. This should have no effect


accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Points
The collection of four point coordinates of the Bezier curve.
Type: BezierCurvePointCollection
Collection type: LocalCoordinates

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-23

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The Bezier curve operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-24

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-25

:ModifyEnd
Modify the end point coordinate.
Parameters:

• point: The new end point coordinate. (Coordinate)

:ModifyEndTangent
Modify the end tangent point coordinate.
Parameters:

• point: The new end tangent point coordinate. (Coordinate)

:ModifyStart
Modify the start point coordinate.
Parameters:

• point: The new start point coordinate. (Coordinate)

:ModifyStartTangent
Modify the start tangent point coordinate.
Parameters:

• point: The new start tangent point coordinate. (Coordinate)

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-26

7.2.5 CartesianDescription

The description of an analytical curve using the Cartesian coordinate system.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
analyticalCurve = project.Geometry:AddAnalyticalCurve(0, 1, "t", "t^2", 0)

-- Access the Cartesian description

analyticalCurve.CartesianDescription.U = 0
analyticalCurve.CartesianDescription.N = "t"

Property list

Name Description
.N The curve description in the N dimension as a func-
tion of variable t.
(Read/Write Expression)
.U The curve description in the U dimension as a func-
tion of variable t.
(Read/Write Expression)
.V The curve description in the V dimension as a func-
tion of variable t.
(Read/Write Expression)

Properties (details)

.N
The curve description in the N dimension as a function of variable t.
Type: Expression
Access: Read/Write

.U
The curve description in the U dimension as a function of variable t.
Type: Expression
Access: Read/Write

.V
The curve description in the V dimension as a function of variable t.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-27

7.2.6 Complex

A complex number.
See the example below:
-- Create a complex number

c1 = cf.Complex(3,4)

-- Determine magnitude and phase of the complex number

mag = c1:Magnitude()
phase = c1:Phase()

-- Some of the valid operators for ’Complex’

c2 = 2 + j*1
c3 = c1 * 2
c4 = c1 / 2
c5 = c1 - c2
c6 = c1 + c2
c7 = c1 * c2
c8 = c1.re * c2.re

Property list

Name Description
.im The imaginary value of the complex number.
(Read/Write number)
.re The real value of the complex number.
(Read/Write number)

Method list

Name Description
:Abs () Returns the absolute value of the complex value.
Same as the magnitude.
(Returns a number object.)
:Angle () Returns the angle of the complex value in radians.
Same as the phase.
(Returns a number object.)
:Imag () Returns the imaginary component of the complex
value.
(Returns a number object.)
:Magnitude () Returns the magnitude of the complex value.
(Returns a number object.)
:Phase () Returns the phase of the complex value in radians.
(Returns a number object.)
:Real () Returns the real component of the complex value.
(Returns a number object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-28

Static function list

Name Description
.Abs (Complex complex) Returns the absolute value of the complex value.
(Returns a number object.)
.Angle (Complex complex) Returns the angle of the complex value in radians.
(Returns a number object.)
.Imag (Complex complex) Returns the imaginary component of the complex value.
(Returns a number object.)
.Magnitude (Complex Returns the magnitude of the complex value.
complex)
(Returns a number object.)
.New (number real, num- Creates a new complex.
ber imag)
(Returns a Complex object.)
.New (number real) Creates a new complex.
(Returns a Complex object.)
.New () Creates a new complex.
(Returns a Complex object.)
.Phase (Complex complex) Returns the phase of the complex value in radians.
(Returns a number object.)
.Real (Complex complex) Returns the real component of the complex value.
(Returns a number object.)

Operator list

* Multiplication.
+ Addition.
- Subtraction.
/ Division.
< Compares the magnitude of the complex numbers.
<= Compares the magnitude of the complex numbers.
== Compares one complex to another.
ˆ Exponent.

Index list

[number] Index a component of the complex value.The real com-


ponent has index 1 and the complex component index 2.
(Read number)
[number] Index a component of the complex value.The real com-
ponent has index 1 and the complex component index 2.
(Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-29

Properties (details)

.im
The imaginary value of the complex number.
Type: number
Access: Read/Write

.re
The real value of the complex number.
Type: number
Access: Read/Write

Methods (details)

:Abs
Returns the absolute value of the complex value. Same as the magnitude.
Returns:

• number: The absolute value of the complex value.

:Angle
Returns the angle of the complex value in radians. Same as the phase.
Returns:

• number: The angle of the complex value.

:Imag
Returns the imaginary component of the complex value.
Returns:

• number: The imaginary component of the complex value.

:Magnitude
Returns the magnitude of the complex value.
Returns:

• number: The magnitude of the complex value.

:Phase
Returns the phase of the complex value in radians.
Returns:

• number: The phase of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-30

:Real
Returns the real component of the complex value.
Returns:

• number: The real component of the complex value.

Static functions (details)

.Abs
Returns the absolute value of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The absolute value of the complex value.

.Angle
Returns the angle of the complex value in radians.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The angle of the complex value.

.Imag
Returns the imaginary component of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The imaginary component of the complex value.

.Magnitude
Returns the magnitude of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-31

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The magnitude of the complex value.

.New
Creates a new complex.

Parameters:

• real: The real component. (number)


• imag: The imaginary component. (number)

Returns:

• Complex: The new complex.

.New
Creates a new complex.

Parameters:

• real: The real component. (number)

Returns:

• Complex: The new complex.

.New
Creates a new complex.

Returns:

• Complex: The new complex.

.Phase
Returns the phase of the complex value in radians.

Parameters:

• complex: A complex number. (Complex)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-32

Returns:

• number: The phase of the complex value.

.Real
Returns the real component of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The real component of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-33

7.2.7 ComplexMatrix

A matrix in 3D space.
See the example below:
-- Create a default 2x2 complex matrix of zeros

cm1 = cf.ComplexMatrix.Zeros(2)

-- Assign values to each element of the matrix

cm1[1][1] = 1 + j
cm1[2][1] = 2 + 2*j
cm1[1][2] = 3 + 3*j
cm1[2][2] = 4 + 4*j

-- Create a 2x2 complex matrix with a fill value of 2 + j

cm2 = cf.ComplexMatrix(2, 2, 2 + j)

-- Determine the transpose and determinant of the matrix

transpose = cm1:Transpose()
determinant = cm1:Determinant()

-- Some of the valid operators for ’ComplexMatrix’

cm3 = cm1 * 2
cm4 = cm2 * (3 + j)
cm5 = cm1 + 2
cm6 = cm1 - 1
cm7 = cm1 + cm2
cm8 = cm1 - cm2

Property list

Name Description
.ColumnCount The number of columns in the matrix.
(Read only number)
.RowCount The number of rows in the matrix.
(Read only number)

Method list

Name Description
:Determinant () Calculate the determinant of the matrix.
(Returns a Complex object.)
:FFT () Calculates the fast Fourier transform of the matrix.
(Returns a ComplexMatrix object.)
:IFFT () Calculates the inverse fast Fourier transform of the
matrix.
(Returns a ComplexMatrix object.)
:Inverse () Calculate the inverse matrix.
(Returns a ComplexMatrix object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-34

:ReplaceSubMatrix (matrix, rowstart, Replace the sub matrix starting at the given indices
columnstart) with the provided matrix.
:SubMatrix (rowstart, rowend, Calculate the sub matrix from the given parameters.
columnstart, columnend)
(Returns a ComplexMatrix object.)
:Transpose () Calculate the transpose of the matrix.
(Returns a ComplexMatrix object.)

Static function list

Name Description
.Diagonal (table values) Creates a diagonal matrix.
(Returns a ComplexMatrix object.)
.Identity (number size) Creates an identity matrix.
(Returns a ComplexMatrix object.)
.New (number rows, num- Creates a new matrix.
ber columns, Complex fill)
(Returns a ComplexMatrix object.)
.Ones (number size) Creates a new matrix filled with ones.
(Returns a ComplexMatrix object.)
.Zeros (number size) Creates a new matrix filled with zeros.
(Returns a ComplexMatrix object.)

Operator list

* Multiplies one matrix with another matrix.


* Scales a matrix with with the given factor. The multiplication is element-wise.
* Scales a matrix with with the given complex value. The multiplication is element-
wise.
+ Adds one matrix to another matrix.
+ Adds a scalar to the matrix. The addition is element-wise.
+ Adds a complex value to the matrix. The addition is element-wise.
- Subtracts one matrix to another matrix.
- Subtracts a scalar from the matrix. The subtraction is element-wise.
- Subtracts a complex value from the matrix. The subtraction is element-wise.
/ Devides a matrix with with the given factor. The devision is element-wise.
/ Devides a matrix with with the given complex value. The devision is element-
wise.
== Compares one matrix to another.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-35

[number] Access the specified row in the matrix. (Read Complex-


MatrixIndexer)

Properties (details)

.ColumnCount
The number of columns in the matrix.
Type: number
Access: Read only

.RowCount
The number of rows in the matrix.
Type: number
Access: Read only

Methods (details)

:Determinant
Calculate the determinant of the matrix.
Returns:

• Complex: The determinant of the matrix.

:FFT
Calculates the fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated FFT complex matrix.

:IFFT
Calculates the inverse fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated IFFT complex matrix.

:Inverse
Calculate the inverse matrix.
Returns:

• ComplexMatrix: The inverse of the matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-36

:ReplaceSubMatrix
Replace the sub matrix starting at the given indices with the provided matrix.
Parameters:

• matrix: The new sub matrix. (ComplexMatrix)


• rowstart: Starting row index of the sub matrix. (number)
• columnstart: Starting column index of the sub matrix. (number)

:SubMatrix
Calculate the sub matrix from the given parameters.
Parameters:

• rowstart: Row start index. (number)


• rowend: Row end index. (number)
• columnstart: Column start index. (number)
• columnend: Column end index. (number)

Returns:

• ComplexMatrix: The sub matrix.

:Transpose
Calculate the transpose of the matrix.
Returns:

• ComplexMatrix: The transpose of the matrix.

Static functions (details)

.Diagonal
Creates a diagonal matrix.

Parameters:

• values: The values to fill the matrix. (table)

Returns:

• ComplexMatrix: The new matrix.

.Identity
Creates an identity matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-37

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

.New
Creates a new matrix.

Parameters:

• rows: The number of rows in the matrix. (number)


• columns: The number of columns in the matrix. (number)
• fill: The value used to fill the matrix. (Complex)

Returns:

• ComplexMatrix: The new matrix.

.Ones
Creates a new matrix filled with ones.

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

.Zeros
Creates a new matrix filled with zeros.

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-38

7.2.8 ComplexMatrixIndexer

An index into the matrix.


See the example below:
-- Create a default 2x2 complex matrix of ones

cm1 = cf.ComplexMatrix.Zeros(2)

-- Assign values to each element of the matrix

cm1[1][1] = 1+j
cm1[2][1] = 2+2*j
cm1[1][2] = 3+3*j
cm1[2][2] = 4+4*j

Index list

[number] Access a value at the specified position in the matrix.


(Read Complex)
[number] Access a value at the specified position in the matrix.
(Write Complex)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-39

7.2.9 Cone

A cone. The Cone object’s user interface equivalent is explained in section 3.3.10.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a cone with its base centre at the specified ’Point’

baseCentre = cf.Point(-0.25, -0.25, 0)


cone = project.Geometry:AddCone(baseCentre, 0.5, 0.1, 1.0)

Inheritance

The object Cone is derived from the Geometry object.

Parent collection list

The following collections contain the Cone object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Angle The cone side angle (degrees). Only valid if Def-
initionMethod is AngleAndHeight or AngleAndTop-
Centre.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-40

(Read/Write Expression)
.Base The cone base centre point.
(Read/Write LocalCoordinates)
.BaseRadius The cone base radius.
(Read/Write Expression)
.DefinitionMethod Cone definition method as specified by the ConeDef-
initionMethodEnum, e.g. TopRadiusAndHeight,
TopRadiusAndTopCentre, etc.
(Read/Write ConeDefinitionMethodEnum)
.Height The cone height. Only valid if DefinitionMethod is
TopRadiusAndHeight or AngleAndHeight.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The cone workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Top The cone top centre point. Only valid if Definition-
Method is TopRadiusAndTopCentre or AngleAnd-
TopCentre.
(Read/Write LocalCoordinates)
.TopRadius The cone top radius. Only valid if DefinitionMethod
is TopRadiusAndHeight or TopRadiusAndTopCentre.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-41

(Returns a table object.)


:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-42

Properties (details)

.Angle
The cone side angle (degrees). Only valid if DefinitionMethod is AngleAndHeight or Angle-
AndTopCentre.
Type: Expression
Access: Read/Write

.Base
The cone base centre point.
Type: LocalCoordinates
Access: Read/Write

.BaseRadius
The cone base radius.
Type: Expression
Access: Read/Write

.DefinitionMethod
Cone definition method as specified by the ConeDefinitionMethodEnum, e.g. TopRadiusAnd-
Height, TopRadiusAndTopCentre, etc.
Type: ConeDefinitionMethodEnum
Access: Read/Write

.Height
The cone height. Only valid if DefinitionMethod is TopRadiusAndHeight or AngleAndHeight.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The cone workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-43

.Top
The cone top centre point. Only valid if DefinitionMethod is TopRadiusAndTopCentre or
AngleAndTopCentre.
Type: LocalCoordinates
Access: Read/Write

.TopRadius
The cone top radius. Only valid if DefinitionMethod is TopRadiusAndHeight or TopRadiu-
sAndTopCentre.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-44

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-45

7.2.10 Cuboid

A cuboid. The Cuboid object’s user interface equivalent is explained in section 3.3.10.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a cuboid with its base corner at the specified ’Point’

corner = cf.Point(-0.25, -0.25, 0)


cube = project.Geometry:AddCuboid(corner, 0.5, 0.5, 1.25)

Inheritance

The object Cuboid is derived from the Geometry object.

Parent collection list

The following collections contain the Cuboid object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.DefinitionMethod Cuboid base corner type definition specified by the
CuboidDefinitionMethodEnum, e.g. BaseAtCorner
or BaseAtCentre.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-46

(Read/Write CuboidDefinitionMethodEnum)
.Depth The cuboid depth.
(Read/Write Expression)
.Height The cuboid height.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The cuboid operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Origin The cuboid base corner/centre origin point.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)
.Width The cuboid width.
(Read/Write Expression)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-47

(Returns a table object.)


:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.DefinitionMethod
Cuboid base corner type definition specified by the CuboidDefinitionMethodEnum, e.g.
BaseAtCorner or BaseAtCentre.
Type: CuboidDefinitionMethodEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-48

.Depth
The cuboid depth.
Type: Expression
Access: Read/Write

.Height
The cuboid height.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The cuboid operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Origin
The cuboid base corner/centre origin point.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

.Width
The cuboid width.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-49

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-50

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-51

7.2.11 Cylinder

The cylinder. The Cylinder object’s user interface equivalent is explained in section 3.3.10.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Use ’Point’ to create a cylinder specified by height.

base = cf.Point(-0.25,-0.25,0)
cube = project.Geometry:AddCylinder(base, 0.5, 1.0)

Inheritance

The object Cylinder is derived from the Geometry object.

Parent collection list

The following collections contain the Cylinder object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Base The cylinder base centre point.
(Read/Write LocalCoordinates)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-52

.DefinitionMethod Cylinder construction type definition specified by


the CylinderDefinitionMethodEnum, e.g. with
Height or with TopCoordinate.
(Read/Write CylinderDefinitionMethodEnum)
.Height The cylinder height. Only valid if DefinitionMethod
is Height.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The cylinder operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Radius The cylinder radius.
(Read/Write Expression)
.Top The cylinder top centre point. Only valid if Defini-
tionMethod is TopCoordinate.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-53

:Explode () Explode the geometry into it base parts (faces and


edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Base
The cylinder base centre point.
Type: LocalCoordinates
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-54

.DefinitionMethod
Cylinder construction type definition specified by the CylinderDefinitionMethodEnum, e.g.
with Height or with TopCoordinate.
Type: CylinderDefinitionMethodEnum
Access: Read/Write

.Height
The cylinder height. Only valid if DefinitionMethod is Height.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The cylinder operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Radius
The cylinder radius.
Type: Expression
Access: Read/Write

.Top
The cylinder top centre point. Only valid if DefinitionMethod is TopCoordinate.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-55

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-56

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-57

7.2.12 CylindricalDescription

The description of an analytical curve using the cylindrical coordinate system.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
analyticalCurve = project.Geometry:AddAnalyticalCurveCylindrical(0, 1, "t*sqrt(1+t^2)", "deg(arctan(t))", 0)

-- Access the cylindrical description and change Phi

analyticalCurve.CylindricalDescription.Phi = "t*deg(arctan(t))"

Property list

Name Description
.N The curve description in the N dimension as a func-
tion of variable t.
(Read/Write Expression)
.Phi The curve description in the phi dimension as a func-
tion of variable t.
(Read/Write Expression)
.Rho The curve description in the rho dimension as a
function of variable t.
(Read/Write Expression)

Properties (details)

.N
The curve description in the N dimension as a function of variable t.
Type: Expression
Access: Read/Write

.Phi
The curve description in the phi dimension as a function of variable t.
Type: Expression
Access: Read/Write

.Rho
The curve description in the rho dimension as a function of variable t.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-58

7.2.13 Edge

A geometry edge/wire entity. The Edge object’s user interface equivalent is explained in section
3.10.7.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains edges/wires

polyline = project.Geometry:AddPolyline({cf.Point(0, 0, 0), cf.Point(1, 1, 1), cf.Point(1,0,0)})

-- Remove the first wire from the polyline

polyline.Wires["Wire1"]:Delete()

Inheritance

The object Edge is derived from the GeometryEntity object.

Parent collection list

The following collections contain the Edge object:

/ EdgeCollection

/ WireCollection

Property list

Name Description
.Label The object label.
(Read/Write string)
.LocalMeshSize The local mesh size for the edge. This property will
only have an effect if LocalMeshSizeEnabled is true.
(Read/Write Expression)
.LocalMeshSizeEnabled Specifies if the local mesh size should be used for
the wire/edge.
(Read/Write boolean)
.LocalWireRadius The local wire radius for the edge. This property
will only have an effect if LocalWireRadiusEnabled
is true.
(Read/Write Expression)
.LocalWireRadiusEnabled Specifies if the local wire radius should be used for
the wire/edge.
(Read/Write boolean)
.Type The object type string.
October 2013 (Read only string) FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-59

Method list

Name Description
:Delete () Delete the wire/edge.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.LocalMeshSize
The local mesh size for the edge. This property will only have an effect if LocalMeshSizeEn-
abled is true.
Type: Expression
Access: Read/Write

.LocalMeshSizeEnabled
Specifies if the local mesh size should be used for the wire/edge.
Type: boolean
Access: Read/Write

.LocalWireRadius
The local wire radius for the edge. This property will only have an effect if LocalWireRa-
diusEnabled is true.
Type: Expression
Access: Read/Write

.LocalWireRadiusEnabled
Specifies if the local wire radius should be used for the wire/edge.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the wire/edge.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-60

7.2.14 Ellipse

An ellipse. The Ellipse object’s user interface equivalent is explained in section 3.3.11.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a ellipse with its centre at the specified ’Point’

corner = cf.Point(-0.25,-0.25,0)
ellipse = project.Geometry:AddEllipse(corner,1,0.5)

Inheritance

The object Ellipse is derived from the Geometry object.

Parent collection list

The following collections contain the Ellipse object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Centre The ellipse centre point.
(Read/Write LocalCoordinates)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-61

.Included Specifies whether the geometry must be included or


excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The ellipse operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.RadiusU The ellipse width.
(Read/Write Expression)
.RadiusV The ellipse depth.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-62

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Centre
The ellipse centre point.
Type: LocalCoordinates
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-63

.LocalWorkplane
The ellipse operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.RadiusU
The ellipse width.
Type: Expression
Access: Read/Write

.RadiusV
The ellipse depth.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-64

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-65

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-66

7.2.15 EllipticArc

An elliptic arc. The EllipticArc object’s user interface equivalent is explained in section 3.3.13.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create an elliptic arc with the ellipse’s centre at the specified ’Point’

ellipseCentre = cf.Point(0, 0, 0)
ellipticArc = project.Geometry:AddEllipticArc(ellipseCentre, 1.0, 0.5, 0, 360)

Inheritance

The object EllipticArc is derived from the Geometry object.

Parent collection list

The following collections contain the EllipticArc object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.ApertureRadius The radius of the aperture of the elliptic arc. Only
valid if DefinitionMethod is ApertureCentrePoint.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-67

(Read/Write Expression)
.Centre The centre of either the underlying ellipse or the arc
aperture, depending on the value of EllipticArcDefi-
nitionMethodEnum.
(Read/Write LocalCoordinates)
.DefinitionMethod Elliptic arc definition method as specified by the El-
lipticArcDefinitionMethodEnum, e.g. EllipseCentre-
Point or ApertureCentrePoint.
(Read/Write EllipticArcDefinitionMethodEnum)
.Depth The distance from the aperture centre point to the
apex of the elliptical arc section. Only valid if Defi-
nitionMethod is ApertureCentrePoint.
(Read/Write Expression)
.Eccentricity The eccentricity of the ellipse on which the elliptical
arc section lies. The eccentricity must be less than
1 to specify a valid ellipse. Only valid if Definition-
Method is ApertureCentrePoint.
(Read/Write Expression)
.EndAngle The angle (degrees), from the positive U-axis direc-
tion where the arc ends. Only valid if Definition-
Method is EllipseCentrePoint.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The elliptic arc workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.MajorAxisDirection The major axis direction of the ellipse specified by
the EllipticArcMajorAxisDirectionEnum, e.g. U or V.
(Read/Write EllipticArcMajorAxisDirectionEnum)
.RadiusU The U radius of the ellipse on which the arc lies.
Only valid if DefinitionMethod is EllipseCentrePoint.
(Read/Write Expression)
.RadiusV The V radius of the ellipse on which the arc lies.
Only valid if DefinitionMethod is EllipseCentrePoint.
(Read/Write Expression)
.StartAngle The angle (degrees), from the positive U-axis direc-
tion where the arc begins. Only valid if Definition-
Method is EllipseCentrePoint.
(Read/Write Expression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-68

.Type The object type string.


(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-69

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.ApertureRadius
The radius of the aperture of the elliptic arc. Only valid if DefinitionMethod is ApertureCen-
trePoint.
Type: Expression
Access: Read/Write

.Centre
The centre of either the underlying ellipse or the arc aperture, depending on the value of
EllipticArcDefinitionMethodEnum.
Type: LocalCoordinates
Access: Read/Write

.DefinitionMethod
Elliptic arc definition method as specified by the EllipticArcDefinitionMethodEnum, e.g. El-
lipseCentrePoint or ApertureCentrePoint.
Type: EllipticArcDefinitionMethodEnum
Access: Read/Write

.Depth
The distance from the aperture centre point to the apex of the elliptical arc section. Only
valid if DefinitionMethod is ApertureCentrePoint.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-70

.Eccentricity
The eccentricity of the ellipse on which the elliptical arc section lies. The eccentricity must be
less than 1 to specify a valid ellipse. Only valid if DefinitionMethod is ApertureCentrePoint.
Type: Expression
Access: Read/Write

.EndAngle
The angle (degrees), from the positive U-axis direction where the arc ends. Only valid if
DefinitionMethod is EllipseCentrePoint.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The elliptic arc workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.MajorAxisDirection
The major axis direction of the ellipse specified by the EllipticArcMajorAxisDirectionEnum,
e.g. U or V.
Type: EllipticArcMajorAxisDirectionEnum
Access: Read/Write

.RadiusU
The U radius of the ellipse on which the arc lies. Only valid if DefinitionMethod is Ellipse-
CentrePoint.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-71

.RadiusV
The V radius of the ellipse on which the arc lies. Only valid if DefinitionMethod is Ellipse-
CentrePoint.
Type: Expression
Access: Read/Write

.StartAngle
The angle (degrees), from the positive U-axis direction where the arc begins. Only valid if
DefinitionMethod is EllipseCentrePoint.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-72

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-73

7.2.16 Exporter

The model (geometry and mesh) exporter.


See the example below:
app = cf.GetApplication()
project = app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.cfx]])

-- Export the geometry to an ACIS file

project.Exporter.Geometry:ExportACIS([[testExport.sat]])

-- Export the mesh to a Nastran file

project.Exporter.Mesh:ExportNASTRAN([[testExport.nas]],false)

Property list

Name Description
.Geometry The geometry exporter.
(Read only GeometryExporter)
.Mesh The mesh exporter.
(Read only MeshExporter)
.Type The object type string.
(Read only string)

Properties (details)

.Geometry
The geometry exporter.
Type: GeometryExporter
Access: Read only

.Mesh
The mesh exporter.
Type: MeshExporter
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-74

7.2.17 Face

A geometry face entity. The Face object’s user interface equivalent is explained in section 3.13.3.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains faces

cuboid = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)

-- Remove some faces from the cuboid

cuboid.Faces["Face1"]:Delete()
cuboid.Faces["Face4"]:Delete()
cuboid.Faces["Face6"]:Delete()

-- Rename the bottom face entity

cuboid.Faces["Face5"].Label = "BottomFace"

Inheritance

The object Face is derived from the GeometryEntity object.

Parent collection list

The following collections contain the Face object:

/ FaceCollection

Property list

Name Description
.Label The object label.
(Read/Write string)
.LocalMeshSize The local mesh size for the face. This property will
only have an effect if LocalMeshSizeEnabled is true.
(Read/Write Expression)
.LocalMeshSizeEnabled Specifies if the local mesh size should be used for
the face.
(Read/Write boolean)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-75

Name Description
:Delete () Delete the face.
:ReverseNormal () Reverse the face normal.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.LocalMeshSize
The local mesh size for the face. This property will only have an effect if LocalMeshSizeEn-
abled is true.
Type: Expression
Access: Read/Write

.LocalMeshSizeEnabled
Specifies if the local mesh size should be used for the face.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the face.

:ReverseNormal
Reverse the face normal.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-76

7.2.18 FittedSpline

A fitted spline. The FittedSpline object’s user interface equivalent is explained in section 3.3.12.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a fitted spline from a ’Point’ list

points = {}
points[1] = cf.Point(1,0,0)
points[2] = cf.Point(1,1,0)
points[3] = cf.Point(1,1,1)
fittespline = project.Geometry:AddFittedSpline(points)

Inheritance

The object FittedSpline is derived from the Geometry object.

Parent collection list

The following collections contain the FittedSpline object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Points The collection of point coordinates of the fitted
spline.
(FittedSplinePointCollection of LocalCoordinates)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-77

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The fitted spline operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:AddPoint (point) Add a point coordinate to the fitted spline.
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ModifyPoint (index, point) Modify the point coordinate at the given index.
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-78

:RemovePoint (index) Remove a point from the fitted spline at the given
index.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Points
The collection of point coordinates of the fitted spline.
Type: FittedSplinePointCollection
Collection type: LocalCoordinates

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-79

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The fitted spline operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:AddPoint
Add a point coordinate to the fitted spline.
Parameters:

• point: The point coordinate. (Coordinate)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-80

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-81

:ModifyPoint
Modify the point coordinate at the given index.
Parameters:

• index: The point index. (number)


• point: The new point coordinate. (Coordinate)

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:RemovePoint
Remove a point from the fitted spline at the given index.
Parameters:

• index: The point index. (number)

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-82

7.2.19 Flare

A flare. The Flare object’s user interface equivalent is explained in section 3.3.10.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare with its base centre at the specified ’Point’

baseCentre = cf.Point(-0.25, -0.25, 0)


flare = project.Geometry:AddFlare(baseCentre, 0.5, 0.5, 1.0, 0.3, 0.3)

Inheritance

The object Flare is derived from the Geometry object.

Parent collection list

The following collections contain the Flare object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.AngleU The flare angle from the UN plane (degrees). Only
valid if DefinitionMethod is BaseCentreAndFlareAn-
gles.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-83

(Read/Write Expression)
.AngleV The flare angle from the VN plane (degrees). Only
valid if DefinitionMethod is BaseCentreAndFlareAn-
gles.
(Read/Write Expression)
.Base The flare base corner/centre origin point.
(Read/Write LocalCoordinates)
.BottomDepth The flare bottom depth.
(Read/Write Expression)
.BottomWidth The flare bottom width.
(Read/Write Expression)
.DefinitionMethod Flare definition method specified by the FlareDefi-
nitionMethodEnum, e.g. BaseCentreAndAllDimen-
sions, BaseCornerAndAllDimensions, etc.
(Read/Write FlareDefinitionMethodEnum)
.Height The flare height. Only valid if Definition-
Method is BaseCentreAndAllDimensions, BaseC-
ornerAndAllDimensions or BaseCentreAndFlareAn-
gles.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The flare workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Top The flare top corner point. Only valid if Definition-
Method is BaseCornerAndTopCorner.
(Read/Write LocalCoordinates)
.TopDepth The flare top depth. Only valid if DefinitionMethod
is BaseCentreAndAllDimensions or BaseCornerAn-
dAllDimensions.
(Read/Write Expression)
.TopWidth The flare top width. Only valid if DefinitionMethod
is BaseCentreAndAllDimensions or BaseCornerAn-
dAllDimensions.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-84

(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-85

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.AngleU
The flare angle from the UN plane (degrees). Only valid if DefinitionMethod is BaseCentre-
AndFlareAngles.
Type: Expression
Access: Read/Write

.AngleV
The flare angle from the VN plane (degrees). Only valid if DefinitionMethod is BaseCentre-
AndFlareAngles.
Type: Expression
Access: Read/Write

.Base
The flare base corner/centre origin point.
Type: LocalCoordinates
Access: Read/Write

.BottomDepth
The flare bottom depth.
Type: Expression
Access: Read/Write

.BottomWidth
The flare bottom width.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-86

.DefinitionMethod
Flare definition method specified by the FlareDefinitionMethodEnum, e.g. BaseCentreAn-
dAllDimensions, BaseCornerAndAllDimensions, etc.
Type: FlareDefinitionMethodEnum
Access: Read/Write

.Height
The flare height. Only valid if DefinitionMethod is BaseCentreAndAllDimensions, BaseC-
ornerAndAllDimensions or BaseCentreAndFlareAngles.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The flare workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Top
The flare top corner point. Only valid if DefinitionMethod is BaseCornerAndTopCorner.
Type: LocalCoordinates
Access: Read/Write

.TopDepth
The flare top depth. Only valid if DefinitionMethod is BaseCentreAndAllDimensions or BaseC-
ornerAndAllDimensions.
Type: Expression
Access: Read/Write

.TopWidth
The flare top width. Only valid if DefinitionMethod is BaseCentreAndAllDimensions or BaseC-
ornerAndAllDimensions.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-87

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-88

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-89

7.2.20 Form

A fully customisable dialog. The form can be used as the base component for facilitating feedback
from interactive scripts.
See the example below:
-- Create a ’Form’ and a ’Label’ to put on it

form = cf.Form.New("My Custom Dialog")


label = cf.FormLabel.New("Hello world!")

-- Add the label to the form’s layout

form:Add(label)

-- Execute the form, potentially waiting for user input from buttons and widgets added to the form

form:Run()

Collection list

Name Description
.FormItems The collection of item widgets contained in the
form.
(FormItemCollection of FormItem)

Property list

Name Description
.Buttons A grouping that contains the OK and Cancel buttons.
(Read/Write FormButtons)
.Height The height in pixels of the form window.
(Read only number)
.Title The title that will be displayed in the title bar at the
top of the form.
(Read/Write string)
.Type The object type string.
(Read only string)
.Width The width in pixels of the form window.
(Read only number)

Method list

Name Description
:Add (item) Adds the given item to the form. Items can be any
of the defined form item types.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-90

:Add (item, row, column) Adds the given item to the form at the specified po-
sition. Positions are defined as a row and column,
starting at (1,1).
:Remove (item) Removes the given item from the form. The item
can be any of the items that resides in the collection
of the form items.
:Run () Executes the form. The values of any items will be
modified and made accessible in a script once the
OK button on the form is pressed.
(Returns a boolean object.)
:SetSize (width, height) Set the width and height of the form in pixels. En-
sure that width and height are larger than zero.

Static function list

Name Description
.Critical (string title, string Creates a new critical message form and displays it. Further
message) execution of the script is halted.
.Info (string title, string Creates an information message form and displays it.
message)
.New (string title, Form- Creates a new form with a specified label and layout.
LayoutEnum layout)
(Returns a Form object.)
.New (string title) Creates a new form with a specified label and vertical layout.
(Returns a Form object.)
.New () Creates a new form with a vertical layout.
(Returns a Form object.)
.Warning (string title, Creates a new warning message form and displays it.
string message)

Collections (details)

.FormItems
The collection of item widgets contained in the form.
Type: FormItemCollection
Collection type: FormItem

Properties (details)

.Buttons
A grouping that contains the OK and Cancel buttons.
Type: FormButtons
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-91

.Height
The height in pixels of the form window.
Type: number
Access: Read only

.Title
The title that will be displayed in the title bar at the top of the form.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Width
The width in pixels of the form window.
Type: number
Access: Read only

Methods (details)

:Add
Adds the given item to the form. Items can be any of the defined form item types.
Parameters:

• item: The form item to add to the form. (FormItem)

:Add
Adds the given item to the form at the specified position. Positions are defined as a row and
column, starting at (1,1).
Parameters:

• item: The form item to add to the form. (FormItem)


• row: The layout row position. (number)
• column: The layout column position. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-92

:Remove
Removes the given item from the form. The item can be any of the items that resides in the
collection of the form items.
Parameters:

• item: The form item to remove from the form. (FormItem)

:Run
Executes the form. The values of any items will be modified and made accessible in a script
once the OK button on the form is pressed.
Returns:

• boolean: True for the OK button and false for the Cancel button.

:SetSize
Set the width and height of the form in pixels. Ensure that width and height are larger than
zero.
Parameters:

• width: Width of the form in pixels. (number)


• height: Height of the form in pixels. (number)

Static functions (details)

.Critical
Creates a new critical message form and displays it. Further execution of the script is halted.

Parameters:

• title: The form window title. (string)


• message: The critical message to display on the form. (string)

.Info
Creates an information message form and displays it.

Parameters:

• title: The form window title. (string)


• message: The information message to display on the form. (string)

.New
Creates a new form with a specified label and layout.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-93

Parameters:

• title: The form window title. (string)


• layout: The group box layout type. (FormLayoutEnum)

Returns:

• Form: The newly created form.

.New
Creates a new form with a specified label and vertical layout.

Parameters:

• title: The form window title. (string)

Returns:

• Form: The newly created form.

.New
Creates a new form with a vertical layout.

Returns:

• Form: The newly created form.

.Warning
Creates a new warning message form and displays it.

Parameters:

• title: The form window title. (string)


• message: The warning message to display on the form. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-94

7.2.21 FormButtonFormat

The properties that control the text and visibility of form buttons.
See the example below:
form = cf.Form.New("Custom buttons")

-- Modify the buttons using the properties on their ’FormButtonFormat’

form.Buttons.OK.Text = "Continue script"


form.Buttons.Cancel.Visible = false

form:Run()

Property list

Name Description
.Text The text that will be displayed on the button.
(Read/Write string)
.Visible Controls the button visibility.
(Read/Write boolean)

Properties (details)

.Text
The text that will be displayed on the button.
Type: string
Access: Read/Write

.Visible
Controls the button visibility.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-95

7.2.22 FormButtons

The form buttons.


See the example below:
form = cf.Form.New("Default buttons")

-- Retrieve which button the user pressed

okPressed = form:Run()

if okPressed then
print "OK pressed"
else
print "Cancel pressed"
end

Property list

Name Description
.Cancel The Cancel button’s text and visibility properties.
(Read/Write FormButtonFormat)
.OK The OK button’s text and visibility properties.
(Read/Write FormButtonFormat)

Properties (details)

.Cancel
The Cancel button’s text and visibility properties.
Type: FormButtonFormat
Access: Read/Write

.OK
The OK button’s text and visibility properties.
Type: FormButtonFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-96

7.2.23 FormCheckBox

A check box item. Check boxes are used mainly in two cases. The first case is when a simple
yes/no response is required. The second case is when multiple selections from a number options
is permitted. In this case each option will be presented by a separate check box.
See the example below:
form = cf.Form.New("Export settings")

-- Create check boxes

checkbox1 = cf.FormCheckBox.New("Export electric near fields.")


checkbox1.Checked = true
checkbox2 = cf.FormCheckBox.New("Export magnetic near fields.")

-- Add check boxes to ’Form’ layout

form:Add(checkbox1)
form:Add(checkbox2)

-- Run the form and retrieve the user input

form:Run()
mustExportEFields = checkbox1.Checked
mustExportHFields = checkbox2.Checked

Inheritance

The object FormCheckBox is derived from the FormItem object.

Property list

Name Description
.Checked The state of the check box. True indicates that the
box is checked, false indicates that it is unchecked.
(Read/Write boolean)
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-97

.New (string label) Create a new check box item. The text describing the check box
is determined by the specified label.
(Returns a FormCheckBox object.)

Properties (details)

.Checked
The state of the check box. True indicates that the box is checked, false indicates that it is
unchecked.
Type: boolean
Access: Read/Write

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new check box item. The text describing the check box is determined by the specified
label.

Parameters:

• label: The label describing the check box. (string)

Returns:

• FormCheckBox: A check box form item created with the specified label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-98

7.2.24 FormComboBox

A combo box item. A combo box provides a list of options of which at least one must be selected.
See the example below:
form = cf.Form.New("Export settings")

-- Prepare input parameter and create combo box

options = {}
table.insert(options, "Only electric near fields")
table.insert(options, "Only magnetic near fields")
table.insert(options, "Both electric and magnetic near fields")

combobox = cf.FormComboBox.New("Results to export:", options)


form:Add(combobox)

-- Run the form and retrieve the user input

form:Run()
print("The user select to export: "..combobox.Value)

Inheritance

The object FormComboBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Index The index of the selected item in the combo box
item.
(Read/Write number)
.Type The object type string.
(Read only string)
.Value The text of the selected item in the combo box item.
(Read/Write Expression)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label, table Create a new combo box item.
map)
October 2013 FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-99

(Returns a FormComboBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Index
The index of the selected item in the combo box item.
Type: number
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The text of the selected item in the combo box item.
Type: Expression
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new combo box item.

Parameters:

• label: The text description that will appear next to the combo box. (string)
• map: The combo box value index map. The map refers to a standard Lua table with
numeric indexing. (table)

Returns:

• FormComboBox: The combo box item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-100

7.2.25 FormDirectoryBrowser

A directory browser item. When working with multiple files, it is often simplest to specify only the
directory where the files are located. When generating multiple files, it is also useful to specify
where the files should be stored. The directory browser is then a tool for navigating through the
operating system’s directory structures to set an active directory of interest.
See the example below:
form = cf.Form.New("Export data")

dirBrowser = cf.FormDirectoryBrowser.New("Output directory:")


form:Add(dirBrowser)

-- Run the form and retrieve the selection

form:Run()
selectedPath = dirBrowser.Value

Inheritance

The object FormDirectoryBrowser is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The directory path.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new directory browser item.
(Returns a FormDirectoryBrowser object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-101

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The directory path.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new directory browser item.

Parameters:

• label: The item label. (string)

Returns:

• FormDirectoryBrowser: The directory browser item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-102

7.2.26 FormDoubleSpinBox

A spin box item supporting doubles. Spin boxes are sometimes also referred to as numeric
steppers or spinners. Spin boxes are used to obtain a numerical value. Up and down arrows are
provided to increment or decrement the value respectively. Alternatively, the numerical value
can be typed into the input field.
See the example below:
form = cf.Form.New("Generate views")

-- Create ’FormDoubleSpinBox’ and adjust its initial settings

spinbox = cf.FormDoubleSpinBox.New("Frequency step between views:")


spinbox:SetMinimum(12.5)
spinbox:SetMaximum(250)
spinbox:SetSingleStep(12.5)

form:Add(spinbox)

-- Run the form and retrieve the user input

form:Run()
selectedFrequency = spinbox.Value

Inheritance

The object FormDoubleSpinBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The starting value of the spin box.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetMaximum (maximum) Set the maximum value of the spin box.
:SetMinimum (minimum) Set the minimum value of the spin box.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-103

:SetSingleStep (step) The single step size of the spin box item. When the
user uses the arrows to change the spin box’s value
the value will be incremented/decremented by the
amount of the single step. The default value is 1.0.
Setting a step size value of less than 0 does nothing.

Static function list

Name Description
.New (string label) Create a new spin box item.
(Returns a FormDoubleSpinBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The starting value of the spin box.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetMaximum
Set the maximum value of the spin box.
Parameters:

• maximum: The maximum value. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-104

:SetMinimum
Set the minimum value of the spin box.
Parameters:

• minimum: The minimum value. (number)

:SetSingleStep
The single step size of the spin box item. When the user uses the arrows to change the spin
box’s value the value will be incremented/decremented by the amount of the single step. The
default value is 1.0. Setting a step size value of less than 0 does nothing.
Parameters:

• step: The step size. (number)

Static functions (details)

.New
Create a new spin box item.

Parameters:

• label: The label next to the spin box describing the meaning of the value. (string)

Returns:

• FormDoubleSpinBox: The newly created spin box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-105

7.2.27 FormFileBrowser

A file browser item. The file browser can be used to navigate an operating system’s directory
structure to look for and select a file.
See the example below:
form = cf.Form.New("Process model")

--- Create ’FormFileBrowser’ and adjust its initial settings

fileBrowser = cf.FormFileBrowser.New("Model:")
fileBrowser:SetFilter("*.fek")
fileBrowser.MultiSelect = false

form:Add(fileBrowser)

-- Run the form and retrieve the user input

form:Run()
selectedPath = fileBrowser.Value

Inheritance

The object FormFileBrowser is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.MultiSelect Set multi selection for file browsing.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The path of the file(s) separated by “;”.
(Read/Write table)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetFilter (filter) Sets a filter for the file types. It must be in
the standard Qt form, i.e. File type name (*.ex1
*.ex2);;Second type (*.*).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-106

Static function list

Name Description
.New (string label) Create a new file browser item.
(Returns a FormFileBrowser object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.MultiSelect
Set multi selection for file browsing.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The path of the file(s) separated by “;”.
Type: table
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetFilter
Sets a filter for the file types. It must be in the standard Qt form, i.e. File type name (*.ex1
*.ex2);;Second type (*.*).
Parameters:

• filter: The file filter. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-107

Static functions (details)

.New
Create a new file browser item.

Parameters:

• label: The item label. (string)

Returns:

• FormFileBrowser: The file browser item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-108

7.2.28 FormGroupBox

A group box is a type of frame that contains other items. Group boxes are often used to make
logical groupings of items and are therefore mainly design components. Functionally, group
boxes make it easier to hide or disable several items simultaneously by simply modifying the
properties of the group box container.
See the example below:
form = cf.Form.New("Convert format")
inputFile = cf.FormFileBrowser.New("Input filename")
group = cf.FormGroupBox.New("Output options")
outputFile = cf.FormLineEdit.New("Output filename")
checkbox1 = cf.FormCheckBox.New("Export angles in degrees")

-- Add items into the ’FormGroupBox’ layout

group:Add(outputFile)
group:Add(checkbox1)

-- Add the ’FormGroupBox’ and other items into the top level ’Form’ layout

form:Add(inputFile)
form:Add(group)

form:Run()

Inheritance

The object FormGroupBox is derived from the FormItem object.

Collection list

Name Description
.FormGroupBoxItems The collection of item widgets contained in the
group box.
(FormGroupBoxItemCollection of FormItem)

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-109

Method list

Name Description
:Add (item) Adds the given item to the group box. Items can be
any of the defined form item types.
:Add (item, row, column) Adds the given item to the group box at the specified
position. Positions are defined as a row and column,
starting at (1,1).
:Remove (item) Removes the given item from the group box. The
item can be any of the items that resides in the col-
lection of the form items contained in the group box.

Static function list

Name Description
.New (string label, Form- Create a new group box item with a specified label and layout.
LayoutEnum layout)
(Returns a FormGroupBox object.)
.New (string label) Create a new group box item with a specified label and vertical
layout.
(Returns a FormGroupBox object.)
.New () Create a new group box item with a vertical layout.
(Returns a FormGroupBox object.)

Collections (details)

.FormGroupBoxItems
The collection of item widgets contained in the group box.
Type: FormGroupBoxItemCollection
Collection type: FormItem

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-110

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:Add
Adds the given item to the group box. Items can be any of the defined form item types.
Parameters:

• item: The item widget to add to the group. (FormItem)

:Add
Adds the given item to the group box at the specified position. Positions are defined as a row
and column, starting at (1,1).
Parameters:

• item: The form item to add to the group. (FormItem)


• row: The layout row position. (number)
• column: The layout column position. (number)

:Remove
Removes the given item from the group box. The item can be any of the items that resides in
the collection of the form items contained in the group box.
Parameters:

• item: The form item to remove from the group. (FormItem)

Static functions (details)

.New
Create a new group box item with a specified label and layout.

Parameters:

• label: The item label. (string)


• layout: The group box layout type. (FormLayoutEnum)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-111

Returns:

• FormGroupBox: The newly created group box item.

.New
Create a new group box item with a specified label and vertical layout.

Parameters:

• label: The item label. (string)

Returns:

• FormGroupBox: The newly created group box item.

.New
Create a new group box item with a vertical layout.

Returns:

• FormGroupBox: The newly created group box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-112

7.2.29 FormImage

An image item. Images can be added to any form or group box. Supported formats include PNG,
BMP and JPG/JPEG files.
See the example below:
form = cf.Form.New()
item1 = cf.FormLabel.New("Coordinate system:")
form:Add(item1);

-- Load an image from file and add it to the form

image = cf.FormImage.New(FEKO_HOME..[[/examples/Resources/Automation/axisar.png]])
form:Add(image)

form:Run()

Inheritance

The object FormImage is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Height Height of the image in pixels.
(Read only number)
.Type The object type string.
(Read only string)
.Value The path location of source file that will be used for
the image.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)
.Width Width of the image in pixels.
(Read only number)

Method list

Name Description
:ResetSize () Reset the width/height to the image’s default.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-113

:SetSize (width, height) Set the width and height of the image in pixels. En-
sure that width and height are larger than zero.

Static function list

Name Description
.New (string path) Create a new image.
(Returns a FormImage object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Height
Height of the image in pixels.
Type: number
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.Value
The path location of source file that will be used for the image.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

.Width
Width of the image in pixels.
Type: number
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-114

:ResetSize
Reset the width/height to the image’s default.

:SetSize
Set the width and height of the image in pixels. Ensure that width and height are larger than
zero.
Parameters:

• width: Width of the image in pixels. (number)


• height: Height of the image in pixels. (number)

Static functions (details)

.New
Create a new image.

Parameters:

• path: The file path of the source image. (string)

Returns:

• FormImage: The newly created image item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-115

7.2.30 FormIntegerSpinBox

A spin box item. Spin boxes are sometimes also referred to as numeric steppers or spinners. Spin
boxes can be used to obtain an integer value. Up and down arrows are provided to increment or
decrement the value respectively. Alternatively, the numerical value can be typed into the input
field.
See the example below:
form = cf.Form.New("Resample data")

-- Create ’FormIntegerSpinBox’ and adjust its initial settings

spinbox = cf.FormIntegerSpinBox.New("Number of samples:")


spinbox:SetMinimum(3)
spinbox:SetMaximum(101)

form:Add(spinbox)

-- Run the form and retrieve the user input

form:Run()
numberOfSamplesSelected = spinbox.Value

Inheritance

The object FormIntegerSpinBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The starting value of the spin box.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetMaximum (maximum) Set the maximum value of the spin box.
:SetMinimum (minimum) Set the minimum value of the spin box.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-116

:SetSingleStep (step) The single step size of the spin box item. When the
user uses the arrows to change the spin box’s value
the value will be incremented/decremented by the
amount of the single step. The default value is 1.
Setting a step size value of less than 0 does nothing.

Static function list

Name Description
.New (string label) Create a new spin box item.
(Returns a FormIntegerSpinBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The starting value of the spin box.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetMaximum
Set the maximum value of the spin box.
Parameters:

• maximum: The maximum value. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-117

:SetMinimum
Set the minimum value of the spin box.
Parameters:

• minimum: The minimum value. (number)

:SetSingleStep
The single step size of the spin box item. When the user uses the arrows to change the spin
box’s value the value will be incremented/decremented by the amount of the single step. The
default value is 1. Setting a step size value of less than 0 does nothing.
Parameters:

• step: The step size. (number)

Static functions (details)

.New
Create a new spin box item.

Parameters:

• label: The label next to the spin box describing the meaning of the value. (string)

Returns:

• FormIntegerSpinBox: The newly created spin box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-118

7.2.31 FormItem

The structure of all form items. All form items share a set of common properties that are listed
here.
See the example below:
form = cf.Form.New()

-- Create a variety of form items

checkbox = cf.FormCheckBox.New("Export electric near fields.")


label = cf.FormLabel.New("Item 1")
dirBrowser = cf.FormDirectoryBrowser.New("Output directory:")

form:Add(checkbox)
form:Add(label)
form:Add(dirBrowser)

-- All form items share the Enabled and Visible properties

checkbox.Enabled = false
label.Enabled = false
dirBrowser.Visible = false

form:Run()

Inheritance

The following objects are derived (specialisations) from the FormItem object:

/ FormCheckBox

/ FormComboBox

/ FormDirectoryBrowser

/ FormDoubleSpinBox

/ FormFileBrowser

/ FormGroupBox

/ FormImage

/ FormIntegerSpinBox

/ FormLabel

/ FormLineEdit

/ FormRadioButtonGroup

/ FormSeparator

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-119

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-120

7.2.32 FormLabel

A label item or a simple string of text. Labels are typically used to explain the contents of a form.
Note that most form items already have a built-in label associated with it.
See the example below:
form = cf.Form.New("Dialog with label")

label = cf.FormLabel.New("Hello world!")


form:Add(label)

form:Run()

Inheritance

The object FormLabel is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The text that should be displayed in the label.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new label item.
(Returns a FormLabel object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-121

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The text that should be displayed in the label.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new label item.

Parameters:

• label: The text that should be displayed. (string)

Returns:

• FormLabel: The newly created label item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-122

7.2.33 FormLineEdit

A line edit item; also known as a text box or text field. A line edit is used to obtain text-based
input from a user.
See the example below:
form = cf.Form.New("My Custom Dialog")

-- Create line edit initialse default contents if desired

lineEdit = cf.FormLineEdit.New("Project name")


lineEdit.Value = "Default name"

form:Add(lineEdit)

-- Run the form and retrieve the user input

form:Run()
userTypedIntput = lineEdit.Value

Inheritance

The object FormLineEdit is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The default text that will be contained in the line
edit when the form is run.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new line edit item.
(Returns a FormLineEdit object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-123

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The default text that will be contained in the line edit when the form is run.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new line edit item.

Parameters:

• label: A label describing the purpose and/or contens of a line edit. (string)

Returns:

• FormLineEdit: The newly created line edit item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-124

7.2.34 FormRadioButtonGroup

A radio button group item. Radio button groups are used when precisly one option out of a set
of options can be selected.
See the example below:
form = cf.Form.New("Export settings")

-- Prepare input parameter and radio button group

options = {}
table.insert(options, "Only electric near fields")
table.insert(options, "Only magnetic near fields")
table.insert(options, "Both electric and magnetic near fields")

radioButtonGroup = cf.FormRadioButtonGroup.New("Results to export:", options)


form:Add(radioButtonGroup)

-- Run the form and retrieve the user input

form:Run()
selectedOptionIndexNumber = radioButtonGroup.Value

Inheritance

The object FormRadioButtonGroup is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The index of the selected radio button item in the
index map table.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label, table Create a new radio button group item.
map)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-125

(Returns a FormRadioButtonGroup object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The index of the selected radio button item in the index map table.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new radio button group item.

Parameters:

• label: The item label. (string)


• map: A list of values that will be available for selection in the button group. The index
map is a Lua table containing an array of indexed values. (table)

Returns:

• FormRadioButtonGroup: The newly created radio button group item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-126

7.2.35 FormSeparator

A Separator item. Separators are used to visually group (or separate) items on a form. Both
horizontal and vertical separators are available.
See the example below:
form = cf.Form.New()
checkbox1 = cf.FormCheckBox.New("Check box 1.")
checkbox2 = cf.FormCheckBox.New("Check box 2.")
checkbox3 = cf.FormCheckBox.New("Check box 3.")
checkbox4 = cf.FormCheckBox.New("Check box 4.")
checkbox5 = cf.FormCheckBox.New("Check box 5.")

-- Create separators initialised to horizontal

horizontalSeparator1 = cf.FormSeparator.New(cf.Enums.FormSeparatorEnum.Horizontal)
horizontalSeparator2 = cf.FormSeparator.New(cf.Enums.FormSeparatorEnum.Horizontal)

-- Add items to form layout

form:Add(checkbox1)

form:Add(horizontalSeparator1)

form:Add(checkbox2)
form:Add(checkbox3)

form:Add(horizontalSeparator2)

form:Add(checkbox4)
form:Add(checkbox5)

form:Run()

Inheritance

The object FormSeparator is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-127

Name Description
.New (FormSepara- Create a new separator item.
torEnum orientation)
(Returns a FormSeparator object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new separator item.

Parameters:

• orientation: The separator orientation which is either Horizontal or Vertical.


(FormSeparatorEnum)

Returns:

• FormSeparator: The newly created Separator item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-128

7.2.36 Geometry

A geometry object. All derived geometry objects share a set of common properties and methods
that are listed here.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create various geometry

cuboid = project.Geometry:AddCuboid(cf.Point(1,0,0),1,1,1)
line = project.Geometry:AddLine(cf.Point(0,0,0),cf.Point(1,1,1))
sphere = project.Geometry:AddSphere(cf.Point(0,0,0),1)
union = project.Geometry:Union({sphere, cuboid})

-- Modify various properties of the union

union:ReverseFaceNormals()
union.Label = "LockedGeometry"
union.Locked = true

-- Duplicate the sphere and convert it to primitive geometry

geometry = sphere:Duplicate():ConvertToPrimitive()

Inheritance

The following objects are derived (specialisations) from the Geometry object:

/ AnalyticalCurve

/ BezierCurve

/ Cone

/ Cuboid

/ Cylinder

/ Ellipse

/ EllipticArc

/ FittedSpline

/ Flare

/ Helix

/ HyperbolicArc

/ ImprintPoints

/ Intersect

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-129

/ Line

/ Loft

/ NurbsSurface

/ ParabolicArc

/ Paraboloid

/ PathSweep

/ Polygon

/ Polyline

/ ProjectGeometry

/ Rectangle

/ Simplify

/ Spheroid

/ Spin

/ Split

/ Stitch

/ Subtract

/ Sweep

/ Union

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-130

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-131

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-132

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-133

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-134

7.2.37 GeometryExporter

The geometry exporter. Geometry can be exported to a variety of formats. The GeometryExporter
object’s user interface equivalent is explained in section 5.1.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Add geometry to export and then export it to an ACIS file

project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)
project.Exporter.Geometry:ExportACIS([[testExport.sat]])

Property list

Name Description
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportACIS (filename) Export to the specified ACIS (*.sat) file.
:ExportCATIAV4 (filename) Export to the specified CATIAV4 (*.model / *.session
/ *.exp) file.
:ExportCATIAV5 (filename) Export to the specified CATIAV5 (*.CATPart / *.CAT-
Product / *.CATShape) file.
:ExportIGES (filename) Export to the specified IGES (*.iges / *.igs) file.
:ExportParasolid (filename, export- Export to the specified Parasolid (*.x_t / *.x_b) file.
type, topologytype, version)
:ExportSTEP (filename) Export to the specified STEP (*.step / *.stp) file.

Properties (details)

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-135

:ExportACIS
Export to the specified ACIS (*.sat) file.
Parameters:

• filename: The name of the file to be exported. (string)

:ExportCATIAV4
Export to the specified CATIAV4 (*.model / *.session / *.exp) file.
Parameters:

• filename: The name of the file to be exported. (string)

:ExportCATIAV5
Export to the specified CATIAV5 (*.CATPart / *.CATProduct / *.CATShape) file.
Parameters:

• filename: The name of the file to be exported. (string)

:ExportIGES
Export to the specified IGES (*.iges / *.igs) file.
Parameters:

• filename: The name of the file to be exported. (string)

:ExportParasolid
Export to the specified Parasolid (*.x_t / *.x_b) file.
Parameters:

• filename: The name of the file to be exported. (string)


• exporttype: Parasolid file type specified by the ParasolidExportFileFormatEnum, e.g.
Text or Binary. (ParasolidExportFileFormatEnum)
• topologytype: Topology type specified by ParasolidTopologyTypeEnum, e.g. General or
Manifold. (ParasolidTopologyTypeEnum)
• version: Parasolid major version, version 16 to latest supported. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-136

:ExportSTEP
Export to the specified STEP (*.step / *.stp) file.
Parameters:

• filename: The name of the file to be exported. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-137

7.2.38 GeometryImporter

The geometry importer. The GeometryImporter object’s user interface equivalent is explained in
section 4.3.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Auto determine the CAD file type and import it into the current project

project.Importer.Geometry:Import(FEKO_HOME..[[/examples/Resources/Automation/car_geometry.x_b]])

Property list

Name Description
.Type The object type string.
(Read only string)

Method list

Name Description
:Import (filename) Import the specified file using default settings.
:ImportACIS (filename, healing, sim- Import the specified ACIS (*.sat) file.
plify, stitch, twostep)
:ImportAutoCAD (filename, extrude, Import the specified AutoCAD (*.dxf) file.
stitchfaces, mergewires)
:ImportCATIAV4 (filename, healing, Import the specified CATIAV4 (*.model / *.session /
simplify, stitch, twostep) *.exp) file.
:ImportCATIAV5 (filename, healing, Import the specified CATIAV5 (*.CATPart / *.CAT-
simplify, stitch, twostep) Product / *.CATShape) file.
:ImportIGES (filename, healing, sim- Import the specified IGES (*.iges / *.igs) file.
plify, stitch, twostep)
:ImportParasolid (filename, scale) Import the specified Parasolid (*.x_t / *.x_b) file.
:ImportProE (filename, healing, sim- Import the specified Pro/Engineer (*.prt / *.asm /
plify, stitch, twostep) *.prt.* / *.asm.*) file.
:ImportSTEP (filename, healing, sim- Import the specified STEP (*.step / *.stp) file.
plify, stitch, twostep)
:ImportUnigraphics (filename, heal- Import the specified Unigraphics (*.prt) file.
ing, simplify, stitch, twostep)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-138

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Import
Import the specified file using default settings.
Parameters:

• filename: The name of the file to be imported. (string)

:ImportACIS
Import the specified ACIS (*.sat) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportAutoCAD
Import the specified AutoCAD (*.dxf) file.
Parameters:

• filename: The name of the file to be imported. (string)


• extrude: Enables the extrusion feature. (boolean)
• stitchfaces: Faces that touch are automatically stitched. (boolean)
• mergewires: Wires that touch are automatically merged. (boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-139

:ImportCATIAV4
Import the specified CATIAV4 (*.model / *.session / *.exp) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportCATIAV5
Import the specified CATIAV5 (*.CATPart / *.CATProduct / *.CATShape) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportIGES
Import the specified IGES (*.iges / *.igs) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportParasolid
Import the specified Parasolid (*.x_t / *.x_b) file.
Parameters:

• filename: The name of the file to be imported. (string)


• scale: Scale the imported geometry by this factor. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-140

:ImportProE
Import the specified Pro/Engineer (*.prt / *.asm / *.prt.* / *.asm.*) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportSTEP
Import the specified STEP (*.step / *.stp) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

:ImportUnigraphics
Import the specified Unigraphics (*.prt) file.
Parameters:

• filename: The name of the file to be imported. (string)


• healing: Enables healing during conversion. (boolean)
• simplify: Simplifies the model during conversion. (boolean)
• stitch: Stitches trimmes faces during conversion. (boolean)
• twostep: Use legacy two step import process during conversion. (boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-141

7.2.39 GlobalCoordinates

Global coordinates define positions relative to the global coordinate system.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
cuboid = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)

-- Modify the workplane origin (global coordinates) of the cuboid

cuboid.LocalWorkplane.Origin.X = 2.5
cuboid.LocalWorkplane.Origin.Y = -0.5
cuboid.LocalWorkplane.Origin.Z = 1

Property list

Name Description
.X The X coordinate.
(Read/Write Expression)
.Y The Y coordinate.
(Read/Write Expression)
.Z The Z coordinate.
(Read/Write Expression)

Properties (details)

.X
The X coordinate.
Type: Expression
Access: Read/Write

.Y
The Y coordinate.
Type: Expression
Access: Read/Write

.Z
The Z coordinate.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-142

7.2.40 Helix

A helix. The Helix object’s user interface equivalent is explained in section 3.3.13.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a helix with the helix’s base centre at the specified ’Point’

helixCentre = cf.Point(0, 0, 0)
helix = project.Geometry:AddHelix(helixCentre, 0.1, 0.1, 1.0, 5.0, false)

Inheritance

The object Helix is derived from the Geometry object.

Parent collection list

The following collections contain the Helix object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-143

.BaseRadius The radius of the helix base (parallel to the UV-


plane). If DefinitionMethod is not VariableRadiu-
sAndTurns, the base radius applies along the entire
helix length.
(Read/Write Expression)
.Centre The centre point of the helix base.
(Read/Write LocalCoordinates)
.DefinitionMethod Helix definition method as specified by the HelixDef-
initionMethodEnum, e.g. BaseCentre or Aperture-
Centre.
(Read/Write HelixDefinitionMethodEnum)
.EndRadius The radius of the helix top (parallel to the UV-
plane). Only valid if DefinitionMethod is Vari-
ableRadiusAndTurns.
(Read/Write Expression)
.Height The height of the helix, in the N-axis direction. Only
valid if DefinitionMethod is VariableRadiusAndTurns
or ConstantRadiusAndHeight.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LeftHandRotated The rotation direction of the helix. Left handed if
true, else right handed.
(Read/Write boolean)
.LocalWorkplane The helix workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.PitchAngle The angle (degrees) formed between the tangent of
the curve and the UV-plane – constant along the
length of the helix.Only valid if DefinitionMethod
is ConstantRadiusAndTurns or ConstantRadiusAnd-
Height.
(Read/Write Expression)
.Turns The number of turns of the helix. Only valid if Def-
initionMethod is VariableRadiusAndTurns or Con-
stantRadiusAndTurns.
(Read/Write Expression)
.Type The object type string.
(Read only string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-144

.Visible Specifies whether the geometry must be shown or


hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-145

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.BaseRadius
The radius of the helix base (parallel to the UV-plane). If DefinitionMethod is not VariableRa-
diusAndTurns, the base radius applies along the entire helix length.
Type: Expression
Access: Read/Write

.Centre
The centre point of the helix base.
Type: LocalCoordinates
Access: Read/Write

.DefinitionMethod
Helix definition method as specified by the HelixDefinitionMethodEnum, e.g. BaseCentre or
ApertureCentre.
Type: HelixDefinitionMethodEnum
Access: Read/Write

.EndRadius
The radius of the helix top (parallel to the UV-plane). Only valid if DefinitionMethod is
VariableRadiusAndTurns.
Type: Expression
Access: Read/Write

.Height
The height of the helix, in the N-axis direction. Only valid if DefinitionMethod is VariableRa-
diusAndTurns or ConstantRadiusAndHeight.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-146

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LeftHandRotated
The rotation direction of the helix. Left handed if true, else right handed.
Type: boolean
Access: Read/Write

.LocalWorkplane
The helix workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.PitchAngle
The angle (degrees) formed between the tangent of the curve and the UV-plane – constant
along the length of the helix.Only valid if DefinitionMethod is ConstantRadiusAndTurns or
ConstantRadiusAndHeight.
Type: Expression
Access: Read/Write

.Turns
The number of turns of the helix. Only valid if DefinitionMethod is VariableRadiusAndTurns
or ConstantRadiusAndTurns.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-147

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-148

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-149

7.2.41 HyperbolicArc

A hyperbolic arc. The HyperbolicArc object’s user interface equivalent is explained in section
3.3.13.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a hyperbolic arc with the hyperbola’s base centre at the specified ’Point’

hyperbolaCentre = cf.Point(0, 0, 0)
hyperbolicArc = project.Geometry:AddHyperbolicArc(hyperbolaCentre, 1.0, 1.0, 1.1)

Inheritance

The object HyperbolicArc is derived from the Geometry object.

Parent collection list

The following collections contain the HyperbolicArc object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-150

.Centre The centre of either the underlying hyperbola’s base


or the arc aperture, depending on the value of Hy-
perbolicArcDefinitionMethodEnum.
(Read/Write LocalCoordinates)
.DefinitionMethod Hyperbolic arc definition method as specified by the
HyperbolicArcDefinitionMethodEnum, e.g. Base-
Centre or ApertureCentre.
(Read/Write HyperbolicArcDefinitionMethodEnum)
.Depth The distance from the apex of the hyperbola to the
centre of the aperture.
(Read/Write Expression)
.Eccentricity The eccentricity of the hyperbola on which the hy-
perbolic arc section lies.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The hyperbolic arc workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Radius The radius of the Hyperbolic arc’s aperture.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-151

(Returns a table object.)


:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-152

.Centre
The centre of either the underlying hyperbola’s base or the arc aperture, depending on the
value of HyperbolicArcDefinitionMethodEnum.
Type: LocalCoordinates
Access: Read/Write

.DefinitionMethod
Hyperbolic arc definition method as specified by the HyperbolicArcDefinitionMethodEnum,
e.g. BaseCentre or ApertureCentre.
Type: HyperbolicArcDefinitionMethodEnum
Access: Read/Write

.Depth
The distance from the apex of the hyperbola to the centre of the aperture.
Type: Expression
Access: Read/Write

.Eccentricity
The eccentricity of the hyperbola on which the hyperbolic arc section lies.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The hyperbolic arc workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Radius
The radius of the Hyperbolic arc’s aperture.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-153

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-154

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-155

7.2.42 Importer

The model (geometry and mesh) importer.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Import a Parasolid geometry model and a Nastran mesh

project.Importer.Geometry:Import(FEKO_HOME..[[/examples/Resources/Automation/car_geometry.x_b]])
project.Importer.Mesh:Import(FEKO_HOME..[[/examples/Resources/Automation/demo_RM.nas]])

Property list

Name Description
.Geometry The geometry importer.
(Read only GeometryImporter)
.Mesh The mesh importer.
(Read only MeshImporter)
.Type The object type string.
(Read only string)

Properties (details)

.Geometry
The geometry importer.
Type: GeometryImporter
Access: Read only

.Mesh
The mesh importer.
Type: MeshImporter
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-156

7.2.43 ImprintPoints

Imprint points onto geometry. The ImprintPoints object’s user interface equivalent is explained
in section 3.4.3.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a rectangle to imprint on

rect = project.Geometry:AddRectangle(cf.Point(0, 0, 0), 2, 2)

-- Create a set of points to imprint

points = {}
points[1] = cf.Point(1, 1, 0)
points[2] = cf.Point(0.25, 0.75, 0.3)
points[3] = cf.Point(0.75, 0.25, -1)

-- Imprint the points on the rectangle

imprinted = project.Geometry:ImprintPoints(rect, points)

Inheritance

The object ImprintPoints is derived from the Geometry object.

Parent collection list

The following collections contain the ImprintPoints object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Points The collection of points to imprint.
(ImprintedPointsCollection of LocalCoordinates)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
October 2013 (WireCollection of Edge) FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-157

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The imprint points operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:AddPoint (point) Add a point to imprint.
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ModifyPoint (index, point) Modify the point coordinate at the given index.
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-158

:RemovePoint (index) Remove a point from the list of imprinted points at


the given index.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Points
The collection of points to imprint.
Type: ImprintedPointsCollection
Collection type: LocalCoordinates

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-159

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The imprint points operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:AddPoint
Add a point to imprint.
Parameters:

• point: The point coordinate. (Coordinate)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-160

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-161

:ModifyPoint
Modify the point coordinate at the given index.
Parameters:

• index: The point index. (number)


• point: The new point coordinate. (Coordinate)

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:RemovePoint
Remove a point from the list of imprinted points at the given index.
Parameters:

• index: The point index. (number)

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-162

7.2.44 Intersect

An intersect operator. The Intersect object’s user interface equivalent is explained in section
3.3.15.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create three cuboid operators to intersect

cube1 = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


cube2 = project.Geometry:AddCuboid(cf.Point(0.5, 0.5, 0.5), 1, 1, 1)
cube3 = project.Geometry:AddCuboid(cf.Point(0.5, 0, 0), 1, 1 ,1)

-- Intersect cube1, cube2 and cube3

intersect = project.Geometry:Intersect({cube1, cube2, cube3})

Inheritance

The object Intersect is derived from the Geometry object.

Parent collection list

The following collections contain the Intersect object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-163

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-164

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-165

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-166

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-167

7.2.45 Line

A straight line. The Line object’s user interface equivalent is explained in section 3.3.12.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Use ’Point’ to create some lines

startPoint = cf.Point(0,1,0)
endPoint = cf.Point(1,0,0)
for count = 1, 3 do
project.Geometry:AddLine(startPoint*count,endPoint*count)
end

-- Use ’NamedPoint’ to create a line

var = project.Variables:Add("a", 1.5)


startPoint = project.NamedPoints:Add("startPt", 0, 0, "a")
endPoint = project.NamedPoints:Add("endPt", var, var, 0)
line = project.Geometry:AddLine(startPoint,endPoint)

Inheritance

The object Line is derived from the Geometry object.

Parent collection list

The following collections contain the Line object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-168

Property list

Name Description
.End The line operator end point.
(Read/Write LocalCoordinates)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The line operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Start The line operator start point.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-169

:ReEvaluate () Re-evalute the model. This should have no effect


accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.End
The line operator end point.
Type: LocalCoordinates
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-170

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The line operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Start
The line operator start point.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-171

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-172

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-173

7.2.46 LocalCoordinates

Local coordinates typically define positions relative to the coordinate system of a ’LocalWork-
plane’.
See the example below:
app = cf.GetApplication()
project = app:NewProject()
cuboid = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)

-- Modify the origin (local coordinates) of the cuboid

cuboid.Origin.U = 2.5
cuboid.Origin.V = -0.5
cuboid.Origin.N = 1

Property list

Name Description
.N The local N coordinate.
(Read/Write Expression)
.U The local U coordinate.
(Read/Write Expression)
.V The local V coordinate.
(Read/Write Expression)

Properties (details)

.N
The local N coordinate.
Type: Expression
Access: Read/Write

.U
The local U coordinate.
Type: Expression
Access: Read/Write

.V
The local V coordinate.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-174

7.2.47 LocalWorkplane

The workplane. The LocalWorkplane object’s user interface equivalent is explained in section
3.3.5.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare

baseCentre = cf.Point(-0.25, -0.25, 0)


flare = project.Geometry:AddFlare(baseCentre, 0.5, 0.5, 1.0, 0.3, 0.3)

-- Modify the local workplane of the flare

lwp = flare.LocalWorkplane
lwp.Origin.X = 1
lwp.Origin.Z = .3
lwp.UVector.Y = 1
lwp.VVector.Z = -2

Property list

Name Description
.Origin The workplane origin.
(Read/Write GlobalCoordinates)
.UVector The workplane U vector orientation.
(Read/Write GlobalCoordinates)
.VVector The workplane V vector orientation.
(Read/Write GlobalCoordinates)

Properties (details)

.Origin
The workplane origin.
Type: GlobalCoordinates
Access: Read/Write

.UVector
The workplane U vector orientation.
Type: GlobalCoordinates
Access: Read/Write

.VVector
The workplane V vector orientation.
Type: GlobalCoordinates
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-175

7.2.48 Loft

A loft operator. The Loft object’s user interface equivalent is explained in section 3.3.16.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create two lines to loft between

line1 = project.Geometry:AddLine(cf.Point(1, -1, 0), cf.Point(1, 0, 0))


line2 = project.Geometry:AddLine(cf.Point(0, 0, 0), cf.Point(0, 0, 0.5))

-- Create the loft between the two lines

project.Geometry:Loft(line1, line2)

Inheritance

The object Loft is derived from the Geometry object.

Parent collection list

The following collections contain the Loft object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-176

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Reversed Reverse the start and end points of the loft opera-
tion.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-177

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-178

.Reversed
Reverse the start and end points of the loft operation.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-179

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-180

7.2.49 Matrix

A matrix in 3D space.
See the example below:
-- Create a default 2x2 double matrix of zeros

m1 = cf.Matrix.Zeros(2)

-- Assign values to each element of the matrix

m1[1][1] = 1
m1[2][1] = 2
m1[1][2] = 3
m1[2][2] = 4

-- Create a 2x2 double matrix with a fill value of 2 + j

m2 = cf.Matrix(2, 2, 3)

-- Determine the transpose and determinant of the matrix

transpose = m1:Transpose()
determinant = m1:Determinant()

-- Some of the valid operators for ’Matrix’

m3 = m1 * 2
m4 = m2 * (3 + j)
m5 = m1 + 2
m6 = m1 - 1
m7 = m1 + m2
m8 = m1 - m2

Property list

Name Description
.ColumnCount The number of columns in the matrix.
(Read only number)
.RowCount The number of rows in the matrix.
(Read only number)

Method list

Name Description
:Determinant () Calculate the determinant of the matrix.
(Returns a number object.)
:FFT () Calculates the fast Fourier transform of the matrix.
(Returns a ComplexMatrix object.)
:IFFT () Calculates the inverse fast Fourier transform of the
matrix.
(Returns a ComplexMatrix object.)
:Inverse () Calculate the inverse matrix.
(Returns a Matrix object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-181

:ReplaceSubMatrix (matrix, rowstart, Replace the sub matrix starting at the given indices
columnstart) with the provided matrix.
:SubMatrix (rowstart, rowend, Calculate the sub matrix from the given parameters.
columnstart, columnend)
(Returns a Matrix object.)
:Transpose () Calculate the transpose of the matrix.
(Returns a Matrix object.)

Static function list

Name Description
.Diagonal (table values) Creates a diagonal matrix.
(Returns a Matrix object.)
.Identity (number size) Creates an identity matrix.
(Returns a Matrix object.)
.New (number rows, num- Creates a new matrix.
ber columns, number fill)
(Returns a Matrix object.)
.Ones (number size) Creates a new matrix filled with ones.
(Returns a Matrix object.)
.Zeros (number size) Creates a new matrix filled with zeros.
(Returns a Matrix object.)

Operator list

* Multiplies one matrix with another matrix.


* Scales a matrix with with the given factor. The multiplication is element-wise.
* Scales a matrix with with the given complex value. The multiplication is element-
wise.
+ Adds one matrix to another matrix.
+ Adds a scalar to the matrix. The addition is element-wise.
+ Adds a complex value to the matrix. The addition is element-wise.
- Subtracts one matrix to another matrix.
- Subtracts a scalar from the matrix. The subtraction is element-wise.
- Subtracts a complex value from the matrix. The subtraction is element-wise.
/ Devides a matrix with with the given factor. The devision is element-wise.
/ Devides a matrix with with the given complex value. The devision is element-
wise.
== Compares one matrix to another.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-182

[number] Access the specified row in the matrix. (Read MatrixIn-


dexer)

Properties (details)

.ColumnCount
The number of columns in the matrix.
Type: number
Access: Read only

.RowCount
The number of rows in the matrix.
Type: number
Access: Read only

Methods (details)

:Determinant
Calculate the determinant of the matrix.
Returns:

• number: The determinant of the matrix.

:FFT
Calculates the fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated FFT complex matrix.

:IFFT
Calculates the inverse fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated IFFT complex matrix.

:Inverse
Calculate the inverse matrix.
Returns:

• Matrix: The inverse of the matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-183

:ReplaceSubMatrix
Replace the sub matrix starting at the given indices with the provided matrix.
Parameters:

• matrix: The new sub matrix. (Matrix)


• rowstart: Starting row index of the sub matrix. (number)
• columnstart: Starting column index of the sub matrix. (number)

:SubMatrix
Calculate the sub matrix from the given parameters.
Parameters:

• rowstart: Row start index. (number)


• rowend: Row end index. (number)
• columnstart: Column start index. (number)
• columnend: Column end index. (number)

Returns:

• Matrix: The sub matrix.

:Transpose
Calculate the transpose of the matrix.
Returns:

• Matrix: The transpose of the matrix.

Static functions (details)

.Diagonal
Creates a diagonal matrix.

Parameters:

• values: The values to fill the matrix. (table)

Returns:

• Matrix: The new matrix.

.Identity
Creates an identity matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-184

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

.New
Creates a new matrix.

Parameters:

• rows: The number of rows in the matrix. (number)


• columns: The number of columns in the matrix. (number)
• fill: The value used to fill the matrix. (number)

Returns:

• Matrix: The new matrix.

.Ones
Creates a new matrix filled with ones.

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

.Zeros
Creates a new matrix filled with zeros.

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-185

7.2.50 MatrixIndexer

An index into the matrix.


See the example below:
-- Create a default 2x2 double matrix of ones

m1 = cf.Matrix.Zeros(2)

-- Assign values to each element of the matrix

m1[1][1] = 1
m1[2][1] = 2
m1[1][2] = 3
m1[2][2] = 4

Index list

[number] Access a value at the specified position in the matrix.


(Read number)
[number] Access a value at the specified position in the matrix.
(Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-186

7.2.51 MeshExporter

The mesh exporter. The MeshExporter object’s user interface equivalent is explained in section
5.2.
See the example below:
app = cf.GetApplication()
project = app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.cfx]])

-- Export the mesh to a NASTRAN file

project.Exporter.Mesh:ExportNASTRAN([[testExport.nas]],false)

Property list

Name Description
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportCfm (filename) Export the specified FEKO mesh (*.cfm) file.
:ExportDxf (filename, projected) Export the mesh boundary to the specified Dxf mesh
(*.dxf) file.
:ExportGerber (filename, mirror) Export to the specified Gerber mesh (*.gbr) file.
:ExportNASTRAN (filename, Export to the specified NASTRAN (*.nas) file.
facesonly)
:ExportSTL (filename, facesonly) Export to the specified STL (*.stl) file.

Properties (details)

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportCfm
Export the specified FEKO mesh (*.cfm) file.
Parameters:

• filename: The name of the file to be exported. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-187

:ExportDxf
Export the mesh boundary to the specified Dxf mesh (*.dxf) file.
Parameters:

• filename: The name of the file to be exported. (string)


• projected: The option to export as 2D data (projected onto the xy-plane). (boolean)

:ExportGerber
Export to the specified Gerber mesh (*.gbr) file.
Parameters:

• filename: The name of the file to be exported. (string)


• mirror: The option to mirror horizontally (around y axis). (boolean)

:ExportNASTRAN
Export to the specified NASTRAN (*.nas) file.
Parameters:

• filename: The name of the file to be exported. (string)


• facesonly: The option to only export bounding faces of volume meshes. (boolean)

:ExportSTL
Export to the specified STL (*.stl) file.
Parameters:

• filename: The name of the file to be exported. (string)


• facesonly: The option to only export bounding faces of volume meshes. (boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-188

7.2.52 MeshImporter

The mesh importer. The MeshImporter object’s user interface equivalent is explained in section
4.4.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Auto determine the mesh file type and import it into the current project

project.Importer.Mesh:Import(FEKO_HOME..[[/examples/Resources/Automation/demo_RM.nas]])

Property list

Name Description
.Type The object type string.
(Read only string)

Method list

Name Description
:Import (filename) Import the specified file using default settings.
:ImportABAQUS (filename, seg- Import the specified ABAQUS (*.inp) file.
ments, triangles, tetrahedra, quad-
rangles, wireradius, scalefactor,
vertextolerance)
:ImportANSYS (filename, segments, Import the specified ANSYS (*.cdb) file.
triangles, tetrahedra, quadrangles,
wireradius, scalefactor, vertextoler-
ance)
:ImportASCII (filename, segments, Import the specified ASCII (*.*) file.
triangles, tetrahedra, polygons,
wireradius, scalefactor, vertextoler-
ance)
:ImportAutoCAD (filename, seg- Import the specified AutoCAD (*.dxf) file.
ments, trianglesandquads, wirera-
dius, scalefactor, segmentlength,
vertextolerance)
:ImportCONCEPT (filename, wirera- Import the specified CONCEPT (*.dat) file.
dius, scalefactor, vertextolerance)
:ImportFEMAP (filename, segments, Import the specified FEMAP (*.neu) file.
triangles, tetrahedra, polygons,
quadrangles, wireradius, scalefactor,
vertextolerance)
:ImportFek (filename) Import the specified FEKO model (*.fek) file.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-189

:ImportGID (filename, segments, Import the specified GID (*.msh) file.


triangles, tetrahedra, quadrangles,
wireradius, scalefactor, vertextoler-
ance)
:ImportNASTRAN (filename, seg- Import the specified NASTRAN (*.nas) file.
ments, triangles, tetrahedra, quad-
rangles, wireradius, scalefactor,
vertextolerance)
:ImportNEC (filename, segments, Import the specified NEC (*.nec) file.
vertextolerance)
:ImportPATRAN (filename, segments, Import the specified PATRAN (*.pat) file.
triangles, tetrahedra, quadrangles,
wireradius, scalefactor, vertextoler-
ance)
:ImportSTL (filename, wireradius, Import the specified STL (*.stl) file.
scalefactor, vertextolerance)

Properties (details)

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Import
Import the specified file using default settings.
Parameters:

• filename: The name of the file to be imported. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-190

:ImportABAQUS
Import the specified ABAQUS (*.inp) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportANSYS
Import the specified ANSYS (*.cdb) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-191

:ImportASCII
Import the specified ASCII (*.*) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• polygons: Polygon importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportAutoCAD
Import the specified AutoCAD (*.dxf) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• trianglesandquads: Triangle and quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• segmentlength: Line elements divided in segments according to this length. (number)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportCONCEPT
Import the specified CONCEPT (*.dat) file.
Parameters:

• filename: The name of the file to be imported. (string)


• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-192

:ImportFEMAP
Import the specified FEMAP (*.neu) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• polygons: Polygon importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportFek
Import the specified FEKO model (*.fek) file.
Parameters:

• filename: The name of the file to be imported. (string)

:ImportGID
Import the specified GID (*.msh) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-193

:ImportNASTRAN
Import the specified NASTRAN (*.nas) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportNEC
Import the specified NEC (*.nec) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• vertextolerance: The mesh vertex tolerance. (number)

:ImportPATRAN
Import the specified PATRAN (*.pat) file.
Parameters:

• filename: The name of the file to be imported. (string)


• segments: Segment importing enabled. (boolean)
• triangles: Triangle importing enabled. (boolean)
• tetrahedra: Tetrahedron importing enabled. (boolean)
• quadrangles: Quadrangle importing enabled. (boolean)
• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-194

:ImportSTL
Import the specified STL (*.stl) file.
Parameters:

• filename: The name of the file to be imported. (string)


• wireradius: The default wire radius. (number)
• scalefactor: Scale factor if the imported mesh is not in metres. (number)
• vertextolerance: The mesh vertex tolerance. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-195

7.2.53 Mirror

A mirrored geometry. The Mirror object’s user interface equivalent is explained in section 3.4.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare to mirror

flare = project.Geometry:AddFlare(cf.Point(0, 0, 0), 1, 1, 1, 0.5, 0.5)

-- Mirror the flare in the UV plane with a 10 degree U plane rotation

mirrorUV = flare.Transforms:AddMirrorInUVPlane(cf.Point(0, 0, 1.2), 10, 0)

-- Modify the mirror transform

mirrorUV.Plane = cf.Enums.MirrorPlaneEnum.UN
mirrorUV.RotationN = 15

Inheritance

The object Mirror is derived from the Transform object.

Parent collection list

The following collections contain the Mirror object:

/ TransformCollection

Property list

Name Description
.LocalWorkplane The mirror transform workplane.
(Read/Write LocalWorkplane)
.Origin The coordinates of the origin of the mirror plane.
(Read/Write LocalCoordinates)
.Plane The mirror plane specified by the MirrorPlaneEnum,
e.g. UV or VN or UN.
(Read/Write MirrorPlaneEnum)
.RotationN The mirror plane’s N-axis rotation angle (degrees).
Only valid if Plane is UN or VN.
(Read/Write Expression)
.RotationU The mirror plane’s U-axis rotation angle (degrees).
Only valid if Plane is UV or UN.
(Read/Write Expression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-196

.RotationV The mirror plane’s V-axis rotation angle (degrees).


Only valid if Plane is UV or VN.
(Read/Write Expression)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the transform.

Properties (details)

.LocalWorkplane
The mirror transform workplane.
Type: LocalWorkplane
Access: Read/Write

.Origin
The coordinates of the origin of the mirror plane.
Type: LocalCoordinates
Access: Read/Write

.Plane
The mirror plane specified by the MirrorPlaneEnum, e.g. UV or VN or UN.
Type: MirrorPlaneEnum
Access: Read/Write

.RotationN
The mirror plane’s N-axis rotation angle (degrees). Only valid if Plane is UN or VN.
Type: Expression
Access: Read/Write

.RotationU
The mirror plane’s U-axis rotation angle (degrees). Only valid if Plane is UV or UN.
Type: Expression
Access: Read/Write

.RotationV
The mirror plane’s V-axis rotation angle (degrees). Only valid if Plane is UV or VN.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-197

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-198

7.2.54 NamedPoint

A named point in 3D space. This object lives in the CADFEKO project. NamedPoints are defined
by expressions. Mathematical operations cannot be done on NamedPoints, use ’Point’ instead.
The NamedPoint object’s user interface equivalent is explained in section 3.3.4.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a coordinate (x,y,z) for each plane

x = project.Variables:Add("x", 1)
y = project.Variables:Add("y", 1.1)
z = project.Variables:Add("z", 0.9)

-- Create a named point variable from the coordinate variables

pt1 = project.NamedPoints:Add("pt1", x, y, z)

-- Create a named point variable using numbers and strings

pt2 = project.NamedPoints:Add("pt2", x.Value*2, 1.1, "z")


print("["..pt2.X.."; "..pt2.Y.."; "..pt2.Z.."]")

-- Modify various properties of pt2

pt2.Name = "point2"
pt2.Y = "pt1.Y"
pt2.Z = x.Value * z.Value
print("["..pt2.X.."; "..pt2.Y.."; "..pt2.Z.."]")

Parent collection list

The following collections contain the NamedPoint object:

/ NamedPointCollection

Property list

Name Description
.Name The point name.
(Read/Write string)
.Type The object type string.
(Read only string)
.X The X coordinate expression.
(Read/Write Expression)
.Y The Y coordinate expression.
(Read/Write Expression)
.Z The Z coordinate expression.
(Read/Write Expression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-199

Method list

Name Description
:Delete () Delete the named point.

Properties (details)

.Name
The point name.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.X
The X coordinate expression.
Type: Expression
Access: Read/Write

.Y
The Y coordinate expression.
Type: Expression
Access: Read/Write

.Z
The Z coordinate expression.
Type: Expression
Access: Read/Write

Methods (details)

:Delete
Delete the named point.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-200

7.2.55 NurbsSurface

A NURBS surface. The NurbsSurface object’s user interface equivalent is explained in section
3.3.11.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a NURBS surface with 2 rows and 3 columns. Both ’Points’ or ’named points’ may be used

namedPoint1 = project.NamedPoints:Add("nurbsControl1", 1, "1+1", "pi")


pointsTable =
{{cf.Point(0,0,0), cf.Point(-1,2,0), cf.Point(0,4,0)},
{cf.Point(2,1,0), namedPoint1 , cf.Point(2,4,0)}}
weightsTable =
{{1, 1, "2-1"},
{1, 5, "1*1"}}
nurbs = project.Geometry:AddNurbsSurface(pointsTable, weightsTable)

Inheritance

The object NurbsSurface is derived from the Geometry object.

Parent collection list

The following collections contain the NurbsSurface object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-201

Property list

Name Description
.Columns The degree of the surface’s defining Bezier curves in
the surface-parameter space V’-direction.
(Read/Write number)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The NURBS surface operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Rows The degree of the surface’s defining Bezier curves in
the surface-parameter space U’-direction.
(Read/Write number)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-202

(Returns a table object.)


:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.
:getPointNExpression (row, column) Get the control point N expression at the specified
row and column.
(Returns a string object.)
:getPointUExpression (row, column) Get the control point U expression at the specified
row and column.
(Returns a string object.)
:getPointVExpression (row, column) Get the control point V expression at the specified
row and column.
(Returns a string object.)
:getPoints () Get the control points of NURBS surface.
(Returns a table object.)
:getWeights () Get the weights at the control points of NURBS sur-
face.
(Returns a table object.)
:setPointNExpression (row, column, Set the control point N expression at the specified
expression) row and column.
:setPointUExpression (row, column, Set the control point U expression at the specified
expression) row and column.
:setPointVExpression (row, column, Set the control point V expression at the specified
expression) row and column.
:setPoints (points) Set all control points of NURBS surface. The pro-
vided 2D table size must match the surface’s current
U’ and V’ direction orders.
:setPointsAndWeights (points, Set all control points and all weights of NURBS sur-
weights) face. New U’ and V’ direction orders may be derived
implicitly provided 2D tables’ size.
:setWeights (weights) Set the weights at all control points of NURBS sur-
face. The provided 2D table’s size must match the
surface’s current U’ and V’ direction orders.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-203

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Columns
The degree of the surface’s defining Bezier curves in the surface-parameter space V’-direction.
Type: number
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The NURBS surface operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-204

.Rows
The degree of the surface’s defining Bezier curves in the surface-parameter space U’-direction.
Type: number
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-205

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

:getPointNExpression
Get the control point N expression at the specified row and column.
Parameters:

• row: The row index of the control point to get. Range [1, Rows]. (number)
• column: The column index of the control point get. Range [1, Columns]. (number)

Returns:

• string: The expression.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-206

:getPointUExpression
Get the control point U expression at the specified row and column.
Parameters:

• row: The row index of the control point to get. Range [1, Rows]. (number)
• column: The column index of the control point get. Range [1, Columns]. (number)

Returns:

• string: The expression.

:getPointVExpression
Get the control point V expression at the specified row and column.
Parameters:

• row: The row index of the control point to get. Range [1, Rows]. (number)
• column: The column index of the control point get. Range [1, Columns]. (number)

Returns:

• string: The expression.

:getPoints
Get the control points of NURBS surface.
Returns:

• table: The 2D table containing the control points.

:getWeights
Get the weights at the control points of NURBS surface.
Returns:

• table: The 2D table containing the weights at each control point.

:setPointNExpression
Set the control point N expression at the specified row and column.
Parameters:

• row: The row index of the control point to be set. Range [1, Rows]. (number)
• column: The column index of the control point to be set. Range [1, Columns].
(number)
• expression: The expression. (Expression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-207

:setPointUExpression
Set the control point U expression at the specified row and column.
Parameters:

• row: The row index of the control point to be set. Range [1, Rows]. (number)
• column: The column index of the control point to be set. Range [1, Columns].
(number)
• expression: The expression. (Expression)

:setPointVExpression
Set the control point V expression at the specified row and column.
Parameters:

• row: The row index of the control point to be set. Range [1, Rows]. (number)
• column: The column index of the control point to be set. Range [1, Columns].
(number)
• expression: The expression. (Expression)

:setPoints
Set all control points of NURBS surface. The provided 2D table size must match the surface’s
current U’ and V’ direction orders.
Parameters:

• points: The 2D table containing the control points. (table)

:setPointsAndWeights
Set all control points and all weights of NURBS surface. New U’ and V’ direction orders may
be derived implicitly provided 2D tables’ size.
Parameters:

• points: The 2D table containing the control points. (table)


• weights: The 2D table containing the weights at each control point. (table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-208

:setWeights
Set the weights at all control points of NURBS surface. The provided 2D table’s size must
match the surface’s current U’ and V’ direction orders.
Parameters:

• weights: The 2D table containing the weights at each control point. (table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-209

7.2.56 ParabolicArc

A parabolic arc. The ParabolicArc object’s user interface equivalent is explained in section
3.3.13.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a parabolic arc with the parabola’s base centre at the specified ’Point’

parabolaCentre = cf.Point(0, 0, 0)
parabolicArc = project.Geometry:AddParabolicArc(parabolaCentre, 1.0, 1.0)

Inheritance

The object ParabolicArc is derived from the Geometry object.

Parent collection list

The following collections contain the ParabolicArc object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-210

.Centre The centre of either the underlying parabola’s base


or the arc aperture, depending on the value of
ParabolicArcDefinitionMethodEnum.
(Read/Write LocalCoordinates)
.DefinitionMethod Parabolic arc definition method as specified by the
ParabolicArcDefinitionMethodEnum, e.g. BaseCen-
treAndFocalDepth, BaseCentreAndDepth or Aper-
tureCentreAndDepth.
(Read/Write ParabolicArcDefinitionMethodEnum)
.Depth The distance from the apex of the parabola to the
centre of the aperture. Only valid if Definition-
Method is BaseCentreAndDepth or ApertureCentre-
AndDepth.
(Read/Write Expression)
.FocalDepth The focal depth of the parabola. Only valid if Defi-
nitionMethod is BaseCentreAndFocalDepth.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The parabolic arc workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Radius The radius of the parabolic arc’s aperture.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-211

(Returns a table object.)


:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-212

Properties (details)

.Centre
The centre of either the underlying parabola’s base or the arc aperture, depending on the
value of ParabolicArcDefinitionMethodEnum.
Type: LocalCoordinates
Access: Read/Write

.DefinitionMethod
Parabolic arc definition method as specified by the ParabolicArcDefinitionMethodEnum, e.g.
BaseCentreAndFocalDepth, BaseCentreAndDepth or ApertureCentreAndDepth.
Type: ParabolicArcDefinitionMethodEnum
Access: Read/Write

.Depth
The distance from the apex of the parabola to the centre of the aperture. Only valid if
DefinitionMethod is BaseCentreAndDepth or ApertureCentreAndDepth.
Type: Expression
Access: Read/Write

.FocalDepth
The focal depth of the parabola. Only valid if DefinitionMethod is BaseCentreAndFocalDepth.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The parabolic arc workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Radius
The radius of the parabolic arc’s aperture.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-213

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-214

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-215

7.2.57 Paraboloid

A paraboloid. The Paraboloid object’s user interface equivalent is explained in section 3.3.11.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a paraboloid with its centre at the specified ’Point’

corner = cf.Point(-0.25,-0.25,0)
paraboloid = project.Geometry:AddParaboloid(corner,1,0.5)

Inheritance

The object Paraboloid is derived from the Geometry object.

Parent collection list

The following collections contain the Paraboloid object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Base The apex of the paraboloid.
(Read/Write LocalCoordinates)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-216

.FocalDepth The paraboloid focal depth.


(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The paraboloid operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Radius The radius of the paraboloid aperture.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-217

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Base
The apex of the paraboloid.
Type: LocalCoordinates
Access: Read/Write

.FocalDepth
The paraboloid focal depth.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-218

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The paraboloid operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Radius
The radius of the paraboloid aperture.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-219

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-220

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-221

7.2.58 PathSweep

A path sweep operator. The PathSweep object’s user interface equivalent is explained in section
3.3.16.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a line to sweep and another to define the sweep path

line = project.Geometry:AddLine(cf.Point(1.2, 1.8, 0), cf.Point(0.1, 1.2, -0.2))


path = project.Geometry:AddLine(cf.Point(1.3, 2.1, 0), cf.Point(-0.1, 2.35, 1))

-- Sweep the line along the path

project.Geometry:PathSweep(line, path)

Inheritance

The object PathSweep is derived from the Geometry object.

Parent collection list

The following collections contain the PathSweep object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-222

Name Description
.Alignment The alignment of the path sweep specified by the
PathSweepAlignmentEnum, e.g. Normal or Parallel.
(Read/Write PathSweepAlignmentEnum)
.FlipPathEnds Start the sweep from the other end of the path.
(Read/Write boolean)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.ScaleFactor The scale factor of the path sweep.
(Read/Write Expression)
.TwistAngle The twist angle of the path sweep (degrees).
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-223

:ReEvaluate () Re-evalute the model. This should have no effect


accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Alignment
The alignment of the path sweep specified by the PathSweepAlignmentEnum, e.g. Normal or
Parallel.
Type: PathSweepAlignmentEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-224

.FlipPathEnds
Start the sweep from the other end of the path.
Type: boolean
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.ScaleFactor
The scale factor of the path sweep.
Type: Expression
Access: Read/Write

.TwistAngle
The twist angle of the path sweep (degrees).
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-225

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-226

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-227

7.2.59 Point

A point in 3D space. This object lives in the lua session only. Points are defined by numbers and
cannot be defined with expressions. Mathematical operations can be done on points.
See the example below:
-- Create a default ’Point’ at (0,0,0)

p1 = cf.Point.New()

-- Assign values to each component of the point

p1.x = 1
p1.y = 1
p1.z = 1

-- Create a ’Point’ with number values

p2 = cf.Point(2,2,2)

-- Determine the distance between two points

distance = p1:distanceTo(p2)

-- Some of the valid operators for ’Point’

p3 = 2 * p1
p4 = p2 * 2
p5 = p2 / 2
p6 = -p2
p7 = p1 + p2
p8 = p1 - p2
if (p1 ~= p2) then
print(p1.." is not equal to "..p2)
end

Property list

Name Description
.X The x component of the point.
(Read/Write number)
.Y The y component of the point.
(Read/Write number)
.Z The z component of the point.
(Read/Write number)

Method list

Name Description
:DistanceTo (point) Returns the distance between this point and another.
(Returns a number object.)

Static function list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-228

Name Description
.New (number x, number Creates a new point.
y, number z)
(Returns a Point object.)
.New () Creates a new point.
(Returns a Point object.)

Operator list

* Scales a point with with the given factor.


+ Adds one point to another point.
- Subtracts one point to another point.
/ Divides each component of the point.
== Compares one point to another.

Index list

[number] Index a component of the point. (Read number)


[number] Index a component of the point. (Write number)

Properties (details)

.X
The x component of the point.
Type: number
Access: Read/Write

.Y
The y component of the point.
Type: number
Access: Read/Write

.Z
The z component of the point.
Type: number
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-229

:DistanceTo
Returns the distance between this point and another.
Parameters:

• point: The point to measure the distance To from this point. (Point)

Returns:

• number: The distance between the points.

Static functions (details)

.New
Creates a new point.

Parameters:

• x: The x component. (number)


• y: The y component. (number)
• z: The z component. (number)

Returns:

• Point: The new point.

.New
Creates a new point.

Returns:

• Point: The new point.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-230

7.2.60 Polygon

A polygon. The Polygon object’s user interface equivalent is explained in section 3.3.11.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a polygon from a ’Point’ list

points = {}
points[1] = cf.Point(1,0,0)
points[2] = cf.Point(1,1,0)
points[3] = cf.Point(1,1,1)
polygon = project.Geometry:AddPolygon(points)

Inheritance

The object Polygon is derived from the Geometry object.

Parent collection list

The following collections contain the Polygon object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Corners The collection of corner coordinates of the polygon.
(PolygonCornerCollection of LocalCoordinates)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-231

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The polygon operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:AddCorner (point) Add a corner coordinate to the polygon.
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ModifyCorner (index, point) Modify the corner coordinate at the given index.
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:RemoveCorner (index) Remove a corner from the polygon at the given in-
dex.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-232

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Corners
The collection of corner coordinates of the polygon.
Type: PolygonCornerCollection
Collection type: LocalCoordinates

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-233

.LocalWorkplane
The polygon operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:AddCorner
Add a corner coordinate to the polygon.
Parameters:

• point: The corner coordinate. (Coordinate)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-234

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-235

:ModifyCorner
Modify the corner coordinate at the given index.
Parameters:

• index: The corner index. (number)


• point: The new corner coordinate. (Coordinate)

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:RemoveCorner
Remove a corner from the polygon at the given index.
Parameters:

• index: The corner index. (number)

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-236

7.2.61 Polyline

A polyline. The Polyline object’s user interface equivalent is explained in section 3.3.12.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a polyline from a ’Point’ list

points = {}
points[1] = cf.Point(1,0,0)
points[2] = cf.Point(1,1,0)
points[3] = cf.Point(1,1,1)
polyline = project.Geometry:AddPolyline(points)

Inheritance

The object Polyline is derived from the Geometry object.

Parent collection list

The following collections contain the Polyline object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Corners The collection of corner coordinates of the polyline.
(PolylineCornerCollection of LocalCoordinates)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-237

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The polyline operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:AddCorner (point) Add a corner coordinate to the polyline.
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ModifyCorner (index, point) Modify the corner coordinate at the given index.
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:RemoveCorner (index) Remove a corner from the polyline at the given in-
dex.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-238

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Corners
The collection of corner coordinates of the polyline.
Type: PolylineCornerCollection
Collection type: LocalCoordinates

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-239

.LocalWorkplane
The polyline operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:AddCorner
Add a corner coordinate to the polyline.
Parameters:

• point: The corner coordinate. (Coordinate)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-240

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-241

:ModifyCorner
Modify the corner coordinate at the given index.
Parameters:

• index: The corner index. (number)


• point: The new corner coordinate. (Coordinate)

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:RemoveCorner
Remove a corner from the polyline at the given index.
Parameters:

• index: The corner index. (number)

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-242

7.2.62 Project

The application project.


See the example below:
app = cf.GetApplication()

-- Open an existing project

app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.cfx]])

-- Set the model extents to 5e3

app.Project.ModelExtentsExponent = 3

-- Create a new project and set the model unit to feet

project = app:NewProject()
project.ModelUnit = cf.Enums.ModelUnitEnum.Feet

Collection list

Name Description
.Geometry The collection of geometry in the model.
(GeometryCollection of Geometry)
.NamedPoints The collection of named points in the model.
(NamedPointCollection of NamedPoint)
.Variables The collection of variables in the model.
(VariableCollection of Variable)
.Workplanes The collection of work planes in the model.
(WorkplaneCollection of Workplane)

Property list

Name Description
.Exporter The model (geometry and mesh) exporter.
(Read only Exporter)
.Importer The model (geometry and mesh) importer.
(Read only Importer)
.Label The label of the project if it has one.
(Read only string)
.ModelExtentsExponent Specifies the decimal exponent [-4, 5] for the model
extents. This will specify the maximum coordinate
which gives the largest offset – in either direction
– along any of the three axes. For example, if
the decimal exponent is 2 the maximum coordinate
is 500, then the entire geometry must fit inside a
1000x1000x1000 box centred at the origin.
(Read/Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-243

.ModelUnit The unit used for all distances and dimensions spec-
ified by the ModelUnitEnum, e.g. Meters, Feet, etc.
(Read/Write ModelUnitEnum)
.Path The path of the project file if it has one or the current
working directory path.
(Read only string)
.Type The object type string.
(Read only string)
.UnitFactor An arbitrary unit conversion factor with respect to
metres. The value is only valid when ModelUnit is
set to Specified.
(Read/Write Expression)

Collections (details)

.Geometry
The collection of geometry in the model.
Type: GeometryCollection
Collection type: Geometry

.NamedPoints
The collection of named points in the model.
Type: NamedPointCollection
Collection type: NamedPoint

.Variables
The collection of variables in the model.
Type: VariableCollection
Collection type: Variable

.Workplanes
The collection of work planes in the model.
Type: WorkplaneCollection
Collection type: Workplane

Properties (details)

.Exporter
The model (geometry and mesh) exporter.
Type: Exporter
Access: Read only

.Importer
The model (geometry and mesh) importer.
Type: Importer
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-244

.Label
The label of the project if it has one.
Type: string
Access: Read only

.ModelExtentsExponent
Specifies the decimal exponent [-4, 5] for the model extents. This will specify the maximum
coordinate which gives the largest offset – in either direction – along any of the three axes.
For example, if the decimal exponent is 2 the maximum coordinate is 500, then the entire
geometry must fit inside a 1000x1000x1000 box centred at the origin.
Type: number
Access: Read/Write

.ModelUnit
The unit used for all distances and dimensions specified by the ModelUnitEnum, e.g. Meters,
Feet, etc.
Type: ModelUnitEnum
Access: Read/Write

.Path
The path of the project file if it has one or the current working directory path.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.UnitFactor
An arbitrary unit conversion factor with respect to metres. The value is only valid when
ModelUnit is set to Specified.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-245

7.2.63 ProjectGeometry

Project geometry onto a part. The ProjectGeometry object’s user interface equivalent is explained
in section 3.4.3.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to project

sphere = project.Geometry:AddSphere(cf.Point(0, 0, 0), 1)


cube = project.Geometry:AddCuboid(cf.Point(0, 1, 0.0), 0.5, 0.5, 0.5)

-- Now project the cube onto the sphere

project.Geometry:ProjectGeometry(cube, sphere)

Inheritance

The object ProjectGeometry is derived from the Geometry object.

Parent collection list

The following collections contain the ProjectGeometry object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-246

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-247

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-248

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-249

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-250

7.2.64 Rectangle

A rectangle. The Rectangle object’s user interface equivalent is explained in section 3.3.11.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a rectangle with its base corner at the specified ’Point’

corner = cf.Point(-0.25, -0.25, 0)


rectangle = project.Geometry:AddRectangle(corner, 0.5, 0.5)

Inheritance

The object Rectangle is derived from the Geometry object.

Parent collection list

The following collections contain the Rectangle object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.DefinitionMethod Rectangle base corner type definition specified by
the RectangleDefinitionMethodEnum, e.g. BaseAt-
Corner or BaseAtCentre.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-251

(Read/Write RectangleDefinitionMethodEnum)
.Depth The rectangle depth.
(Read/Write Expression)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The rectangle operator workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Origin The rectangle base corner/centre origin point.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)
.Width The rectangle width.
(Read/Write Expression)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-252

:ReEvaluate () Re-evalute the model. This should have no effect


accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.DefinitionMethod
Rectangle base corner type definition specified by the RectangleDefinitionMethodEnum, e.g.
BaseAtCorner or BaseAtCentre.
Type: RectangleDefinitionMethodEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-253

.Depth
The rectangle depth.
Type: Expression
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The rectangle operator workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Origin
The rectangle base corner/centre origin point.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

.Width
The rectangle width.
Type: Expression
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-254

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-255

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-256

7.2.65 Region

A geometry region entity. The Region object’s user interface equivalent is explained in section
3.13.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains regions

project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)
project.Geometry:AddSphere(cf.Point(0.5, 0.5, 0.5), 1)
union = project.Geometry:Union()

-- Set the local mesh size of first region of the union

union.Regions[1].LocalMeshSizeEnabled = true
union.Regions[1].LocalMeshSize = 0.1

Inheritance

The object Region is derived from the GeometryEntity object.

Parent collection list

The following collections contain the Region object:

/ RegionCollection

Property list

Name Description
.Label The object label.
(Read/Write string)
.LocalMeshSize The local mesh size for the region. This property
will only have an effect if LocalMeshSizeEnabled is
true.
(Read/Write Expression)
.LocalMeshSizeEnabled Specifies if the local mesh size should be used for
the region.
(Read/Write boolean)
.Type The object type string.
(Read only string)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-257

.Label
The object label.
Type: string
Access: Read/Write

.LocalMeshSize
The local mesh size for the region. This property will only have an effect if LocalMeshSizeEn-
abled is true.
Type: Expression
Access: Read/Write

.LocalMeshSizeEnabled
Specifies if the local mesh size should be used for the region.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-258

7.2.66 Rotate

A rotated geometry. The Rotate object’s user interface equivalent is explained in section 3.4.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare to rotate

flare = project.Geometry:AddFlare(cf.Point(0, 0, 0), 1, 1, 1, 0.5, 0.5)

-- Set up the origin and axis of rotation

rotationOrigin = cf.Point(3, 1, 1)
rotationAxis = cf.Point(1, 2, 0)

-- Rotate the flare by 25 degrees

rotate = flare.Transforms:AddRotate(rotationOrigin, rotationAxis, 25)

-- Modify the rotation angle

rotate.Angle = 65

Inheritance

The object Rotate is derived from the Transform object.

Parent collection list

The following collections contain the Rotate object:

/ TransformCollection

Property list

Name Description
.Angle The rotation angle (degrees).
(Read/Write Expression)
.Axis The axis of rotation.
(Read/Write LocalCoordinates)
.LocalWorkplane The rotation transformation workplane.
(Read/Write LocalWorkplane)
.Origin The coordinates of the origin of the rotation.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-259

Method list

Name Description
:Delete () Delete the transform.

Properties (details)

.Angle
The rotation angle (degrees).
Type: Expression
Access: Read/Write

.Axis
The axis of rotation.
Type: LocalCoordinates
Access: Read/Write

.LocalWorkplane
The rotation transformation workplane.
Type: LocalWorkplane
Access: Read/Write

.Origin
The coordinates of the origin of the rotation.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-260

7.2.67 Scale

A scaled geometry. The Scale object’s user interface equivalent is explained in section 3.4.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a flare to scale

flare = project.Geometry:AddFlare(cf.Point(0, 0, 0), 1, 1, 1, 0.5, 0.5)

-- Scale the flare by a factor of 2.5 at the origin

scale = flare.Transforms:AddScale(cf.Point(0, 0, 0), 2.5)

-- Modify the scale factor

scale.ScaleFactor = 1.75

Inheritance

The object Scale is derived from the Transform object.

Parent collection list

The following collections contain the Scale object:

/ TransformCollection

Property list

Name Description
.Origin The coordinates of the origin of the scale transform.
(Read/Write GlobalCoordinates)
.ScaleFactor The factor to scale the geometry by.
(Read/Write Expression)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the transform.

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-261

.Origin
The coordinates of the origin of the scale transform.
Type: GlobalCoordinates
Access: Read/Write

.ScaleFactor
The factor to scale the geometry by.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-262

7.2.68 Simplify

Simplify a part. The Simplify object’s user interface equivalent is explained in section 3.4.4.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to simplify

cube1 = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


cube2 = project.Geometry:AddCuboid(cf.Point(0, 0, 1), 1, 1, 1)
union = project.Geometry:Union({cube1, cube2})

-- Now simplify the geometry

simplify = project.Geometry:Simplify(union)

Inheritance

The object Simplify is derived from the Geometry object.

Parent collection list

The following collections contain the Simplify object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-263

Name Description
.EdgeSettings Edge and wire simplification settings.
(Read/Write SimplifyEdgeSettings)
.FaceSettings Face simplification settings.
(Read/Write SimplifyFaceSettings)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.PointSettings Point simplification settings.
(Read/Write SimplifyPointSettings)
.RegionSettings Region simplification settings.
(Read/Write SimplifyRegionSettings)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-264

:ReEvaluate () Re-evalute the model. This should have no effect


accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.EdgeSettings
Edge and wire simplification settings.
Type: SimplifyEdgeSettings
Access: Read/Write

.FaceSettings
Face simplification settings.
Type: SimplifyFaceSettings
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-265

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.PointSettings
Point simplification settings.
Type: SimplifyPointSettings
Access: Read/Write

.RegionSettings
Region simplification settings.
Type: SimplifyRegionSettings
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-266

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-267

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-268

7.2.69 SimplifyEdgeSettings

Edge and wire simplification settings.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to simplify

cube1 = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


cube2 = project.Geometry:AddCuboid(cf.Point(0, 0, 1), 1, 1, 1)
union = project.Geometry:Union({cube1, cube2})

-- Now simplify the geometry and adjust some edge options

simplified = project.Geometry:Simplify(union)
simplified.EdgeSettings.RemoveOnMetalFaces = false
simplified.EdgeSettings.RemoveOnDielectricFaces = false

Property list

Name Description
.KeepWithLocalProperties Keep edges/wires with local mesh sizes/wire radii.
(Read/Write boolean)
.RemoveInDielectricSolids Remove wires inside dielectric regions.
(Read/Write boolean)
.RemoveInMetalSolids Remove wires inside metal regions.
(Read/Write boolean)
.RemoveOnDielectricFaces Remove edges on dielectric surfaces.
(Read/Write boolean)
.RemoveOnMetalFaces Remove edges on metal surfaces.
(Read/Write boolean)

Properties (details)

.KeepWithLocalProperties
Keep edges/wires with local mesh sizes/wire radii.
Type: boolean
Access: Read/Write

.RemoveInDielectricSolids
Remove wires inside dielectric regions.
Type: boolean
Access: Read/Write

.RemoveInMetalSolids
Remove wires inside metal regions.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-269

.RemoveOnDielectricFaces
Remove edges on dielectric surfaces.
Type: boolean
Access: Read/Write

.RemoveOnMetalFaces
Remove edges on metal surfaces.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-270

7.2.70 SimplifyFaceSettings

Face simplification settings.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to simplify

cube1 = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


cube2 = project.Geometry:AddCuboid(cf.Point(0, 0, 1), 1, 1, 1)
union = project.Geometry:Union({cube1, cube2})

-- Now simplify the geometry and adjust some face options

simplified = project.Geometry:Simplify(union)
simplified.FaceSettings.RemoveBetweenEqualMetalRegions = false
simplified.FaceSettings.KeepWithLocalProperties = true

Property list

Name Description
.KeepWithLocalProperties Keep faces with local mesh sizes.
(Read/Write boolean)
.RemoveBetweenEqualDielectricRegionsRemove faces between equal dielectric regions.
(Read/Write boolean)
.RemoveBetweenEqualMetalRegions Remove faces between equal metal regions.
(Read/Write boolean)
.RemoveBetweenShellRegions Remove faces between shell regions.
(Read/Write boolean)

Properties (details)

.KeepWithLocalProperties
Keep faces with local mesh sizes.
Type: boolean
Access: Read/Write

.RemoveBetweenEqualDielectricRegions
Remove faces between equal dielectric regions.
Type: boolean
Access: Read/Write

.RemoveBetweenEqualMetalRegions
Remove faces between equal metal regions.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-271

.RemoveBetweenShellRegions
Remove faces between shell regions.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-272

7.2.71 SimplifyPointSettings

Point simplification settings.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to simplify

line1 = project.Geometry:AddLine(cf.Point(0, 0, 0), cf.Point(1, 0, 0))


line2 = project.Geometry:AddLine(cf.Point(0.25, 0, 0), cf.Point(0.75, 0, 0))
union = project.Geometry:Union({line1, line2})

-- Now simplify the geometry and adjust a point option

simplified = project.Geometry:Simplify(union)
simplified.PointSettings.RemoveRedundant = false

Property list

Name Description
.RemoveRedundant Remove redundant geometry points.
(Read/Write boolean)

Properties (details)

.RemoveRedundant
Remove redundant geometry points.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-273

7.2.72 SimplifyRegionSettings

Region simplification settings.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry to simplify

cube1 = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


cube2 = project.Geometry:AddCuboid(cf.Point(0, 0, 1), 1, 1, 1)
union = project.Geometry:Union({cube1, cube2})

-- Now simplify the geometry and adjust a region option

simplified = project.Geometry:Simplify(union)
simplified.RegionSettings.KeepWithLocalProperties = true

Property list

Name Description
.KeepWithLocalProperties Keep regions with local mesh sizes.
(Read/Write boolean)

Properties (details)

.KeepWithLocalProperties
Keep regions with local mesh sizes.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-274

7.2.73 SphericalDescription

The description of an analytical curve using the spherical coordinate system.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
analyticalCurve = project.Geometry:AddAnalyticalCurveSpherical(0, 1, "t*sqrt(1+t^2)", "90", "deg(arctan(t))")

-- Access the spherical description

analyticalCurve.SphericalDescription.R = "10*t*sqrt(1+t^2)"
analyticalCurve.SphericalDescription.Theta = 80

Property list

Name Description
.Phi The curve description in the phi dimension as a func-
tion of variable t.
(Read/Write Expression)
.R The curve description in the R dimension as a func-
tion of variable t.
(Read/Write Expression)
.Theta The curve description in the theta dimension as a
function of variable t.
(Read/Write Expression)

Properties (details)

.Phi
The curve description in the phi dimension as a function of variable t.
Type: Expression
Access: Read/Write

.R
The curve description in the R dimension as a function of variable t.
Type: Expression
Access: Read/Write

.Theta
The curve description in the theta dimension as a function of variable t.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-275

7.2.74 Spheroid

A spheroid. The Spheroid object’s user interface equivalent is explained in section 3.3.10.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a simple sphere centred at the specified ’Point’

centre = cf.Point(1, 2, 0)
radius = 2.5
project.Geometry:AddSphere(centre, radius)

-- Create a spheroid at the given ’Point’ where each radius differs

centre = cf.Point(-1, -2, 0)


uRadius = 0.5
vRadius = 1
nRadius = 3
project.Geometry:AddSpheroid(centre, uRadius, vRadius, nRadius)

Inheritance

The object Spheroid is derived from the Geometry object.

Parent collection list

The following collections contain the Spheroid object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-276

Property list

Name Description
.Centre The spheroid centre.
(Read/Write LocalCoordinates)
.DefinitionMethod Spheroid definition method specified by the
SpheroidDefinitionMethodEnum, e.g. Sphere or
Spheroid.
(Read/Write SpheroidDefinitionMethodEnum)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The spheroid workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Radius The sphere radius. Only valid if DefinitionMethod is
Sphere.
(Read/Write Expression)
.RadiusN The spheroid radius in the N direction. Only valid if
DefinitionMethod is Spheroid.
(Read/Write Expression)
.RadiusU The spheroid radius in the U direction. Only valid if
DefinitionMethod is Spheroid.
(Read/Write Expression)
.RadiusV The spheroid radius in the V direction. Only valid if
DefinitionMethod is Spheroid.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-277

(Returns a Geometry object.)


:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-278

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Centre
The spheroid centre.
Type: LocalCoordinates
Access: Read/Write

.DefinitionMethod
Spheroid definition method specified by the SpheroidDefinitionMethodEnum, e.g. Sphere or
Spheroid.
Type: SpheroidDefinitionMethodEnum
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The spheroid workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Radius
The sphere radius. Only valid if DefinitionMethod is Sphere.
Type: Expression
Access: Read/Write

.RadiusN
The spheroid radius in the N direction. Only valid if DefinitionMethod is Spheroid.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-279

.RadiusU
The spheroid radius in the U direction. Only valid if DefinitionMethod is Spheroid.
Type: Expression
Access: Read/Write

.RadiusV
The spheroid radius in the V direction. Only valid if DefinitionMethod is Spheroid.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-280

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-281

7.2.75 Spin

A spin operator. The Spin object’s user interface equivalent is explained in section 3.3.16.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a line that will be spun 270 degrees about the N-axis at the origin

line = project.Geometry:AddLine(cf.Point(0, 0, 0), cf.Point(1, 1, 1))


axisOrigin = cf.Point(0, 0, 0)
axisDirection = cf.Point(0, 0, 1)
project.Geometry:Spin(line, axisOrigin, axisDirection, 270)

Inheritance

The object Spin is derived from the Geometry object.

Parent collection list

The following collections contain the Spin object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Angle The angle to spin by (degrees).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-282

(Read/Write Expression)
.AxisDirection The direction of the axis of rotation.
(Read/Write LocalCoordinates)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The spin workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Origin The origin of the axis of rotation.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-283

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Angle
The angle to spin by (degrees).
Type: Expression
Access: Read/Write

.AxisDirection
The direction of the axis of rotation.
Type: LocalCoordinates
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-284

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The spin workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Origin
The origin of the axis of rotation.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-285

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-286

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-287

7.2.76 Split

A split operator. The Split object’s user interface equivalent is explained in section 3.3.15.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Split a cuboid in half in the UV plane

cube = project.Geometry:AddCuboid(cf.Point(0,0,0),1,1,1)
split = project.Geometry:Split(project.Geometry[1],cf.Point(0.5,0,0),0,0)

Inheritance

The object Split is derived from the Geometry object.

Parent collection list

The following collections contain the Split object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.
October 2013 FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-288

(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The split plane’s workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Origin The split plane’s point of origin.
(Read/Write LocalCoordinates)
.Plane The split plane specified by the SplitPlanesEnum,
e.g. UV or VN or UN.
(Read/Write SplitPlanesEnum)
.RotationN The split plane’s N-axis rotation angle (degrees).
Only valid if Plane is UN or VN.
(Read/Write Expression)
.RotationU The split plane’s U-axis rotation angle (degrees).
Only valid if Plane is UV or UN.
(Read/Write Expression)
.RotationV The split plane’s V-axis rotation angle (degrees).
Only valid if Plane is UV or VN.
(Read/Write Expression)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-289

:Explode () Explode the geometry into it base parts (faces and


edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-290

.Label
The object label.
Type: string
Access: Read/Write

.LocalWorkplane
The split plane’s workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Origin
The split plane’s point of origin.
Type: LocalCoordinates
Access: Read/Write

.Plane
The split plane specified by the SplitPlanesEnum, e.g. UV or VN or UN.
Type: SplitPlanesEnum
Access: Read/Write

.RotationN
The split plane’s N-axis rotation angle (degrees). Only valid if Plane is UN or VN.
Type: Expression
Access: Read/Write

.RotationU
The split plane’s U-axis rotation angle (degrees). Only valid if Plane is UV or UN.
Type: Expression
Access: Read/Write

.RotationV
The split plane’s V-axis rotation angle (degrees). Only valid if Plane is UV or VN.
Type: Expression
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-291

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-292

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-293

7.2.77 Stitch

A stitch operator. The Stitch object’s user interface equivalent is explained in section 3.3.15.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create two rectangles to stitch together

rec1 = project.Geometry:AddRectangle(cf.Point(0, 0, 0), 1, 1)


rec2 = project.Geometry:AddRectangle(cf.Point(1, 0, 0.01), 1, 1)

-- Stitch rec1 and rec2 together with a tolerance of 0.05

stitchedRectangles = project.Geometry:Stitch({rec1, rec2}, 0.05)

Inheritance

The object Stitch is derived from the Geometry object.

Parent collection list

The following collections contain the Stitch object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-294

.Included Specifies whether the geometry must be included or


excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-295

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-296

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-297

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-298

7.2.78 Subtract

A subtract operator. The Subtract object’s user interface equivalent is explained in section 3.3.15.

See the example below:


app = cf.GetApplication()
project = app:NewProject()

-- Create some geometry

sphere = project.Geometry:AddSphere(cf.Point(0, 0, 0), 1)


cube = project.Geometry:AddCuboid(cf.Point(0, -0.5, -0.5), 1, 1, 1)
cylinder = project.Geometry:AddCylinder(cf.Point(0, 0, 0), 1, 1)

-- Subtract the cylinder and cuboid from the sphere

project.Geometry:Subtract(sphere, {cube, cylinder})

Inheritance

The object Subtract is derived from the Geometry object.

Parent collection list

The following collections contain the Subtract object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-299

Name Description
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-300

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-301

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-302

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-303

7.2.79 Sweep

A Sweep operator. The Sweep object’s user interface equivalent is explained in section 3.3.16.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a line to sweep

line = project.Geometry:AddLine(cf.Point(1.1, 0.6, 0), cf.Point(1.2, 1.4, 0.2))

-- Sweep the line along the vector defined by two points

startCoord = cf.Point(1.1, 0.6, 0)


endCoord = cf.Point(0, 0.3, 0.8)
project.Geometry:Sweep(line, startCoord, endCoord)

Inheritance

The object Sweep is derived from the Geometry object.

Parent collection list

The following collections contain the Sweep object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-304

Name Description
.From The point to sweep from.
(Read/Write LocalCoordinates)
.Included Specifies whether the geometry must be included or
excluded.
(Read/Write boolean)
.Label The object label.
(Read/Write string)
.LocalWorkplane The sweep workplane.
(Read/Write LocalWorkplane)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.To The point to sweep to.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-305

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.From
The point to sweep from.
Type: LocalCoordinates
Access: Read/Write

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-306

.LocalWorkplane
The sweep workplane.
Type: LocalWorkplane
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.To
The point to sweep to.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-307

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-308

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-309

7.2.80 Transform

A transform on a geometry.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry to transform

origin = cf.Point(0, 0, 0)
cube = project.Geometry:AddCuboidAtCentre(origin, 0.5, 0.5, 0.5)

-- Translate and rotate the geometry

translate = cube.Transforms:AddTranslate(origin, cf.Point(1.5, 0, 0))


rotate = cube.Transforms:AddRotate(origin, cf.Point(0, 0, 1), 45)

-- Remove the translate transform

translate:Delete()

Inheritance

The following objects are derived (specialisations) from the Transform object:

/ Align

/ Mirror

/ Rotate

/ Scale

/ Translate

Method list

Name Description
:Delete () Delete the transform.

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-310

7.2.81 Translate

A translated geometry. The Translate object’s user interface equivalent is explained in section
3.4.2.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Use ’Point’ to translate a cone

cone = project.Geometry:AddCone(cf.Point(0, 0, 0), 1, 0.2, 1)


translate1 = cone.Transforms:AddTranslate(cf.Point(),cf.Point(1, 0, 0))
translate2 = cone.Transforms:AddTranslate(cf.Point(),cf.Point(1, 0, 1))
translate3 = cone.Transforms:AddTranslate(cf.Point(),cf.Point(1, 2, 1))

-- Remove the first translate

translate1:Delete()

Inheritance

The object Translate is derived from the Transform object.

Parent collection list

The following collections contain the Translate object:

/ TransformCollection

Property list

Name Description
.From The translate transform start coordinates.
(Read/Write LocalCoordinates)
.LocalWorkplane The translate workplane.
(Read/Write LocalWorkplane)
.To The translate transform end coordinates.
(Read/Write LocalCoordinates)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-311

Properties (details)

.From
The translate transform start coordinates.
Type: LocalCoordinates
Access: Read/Write

.LocalWorkplane
The translate workplane.
Type: LocalWorkplane
Access: Read/Write

.To
The translate transform end coordinates.
Type: LocalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-312

7.2.82 Union

A union operator. The Union object’s user interface equivalent is explained in section 3.3.15.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Union two geometry parts

cuboid = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)


sphere = project.Geometry:AddSphere(cf.Point(0, 0, 0), 1)
union = project.Geometry:Union({cuboid,sphere})

Inheritance

The object Union is derived from the Geometry object.

Parent collection list

The following collections contain the Union object:

/ GeometryCollection

Collection list

Name Description
.Children The collection of child operators of the operator.
(ChildOperatorCollection of Geometry)
.Edges The collection of edges of the operator.
(EdgeCollection of Edge)
.Faces The collection of faces of the operator.
(FaceCollection of Face)
.Regions The collection of regions of the operator.
(RegionCollection of Region)
.Transforms The collection of transforms on the operator.
(TransformCollection of Transform)
.Wires The collection of wires of the operator.
(WireCollection of Edge)

Property list

Name Description
.Included Specifies whether the geometry must be included or
excluded.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-313

(Read/Write boolean)
.Label The object label.
(Read/Write string)
.Locked Specifies whether the geometry must be locked to
prevent modifications.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Specifies whether the geometry must be shown or
hidden.
(Read/Write boolean)

Method list

Name Description
:ConvertToPrimitive () Convert the geometry into its primitive base form,
returning a new part without the concrete type prop-
erties. The reference to the original part will become
invalid.
(Returns a Geometry object.)
:CopyAndRotate (origin, rotation- Copy and rotate the geometry.
axis, angle, count)
(Returns a table object.)
:CopyAndTranslate (from, to, count) Copy and translate the geometry.
(Returns a table object.)
:Delete () Delete the geometry.
:Duplicate () Duplicates the geometry.
(Returns a Geometry object.)
:Explode () Explode the geometry into it base parts (faces and
edges). The reference to the original part will be-
come invalid.
(Returns a table object.)
:ReEvaluate () Re-evalute the model. This should have no effect
accept on some older models.
:ReverseFaceNormals () Reverse the geometry face normals.

Collections (details)

.Children
The collection of child operators of the operator.
Type: ChildOperatorCollection
Collection type: Geometry

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-314

.Edges
The collection of edges of the operator.
Type: EdgeCollection
Collection type: Edge

.Faces
The collection of faces of the operator.
Type: FaceCollection
Collection type: Face

.Regions
The collection of regions of the operator.
Type: RegionCollection
Collection type: Region

.Transforms
The collection of transforms on the operator.
Type: TransformCollection
Collection type: Transform

.Wires
The collection of wires of the operator.
Type: WireCollection
Collection type: Edge

Properties (details)

.Included
Specifies whether the geometry must be included or excluded.
Type: boolean
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Locked
Specifies whether the geometry must be locked to prevent modifications.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-315

.Visible
Specifies whether the geometry must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:ConvertToPrimitive
Convert the geometry into its primitive base form, returning a new part without the concrete
type properties. The reference to the original part will become invalid.
Returns:

• Geometry: The new primitive geometry base.

:CopyAndRotate
Copy and rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)
• count: The number of copies. (number)

Returns:

• table: The list of rotated geometry.

:CopyAndTranslate
Copy and translate the geometry.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)
• count: The number of copies. (number)

Returns:

• table: The list of translated geometry.

:Delete
Delete the geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-316

:Duplicate
Duplicates the geometry.
Returns:

• Geometry: The duplicated geometry operator.

:Explode
Explode the geometry into it base parts (faces and edges). The reference to the original part
will become invalid.
Returns:

• table: The list of new base parts.

:ReEvaluate
Re-evalute the model. This should have no effect accept on some older models.

:ReverseFaceNormals
Reverse the geometry face normals.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-317

7.2.83 Variable

A variable expression. The Variable object’s user interface equivalent is explained in section
3.3.1.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create two variables, "freq" and "lambda"

freqVar = project.Variables:Add("freq", 46e6, "The operating frequency")


lambdaVar = project.Variables:Add("lambda", "c0/freq")
print("Name: "..lambdaVar.Name)
print("Expression: "..lambdaVar.Expression)
print("Value: "..lambdaVar.Value)

-- Use the predefined variable ’c0’ to calculate a local lambda value

c0 = project.Variables["c0"]
lambda = c0.Value/46e6
print("Lambda: "..lambda)

Parent collection list

The following collections contain the Variable object:

/ VariableCollection

Property list

Name Description
.Description The variable description.
(Read/Write string)
.Expression The variable expression.
(Read/Write string)
.Name The variable name.
(Read/Write string)
.Type The object type string.
(Read only string)
.Value The evaluated variable value.
(Read only number)

Method list

Name Description
:Delete () Delete the variable.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-318

Properties (details)

.Description
The variable description.
Type: string
Access: Read/Write

.Expression
The variable expression.
Type: string
Access: Read/Write

.Name
The variable name.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The evaluated variable value.
Type: number
Access: Read only

Methods (details)

:Delete
Delete the variable.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-319

7.2.84 Version

An object that describes that application version in detail.


See the example below:
app = cf.GetApplication()

-- Retrieve the various version components

vMajor = app.Version.Major
vMinor = app.Version.Minor
vPatch = app.Version.Patch

-- Print the complete version information, including application architecture

print(app.Version)

Property list

Name Description
.Build The application suite build version.
(Read only number)
.Major The application suite major version.
(Read only number)
.Minor The application suite major version.
(Read only number)
.Patch The application suite patch version.
(Read only number)

Properties (details)

.Build
The application suite build version.
Type: number
Access: Read only

.Major
The application suite major version.
Type: number
Access: Read only

.Minor
The application suite major version.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-320

.Patch
The application suite patch version.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-321

7.2.85 Workplane

A workplane. The Workplane object’s user interface equivalent is explained in section 3.3.5.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Add a new workplane definition to the project

wp = project.Workplanes:Add(cf.Point(1, 1, 1), cf.Point(0, -1, -1), cf.Point(1, 1, 0))

Parent collection list

The following collections contain the Workplane object:

/ WorkplaneCollection

Property list

Name Description
.Label The object label.
(Read/Write string)
.Origin The workplane origin.
(Read/Write GlobalCoordinates)
.Type The object type string.
(Read only string)
.UVector The workplane U vector orientation.
(Read/Write GlobalCoordinates)
.VVector The workplane V vector orientation.
(Read/Write GlobalCoordinates)

Method list

Name Description
:Delete () Delete the workplane.
:SetAsDefault () Set the workplane as the default.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-322

.Origin
The workplane origin.
Type: GlobalCoordinates
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.UVector
The workplane U vector orientation.
Type: GlobalCoordinates
Access: Read/Write

.VVector
The workplane V vector orientation.
Type: GlobalCoordinates
Access: Read/Write

Methods (details)

:Delete
Delete the workplane.

:SetAsDefault
Set the workplane as the default.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-323

7.3 Collection reference (API)

A collection is a special type of object that always contains the same basic methods, index op-
erators and properties. The are containers of other objects and users to access the objects that
the contain using the object names or the object index (position in the list). A collection also
provides an easy way to determine the number of objects that they currently contain. When a
collection is editable, it also provides methods to add objects to the collection or remove objects
from the collection.
The following list of collection objects are available as part of the CADFEKO API.

/ BezierCurvePointCollection

/ ChildOperatorCollection

/ EdgeCollection

/ FaceCollection

/ FittedSplinePointCollection

/ FormGroupBoxItemCollection

/ FormItemCollection

/ GeometryCollection

/ ImprintedPointsCollection

/ NamedPointCollection

/ PolygonCornerCollection

/ PolylineCornerCollection

/ RegionCollection

/ TransformCollection

/ VariableCollection

/ WireCollection

/ WorkplaneCollection

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-324

7.3.1 BezierCurvePointCollection

A collection of four Bezier curve point coordinates. The order of points is: startPoint, startTan-
gent, endTangent, endPoint.
See the example below:
app = cf.GetApplication()
project = app:NewProject()
bezier = project.Geometry:AddBezierCurve(cf.Point(1, 0, 0), cf.Point(0.5, 0.5, 0), cf.Point(-0.5, 0.5, 0), cf.Point(0,

-- Use the collection access the points

startPoint = bezier.Points[1]
startTangent = bezier.Points[2]
endTangent = bezier.Points[3]
endPoint = bezier.Points[4]

Property list

Name Description
.Count The number of LocalCoordinates items in the collec-
tion.
(Read only number)

Operator list

# The number of items in the collection.

Index list

[number] Returns the LocalCoordinates at the given index in the col-


lection. (Read LocalCoordinates)

Properties (details)

.Count
The number of LocalCoordinates items in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-325

7.3.2 ChildOperatorCollection

A collection of child operators.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Union two geometry parts

project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)
project.Geometry:AddSphere(cf.Point(0.5, 0.5, 0.5), 1)
union = project.Geometry:Union()

-- Remove the sphere from the union

union.Children["Sphere1"]:Delete()

Property list

Name Description
.Count The number of Geometry items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Geometry at the given index.
(Returns a Geometry object.)
:Item (label) Returns the Geometry with the given label.
(Returns a Geometry object.)
:Items () Returns a table of Geometry.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Geometry at the given index in the collection.


(Read Geometry)
[string] Returns the Geometry with the given name in the collec-
tion. (Read Geometry)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-326

Properties (details)

.Count
The number of Geometry items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Geometry. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Geometry at the given index.
Parameters:

• index: The index of the Geometry. (number)

Returns:

• Geometry: The Geometry at the given index.

:Item
Returns the Geometry with the given label.
Parameters:

• label: The label of the Geometry. (string)

Returns:

• Geometry: The Geometry with the given label.

:Items
Returns a table of Geometry.
Returns:

• table: A table of Geometry.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-327

7.3.3 EdgeCollection

A collection of edges.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains edges

cuboid = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)

-- Set the local mesh size of each edge

for key,value in pairs(cuboid.Edges) do


value.LocalMeshSizeEnabled = true
value.LocalMeshSize = 0.1
end

Property list

Name Description
.Count The number of Edge items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Edge at the given index.
(Returns a Edge object.)
:Item (label) Returns the Edge with the given label.
(Returns a Edge object.)
:Items () Returns a table of Edge.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Edge at the given index in the collection.


(Read Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-328

[string] Returns the Edge with the given name in the collection.
(Read Edge)

Properties (details)

.Count
The number of Edge items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Edge. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Edge at the given index.
Parameters:

• index: The index of the Edge. (number)

Returns:

• Edge: The Edge at the given index.

:Item
Returns the Edge with the given label.
Parameters:

• label: The label of the Edge. (string)

Returns:

• Edge: The Edge with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-329

:Items
Returns a table of Edge.
Returns:

• table: A table of Edge.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-330

7.3.4 FaceCollection

A collection of faces.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains faces

cube = project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)

-- Set the local mesh size on each face

for key,value in pairs(cube.Faces) do


value.LocalMeshSizeEnabled = true
value.LocalMeshSize = 0.1
end

Property list

Name Description
.Count The number of Face items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Face at the given index.
(Returns a Face object.)
:Item (label) Returns the Face with the given label.
(Returns a Face object.)
:Items () Returns a table of Face.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Face at the given index in the collection.


(Read Face)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-331

[string] Returns the Face with the given name in the collection.
(Read Face)

Properties (details)

.Count
The number of Face items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Face. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Face at the given index.
Parameters:

• index: The index of the Face. (number)

Returns:

• Face: The Face at the given index.

:Item
Returns the Face with the given label.
Parameters:

• label: The label of the Face. (string)

Returns:

• Face: The Face with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-332

:Items
Returns a table of Face.
Returns:

• table: A table of Face.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-333

7.3.5 FittedSplinePointCollection

A collection of point coordinates.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
spline = project.Geometry:AddFittedSpline({cf.Point(1,0,0), cf.Point(1,1,0), cf.Point(1,1,1)})

-- Modify the last point in the fitted spline’s collection of points

spline.Points[#spline.Points].U = 0

Property list

Name Description
.Count The number of LocalCoordinates items in the collec-
tion.
(Read only number)

Operator list

# The number of items in the collection.

Index list

[number] Returns the LocalCoordinates at the given index in the col-


lection. (Read LocalCoordinates)

Properties (details)

.Count
The number of LocalCoordinates items in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-334

7.3.6 FormGroupBoxItemCollection

A collection of all of the items contained in a form group box.


See the example below:
form = cf.Form.New()
group = cf.FormGroupBox.New("Items")
item1 = cf.FormLabel.New("Item 1")
item2 = cf.FormLabel.New("Item 2")

-- Assemble the form objecs into a layout

group:Add(item1);
group:Add(item2)
form:Add(group);

-- Modify items using the collection

group.FormGroupBoxItems["Item 1"].Visible = false

form:Run()

Property list

Name Description
.Count The number of FormItem items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FormItem at the given index.
(Returns a FormItem object.)
:Item (label) Returns the FormItem with the given label.
(Returns a FormItem object.)
:Items () Returns a table of FormItem.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-335

[number] Returns the FormItem at the given index in the collection.


(Read FormItem)
[string] Returns the FormItem with the given name in the collec-
tion. (Read FormItem)

Properties (details)

.Count
The number of FormItem items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FormItem at the given index.
Parameters:

• index: The index of the FormItem. (number)

Returns:

• FormItem: The FormItem at the given index.

:Item
Returns the FormItem with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• FormItem: The FormItem with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-336

:Items
Returns a table of FormItem.
Returns:

• table: A table of FormItem.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-337

7.3.7 FormItemCollection

A collection of all of the items contained in a form.


See the example below:
form = cf.Form.New()

-- Create a variety of form items

checkbox = cf.FormCheckBox.New("Export electric near fields.")


label = cf.FormLabel.New("Item 1")
dirBrowser = cf.FormDirectoryBrowser.New("Output directory:")

form:Add(checkbox)
form:Add(label)
form:Add(dirBrowser)

-- All form items share the Enabled and Visible properties

for i = 1,#form.FormItems do
form.FormItems[i].Enabled = false
end

form:Run()

Property list

Name Description
.Count The number of FormItem items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FormItem at the given index.
(Returns a FormItem object.)
:Item (label) Returns the FormItem with the given label.
(Returns a FormItem object.)
:Items () Returns a table of FormItem.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-338

[number] Returns the FormItem at the given index in the collection.


(Read FormItem)
[string] Returns the FormItem with the given name in the collec-
tion. (Read FormItem)

Properties (details)

.Count
The number of FormItem items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FormItem at the given index.
Parameters:

• index: The index of the FormItem. (number)

Returns:

• FormItem: The FormItem at the given index.

:Item
Returns the FormItem with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• FormItem: The FormItem with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-339

:Items
Returns a table of FormItem.
Returns:

• table: A table of FormItem.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-340

7.3.8 GeometryCollection

A collection of geometry.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create various geometry

project.Geometry:AddCuboid(cf.Point(1,0,0),1,1,1)
project.Geometry:AddLine(cf.Point(0,0,0),cf.Point(1,1,1))
project.Geometry:AddSphere(cf.Point(0,0,0),1)
project.Geometry:Union({project.Geometry[1], project.Geometry[2]})

-- Lock all the geometry

for value,geometry in pairs(project.Geometry) do


geometry.Locked = true
end

Property list

Name Description
.Count The number of Geometry items in the collection.
(Read only number)

Method list

Name Description
:AddAnalyticalCurve (properties) Create an analytical curve from a table defining the
properties.
(Returns a AnalyticalCurve object.)
:AddAnalyticalCurve (start, end, u, v, Create an analytical curve in the Cartesian coordi-
n) nate system.
(Returns a AnalyticalCurve object.)
:AddAnalyticalCurveCylindrical Create an analytical curve in the cylindrical coordi-
(start, end, rho, phi, n) nate system.
(Returns a AnalyticalCurve object.)
:AddAnalyticalCurveSpherical (start, Create an analytical curve in the spherical coordi-
end, r, theta, phi) nate system.
(Returns a AnalyticalCurve object.)
:AddBezierCurve (startpoint, start- Create a Bezier curve from the given coordinates.
tangent, endtangent, endpoint)
(Returns a BezierCurve object.)
:AddCone (properties) Create a cone from a table defining the properties.
(Returns a Cone object.)
:AddCone (base, baseradius, topra- Create a cone by specifying height and top radius in
dius, height) addition to the centre and radius at the base.
October 2013 FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-341

(Returns a Cone object.)


:AddConeWithAngleAndHeight Create a cone by specifying the height and side angle
(base, baseradius, angle, height) in addition to the centre and radius at the base.
(Returns a Cone object.)
:AddConeWithAngleAndTopCentre Create a cone by specifying the top centre position
(base, baseradius, angle, top) and side angle in addition to the centre and radius
at the base.
(Returns a Cone object.)
:AddConeWithTopRadiusAndTopCentre Create a cone by specifying the centre and radius at
(base, baseradius, topradius, top) the top in addition to the centre and radius at the
base.
(Returns a Cone object.)
:AddCuboid (properties) Create a cuboid from a table defining the properties.
(Returns a Cuboid object.)
:AddCuboid (cornerpoint, width, Create a cuboid at the specified base corner and di-
depth, height) mensions.
(Returns a Cuboid object.)
:AddCuboidAtCentre (centrepoint, Create a cuboid at the specified base centre and di-
width, depth, height) mensions.
(Returns a Cuboid object.)
:AddCylinder (properties) Create a cylinder from a table defining the proper-
ties.
(Returns a Cylinder object.)
:AddCylinder (centrepoint, radius, Create a cylinder at the specified base centre, radius
height) and height.
(Returns a Cylinder object.)
:AddCylinderWithTopCentre (centre- Create a cylinder at the specified base centre, radius
point, radius, topcentrepoint) and top centre.
(Returns a Cylinder object.)
:AddEllipse (properties) Create an ellipse from a table defining the proper-
ties.
(Returns a Ellipse object.)
:AddEllipse (centrepoint, radiusu, ra- Create an ellipse at a given centre point and 2 radii.
diusv)
(Returns a Ellipse object.)
:AddEllipticArc (properties) Create an elliptic arc from a table defining the prop-
erties.
(Returns a EllipticArc object.)
:AddEllipticArc (ellipsecentre, ra- Create an elliptic arc by specifying the ellipse centre
diusu, radiusv, startangle, endangle) point, radii and the arc angles.
(Returns a EllipticArc object.)
:AddEllipticArcWithAperture (aper- Create an elliptic arc by specifying the aperture cen-
turecentre, depth, apertureradius, tre point, depth, radius and eccentricity.
eccentricity, majoraxisdirection)
(Returns a EllipticArc object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-342

:AddFittedSpline (points) Create a fitted spline from the given coordinates.


(Returns a FittedSpline object.)
:AddFlare (properties) Create a flare from a table defining the properties.
(Returns a Flare object.)
:AddFlare (base, bottomwidth, Create a flare by specifying the height, bottom- and
bottomdepth, height, topwidth, top width, bottom- and top depth in addition to the
topdepth) centre at the base.
(Returns a Flare object.)
:AddFlareWithBaseCentreAndFlareAngles Create a flare by specifying the height, bottom
(base, bottomwidth, bottomdepth, width, bottom depth and flare angles in addition to
height, angleu, anglev) the centre at the base.
(Returns a Flare object.)
:AddFlareWithBaseCorner (base, bot- Create a flare by specifying the height, bottom- and
tomwidth, bottomdepth, height, top- top width, bottom- and top depth in addition to the
width, topdepth) corner at the base.
(Returns a Flare object.)
:AddFlareWithBaseCornerAndTopCornerCreate a flare by specifying a corner at the base, a
(base, top, bottomwidth, bot- corner at the top as well as the bottom width and
tomdepth) depth.
(Returns a Flare object.)
:AddHelix (properties) Create a helix from a table defining the properties.
(Returns a Helix object.)
:AddHelix (basecentre, baseradius, Create a variable radius helix by specifying the top
endradius, height, turns, lefthandro- and bottom radii, the height and number of turns.
tated)
(Returns a Helix object.)
:AddHelixWithHeight (basecentre, Create a constant radius helix with the number of
radius, height, pitchangle, left- turns implied by the height.
handrotated)
(Returns a Helix object.)
:AddHelixWithTurns (basecentre, ra- Create a constant radius helix with height implied
dius, pitchangle, turns, lefthandro- by the number of turns.
tated)
(Returns a Helix object.)
:AddHyperbolicArc (properties) Create a hyperbolic arc from a table defining the
properties.
(Returns a HyperbolicArc object.)
:AddHyperbolicArc (basecentre, Create a hyperbolic arc by specifying the hyperbola
depth, radius, eccentricity) base centre point, the radius, depth and eccentricity.
(Returns a HyperbolicArc object.)
:AddHyperbolicArcAtApertureCentre Create a hyperbolic arc by specifying the centre
(aperturecentre, depth, radius, point of the arc’s aperture, the radius, depth and ec-
eccentricity) centricity.
(Returns a HyperbolicArc object.)
:AddLine (properties) Create a line from a table defining the properties.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-343

(Returns a Line object.)


:AddLine (startpoint, endpoint) Create a straight line between the given start and
end coordinates.
(Returns a Line object.)
:AddNurbsSurface (points, weights) Create a NURBS surface by specifying all control
points and all weights. The number of rows and
columns (U’ and V’ direction orders) will be derived
implicitly from the provided 2D tables’ size.
(Returns a NurbsSurface object.)
:AddParabolicArc (properties) Create a parabolic arc from a table defining the
properties.
(Returns a ParabolicArc object.)
:AddParabolicArc (basecentre, ra- Create a parabolic arc by specifying the parabola
dius, focaldepth) base centre point, radius and focal depth.
(Returns a ParabolicArc object.)
:AddParabolicArcAtApertureCentre Create a parabolic arc by specifying the centre point
(aperturecentre, radius, depth) of the arc’s aperture, the radius and depth.
(Returns a ParabolicArc object.)
:AddParabolicArcAtBaseCentre Create a parabolic arc by specifying the parabola
(basecentre, radius, depth) base centre point, radius and depth.
(Returns a ParabolicArc object.)
:AddParaboloid (properties) Create a paraboloid from a table defining the prop-
erties.
(Returns a Paraboloid object.)
:AddParaboloid (centrepoint, radius, Create a paraboloid at a given centre point, with
focaldepth) specified radius and focal depth.
(Returns a Paraboloid object.)
:AddPolygon (points) Create a polygon from the given coordinates.
(Returns a Polygon object.)
:AddPolyline (points) Create a polyline from the given coordinates.
(Returns a Polyline object.)
:AddRectangle (properties) Create a rectangle from the properties given.
(Returns a Rectangle object.)
:AddRectangle (cornerpoint, width, Create a rectangle at the specified base corner and
depth) dimensions.
(Returns a Rectangle object.)
:AddRectangleAtCentre (centrepoint, Create a rectangle at the specified base centre and
width, depth) dimensions.
(Returns a Rectangle object.)
:AddSphere (centre, radius) Create a sphere with the specified radius.
(Returns a Spheroid object.)
:AddSpheroid (properties) Create a spheroid from a table defining the proper-
ties.
(Returns a Spheroid object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-344

:AddSpheroid (centre, radiusu, ra- Create a spheroid at centre with radii specified in
diusv, radiusn) the U, V and N directions.
(Returns a Spheroid object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:ImprintPoints (geometry, points) Imprint points onto the geometry.
(Returns a ImprintPoints object.)
:Intersect (geometry) Intersect the given geometry.
(Returns a Intersect object.)
:Item (index) Returns the Geometry at the given index.
(Returns a Geometry object.)
:Item (label) Returns the Geometry with the given label.
(Returns a Geometry object.)
:Items () Returns a table of Geometry.
(Returns a table object.)
:Loft (startCurve, endCurve) Create a loft between the two given curves.
(Returns a Loft object.)
:PathSweep (geometry, path) Sweep a part along the given path.
(Returns a PathSweep object.)
:PathSweep (geometry, path, Sweep a part along the given path.
flipends)
(Returns a PathSweep object.)
:PathSweep (geometry, path, twistan- Sweep a part along the given path with normal
gle, scalefactor, flipends) alignment.
(Returns a PathSweep object.)
:PathSweepParallel (geometry, path, Sweep a part along the given path with parallel
twistangle, scalefactor, flipends) alignment.
(Returns a PathSweep object.)
:ProjectGeometry (geometry, part) Project the provided geometry onto the target geom-
etry.
(Returns a ProjectGeometry object.)
:ProjectGeometry (geometry, part) Project the provided list of geometry onto the target
geometry.
(Returns a ProjectGeometry object.)
:Simplify (geometry, properties) Simplify the provided geometry using a table to de-
fine the simplification settings.
(Returns a Simplify object.)
:Simplify (geometry) Simplify the provided geometry.
(Returns a Simplify object.)
:Spin (geometry, axisorigin, axisdi- Spin the given geometry.
rection, angle)
(Returns a Spin object.)
:Spin (geometry, properties) Spin geometry using a table defining the properties.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-345

(Returns a Spin object.)


:Split (geometry, origin, rotationu, Split geometry along the UV plane.
rotationv)
(Returns a Split object.)
:Split (geometry, properties) Split geometry using a table defining the properties.
(Returns a Split object.)
:SplitPlaneUN (geometry, origin, ro- Split geometry along the UN plane.
tationu, rotationn)
(Returns a Split object.)
:SplitPlaneVN (geometry, origin, ro- Split geometry along the VN plane.
tationv, rotationn)
(Returns a Split object.)
:Stitch (geometry) Stitch the given geometry.
(Returns a Stitch object.)
:Stitch (geometry, tolerance) Stitch the given geometry.
(Returns a Stitch object.)
:Subtract (part, geometrylist) Subtract the given geometry.
(Returns a Subtract object.)
:Subtract (part, parttosubtract) Subtract the given geometry.
(Returns a Subtract object.)
:Sweep (geometry, from, to) Sweep geometry between the vector defined by the
given start and end points.
(Returns a Sweep object.)
:Sweep (geometry, properties) Sweep geometry using a table defining the proper-
ties.
(Returns a Sweep object.)
:Union () Union all the geometry.
(Returns a Union object.)
:Union (geometry) Union the given geometry.
(Returns a Union object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Geometry at the given index in the collection.


(Read Geometry)
[string] Returns the Geometry with the given name in the collec-
tion. (Read Geometry)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-346

Properties (details)

.Count
The number of Geometry items in the collection.
Type: number
Access: Read only

Methods (details)

:AddAnalyticalCurve
Create an analytical curve from a table defining the properties.
Parameters:

• properties: A table of properties defining the new analytical curve. (table)

Returns:

• AnalyticalCurve: The analytical curve.

:AddAnalyticalCurve
Create an analytical curve in the Cartesian coordinate system.
Parameters:

• start: The start of the interval over which the analytical curve is parametrically defined.
(Expression)
• end: The end of the interval over which the analytical curve is parametrically defined.
(Expression)
• u: The curve description in the U dimension as a function of variable t. (Expression)
• v: The curve description in the V dimension as a function of variable t. (Expression)
• n: The curve description in the N dimension as a function of variable t. (Expression)

Returns:

• AnalyticalCurve: The analytical curve.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-347

:AddAnalyticalCurveCylindrical
Create an analytical curve in the cylindrical coordinate system.
Parameters:

• start: The start of the interval over which the analytical curve is parametrically defined.
(Expression)
• end: The end of the interval over which the analytical curve is parametrically defined.
(Expression)
• rho: The curve description in the rho dimension as a function of variable t.
(Expression)
• phi: The curve description in the phi dimension as a function of variable t.
(Expression)
• n: The curve description in the N dimension as a function of variable t. (Expression)

Returns:

• AnalyticalCurve: The analytical curve.

:AddAnalyticalCurveSpherical
Create an analytical curve in the spherical coordinate system.
Parameters:

• start: The start of the interval over which the analytical curve is parametrically defined.
(Expression)
• end: The end of the interval over which the analytical curve is parametrically defined.
(Expression)
• r: The curve description in the R dimension as a function of variable t. (Expression)
• theta: The curve description in the theta dimension as a function of variable t.
(Expression)
• phi: The curve description in the phi dimension as a function of variable t.
(Expression)

Returns:

• AnalyticalCurve: The analytical curve.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-348

:AddBezierCurve
Create a Bezier curve from the given coordinates.
Parameters:

• startpoint: The starting point of the curve. (Coordinate)


• starttangent: The first control point of the Bezier curve. (Coordinate)
• endtangent: The second control point of the Bezier curve. (Coordinate)
• endpoint: The end point of the curve. (Coordinate)

Returns:

• BezierCurve: The Bezier curve.

:AddCone
Create a cone from a table defining the properties.
Parameters:

• properties: A table of properties defining the new cone. (table)

Returns:

• Cone: The cone.

:AddCone
Create a cone by specifying height and top radius in addition to the centre and radius at the
base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• baseradius: The base radius. (Expression)
• topradius: The top radius. (Expression)
• height: The height. (Expression)

Returns:

• Cone: The cone.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-349

:AddConeWithAngleAndHeight
Create a cone by specifying the height and side angle in addition to the centre and radius at
the base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• baseradius: The base radius. (Expression)
• angle: The angle (degrees) between the cone’s side and base. (Expression)
• height: The height. (Expression)

Returns:

• Cone: The cone.

:AddConeWithAngleAndTopCentre
Create a cone by specifying the top centre position and side angle in addition to the centre
and radius at the base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• baseradius: The base radius. (Expression)
• angle: The angle (degrees) between the cone’s side and base. (Expression)
• top: The top centre point coordinate. (Coordinate)

Returns:

• Cone: The cone.

:AddConeWithTopRadiusAndTopCentre
Create a cone by specifying the centre and radius at the top in addition to the centre and
radius at the base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• baseradius: The base radius. (Expression)
• topradius: The top radius. (Expression)
• top: The top centre point coordinate. (Coordinate)

Returns:

• Cone: The cone.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-350

:AddCuboid
Create a cuboid from a table defining the properties.
Parameters:

• properties: A table of properties defining the new cuboid. (table)

Returns:

• Cuboid: The cuboid.

:AddCuboid
Create a cuboid at the specified base corner and dimensions.
Parameters:

• cornerpoint: The base corner coordinates. (Coordinate)


• width: The cuboid width (W). (Expression)
• depth: The cuboid depth (D). (Expression)
• height: The cuboid height (H). (Expression)

Returns:

• Cuboid: The cuboid.

:AddCuboidAtCentre
Create a cuboid at the specified base centre and dimensions.
Parameters:

• centrepoint: The base centre coordinates. (Coordinate)


• width: The cuboid width (W). (Expression)
• depth: The cuboid depth (D). (Expression)
• height: The cuboid height (H). (Expression)

Returns:

• Cuboid: The cuboid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-351

:AddCylinder
Create a cylinder from a table defining the properties.
Parameters:

• properties: A table of properties defining the new cylinder. (table)

Returns:

• Cylinder: The cylinder.

:AddCylinder
Create a cylinder at the specified base centre, radius and height.
Parameters:

• centrepoint: The base centre coordinates. (Coordinate)


• radius: The cylinder radius. (Expression)
• height: The cylinder height. (Expression)

Returns:

• Cylinder: The cylinder.

:AddCylinderWithTopCentre
Create a cylinder at the specified base centre, radius and top centre.
Parameters:

• centrepoint: The base centre coordinates. (Coordinate)


• radius: The cylinder radius. (Expression)
• topcentrepoint: The top centre of the cylinder. (Coordinate)

Returns:

• Cylinder: The cylinder operator.

:AddEllipse
Create an ellipse from a table defining the properties.
Parameters:

• properties: A table of properties defining the new ellipse. (table)

Returns:

• Ellipse: The ellipse.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-352

:AddEllipse
Create an ellipse at a given centre point and 2 radii.
Parameters:

• centrepoint: The centre point coordinate. (Coordinate)


• radiusu: The U radius. (Expression)
• radiusv: The V radius. (Expression)

Returns:

• Ellipse: The ellipse.

:AddEllipticArc
Create an elliptic arc from a table defining the properties.
Parameters:

• properties: A table of properties defining the new elliptic arc. (table)

Returns:

• EllipticArc: The elliptic arc.

:AddEllipticArc
Create an elliptic arc by specifying the ellipse centre point, radii and the arc angles.
Parameters:

• ellipsecentre: The centre point coordinate of the ellipse on which the arc lies.
(Coordinate)
• radiusu: The ellipse U radius. (Expression)
• radiusv: The ellipse V radius. (Expression)
• startangle: The arc start angle (degrees). (Expression)
• endangle: The arc end angle (degrees). (Expression)

Returns:

• EllipticArc: The elliptic arc.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-353

:AddEllipticArcWithAperture
Create an elliptic arc by specifying the aperture centre point, depth, radius and eccentricity.
Parameters:

• aperturecentre: The centre point coordinate of the aperture formed by the elliptical
arc section. (Coordinate)
• depth: The distance from the aperture centre point to the apex of the elliptical arc
section. (Expression)
• apertureradius: The radius of the aperture of the elliptic arc. (Expression)
• eccentricity: The eccentricity of the ellipse on which the elliptical arc section lies. The
eccentricity must be less than 1 to specify a valid ellipse. (Expression)
• majoraxisdirection: The ellipse major axis direction specified by EllipticArcMajorAxis-
DirectionEnum. (EllipticArcMajorAxisDirectionEnum)

Returns:

• EllipticArc: The elliptic arc.

:AddFittedSpline
Create a fitted spline from the given coordinates.
Parameters:

• points: List of coordinates describing the fitted spline. (table)

Returns:

• FittedSpline: The fitted spline.

:AddFlare
Create a flare from a table defining the properties.
Parameters:

• properties: A table of properties defining the new flare. (table)

Returns:

• Flare: The flare.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-354

:AddFlare
Create a flare by specifying the height, bottom- and top width, bottom- and top depth in
addition to the centre at the base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• bottomwidth: The bottom width. (Expression)
• bottomdepth: The bottom depth. (Expression)
• height: The height. (Expression)
• topwidth: The top width. (Expression)
• topdepth: The top depth. (Expression)

Returns:

• Flare: The flare.

:AddFlareWithBaseCentreAndFlareAngles
Create a flare by specifying the height, bottom width, bottom depth and flare angles in addi-
tion to the centre at the base.
Parameters:

• base: The base centre point coordinate. (Coordinate)


• bottomwidth: The bottom width. (Expression)
• bottomdepth: The bottom depth. (Expression)
• height: The height. (Expression)
• angleu: The flare angle (degrees) between the flare and the UN plane. (Expression)
• anglev: The flare angle (degrees) between the flare and the VN plane. (Expression)

Returns:

• Flare: The flare.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-355

:AddFlareWithBaseCorner
Create a flare by specifying the height, bottom- and top width, bottom- and top depth in
addition to the corner at the base.
Parameters:

• base: The base corner point coordinate. (Coordinate)


• bottomwidth: The bottom width. (Expression)
• bottomdepth: The bottom depth. (Expression)
• height: The height. (Expression)
• topwidth: The top width. (Expression)
• topdepth: The top depth. (Expression)

Returns:

• Flare: The flare.

:AddFlareWithBaseCornerAndTopCorner
Create a flare by specifying a corner at the base, a corner at the top as well as the bottom
width and depth.
Parameters:

• base: The base corner point coordinate. (Coordinate)


• top: The top corner point coordinate. (Coordinate)
• bottomwidth: The bottom width. (Expression)
• bottomdepth: The bottom depth. (Expression)

Returns:

• Flare: The flare.

:AddHelix
Create a helix from a table defining the properties.
Parameters:

• properties: A table of properties defining the new helix. (table)

Returns:

• Helix: The helix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-356

:AddHelix
Create a variable radius helix by specifying the top and bottom radii, the height and number
of turns.
Parameters:

• basecentre: The centre point of the helix base. (Coordinate)


• baseradius: The radius of the helix base. (Expression)
• endradius: The radius of the helix top. (Expression)
• height: The height of the helix. (Expression)
• turns: The number of turns of the helix. (Expression)
• lefthandrotated: The rotation direction of the helix. Left handed if true, else right
handed. (boolean)

Returns:

• Helix: The helix.

:AddHelixWithHeight
Create a constant radius helix with the number of turns implied by the height.
Parameters:

• basecentre: The centre point of the helix base. (Coordinate)


• radius: The radius of the helix. (Expression)
• height: The height of the helix. (Expression)
• pitchangle: The angle (degrees) between the tangent of the curve and the UV-plane.
(Expression)
• lefthandrotated: The rotation direction of the helix. Left handed if true, else right
handed. (boolean)

Returns:

• Helix: The helix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-357

:AddHelixWithTurns
Create a constant radius helix with height implied by the number of turns.
Parameters:

• basecentre: The centre point of the helix base. (Coordinate)


• radius: The radius of the helix. (Expression)
• pitchangle: The angle (degrees) between the tangent of the curve and the UV-plane.
(Expression)
• turns: The number of turns of the helix. (Expression)
• lefthandrotated: The rotation direction of the helix. Left handed if true, else right
handed. (boolean)

Returns:

• Helix: The helix.

:AddHyperbolicArc
Create a hyperbolic arc from a table defining the properties.
Parameters:

• properties: A table of properties defining the new hyperbolic arc. (table)

Returns:

• HyperbolicArc: The hyperbolic arc.

:AddHyperbolicArc
Create a hyperbolic arc by specifying the hyperbola base centre point, the radius, depth and
eccentricity.
Parameters:

• basecentre: The centre point coordinate of the hyperbola base. (Coordinate)


• depth: The distance from the apex of the hyperbola to the centre of the aperture.
(Expression)
• radius: The radius of the hyperbolic arc’s aperture. (Expression)
• eccentricity: The eccentricity of the hyperbola on which the hyperbolic arc section lies.
(Expression)

Returns:

• HyperbolicArc: The hyperbolic arc.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-358

:AddHyperbolicArcAtApertureCentre
Create a hyperbolic arc by specifying the centre point of the arc’s aperture, the radius, depth
and eccentricity.
Parameters:

• aperturecentre: The aperture centre of the hyperbolic arc section. (Coordinate)


• depth: The distance from the apex of the hyperbola to the centre of the aperture.
(Expression)
• radius: The radius of the hyperbolic arc’s aperture. (Expression)
• eccentricity: The eccentricity of the hyperbola on which the hyperbolic arc section lies.
(Expression)

Returns:

• HyperbolicArc: The hyperbolic arc.

:AddLine
Create a line from a table defining the properties.
Parameters:

• properties: A table of properties defining the new line. (table)

Returns:

• Line: The line.

:AddLine
Create a straight line between the given start and end coordinates.
Parameters:

• startpoint: The start coordinate. (Coordinate)


• endpoint: The end coordinate. (Coordinate)

Returns:

• Line: The line.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-359

:AddNurbsSurface
Create a NURBS surface by specifying all control points and all weights. The number of rows
and columns (U’ and V’ direction orders) will be derived implicitly from the provided 2D
tables’ size.
Parameters:

• points: The 2D table containing the control points. (table)


• weights: The 2D table containing the weights at each control point. (table)

Returns:

• NurbsSurface: The NURBS surface.

:AddParabolicArc
Create a parabolic arc from a table defining the properties.
Parameters:

• properties: A table of properties defining the new parabolic arc. (table)

Returns:

• ParabolicArc: The parabolic arc.

:AddParabolicArc
Create a parabolic arc by specifying the parabola base centre point, radius and focal depth.
Parameters:

• basecentre: The centre point coordinate of the parabola base. (Coordinate)


• radius: The radius of the parabolic arc’s aperture. (Expression)
• focaldepth: The focal depth of the parabola. (Expression)

Returns:

• ParabolicArc: The parabolic arc.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-360

:AddParabolicArcAtApertureCentre
Create a parabolic arc by specifying the centre point of the arc’s aperture, the radius and
depth.
Parameters:

• aperturecentre: The aperture centre of the parabolic arc section. (Coordinate)


• radius: The radius of the parabolic arc’s aperture. (Expression)
• depth: The distance from the apex of the parabola to the centre of the aperture.
(Expression)

Returns:

• ParabolicArc: The parabolic arc.

:AddParabolicArcAtBaseCentre
Create a parabolic arc by specifying the parabola base centre point, radius and depth.
Parameters:

• basecentre: The centre point coordinate of the parabola base. (Coordinate)


• radius: The radius of the parabolic arc’s aperture. (Expression)
• depth: The distance from the apex of the parabola to the centre of the aperture.
(Expression)

Returns:

• ParabolicArc: The parabolic arc.

:AddParaboloid
Create a paraboloid from a table defining the properties.
Parameters:

• properties: A table of properties defining the new paraboloid. (table)

Returns:

• Paraboloid: The paraboloid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-361

:AddParaboloid
Create a paraboloid at a given centre point, with specified radius and focal depth.
Parameters:

• centrepoint: The centre point coordinate. (Coordinate)


• radius: The radius. (Expression)
• focaldepth: The focal depth. (Expression)

Returns:

• Paraboloid: The paraboloid.

:AddPolygon
Create a polygon from the given coordinates.
Parameters:

• points: List of coordinates describing the polygon. (table)

Returns:

• Polygon: The polygon.

:AddPolyline
Create a polyline from the given coordinates.
Parameters:

• points: List of coordinates describing the polyline. (table)

Returns:

• Polyline: The polyline.

:AddRectangle
Create a rectangle from the properties given.
Parameters:

• properties: Properties defining the new rectangle. (table)

Returns:

• Rectangle: The rectangle operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-362

:AddRectangle
Create a rectangle at the specified base corner and dimensions.
Parameters:

• cornerpoint: The base corner coordinates. (Coordinate)


• width: The rectangle width (W). (Expression)
• depth: The rectangle depth (D). (Expression)

Returns:

• Rectangle: The rectangle.

:AddRectangleAtCentre
Create a rectangle at the specified base centre and dimensions.
Parameters:

• centrepoint: The base centre coordinates. (Coordinate)


• width: The rectangle width (W). (Expression)
• depth: The rectangle depth (D). (Expression)

Returns:

• Rectangle: The rectangle.

:AddSphere
Create a sphere with the specified radius.
Parameters:

• centre: The coordinate of the centre of the sphere. (Coordinate)


• radius: The radius of the sphere. (Expression)

Returns:

• Spheroid: The spheroid.

:AddSpheroid
Create a spheroid from a table defining the properties.
Parameters:

• properties: A table of properties defining the new spheroid. (table)

Returns:

• Spheroid: The spheroid.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-363

:AddSpheroid
Create a spheroid at centre with radii specified in the U, V and N directions.
Parameters:

• centre: The coordinate of the centre of the spheroid. (Coordinate)


• radiusu: The radius in the U-direction. (Expression)
• radiusv: The radius in the V-direction. (Expression)
• radiusn: The radius in the N-direction. (Expression)

Returns:

• Spheroid: The spheroid.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Geometry. (string)

Returns:

• boolean: The success of the check.

:ImprintPoints
Imprint points onto the geometry.
Parameters:

• geometry: The geometry onto which to imprint. (Geometry)


• points: The list of point coordinates to imprint. (table)

Returns:

• ImprintPoints: The points imprint operator.

:Intersect
Intersect the given geometry.
Parameters:

• geometry: The list of geometry that must be intersected. (table)

Returns:

• Intersect: The intersect operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-364

:Item
Returns the Geometry at the given index.
Parameters:

• index: The index of the Geometry. (number)

Returns:

• Geometry: The Geometry at the given index.

:Item
Returns the Geometry with the given label.
Parameters:

• label: The label of the Geometry. (string)

Returns:

• Geometry: The Geometry with the given label.

:Items
Returns a table of Geometry.
Returns:

• table: A table of Geometry.

:Loft
Create a loft between the two given curves.
Parameters:

• startCurve: The curve to loft from. (Geometry)


• endCurve: The curve to loft to. (Geometry)

Returns:

• Loft: The loft operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-365

:PathSweep
Sweep a part along the given path.
Parameters:

• geometry: The geometry to sweep. (Geometry)


• path: The geometry defining the path to sweep along. (Geometry)

Returns:

• PathSweep: The path sweep operator.

:PathSweep
Sweep a part along the given path.
Parameters:

• geometry: The geometry to sweep. (Geometry)


• path: The geometry defining the path to sweep along. (Geometry)
• flipends: Start the sweep from the other end of the path (boolean). (boolean)

Returns:

• PathSweep: The path sweep operator.

:PathSweep
Sweep a part along the given path with normal alignment.
Parameters:

• geometry: The geometry to sweep. (Geometry)


• path: The geometry defining the path to sweep along. (Geometry)
• twistangle: The twist angle of the path sweep (degrees). (Expression)
• scalefactor: The scale factor of the path sweep. (Expression)
• flipends: Start the sweep from the other end of the path (boolean). (boolean)

Returns:

• PathSweep: The path sweep operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-366

:PathSweepParallel
Sweep a part along the given path with parallel alignment.
Parameters:

• geometry: The geometry to sweep. (Geometry)


• path: The geometry defining the path to sweep along. (Geometry)
• twistangle: The twist angle of the path sweep (degrees). (Expression)
• scalefactor: The scale factor of the path sweep. (Expression)
• flipends: Start the sweep from the other end of the path (boolean). (boolean)

Returns:

• PathSweep: The path sweep operator.

:ProjectGeometry
Project the provided geometry onto the target geometry.
Parameters:

• geometry: The geometry to project. (Geometry)


• part: The geometry to project onto. (Geometry)

Returns:

• ProjectGeometry: The project geometry operator.

:ProjectGeometry
Project the provided list of geometry onto the target geometry.
Parameters:

• geometry: The list of geometry to project. (table)


• part: The geometry to project onto. (Geometry)

Returns:

• ProjectGeometry: The project geometry operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-367

:Simplify
Simplify the provided geometry using a table to define the simplification settings.
Parameters:

• geometry: The list of geometry that must be simplified. (Geometry)


• properties: A table of properties defining the simplify operation. (table)

Returns:

• Simplify: The simplify operator.

:Simplify
Simplify the provided geometry.
Parameters:

• geometry: The geometry to be simplified. (Geometry)

Returns:

• Simplify: The simplify operator.

:Spin
Spin the given geometry.
Parameters:

• geometry: The geometry that must be spun. (Geometry)


• axisorigin: The coordinates of the axis of rotation. (Coordinate)
• axisdirection: The direction of the axis of rotation. (Coordinate)
• angle: The angle (degrees) to spin by. (Expression)

Returns:

• Spin: The spin operator.

:Spin
Spin geometry using a table defining the properties.
Parameters:

• geometry: The geometry that must be spun. (Geometry)


• properties: A table of properties defining the spin operation. (table)

Returns:

• Spin: The spin operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-368

:Split
Split geometry along the UV plane.
Parameters:

• geometry: The geometry that must be split. (Geometry)


• origin: The origin of the split plane. (Coordinate)
• rotationu: The split plane U-axis rotation angle (degrees). (Expression)
• rotationv: The split plane V-axis rotation angle (degrees). (Expression)

Returns:

• Split: The split operator.

:Split
Split geometry using a table defining the properties.
Parameters:

• geometry: The geometry that must be split. (Geometry)


• properties: A table of properties defining the split operation. (table)

Returns:

• Split: The split operator.

:SplitPlaneUN
Split geometry along the UN plane.
Parameters:

• geometry: The geometry that must be split. (Geometry)


• origin: The origin of the split plane. (Coordinate)
• rotationu: The split plane U-axis rotation angle (degrees). (Expression)
• rotationn: The split plane N-axis rotation angle (degrees). (Expression)

Returns:

• Split: The split operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-369

:SplitPlaneVN
Split geometry along the VN plane.
Parameters:

• geometry: The geometry that must be split. (Geometry)


• origin: The origin of the split plane. (Coordinate)
• rotationv: The split plane V-axis rotation angle (degrees). (Expression)
• rotationn: The split plane N-axis rotation angle (degrees). (Expression)

Returns:

• Split: The split operator.

:Stitch
Stitch the given geometry.
Parameters:

• geometry: The list of geometry that must be stitched. (table)

Returns:

• Stitch: The stitch operator.

:Stitch
Stitch the given geometry.
Parameters:

• geometry: The list of geometry that must be stitched. (table)


• tolerance: The tolerance to use when stitching. (Expression)

Returns:

• Stitch: The stitch operator.

:Subtract
Subtract the given geometry.
Parameters:

• part: The geometry part to subtract from. (Geometry)


• geometrylist: The list of geometry to subtract. (table)

Returns:

• Subtract: The subtract operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-370

:Subtract
Subtract the given geometry.
Parameters:

• part: The geometry part to subtract from. (Geometry)


• parttosubtract: The part to subtract. (Geometry)

Returns:

• Subtract: The subtract operator.

:Sweep
Sweep geometry between the vector defined by the given start and end points.
Parameters:

• geometry: The geometry to sweep. (Geometry)


• from: The point to start the sweep from. (Coordinate)
• to: The point to sweep to. (Coordinate)

Returns:

• Sweep: The sweep operator.

:Sweep
Sweep geometry using a table defining the properties.
Parameters:

• geometry: The geometry that must be swept. (Geometry)


• properties: A table of properties defining the sweep operation. (table)

Returns:

• Sweep: The sweep operator.

:Union
Union all the geometry.
Returns:

• Union: The union operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-371

:Union
Union the given geometry.
Parameters:

• geometry: The list of geometry that must be unioned. (table)

Returns:

• Union: The union operator.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-372

7.3.9 ImprintedPointsCollection

A collection of point coordinates.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create a rectangle with some imprinted points

rect = project.Geometry:AddRectangle(cf.Point(0, 0, 0), 2, 2)


imprinted = project.Geometry:ImprintPoints(rect, {cf.Point(1, 1, 0), cf.Point(0.25, 0.75, 0.3), cf.Point(0.75, 0.25, -

-- Use the collection to count the number of points and modify the last one

pointCount = #imprinted.Points
imprinted.Points[pointCount].U = 0

Property list

Name Description
.Count The number of LocalCoordinates items in the collec-
tion.
(Read only number)

Operator list

# The number of items in the collection.

Index list

[number] Returns the LocalCoordinates at the given index in the col-


lection. (Read LocalCoordinates)

Properties (details)

.Count
The number of LocalCoordinates items in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-373

7.3.10 NamedPointCollection

A collection of named points in the model.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create various named points

project.NamedPoints:Add("pt1", 1.2, 1.4, 0.6)


project.NamedPoints:Add("pt2", 0.2, 2.4, 0.1)
project.NamedPoints:Add("pt3", -1.2, 2.5, 1.0)

-- Set the Z value of "pt1" for all the named points

for key,point in pairs(project.NamedPoints) do


point.Z = project.NamedPoints["pt1"].Z
end

Property list

Name Description
.Count The number of NamedPoint items in the collection.
(Read only number)

Method list

Name Description
:Add (name, x, y, z) Create a named point from the given coordinate ex-
pressions.
(Returns a NamedPoint object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the NamedPoint at the given index.
(Returns a NamedPoint object.)
:Item (label) Returns the NamedPoint with the given label.
(Returns a NamedPoint object.)
:Items () Returns a table of NamedPoint.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-374

[number] Returns the NamedPoint at the given index in the collec-


tion. (Read NamedPoint)
[string] Returns the NamedPoint with the given name in the col-
lection. (Read NamedPoint)

Properties (details)

.Count
The number of NamedPoint items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Create a named point from the given coordinate expressions.
Parameters:

• name: The point name. (string)


• x: The X coordinate expression. (Expression)
• y: The Y coordinate expression. (Expression)
• z: The Z coordinate expression. (Expression)

Returns:

• NamedPoint: The named point.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the NamedPoint. (string)

Returns:

• boolean: The success of the check.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-375

:Item
Returns the NamedPoint at the given index.
Parameters:

• index: The index of the NamedPoint. (number)

Returns:

• NamedPoint: The NamedPoint at the given index.

:Item
Returns the NamedPoint with the given label.
Parameters:

• label: The label of the NamedPoint. (string)

Returns:

• NamedPoint: The NamedPoint with the given label.

:Items
Returns a table of NamedPoint.
Returns:

• table: A table of NamedPoint.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-376

7.3.11 PolygonCornerCollection

A collection of corner coordinates.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
polygon = project.Geometry:AddPolygon({cf.Point(1,0,0), cf.Point(1,1,0), cf.Point(1,1,1)})

-- Use the collection to count the corners and modify the last point

cornerCount = #polygon.Corners
polygon.Corners[cornerCount].U = 0

Property list

Name Description
.Count The number of LocalCoordinates items in the collec-
tion.
(Read only number)

Operator list

# The number of items in the collection.

Index list

[number] Returns the LocalCoordinates at the given index in the col-


lection. (Read LocalCoordinates)

Properties (details)

.Count
The number of LocalCoordinates items in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-377

7.3.12 PolylineCornerCollection

A collection of corner coordinates.


See the example below:
app = cf.GetApplication()
project = app:NewProject()
polyline = project.Geometry:AddPolyline({cf.Point(1,0,0), cf.Point(1,1,0), cf.Point(1,1,1)})

-- Use the collection to count the corners and modify the last point

cornerCount = #polyline.Corners
polyline.Corners[cornerCount].U = 0

Property list

Name Description
.Count The number of LocalCoordinates items in the collec-
tion.
(Read only number)

Operator list

# The number of items in the collection.

Index list

[number] Returns the LocalCoordinates at the given index in the col-


lection. (Read LocalCoordinates)

Properties (details)

.Count
The number of LocalCoordinates items in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-378

7.3.13 RegionCollection

A collection of regions.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains regions

project.Geometry:AddCuboid(cf.Point(0, 0, 0), 1, 1, 1)
project.Geometry:AddSphere(cf.Point(0.5, 0.5, 0.5), 1)
union = project.Geometry:Union()

-- Set the local mesh size on each region

for key,value in pairs(union.Regions) do


value.LocalMeshSizeEnabled = true
value.LocalMeshSize = 0.1
end

Property list

Name Description
.Count The number of Region items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Region at the given index.
(Returns a Region object.)
:Item (label) Returns the Region with the given label.
(Returns a Region object.)
:Items () Returns a table of Region.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Region at the given index in the collection.


(Read Region)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-379

[string] Returns the Region with the given name in the collection.
(Read Region)

Properties (details)

.Count
The number of Region items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Region. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Region at the given index.
Parameters:

• index: The index of the Region. (number)

Returns:

• Region: The Region at the given index.

:Item
Returns the Region with the given label.
Parameters:

• label: The label of the Region. (string)

Returns:

• Region: The Region with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-380

:Items
Returns a table of Region.
Returns:

• table: A table of Region.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-381

7.3.14 TransformCollection

A collection of transforms on the geometry operator.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry that contains transforms

origin = cf.Point(0, 0, 0)
cube = project.Geometry:AddCuboidAtCentre(origin, 0.5, 0.5, 0.5)
cube.Transforms:AddTranslate(origin, cf.Point(1, 0, 0))
cube.Transforms:AddMirrorInUNPlane(origin, 45, 90)
cube.Transforms:AddRotate(origin, cf.Point(0, 1, 1), 75)

-- Remove all the transforms applied to the geometry

for value,transform in pairs(cube.Transforms) do


transform:Delete()
end

Property list

Name Description
.Count The number of Transform items in the collection.
(Read only number)

Method list

Name Description
:AddAlign (sourceorigin, sourceuvec- Align the geometry.
tor, sourcevvector, destinationorigin,
destinationuvector, destinationvvec-
tor)
(Returns a Align object.)
:AddMirrorInUNPlane (origin, rota- Mirror the geometry around the UN Plane.
tionu, rotationn)
(Returns a Mirror object.)
:AddMirrorInUVPlane (origin, rota- Mirror the geometry around the UV Plane.
tionu, rotationv)
(Returns a Mirror object.)
:AddMirrorInVNPlane (origin, rota- Mirror the geometry around the VN Plane.
tionv, rotationn)
(Returns a Mirror object.)
:AddRotate (origin, rotationaxis, an- Rotate the geometry.
gle)
(Returns a Rotate object.)
:AddScale (origin, factor) Scale the geometry.
(Returns a Scale object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-382

:AddTranslate (from, to) Translate geometry between the given coordinates.


(Returns a Translate object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Transform at the given index.
(Returns a Transform object.)
:Item (label) Returns the Transform with the given label.
(Returns a Transform object.)
:Items () Returns a table of Transform.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Transform at the given index in the collection.


(Read Transform)
[string] Returns the Transform with the given name in the collec-
tion. (Read Transform)

Properties (details)

.Count
The number of Transform items in the collection.
Type: number
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-383

:AddAlign
Align the geometry.
Parameters:

• sourceorigin: Source origin coordinate. (Coordinate)


• sourceuvector: Source U vector direction. (Coordinate)
• sourcevvector: Source V vector direction. (Coordinate)
• destinationorigin: Destination origin coordinate. (Coordinate)
• destinationuvector: Destination U vector direction. (Coordinate)
• destinationvvector: Destination V vector direction. (Coordinate)

Returns:

• Align: The aligned geometry transform.

:AddMirrorInUNPlane
Mirror the geometry around the UN Plane.
Parameters:

• origin: The mirror plane origin coordinate. (Coordinate)


• rotationu: U rotation of the mirror plane (degrees). (Expression)
• rotationn: N rotation of the mirror plane (degrees). (Expression)

Returns:

• Mirror: The mirrored geometry transform.

:AddMirrorInUVPlane
Mirror the geometry around the UV Plane.
Parameters:

• origin: The mirror plane origin coordinate. (Coordinate)


• rotationu: U rotation of the mirror plane (degrees). (Expression)
• rotationv: V rotation of the mirror plane (degrees). (Expression)

Returns:

• Mirror: The mirrored geometry transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-384

:AddMirrorInVNPlane
Mirror the geometry around the VN Plane.
Parameters:

• origin: The mirror plane origin coordinate. (Coordinate)


• rotationv: V rotation of the mirror plane (degrees). (Expression)
• rotationn: N rotation of the mirror plane (degrees). (Expression)

Returns:

• Mirror: The mirrored geometry transform.

:AddRotate
Rotate the geometry.
Parameters:

• origin: The coordinates of the origin of the rotation. (Coordinate)


• rotationaxis: The axis of rotation. (Coordinate)
• angle: The angle of rotation (degrees). (Expression)

Returns:

• Rotate: The rotated geometry transform.

:AddScale
Scale the geometry.
Parameters:

• origin: The coordinates of the origin of the scale transformation. (Coordinate)


• factor: The factor to scale by. (Expression)

Returns:

• Scale: The scaled geometry transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-385

:AddTranslate
Translate geometry between the given coordinates.
Parameters:

• from: Translate from coordinate. (Coordinate)


• to: Translate to coordinate. (Coordinate)

Returns:

• Translate: The translated geometry transform.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Transform. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Transform at the given index.
Parameters:

• index: The index of the Transform. (number)

Returns:

• Transform: The Transform at the given index.

:Item
Returns the Transform with the given label.
Parameters:

• label: The label of the Transform. (string)

Returns:

• Transform: The Transform with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-386

:Items
Returns a table of Transform.
Returns:

• table: A table of Transform.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-387

7.3.15 VariableCollection

A collection of variables in the model.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- List all predefined variables in the application with their expressions

for key,var in pairs(project.Variables) do


print(var.Name.." = "..var.Expression)
end

Property list

Name Description
.Count The number of Variable items in the collection.
(Read only number)

Method list

Name Description
:Add (name, expression) Create a variable from the given expression.
(Returns a Variable object.)
:Add (name, expression, description) Create a variable from the given expression.
(Returns a Variable object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Variable at the given index.
(Returns a Variable object.)
:Item (label) Returns the Variable with the given label.
(Returns a Variable object.)
:Items () Returns a table of Variable.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Variable at the given index in the collection.


(Read Variable)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-388

[string] Returns the Variable with the given name in the collection.
(Read Variable)

Properties (details)

.Count
The number of Variable items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Create a variable from the given expression.
Parameters:

• name: The variable name. (string)


• expression: The variable expression. (Expression)

Returns:

• Variable: The variable.

:Add
Create a variable from the given expression.
Parameters:

• name: The variable name. (string)


• expression: The variable expression. (Expression)
• description: The variable description. (string)

Returns:

• Variable: The new variable.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Variable. (string)

Returns:

• boolean: The success of the check.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-389

:Item
Returns the Variable at the given index.
Parameters:

• index: The index of the Variable. (number)

Returns:

• Variable: The Variable at the given index.

:Item
Returns the Variable with the given label.
Parameters:

• label: The label of the Variable. (string)

Returns:

• Variable: The Variable with the given label.

:Items
Returns a table of Variable.
Returns:

• table: A table of Variable.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-390

7.3.16 WireCollection

A collection of wires.
See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Create geometry which contains wires

polyline = project.Geometry:AddPolyline({cf.Point(0, 0, 0), cf.Point(1, 1, 1), cf.Point(0, 1, 0)})

-- Set the local mesh size of each wire

for key,value in pairs(polyline.Wires) do


value.LocalMeshSizeEnabled = true
value.LocalMeshSize = 0.1
end

Property list

Name Description
.Count The number of Edge items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Edge at the given index.
(Returns a Edge object.)
:Item (label) Returns the Edge with the given label.
(Returns a Edge object.)
:Items () Returns a table of Edge.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Edge at the given index in the collection.


(Read Edge)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-391

[string] Returns the Edge with the given name in the collection.
(Read Edge)

Properties (details)

.Count
The number of Edge items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Edge. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Edge at the given index.
Parameters:

• index: The index of the Edge. (number)

Returns:

• Edge: The Edge at the given index.

:Item
Returns the Edge with the given label.
Parameters:

• label: The label of the Edge. (string)

Returns:

• Edge: The Edge with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-392

:Items
Returns a table of Edge.
Returns:

• table: A table of Edge.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-393

7.3.17 WorkplaneCollection

A collection of workplanes in the model.


See the example below:
app = cf.GetApplication()
project = app:NewProject()

-- Add two saved workplanes to the collection

wp1 = project.Workplanes:Add(cf.Point(1, 1, 1), cf.Point(1, 0, 0), cf.Point(0, 0, 1))


wp2 = project.Workplanes:Add(cf.Point(0, 0, -1), cf.Point(0, 1, 0), cf.Point(0, 0, 1))

-- Print the currently defined workplanes

workplanes = project.Workplanes
printlist(workplanes)

-- Get the current default workplane

wpDefault = project.Workplanes:GetDefault()

Property list

Name Description
.Count The number of Workplane items in the collection.
(Read only number)

Method list

Name Description
:Add (origin, uvector, vvector) Create a workplane with the given parameters.
(Returns a Workplane object.)
:Add (label, origin, uvector, vvector) Create a workplane with the given parameters.
(Returns a Workplane object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:GetDefault () Get the current default workplane.
(Returns a Workplane object.)
:Item (index) Returns the Workplane at the given index.
(Returns a Workplane object.)
:Item (label) Returns the Workplane with the given label.
(Returns a Workplane object.)
:Items () Returns a table of Workplane.
(Returns a table object.)

Operator list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-394

# The number of items in the collection.

Index list

[number] Returns the Workplane at the given index in the collection.


(Read Workplane)
[string] Returns the Workplane with the given name in the collec-
tion. (Read Workplane)

Properties (details)

.Count
The number of Workplane items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Create a workplane with the given parameters.
Parameters:

• origin: Origin coordinate. (Coordinate)


• uvector: U vector direction. (Coordinate)
• vvector: V vector direction. (Coordinate)

Returns:

• Workplane: The workplane.

:Add
Create a workplane with the given parameters.
Parameters:

• label: The label for the workplane. (string)


• origin: Origin coordinate. (Coordinate)
• uvector: U vector direction. (Coordinate)
• vvector: V vector direction. (Coordinate)

Returns:

• Workplane: The workplane.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-395

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Workplane. (string)

Returns:

• boolean: The success of the check.

:GetDefault
Get the current default workplane.
Returns:

• Workplane: The current default workplane.

:Item
Returns the Workplane at the given index.
Parameters:

• index: The index of the Workplane. (number)

Returns:

• Workplane: The Workplane at the given index.

:Item
Returns the Workplane with the given label.
Parameters:

• label: The label of the Workplane. (string)

Returns:

• Workplane: The Workplane with the given label.

:Items
Returns a table of Workplane.
Returns:

• table: A table of Workplane.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-396

7.4 Function reference (API)

Static functions are similar to methods, but they are accessed using a full stop (“.”), while meth-
ods are accessed using a colon (“:”). Many objects have static functions, but only a limited
number of functions are available directly in the cf name space.
The most important, and currently the only, function is used very often in order to get hold of
the POSTFEKO application object. The example below illustrates how the application object is
accessed and a model is loaded. It is important to remember to use the cf name space.

Function list

Name Description
GetApplication () Returns an instance of the CADFEKO application object.
(Returns a Application object.)

Functions (details)

:GetApplication ()
Returns an instance of the CADFEKO application object.

Returns:

• Application: An instance of the CADFEKO application object.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-397

7.5 Enumeration type reference (API)

Enumerations are pre-defined values that can be used. It is not required to use the enumerations
since they are equivalent to using the string or number value directly, but using the enumer-
ations makes a script easier to read and ensures compatibility in the future. An example of
enumeration being used is given in the following example. Note how enumerations are accessed
using “cf.Enums” and that these enumerations are also part of the auto complete feature in the
CADFEKO script editor.
The following list of enumerations are available in CADFEKO.

/ AnalyticalCurveDefinitionMethodEnum

/ ConeDefinitionMethodEnum

/ CuboidDefinitionMethodEnum

/ CylinderDefinitionMethodEnum

/ EllipticArcDefinitionMethodEnum

/ EllipticArcMajorAxisDirectionEnum

/ FlareDefinitionMethodEnum

/ FormLayoutEnum

/ FormSeparatorEnum

/ HelixDefinitionMethodEnum

/ HyperbolicArcDefinitionMethodEnum

/ MirrorPlaneEnum

/ ModelUnitEnum

/ ParabolicArcDefinitionMethodEnum

/ ParasolidExportFileFormatEnum

/ ParasolidTopologyTypeEnum

/ PathSweepAlignmentEnum

/ RectangleDefinitionMethodEnum

/ SpheroidDefinitionMethodEnum

/ SplitPlanesEnum

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-398

7.5.1 AnalyticalCurveDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the Analytical-
CurveDefinitionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.AnalyticalCurveDefinitionMethodEnum.<enum option>

Enumeration option Value


Cartesian “Cartesian”
Spherical “Spherical”
Cylindrical “Cylindrical”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-399

7.5.2 ConeDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the ConeDefini-
tionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.ConeDefinitionMethodEnum.<enum option>

Enumeration option Value


TopRadiusAndHeight “TopRadiusAndHeight”
TopRadiusAndTopCentre “TopRadiusAndTopCentre”
AngleAndHeight “AngleAndHeight”
AngleAndTopCentre “AngleAndTopCentre”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-400

7.5.3 CuboidDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the CuboidDefini-
tionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.CuboidDefinitionMethodEnum.<enum option>

Enumeration option Value


BaseAtCorner “BaseAtCorner”
BaseAtCentre “BaseAtCentre”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-401

7.5.4 CylinderDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the CylinderDefi-
nitionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.CylinderDefinitionMethodEnum.<enum option>

Enumeration option Value


Height “Height”
TopCoordinate “TopCoordinate”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-402

7.5.5 EllipticArcDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the EllipticArcDef-
initionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.EllipticArcDefinitionMethodEnum.<enum option>

Enumeration option Value


EllipseCentrePoint “EllipseCentrePoint”
ApertureCentrePoint “ApertureCentrePoint”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-403

7.5.6 EllipticArcMajorAxisDirectionEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the EllipticArcMa-
jorAxisDirectionEnum enumeration is accessed as illustrated below.
cf.Enums.EllipticArcMajorAxisDirectionEnum.<enum option>

Enumeration option Value


V “V”
U “U”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-404

7.5.7 FlareDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the FlareDefini-
tionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.FlareDefinitionMethodEnum.<enum option>

Enumeration option Value


BaseCentreAndAllDimensions “BaseCentreAndAllDimensions”
BaseCornerAndAllDimensions “BaseCornerAndAllDimensions”
BaseCornerAndTopCorner “BaseCornerAndTopCorner”
BaseCentreAndFlareAngles “BaseCentreAndFlareAngles”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-405

7.5.8 FormLayoutEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the FormLay-
outEnum enumeration is accessed as illustrated below.
cf.Enums.FormLayoutEnum.<enum option>

Enumeration option Value


Horizontal “Horizontal”
Vertical “Vertical”
Grid “Grid”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-406

7.5.9 FormSeparatorEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the FormSepara-
torEnum enumeration is accessed as illustrated below.
cf.Enums.FormSeparatorEnum.<enum option>

Enumeration option Value


Horizontal “Horizontal”
Vertical “Vertical”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-407

7.5.10 HelixDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the HelixDefini-
tionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.HelixDefinitionMethodEnum.<enum option>

Enumeration option Value


VariableRadiusAndTurns “VariableRadiusAndTurns”
ConstantRadiusAndTurns “ConstantRadiusAndTurns”
ConstantRadiusAndHeight “ConstantRadiusAndHeight”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-408

7.5.11 HyperbolicArcDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the HyperbolicAr-
cDefinitionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.HyperbolicArcDefinitionMethodEnum.<enum option>

Enumeration option Value


BaseCentre “BaseCentre”
ApertureCentre “ApertureCentre”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-409

7.5.12 MirrorPlaneEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the MirrorPla-
neEnum enumeration is accessed as illustrated below.
cf.Enums.MirrorPlaneEnum.<enum option>

Enumeration option Value


UN “UN”
UV “UV”
VN “VN”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-410

7.5.13 ModelUnitEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the ModelU-
nitEnum enumeration is accessed as illustrated below.
cf.Enums.ModelUnitEnum.<enum option>

Enumeration option Value


Millimeters “Millimeters”
Centimeters “Centimeters”
Meters “Meters”
Inches “Inches”
Feet “Feet”
Specified “Specified”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-411

7.5.14 ParabolicArcDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the ParabolicAr-
cDefinitionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.ParabolicArcDefinitionMethodEnum.<enum option>

Enumeration option Value


BaseCentreAndFocalDepth “BaseCentreAndFocalDepth”
BaseCentreAndDepth “BaseCentreAndDepth”
ApertureCentreAndDepth “ApertureCentreAndDepth”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-412

7.5.15 ParasolidExportFileFormatEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the ParasolidEx-
portFileFormatEnum enumeration is accessed as illustrated below.
cf.Enums.ParasolidExportFileFormatEnum.<enum option>

Enumeration option Value


Text “Text”
Binary “Binary”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-413

7.5.16 ParasolidTopologyTypeEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the Parasolid-
TopologyTypeEnum enumeration is accessed as illustrated below.
cf.Enums.ParasolidTopologyTypeEnum.<enum option>

Enumeration option Value


General “General”
Manifold “Manifold”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-414

7.5.17 PathSweepAlignmentEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are avail-
able under the cf namespace and grouped together under enums. This means that the Path-
SweepAlignmentEnum enumeration is accessed as illustrated below.
cf.Enums.PathSweepAlignmentEnum.<enum option>

Enumeration option Value


Normal “Normal”
Parallel “Parallel”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-415

7.5.18 RectangleDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the RectangleDef-
initionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.RectangleDefinitionMethodEnum.<enum option>

Enumeration option Value


BaseAtCorner “BaseAtCorner”
BaseAtCentre “BaseAtCentre”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-416

7.5.19 SpheroidDefinitionMethodEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the SpheroidDefi-
nitionMethodEnum enumeration is accessed as illustrated below.
cf.Enums.SpheroidDefinitionMethodEnum.<enum option>

Enumeration option Value


Sphere “Sphere”
Spheroid “Spheroid”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-417

7.5.20 SplitPlanesEnum

Enumerations are lists of values that can be used. The enumerations for CADFEKO are available
under the cf namespace and grouped together under enums. This means that the SplitPlane-
sEnum enumeration is accessed as illustrated below.
cf.Enums.SplitPlanesEnum.<enum option>

Enumeration option Value


UV “UV”
UN “UN”
VN “VN”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-418

7.6 Data type reference (API)

The data types that are available as part of Lua and the CADFEKO API are briefly described in the
sections that follow.

Name Description
Coordinate A coordinate is a point in 3D space and can be described by
either a Point or NamedPoint.
Expression An expression is a Lua string containing variables and numbers.
Eg: “(1+5)*10”.
Unit A string containing a unit. Eg: “m/sˆ2”.
Variant A value which can be a number, string, boolean, Complex or
Point.
boolean A standard Lua boolean. See Lua documentation for more de-
tails.
function A standard Lua function. See Lua documentation for more de-
tails.
number A standard Lua number. See Lua documentation for more de-
tails.
string A standard Lua string. See Lua documentation for more details.
table A standard Lua table. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-419

7.6.1 Coordinate

A coordinate is a point in 3D space and can be described by either a Point or NamedPoint.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-420

7.6.2 Expression

An expression is a Lua string containing variables and numbers. Eg: “(1+5)*10”.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-421

7.6.3 Unit

A string containing a unit. Eg: “m/sˆ2”.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-422

7.6.4 Variant

A value which can be a number, string, boolean, Complex or Point.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-423

7.6.5 boolean

A standard Lua boolean. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-424

7.6.6 function

A standard Lua function. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-425

7.6.7 number

A standard Lua number. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-426

7.6.8 string

A standard Lua string. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-427

7.6.9 table

A standard Lua table. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 7-428

7.7 Constant value reference (API)

The constant values that are available as part of Lua and the CADFEKO API are listed below. The
constants are available under the pf.Const namespace a s shown in the example extract..
cf.Const.<constant>

Name Description
c0 299792458.000176
Speed of light in free space in m/sec.
eps0 8.854187817609999e-012
Permittivity of free space in F/m.
mu0 1.25663706143592e-006
Permeability of free space in H/m.
pi 3.141592653589793
Mathematical constant pi (Ludolph’s number).
zf0 376.730313461992
Characteristic impedance of free space in Ohm.

October 2013 FEKO User’s Manual


Part III

Working with POSTFEKO


INTRODUCTION TO POSTFEKO 8-1

8 Introduction to POSTFEKO

POSTFEKO is used mainly for two purposes: to validate meshed geometry and to analyse results.
Validation of mesh geometry is done so that users can confirm that their models are correct before
starting a simulation. This is particularly useful when models are created using EDITFEKO, but
is just as relevant for CADFEKO modelling. Analysis of results is the other primary function of
POSTFEKO. Once a model has been simulated, POSTFEKO can be used to display and review the
results. A variety of tools are available to help visualise data in a constructive manner.
Multiple models, with their geometry (in *.fek files) and results (in *.bof files), can be dis-
played in a single POSTFEKO project session. The displays are automatically updated each time
the model and/or results are updated.

Contents
8.1 Typical POSTFEKO workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.2 Files generated and used by POSTFEKO . . . . . . . . . . . . . . . . . . . . . . 8-2
8.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.4 The graphical user interface (GUI) of POSTFEKO . . . . . . . . . . . . . . . . 8-3
8.5 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5

8.1 Typical POSTFEKO workflow

The first step in the typical POSTFEKO workflow when using CADFEKO, is to create a new graph
or 3D view. Data/results may be dragged onto a graph or 3D view either obtained by running the
FEKO solver or importing data. The results may then be exported, a report generated or used in
postprocessing/scripting. POSTFEKO is also used to validate geometry if the model was created
in EDITFEKO.

Use CADFEKO Create/modify


geometry

Run FEKO solver Run solver

Create new
Use POSTFEKO
graph/display

Add / view results

Post-processing of
results / scripting

Export results /
generate report

Figure 8-1: Illustration of the typical POSTFEKO workflow when using CADFEKO.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-2

8.2 Files generated and used by POSTFEKO

The following file types are generated and used by POSTFEKO. The POSTFEKO session file is
the only file that POSTFEKO creates. The session file stores the views, graphs and settings for
all the models that have been loaded into the session so that it is not required to recreate them
later. The other files are created by other components such as the FEKO solver and are viewed in
POSTFEKO.

Files Description
*.fek The*.fek is read by POSTFEKO to display the geometry and the calculation
requests (for example the near field request points will be displayed if a near field
calculation has been requested).
*.bof The *.bof file is read by POSTFEKO to display the results as obtained by the
FEKO solver. Incomplete bof files can be loaded and the results displayed. The
results for discrete frequency calculations are displayed as they become available.
This allows simulations that terminated due to system power failure to be loaded
and displayed, showing the results which were calculated prior to the failure.
*.out The *.out file may be displayed to view information regarding the FEKO solver
version, date, memory usage and results obtained by the FEKO solver and any
errors and warnings etc.
*.pfs Contains the POSTFEKO workspace, i.e. views, graphs, models, settings and
references to result files which were present at the time of save.
*.pfg The *.pfg file is used to store optimisation process information used for graphing
in POSTFEKO after/during an optimisation run.

8.3 FEKO startpages

When starting a blank instance of CADFEKO, EDITFEKO or POSTFEKO (i.e. no models are
loaded), the start page will be displayed, giving quick access to Create a new model, Open an
existing model or Recent projects and a list of recently opened models. Links to the PDF’s for the
FEKO suite are also available here along with FEKO introduction videos. It is recommended that
these videos are watched by first time users.

Figure 8-2: The CADFEKO and POSTFEKO startpages.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-3

8.4 The graphical user interface (GUI) of POSTFEKO

8.4.1 The window

The various main elements and terminology of the POSTFEKO window will be briefly described.
These terminology will be used extensively in the chapters to follow.

10 9
2

4
7

8
5

1. Quick access toolbar These items give the user quick access to controls such as New model,
Save model, Undo and Redo actions (grouped at the left side of the toolbar) as well as
launching the FEKO solver, POSTFEKO (for the display of the results obtained by the FEKO
solver), EDITFEKO and PREFEKO (grouped at the right side of the toolbar, next to the help
button [7] and called Application Launcher).

2. Ribbon The ribbon contains the application menu, default tabs, contextual tabs and contex-
tual commands.

3. Project browser The Project browser lists all the models that are loaded in the current project
as well as imported-, stored- and scripted data. Note that the Project browser may be
hidden by selecting the View tab and clicking on the Project button.

4. Model browser The model browser displays information pertaining the selected model in the
Project browser. The information includes optimisation, media, meshes, excitations and
requests.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-4

5. Details browser The details browser shows in-depth detail of any component selected in the
model browser.

6. Active status bar The active status bar gives the user quick access to general display settings,
tools, selection method and type.

7. 3D View/2D graphs The 3D view enables the user to visualise the geometry, mesh, solution
settings as well as 3D results. The 2D graphs enables the user to view 2D results on either
a Cartesian, polar or Smith chart. The 2D and 3D views each has its own context-sensitive
ribbon tabs. The window tabs of the 2D and 3D views may be re-ordered by simply dragging
it to the desired location. The tabs can be renamed by selecting Rename from its context
menu.

8. Result palette The result palette enables a user to apply custom visualisation settings to 3D
results or 2D traces by customising the graph contents.

9. Help The Help button gives the user quick access to the FEKO manuals. Context sensitive
help is available in all FEKO Suite GUI components by pressing <F1> at any time.

10. Search bar The search bar enables the search for a specific action/keyword in POSTFEKO.
Entering a keyword in the search bar will populate a dropdown list of actions as well as the
location of the respective action on the ribbon or context menu. Clicking on any one of the
items in the list will execute the respective action.

8.4.2 The ribbon

The ribbon consists of several elements. Please take note of the terminology as it will be used
extensively in the chapters to follow.

1 2 3

1. Application menu The application menu provides control over managing project sessions by
creating new projects, opening existing projects, saving models and adding models to a
project session. A Preferences dialog is also available which allows custom settings to be
stored. Rendering options and updates settings can also be found here as well as a recent
file list.

2. Default tabs The default tabs are always visible and contain general commands. The default
tabs are the Home, Time analysis, Reporting and View.

3. Contextual tabs The contextual tabs display context sensitive tabs with commands relevant
to the selected view (3D view or schematic view). A coloured tab marker bar above the
tabs indicates the current context.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-5

Figure 8-3: (a) The Application menu and (b) the Default settings dialog situated on the Application menu.

4. Group of commands Similar actions or commands are contained in a group.

5. Dialog launcher Clicking on the dialog launcher will launch a dialog with additional settings
that relate to that group.

8.5 Application menu

Along with the tools that manipulate displayed data, POSTFEKO also gives a set of tools that
work on an application-level. These tools include saving and loading projects, importing and
exporting data (e.g. from measurements, calculations or other simulations) and to store data for
later use.

8.5.1 Saving and loading project sessions

Saving can be done by clicking on the application button and choosing either Save project
or Save as..., depending on whether the file-name should be specified. The resulting
project file will have a *.pfs extension and will store all settings and references to result files
that were present at the time of save. There is also a quick save shortcut in the top-left corner
above the application button.
To “load” could either mean loading a saved project, or to load a model into an existing project.

A model may be added to the project by clicking on the Add model button. The application
button will provide both a Add model button as well as a list of recent files that were
accessed by the user.

The Open project button on the Home tab will restore a saved POSTFEKO project. Both
models and projects can be accessed on the start page as well.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-6

8.5.2 Importing and exporting data

Importing and exporting of data into POSTFEKO is also possible. Imports can be performed on
most text-based data files, as well as data that is generated by FEKO, but not included in a model’s
results file. Calculated data can also be exported for external processing or for use in a different
project (where the full set of results is not required).

Importing data

Data that was imported into POSTFEKO can be added to a 2D graph in the same manner
as any result. The Project browser contains an entry for each import under Imported files,
where imports can be deleted from the project should they no longer be required.
Data may be imported by selecting the Application menu and clicking on the Import anchor.
Saving a project with imported results will store it as part of the POSTFEKO session file.
The file types which may be imported include:

FEKO far field (*.ffe): POSTFEKO will manage the import of *.ffe files by itself. No
further information is required from the user.

FEKO near field (*.efe,*.hfe): When a


near field is imported, the user may specify
whether either an Electric near field file (*.efe) or
Magnetic near field (*.hfe) file or both are to be
imported. The source locations for the *.efe and
*.hfe files are specified independently.

Touchstone (*.snp): POSTFEKO supports the import of Touchstone files which is used
for documenting n-port network parameter data of active devices or passive networks. No
further information is required from the user.

POSTFEKO Graph File (*.pfg): It contains the relevant information used during optimi-
sation (in conjunction with the *.pre file and *.cfx files) during optimisation.

Custom data: When importing custom data, an import template must be defined. The user
will be asked to define how data columns are separated (i.e. with tabs, spaced, commas,
etc.) which lines to read and whether column titles are present. The preview section will show
the respective columns and their respective titles.
Once the format is defined, the user must specify the type of data each column contains. The
label can be specified, along with any scaling considerations (e.g. if the data is in dB instead of
linear, or MHz instead of Hz, etc.). Figure 8-4 shows the import dialog where these properties are
defined. Each column can be specified by what type of structure it has, along with more detail
regarding the specific contents of the data:

Axis (scalar): If the column will be used as an independent axis on a 2D graph, this option
should be chosen. Quantity options that are available include:

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-7

• frequency, position, radius, angle, time or a user defined quantity.

Scalar: Any scalar result type may be used. Quantity options that are available include:

• far field, near field, voltage, current, power, specific absorption rate
(SAR), impedance/admittance, scattering parameters, axial ratios, gain/di-
rectivity, radar cross section (RCS), voltage standing wave ratio, reflec-
tion coefficient, Poynting vector (magnitude) user defined quantities and
several other typical data types.

Complex pair (Real + Imaginary): If two adjacent columns contain the real and imaginary compo-
nents of a complex number, this option should be chosen.

Complex pair (Magnitude + Phase): If two adjacent columns contain the magnitude and phase (in
degrees) of a complex number, this option should be chosen. Complex pairs
can be classified as any of the above quantities that can be complex, such as:

• far field, near field, voltage, current, impedance/admittance, scattering


parameters, reflection coefficient, or a user defined quantity.

Ignore: If a column contains data which is not required for import, it my be ignored
during the import process by choosing the Ignore option.

Figure 8-4: The Import raw data dialog for specifying column details during an import.

Custom data which was defined in a spherical coordinate system can be extruded (see Sec-
tion 9.8.2) to be displayed in a similar way as far field results in the 3D view.

Refreshing imported data

If changes occur to the external file, the user will be notified by means of a refresh icon
next to the file name. The external file may be refreshed without the need of an import
template by selecting the Refresh option from the context menu.
The option to reselect the imported file while keeping the original import settings is available on
the context menu, see Figure 8-5. For custom imported files, double clicking on the file in the
Project browser will re-open the Import data: Custom data dialog enabling modification to the
original import settings.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-8

Figure 8-5: A “Refresh” icon next to the external file indicates that it has been modified. From the context
menu, the options Reselect import file, Refresh and Import with new settings are available.

Exporting data

Data may be exported from POSTFEKO by selecting the Application menu and clicking
on the Export anchor. The following file formats can be exported from POSTFEKO if the
results are available:

FEKO far field (*.ffe)

FEKO near field (*.efe,*.hfe)

Touchstone (*.snp)

Currents and charges (*.os, *.ol)

Custom data (*.txt)

Graph data to file (*.dat)

Graph data to the clipboard. This allows the contents to be quickly transferred to external
applications for further processing.
When one of the above options is selected for export, an Export data dialog will be launched, see
Figure 8-6. From the Source section, select the required configuration. In the Results section, the
available results for the selected configuration will be displayed. Select the result to be exported,
specify the result specific parameters and click on the OK button.

8.5.3 Stored data

It is possible to store a copy of most calculated results in a project for later reference.
A stored result will be unaffected by changes to the model, making it a useful reference
point against future data. A stored copy may be created from a 2D trace by selecting the Trace
tab and clicking on the Store a copy button.
Stored data can be accessed in the same way as data from a file. When adding a result from the
ribbon, a new entry for Stored data is created containing the stored result.
In general, all results that can be plotted on a 2D graph can be stored. Results that cannot be
stored include: cable paths, error estimates, imported data, rays, already stored data, currents
and charges.

October 2013 FEKO User’s Manual


INTRODUCTION TO POSTFEKO 8-9

Figure 8-6: The Export data: Touchstone dialog.

Figure 8-7: Accessing stored data from the ribbon.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-1

9 Using POSTFEKO

The POSTFEKO application can be launched from different suite components and in different
ways, including a console command prompt, desktop icons, or from other suite applications.
How this is done will be discussed, as well as what to do once the application starts up.

Contents
9.1 Launching POSTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
9.2 Managing projects/models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
9.3 Adding results to a view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
9.4 2D Result types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.5 Using 2D graphs (Cartesian, Smith and polar) . . . . . . . . . . . . . . . . . 9-6
9.6 3D Result types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
9.7 Using 3D views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
9.8 3D Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
9.9 Time analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-40
9.10 Script editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-43
9.11 Custom dialogs (Forms) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-45
9.12 Application macro library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-47
9.13 Generating reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-49
9.14 Errors and warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55
9.15 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56
9.16 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57

9.1 Launching POSTFEKO

POSTFEKO can be launched (i) from the command line in a console environment, (ii) by double
clicking on the POSTFEKO icon, or (iii) by launching POSTFEKO from other suite components
such as CADFEKO or EDITFEKO. If the application icon is used to launch POSTFEKO, then no
models will be loaded and the start page will be shown. Launching POSTFEKO from other suite
applications will automatically load the model into a new project.
The command line method give users a choice as to how they would like to launch POSTFEKO. If
a model (or set of models) is specified, then it will be added to a new project; otherwise a blank
project will be given. Command line arguments can be used to specify additional parameters
when launching POSTFEKO. Arguments that may be used are listed in Table 9-1:
Launching POSTFEKO from a console with no command line arguments is the same as launching
it from the desktop. No models will be loaded and a blank project will be presented. A list
of arguments can be given and file formats with the extensions *.pfs, *.fek, *.bof, *.pre,
*.pfg, *.wfg and *.out. Note that only one *.pfs file may be listed at a time and that the
*.out file argument will only show a message indicating that *.out files cannot be loaded
directly.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-2

Table 9-1: Command line arguments for launching POSTFEKO

Argument Description
POSTFEKO FILE POSTFEKO loads the FILE where file can be a session
file, *.bof file or *.fek file.
−−version Displays the current version of POSTFEKO.
−−feko-lite Execute as FEKO LITE.
−−run-script SCRIPTFILE Load and run the specified Lua script.
−−non-interactive POSTFEKO is launched in a mode where no interactive
dialogs are displayed. Default options are selected where
input is required.
*.pfs, *.fek, *.bof
*.pre, *.pfg, *.wfg Files with these extensions may be loaded into
POSTFEKO.

9.2 Managing projects/models

POSTFEKO can manage multiple models simultaneously in a given project. Models can be added
to a project by clicking on the Add model button, using the start page (see Section 8.3), or by
opening POSTFEKO with a model file (e.g. when launching POSTFEKO from CADFEKO).

To add files to a project, select the Home tab and click on the Add model button. Alter-
natively, files can also be added from the application menu. Models can also be added
to a project from the start page (see Section 8.3) from the recent files list.
The solution information of a model is available by selecting the Results tab in the model browser
(see Section 8.4.1) and clicking on the header, Solution information. The following information
will be displayed in the details browser (see Section 8.4.1) namely Total runtime, Total CPU-time,
Memory per process, Machine ID, Kernel version and Date/time started/ended.

Whether a single model or a complex project was created, the project can be saved for
later use. Clicking on the Save or Save as buttons allow the user to specify a location
and name for the current project. Projects that have been saved can later be opened again by
using the start page or by clicking on the Open project button.

The Open project button provides access to any saved project. Such projects have a
*.pfs extension and must be explicitly generated by the user. Project sessions can
also be opened from the start page (if they have recently been created/opened) or from the
application menu.
See also the options for launching POSTFEKO with multiple models or a project using the com-
mand line (see Section 9.1).

9.3 Adding results to a view

Results can be added to both 2D or 3D views. POSTFEKO will only enable the buttons for those
results that are present in the current model or project. Clicking on a result button will provide a

October 2013 FEKO User’s Manual


USING POSTFEKO 9-3

list of all results of that type that may be added to the current view. Note that a 3D view is always
associated with a specific configuration for a single model. For graphs, however, any valid data
for all the loaded models may be added.

Far field: Adds far field results to a valid view. Select the Home tab and click on the Far
field button.

Near field: Adds near field results to a valid view. Select the Home tab and click on the
Near field button.

Error estimate: Displays error estimates in a 3D view. Select the Home tab and click on
the Error estimate button.

Currents: Adds currents to a valid view. Select the Home tab and click on the Currents
button.

Currents: Adds current on segments to a valid view. Select the Home tab and click on the
Currents button. If segment currents are available, it will be displayed in the Currents
dropdown menu.

Rays: Adds rays to a 3D view. Select the Home tab and click on the Rays button.

Source data: Adds excitations to a valid view. Select the Home tab and click on the Source
data button.

Loads/Networks: Adds load/network data to a valid view. Select the Home tab and click
on the Loads/Networks button.

S-matrix: Adds scattering parameters (S-parameters) to a valid view. Select the Home tab
and click on the S-matrix button.

Power: Adds power data to a valid view. Select the Home tab and click on the Power
button.

Receiving antenna: Adds receiving antenna data to a valid view. Select the Home tab and
click on the RX antenna dropdown button.

Receiving antenna: Adds receiving antenna (described by a far field pattern) data to a
valid view. Select the Home tab and click on the RX antenna menu dropdown button.

Receiving antenna: Adds receiving antenna data (described by a near field aperture) to a
valid view. Select the Home tab and click on the RX antenna menu dropdown button.

Receiving antenna: Adds receiving antenna data (described by spherical modes) to a valid
view. Select the Home tab and click on the RX antenna menu dropdown button.

Probes: Adds probe data (voltage/current/SPICE) to a valid view. Select the Home tab
and click on the Probes button.

Specific absorption rate (SAR): Adds Specific absorption rate (SAR) data to a valid view.
Select the Home tab and click on the SAR button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-4

Optimisation: Adds optimisation data to a valid view. Select the Home tab and click on
the Optimisation button.

Transmission/reflection: Adds transmission/reflection coefficients to a valid view. Select


the Home tab and click on the Transmission/reflection button.

Characteristic modes: Adds a characteristic mode results to a valid view. The modes are
tracked by correlating modes between frequency runs. Select the Home tab and click on
the Characteristic modes button.

Imports and Scripts: Adds imported data or data generated by a script to any view on
which the data is valid. Select the Home tab and click on the Imports + scripts button.
3D views are able to display: far fields, near fields, error estimates, currents and rays. In cases
where the SAR is calculated at a known location, the SAR may also be displayed.
Cartesian graphs may contain all data, except for: error estimates and currents on triangles. Polar
graphs may contain data where the result varies according to Theta (θ ) or Phi (φ). Near and far
fields are the only results that meet this criteria. Smith charts may contain complex source data,
such as impedance or S-parameters. For all 2D graphs, it is possible to import data that meet the
criteria for being added to a view. See Table 9-2 for a summary of the valid results on each graph
type.

Table 9-2: Summary of which results may be plotted on various graphs types.

Result type Cartesian Smith Polar


Characteristic modes
Far fields
Impedances
Loads
Near fields
Networks
Optimisation results
Power
Probes
Sources
S-parameters
Transmission/reflection coefficients
Wire segment data (Charges/Currents/Error estimates)

Note that there are restrictions:

• Charges, currents and error estimates on mesh triangles cannot be plotted on 2D graphs

• Only data that varies over angle can be plotted on a polar graph

October 2013 FEKO User’s Manual


USING POSTFEKO 9-5

9.4 2D Result types

A brief summary regarding the calculation of the 2D results in POSTFEKO is given below.

9.4.1 Source data

The Reference impedance Zo , is used (independently for each trace) to calculate S11 and VSWR.

(Zin − Zo )
S11 = (9-1)
(Zin + Zo )
1 + |S11 |
VSWR = (9-2)
1 − |S11 |

If Subtract loading is checked, Zin represents the input impedance after subtracting the loading.

9.4.2 Near fields

Near field Quantities includes Electric and Magnetic fields, the average power derived from the
Poynting vector is given by

1
~ = Re[ E
S ~×H~ ∗] (9-3)
2
and the specific absorption rate (SAR) is calculated

~ |2
1 σ| E
SAR = (9-4)
2 ρ
where σ is the conductivity and ρ the medium density.

9.4.3 Optimisation

Refer to the optimisation workflow (see Section 6) for more information regarding the optimisa-
tion process in CADFEKO.
After an optimisation request was made in CADFEKO and the model optimised by OPTFEKO
(see Section 21), the following optimisation data can be displayed on a Cartesian graph (see
Section 9.5):

• optimised parameters

• goals and global goals

• masks

October 2013 FEKO User’s Manual


USING POSTFEKO 9-6

Figure 9-1: An example of the Result palette slicing for optimisation.

To add optimisation data to a Cartesian graph, click on the Optimisation button. The
optimisation data contains the parameters, specified goal and global goal. From the Trace
dropdown menu, select one of the data to be used as trace, see Figure 9-1. The Independent axis
(Horizontal) is set as the Optimisation run number.

To add masks (see Section 6.1.2) to a Cartesian graph, it is important to note that masks
are not accessible from the ribbon. If it is required to view the optimisation masks, select
the masks in the model browser (see Section 8.4.1) and drag onto the Cartesian graph, see
Figure 9-2.

Figure 9-2: Optimisation requests are displayed in the model browser.

In order to visualise the mask on the same axis as the goal, a Transform axis (horizontal)
(see Section 9.5.10) needs to be applied to the mask trace.

9.5 Using 2D graphs (Cartesian, Smith and polar)

There are three graph types available in POSTFEKO, namely the Cartesian-, the polar graph and
the Smith chart. All 2D graph related settings are available on the Cartesian, Polar and Smith
context tabs. For most of the graph types, the same display options are available. However, for
each graph, there may be options that are specific to that graph.
To view a list of what types of data may be displayed on which graphs, see Table 9-2. Settings
related to the styling of the plotted data which are common to all three the 2D graph types, are
available on the Trace tab.

Cartesian: Creates a Cartesian graph.

Polar: Creates a polar graph for viewing data over an angle.

Smith: Creates a Smith chart for viewing complex impedances, admittances and reflec-
tion coefficients.
When an empty graph is created, an overlay image will be added to the first five graphs created,
see Figure 9-3. The purpose of the overlay image is to guide users how to add data to 2D graphs.
As soon as data is added, the overlay image will be removed.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-7

Figure 9-3: The overlay image added to new graphs to guide users how to add data to 2D graphs.

9.5.1 Duplicating 2D graphs

The Duplicate view provides the option to make a copy of the current graph. Simply
duplicating the view will provide an identical copy of the current view, complete with all
settings (excluding cursors). Select the Display tab and click on the Duplicate view button.
The functionality is also provided to derive a graph of a different type from the current graph if
the data is compatible with both. Select the Display tab and click on the Cartesian copy, Polar
copy or Smith copy buttons. Table 9-2 summarises which result types my be plotted on which
graphs.

Cartesian copy: Creates a Cartesian copy that contains the same data.

Polar copy: Creates a polar copy for viewing data over an angle that contains the same
data.

Smith copy: Create a Smith chart copy for viewing complex impedances. admittances
and reflection coefficients that contains the same data.
For instance, a Cartesian graph will provide the options to Duplicate view, create a Polar copy
or to create a Smith copy that contains the same data. If the traces on the source graph are
incompatible with the destination graph, an error will be given with a list of the traces that do
not adhere to the requirements.

9.5.2 Specifying 2D graph captions and display options

On a 2D graph it is often necessary to rename axes, titles, setting the graph to greyscale or adding
additional gridlines.

The graph title, footer and axis labels are automatically derived from the contents of
the graph. Any text (other than the text for legend entries) can be set by selecting the
Display tab and clicking on the Chart text button. This will launch the Advanced settings for
2D text entries dialog, see Figure 9-4. To change any of the entries, deselect the Auto box. The
customised entry will then be applied once OK or Apply is pressed.

Another display option include the setting of the selected view to Greyscale by selecting
the Display tab and clicking on the Greyscale button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-8

Figure 9-4: The Advanced settings for 2D text entries dialog.

Minor gridlines may be added between the existing grid lines by selecting the Display tab
and clicking on the Minor grid button.

9.5.3 Adding overlay images to 2D graphs

It is often required to add an overlay image to a 2D graph. POSTFEKO supports the


following types of overlays:

• A static image either imported from file or a copy (taken at that instance) of the current 3D
view may be added to any 2D graphs.

• An image displayed as reference to data cut orientation, may be added to a polar graph.

Adding static overlay images to 2D graphs

The static image may be added as an overlay to a 2D graph by either selecting the Cartesian-,
Polar and Smith context tabs and clicking on the Chart image button.

From the dropdown menu, select 3D result view should an image of the 3D view be
required.

Select Import from file if an image is to be imported from file.


The image may be moved about the graph by selecting the image and dragging with the
mouse. Resizing of the image is possible by dragging the resize handles. If the image is selected,
it may centred by selecting the Center image option from the context menu.

Adding an image as reference to data cut orientation on polar graphs

An image may be added to a polar graph as reference to the data cut orientation. Note
that data must already have been added to the polar graph for this option to be available.
Select the Polar context tab and click on the Chart image button. From the dropdown menu,
select the Model reference to data cut orientation

October 2013 FEKO User’s Manual


USING POSTFEKO 9-9

Far field
FarField1
3.0

2.5

2.0

Gain 1.5

1.0

0.5

0.0
0 30 60 90 120 150 180
Theta [deg]

Figure 9-5: A Cartesian graph with an overlay image of the 3D view.


Total Gain (Frequency = 110 MHz; Phi = 0 deg) - ship

Far field Far field


FarField1 FarField1

0 0

330 30 330 30
5 0

0 -3

300 -5 60 300 -6 60

-10 -9

-15 -12

270 90 270 90

240 120 240 120

210 150 210 150

180 180

Total Gain [dBi] (Frequency = 110 MHz; Phi = 0 deg) - ship Total Gain [dBi] (Frequency = 110 MHz; Phi = 90 deg) - ship

Figure 9-6: The image is added to the polar graph as reference to the data cut orientation. On the left,
Phi was set to 0◦ . On the right, Phi was set to 270◦ and the overlay image was automatically
updated to reflect the changes.

When the trace is modified, the image will be updated to reflect the change, see Figure 9-6.
The image may be moved about the graph by selecting the image and dragging with the mouse.
Resizing of the image is possible by dragging the resize handles. If the image is selected, it may
centred by selecting the Center image option from the context menu.

9.5.4 Adding legends to 2D graphs

When adding a legend to a 2D graph, the position of the legend on the graph, as well as the
legend entry text may be specified.

Position: Legends can be added to either predefined positions, or by manually selecting


a location by selecting the Display tab and clicking on the Position button.

Trace text: Legend entries for each trace are automatically generated. This is generally
sufficient for understanding what each trace represents. However, it is often desirable to
manually specify the description of a trace. To do this, click on the Trace text button. The same

October 2013 FEKO User’s Manual


USING POSTFEKO 9-10

option is available by right-clicking on a trace in the result palette. Figure 9-7 shows the dialog
that can be used to modify the legend entry for a selected trace.

Figure 9-7: The Legend entry settings dialogs.

Manually setting the formatting and entries for the legend is only available for 2D legends. Spec-
ifying the legend location resizes the size of the graph to make room for the legend in that
location. For example, a graph will be wider if the legend is placed on top than if it is placed to
the right. When the overlay or manual positions are used, the graph is maximised and the legend
should be placed such that it does not obscure important data.

9.5.5 Adding Greek symbols and individual character formatting

Greek symbols and individual character formatting may be added/applied to chart titles,
legends, captions and axis titles. User may access the Rich text formatting dialog by
deselecting the Auto checkbox and clicking on the π2 button (see Figure 9-4 and Figure 9-7).
The Rich text formatting dialog contains the following character formatting: bold, italics, under-
line, superscript, subscript and line break. A list of commonly used Greek symbols are displayed
which may be added to the text by clicking on the OK button. Should a more complete set of
Greek symbols be required, click on the Character map button to launch the Character map dialog
containing a more complete list of Greek symbols and additional characters.

Figure 9-8: The Rich text formatting and the Character map dialog.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-11

9.5.6 2D Axes properties and ranges

The following 2D axis settings are available:

Axis settings: For polar and Cartesian graphs, the axis settings can be modified to have
different ranges, grid spacing or numbering formats. Select the Display tab and click on
the Axis settings button to launch the Axis settings dialog, see Figure 9-9.

Figure 9-9: The Vertical tab on the Axis settings dialog.

To change any of these properties, ensure that the correct axis is being edited, deselect the box
indicating that values will be determined automatically and enter the custom values. Note that
the zoom to extents feature will now be applied to these ranges.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-12

Ranges

• Auto range settings


When the option Automatically determine the grid ranges is selected, the Maximum dy-
namic range in dB can be specified. Here the maximum value of the traces will be used as
the upper limit for the chart. The minimum value of the result data will be the maximum
value of the traces on the graph, minus the Maximum dynamic range in dB or the minimum
value of the traces, whichever is larger. This option is only available for the vertical axis.

• Manual grid range settings


When the option Automatically determine the grid range is unselected, the grid range for
the chart can be specified by defining the Minimum value and Maximum value.

Log (horizontal): The Log (horizontal) button enables/disables the log scale on the hor-
izontal axis.

Log (vertical): The Log (vertical) button enables/disables the log scale on the vertical
axis.

Normalise to: The Normalise to button enables the normalising of the graph. The fol-
lowing two options are available: Normalise to maximum of all traces and Normalise to
maximum of individual traces.

Normalise to maximum of all traces: This setting will look at all of the traces that are
visible on a graph to determine the maximum value between them. All traces will then
be normalised to that value, meaning that all of the traces will maintain their relative scaling to
one another.

Normalise to maximum of individual traces: This setting will look at each trace in isola-
tion. The maximum value of that trace will be used for normalisation. The effect is that
every trace will have an absolute maximum of 1.
Polar graphs are divided into 360◦ steps. The position of the 0◦ position can be set by using
the Orientation options. The orientation can be set to North, South, East or West. In addition,
the direction in which the angle grows can be set to either a Clockwise or Counter-clockwise
direction. The direction of growth is only enabled if the orientation has been set manually.

Orientation: The Orientation button defines the location of 0 degrees on a polar graph.

Direction: The Direction button defines whether clockwise or anticlockwise direction is


to be used for the polar graph.

9.5.7 Grid types for Smith charts

For Smith charts, the choice between an admittance and impedance Smith chart is pro-
vided. Select the Display tab and click on the Grid type menu button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-13

9.5.8 Managing traces on 2D graphs

The Manage group provides the options to Duplicate the trace, to create a New math trace or to
Store a copy of the currently selected data in the project session.

Duplicating the view will result in another trace that contains the exact same settings as
the current one. Select the Trace tab and click on the Duplicate trace button.

Math traces can be used to perform calculations on data sets or to provide purely mathe-
matical reference curves. These traces inherently contain no data and require other traces
or mathematical equations to present information. Select the Trace tab and click on the New
math button to create a math trace.
Any result plotted on a 2D graph also provides the option of mathematically altering the trace
by using a mathematical equation. The only difference between data traces using equations and
math traces, is that math traces do not use the self keyword.

Figure 9-10: (a) The Enable maths section in the Result palette and (b) the Expression editor for mathe-
matical equations.

Equations may be edited using the expression editor (Figure 9-10), which contains a list of all
defined functions, traces and constants that may be used. Complex mathematics may be used in
calculating results, but only scalar data can be displayed. If a trace cannot be displayed, then a
warning icon should appear next to the trace in the results palette. Hovering over the icon will
indicate the reason as to why the equation is not being shown.

Storing a local copy of a data set saves the current state of the displayed data. This
data can then be compared to later runs of the same model (or to different models)
independently of how the models are changed. Select the Trace tab and click on the Store a copy
button.

9.5.9 Rendering of 2D traces

Rendering options of 2D traces affect how the traces are drawn on the graphs.

For continuous data, the sampling can be specified. The following sampling settings are
available: Auto, Discrete samples and Specofy number of samples. The default rendering
is automatically determined based on the sampled data. However, when the sampling is set, the
amount of points can be reduced or increased to suit requirements. Select the Trace tab and click
on the Sampling settings button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-14

Raising or lowering a trace is purely a display feature. The top traces will be visible above
lower traces. Select the Trace tab and click on the Raise trace button.

9.5.10 Units

For Cartesian and polar graphs, there are settings that provides control over the independent
axis, as well as the displayed units for the traces that have been added to the graphs. The units
which best fit the displayed data are automatically determined based on the range of the data.
This Auto mode can be overwritten by manually specifying the desired display units.

The independent axis can be stretched or shrunk using the Scale unit and a constant
offset can be given using the Offset unit. Select the Trace tab and click on the Transform
(Horizontal) button. Figure 9-11 shows the independent axis transformation dialog.

Figure 9-11: The Transform horizontal axis dialog.

9.5.11 Adding annotations and measurements to 2D graphs

The reading off and interpretation of plotted results are available on the Measure tab. Two
classes of measurements are provided, namely “annotations” and “cursors”. Annotations can be
added to a trace and highlight values of interest. The annotation will update along with the data
and always display the value according to its definition. Cursors are more dynamic in the sense
that they can be dragged around until they are placed at the desired positions. Cursors have
the benefit of being able to read data off of several traces simultaneously, but suffer from the
limitation that they cannot update along with the results.

Source annotations

Source annotations are used primarily for indicating bandwidths. Due to the varying definitions
of “bandwidth” between industries and applications, several definitions of both transmission and
reflection bandwidths are provided. The corresponding values for linear traces are supported.
Reflection bandwidths are typically used for applications such as antenna problems, where trans-
mission bandwidths are used more for filters or other multi-port problems.
Note that the −3 dB bandwidth refers to the half power bandwidth of an appropriate result,
which is closer to -3.01029995663981 dB.

-3 dB Reflection bandwidth: The -3.01029995663981 dB half power reflection bandwidth


of the result. Select the Measure tab and click on the Reflection bandwidth dropdown
menu button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-15

-3 dB Transmission bandwidth: The -3.01029995663981 dB half power transmission


bandwidth of the result. Select the Measure tab and click on the Transmission bandwidth
dropdown menu button.

Far field annotations

A number of far field annotations which focus on the pattern data and which provide various
definitions of beamwidth and the sidelobe level, are available The half power beamwidth, first
null beamwidth and null to null beamwidths are provided. The sidelobe level is defined as the
ratio between the maximum beam strength divided by the second largest radiated beam strength.

Half power (-3 dB): Adds an annotation to indicate the half power (-3 dB) beamwidth.
Select the Measure tab and click on the Beamwidth dropdown menu button.

First null: Adds an annotation to the first null beamwidth. Select the Measure tab and
click on the Beamwidth dropdown menu button.

Null to null: Adds an annotation to the null to null beamwidth. Select the Measure tab
and click on the Beamwidth dropdown menu button.

Sidelobe level: Adds an annotation to indicate the side lobe level. Select the Measure tab
and click on the Sidelobe level dropdown menu button.

Custom annotations

The annotations defined so far refer to information that can be extracted from a trace with a very
specific type of data. More generic definitions can be found under the Custom annotations. Three
definition methods exist for defining annotations. All of the previous definitions are defined in
terms of one of these methods:

Figure 9-12: The Configure annotation and Annotation dialog.

Single point A single point of interest is isolated. Points that are typically of interest include
maxima, minima or the value at a specific point. Selecting the Other definition method will
show the dialog in Figure 9-12 (left).

October 2013 FEKO User’s Manual


USING POSTFEKO 9-16

Global maximum: Adds an annotation to the global maximum of the selected trace.
Select the Measure tab and click on the Point dropdown menu button.

Global minimum: Adds an annotation to the global minimum of the selected trace. Select
the Measure tab and click on the Point menu dropdown button.

Specify independent axis value: Adds an annotation to indicate the value of the trace at a
given value of the independent axis. Select the Measure tab and click on the Point menu
dropdown button.

Second maximum: Adds an annotation to the second maximum of the selected trace.
Select the Measure tab and click on the Point menu dropdown button.

Second minimum: Adds an annotation to the second minimum of the selected trace.
Select the Measure tab and click on the Point menu dropdown button.

Other: Adds a single point annotation to the selected trace. Select the Measure tab and
click on the Point menu dropdown button.

Delta Two points are defined and the difference between the points is used. Values such as
sidelobe level are defined using this method. Choosing to create a Delta definition will give
the dialog in Figure 9-12 (centre). Select the Measure tab and click on the Delta button.

Delta: Adds an annotation of two explicit points to the trace. Select the Measure tab and
click on the Delta button.

Derived width A single point of interest is isolated. Two surrounding points are then derived
from this value. Values such as bandwidth are defined using this method. Choosing to
create a Derived width definition will give the dialog in Figure 9-12 (right).

Derived width: Adds an annotation of two implicit points to the trace. Select the Measure
tab and click on the Delta button.

Adding measurements to 2D graphs

Cursors are available to help read off information from a graph. The Cursors button
enables the cursors. Each graph type has a different type of cursor. Cartesian and polar
graphs have two cursors. Select the Measure tab and click on the Cursors button.

By enabling the Cursor table, a summary of the information is presented. This table con-
tains both the data at the displayed points for all traces, but also the difference between
the two points for all traces. Note that the Smith chart only has one cursor per trace. Select the
Measure tab and click on the Cursor table button.
If a cursor is moved outside of the visible region of a graph, a handle will appear in the corner of
the graph so that the cursor can still be moved.
Several predefined positions for cursors are defined per trace. Using any of these buttons will
make the currently selected cursor jump to the indicated location. The selected cursor is indicated
by a solid line.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-17

Near Field
80
Nearfield E-Field [V/m] 70 B1
60
50
40
30 A1

20
Trace A B B-A
10 1 36.83 71.78 34.95
Horizontal axis 7.11 7.629 0.519
0
6.8 7.0 7.2 7.4 7.6 7.8 8.0 8.2
Frequency [GHz]

Figure 9-13: Cursors provide a means of quickly reading off data from a graph.

Global max: Moves the active cursor to the global maximum of the 2D graph.

Global min: Moves the active cursor to the global minimum of the 2D graph.

Local max to the left: Moves the cursor to the next local maximum to the left of the 2D
graph.

Local max to the right: Moves the cursor to the next local maximum to the right of the
2D graph.

Local min to the left: Moves the cursor to the next local minimum to the left of the 2D
graph.

Local min to the right: Moves the cursor to the next local minimum to the right of the
2D graph.

9.5.12 Font, colour and text effects for 2D graphs

Settings that relate to the styling of a graph are provided on the Format tab. Fill colours, text
colours, fonts, shading, text styling and general tools that pertain to the appearance are provided.

9.5.13 Lines styles and markers for 2D graphs

Access to the formatting tools for the line and markers is also provided. For both lines and
markers, the style, colour and weighting can be set.

In the case of markers, there are three methods by which they can be drawn: markers can
be drawn on the calculated frequencies, sparsely spaced markers can be drawn at constant
intervals and densely spaced markers can be drawn at constant intervals. The latter two options
are trace decorations that will always be visible in a view, irrespective of the zoom level.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-18

9.6 3D Result types

A brief summary is given below of the calculation and types of 3D results and its respective
quantities in the Result palette.

9.6.1 Far fields

The following Quantities and Properties are available for a Far field request, see Table 9-3.

Table 9-3: Properties for Far field requests. An example of the Result palette slicing for far fields is dis-
played on the right.

Quantity Properties
Electric field Total
Gain Theta
Realised gain Phi
Directivity Ludwig III (Co)
Radar cross section (RCS) Ludwig III (Cross)
LHC
RHC
Z[+45◦ ]
S[-45◦ ]
Axial ratio Minor/Major
Major/Minor
Handedness

The options available for far fields:

Total: The total value independent of the polarisation.

θ: The vertical (or θ ) component.

φ: The horizontal (or φ) component.

Ludwig III (Co): The reference polarisation as defined by Ludwig for conventional measurement
configurations. A z-oriented antenna is implied whose reference polarisation
is intended along the φ=90 cut. See the depiction of typical reference polari-
sation cuts on the left in Figure 9-14.

L I I ICo (θ , φ) = E(θ , φ) · [sin(φ)i~θ + cos(φ)i~φ ] (9-5)

Ludwig III (Cross): The cross polarisation as defined by Ludwig for conventional measurement
configurations. A z-oriented antenna is implied whose cross polarisation is
intended along the φ=0 cut. See the depiction of typical cross polarisation
cuts on the right in Figure 9-14.

L I I ICross (θ , φ) = E(θ , φ) · [cos(φ)i~θ − sin(φ)i~φ ] (9-6)

Conventions for the Ludwig coordinate system are defined by the following
parameters:

October 2013 FEKO User’s Manual


USING POSTFEKO 9-19

θ and φ: Rotational angles in the spherical coordinate sys-


tem as defined in FEKO.
i~θ : Directional unit vector in the θ direction.
i~φ : Directional unit vector in the φ direction.

Figure 9-14: The reference and cross polarisations in 3D space.

LHC: The left hand circularly polarised component. The polarisation vector rotates
counter clockwise when viewed, at a fixed position, in the direction of propa-
gation.

RHC: The right hand circularly polarised component. The polarisation vector rotates
clockwise when viewed, at a fixed position, in the direction of propagation.

Z (+45 deg): When viewed in the direction of propagation, the θ unit vector points down-
wards and the φ unit vector to the left. The Z-polarisation unit vector is then
p
~e Z = (~eϑ + ~eϕ )/ 2 (9-7)

which lies along an axis rotated +45 degrees from horizontal (in a counter
clockwise direction) — coinciding with the direction of the diagonal line of
the Z.

S (-45 deg): The S-polarisation unit vector is


p
~eS = (~eϑ − ~eϕ )/ 2 (9-8)

which is rotated by -45 degrees from horizontal and lies in the direction ap-
proximated by the diagonal of the S.

Note that when displaying Axial ratio, POSTFEKO displays the magnitude. The sign information
may be obtained by selecting the Handedness. This is indicated on a sphere using different
colours for left hand rotating, linear and right rotating fields.
Refer to the definition and derivation (see Section 20.6) of the different quantities for far field.

9.6.2 Near fields

The following Quantities and Properties are available for a Near field request, see Table 9-3.
When the quantity Electric field and Magnitude is selected, POSTFEKO displays the vector mag-
nitude of all the selected components. For example, if only the θ and φ components (spherical
coordinates) are selected, POSTFEKO calculates:

October 2013 FEKO User’s Manual


USING POSTFEKO 9-20
p
|E| = |Eθ |2 + |Eϕ |2 (9-9)

If only one Component is selected, POSTFEKO can display the Phase, Real or Imaginary part of
this component. Note that Phase is displayed in degrees. The time averaged Poynting vector is
given by

1
~ AV = Re[ E
S ~×H
~ ∗ ]. (9-10)
2
If Instantaneous magnitude is checked, the real field vector is calculated and the magnitude of
the selected components displayed. For example, for electric fields we have:

~ ∗ e jωt ]
~e(ωt) = Re[ E (9-11)
Æ
|e(ωt)| = e2x (ωt) + e2y (ωt) + ez2 (ωt) (9-12)

Instantaneous vectors can be displayed as arrows (see Section 9.8.5) to get an indication of their
direction. The instantaneous Poynting vector is calculated as:

~s(ωt) = ~e(ωt) × ~h(ωt) (9-13)

This may be larger than the magnitude of the complex vector. (The complex vector represents
the time-averaged power density.) Specific absorption rate (SAR) values are calculated from:

~ |2
1 σ| E
SAR = (9-14)
2 ρ

Here, σ is the conductivity and ρ the medium density.

Table 9-4: Properties for Near field requests. An example of the Result palette slicing for near fields is
displayed on the right.

Quantity Properties
Electric field Scale near field power
X
Y
Z
SAR

October 2013 FEKO User’s Manual


USING POSTFEKO 9-21

9.6.3 Currents and charges

The following Quantities and Properties are available for a Currents request, see Table 9-5.
Note that Magnetic currents are only applicable on dielectric surfaces modelled with the Surface
equivalence principle.

Table 9-5: Properties for Current requests. An example of the Result palette slicing for currents is displayed
on the right.

Quantity Properties
Electric currents Magnitude
Magnetic currents Instantaneous magnitude
Charges

9.6.4 SAR

Specific absorption rate (SAR) does not have any special properties as can be seen in Figure 9-15.

Figure 9-15: SAR palette in POSTFEKO.

POSTFEKO can display Specific absorption rate (SAR) values from near field calculations (see
Section 9.6.2), but if spatial peak SAR of either an 1g or 10g cube is required, a SAR calcula-
tion (see Section 3.9.7) may be requested. Refer to the SA card (see Section 14.62) for more
information regarding the control of specific absorption rate (SAR) calculations.
The result of the SAR calculation is displayed in the Result palette, see Figure 9-15. For peak SAR
calculations the position is shown as a cube in the 3D view. Note that this is only visible if the
geometry is transparent or cut away.
The power lost or dissipated per medium may be viewed by clicking on the Info box in the Result
palette when viewing SAR results on a 2D graph.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-22

SAR standards

The methodology in FEKO for the computation of the spatial-average SAR of a cube at a given
location is based on the recommendations by CENELEC [1] and the IEEE [2], [3]. FEKO cannot
follow the standards literally since they have been written for SAR calculations with an FDTD
code. As a result, a local peak SAR algorithm was developed for FEKO which is similar and
has the same goals as the algorithm proposed in P1528.1 [4], and also takes the intentions of
P1528.1, ICNIRP and the IEEE (when they set the basic restrictions) into account.
[1] CENELEC, “Basic Standard for the Measurement of Specific Absorption Rate Related to Hu-
man Exposure to Electromagnetic Fields from Mobile Phones (300 MHz−−3 GHz),” Tech. Rep.
EN 50 361, July 2001.
[2] IEEE C95.3-2002, IEEE recommended practice for measurements and computations of radio
frequency electromagnetic fields with respect to human exposure to such fields, 100 kHz-300
GHz, (Revision of IEEE C95.3-1991), January, 13th 2003.
[3] IEEE P1529/D0.0, “Draft Recommended Practice for Determining the Spatial-Peak Specific
Absorption Rate (SAR) Associated with the Use of Wireless handsets −− Computational Tech-
niques,” IEEE Standards Coordinating Committee 34, Subcommittee 2, 2002.
[4] IEEE P1528.1TM/D1.0 “Draft Recommended Practice for Determining the Peak Spatial-
Average Specific Absorption Rate (SAR) in the Human Body from Wireless Communications
Devices, 30 MHz - 6 GHz: General Requirements for using the Finite Difference Time Domain
(FDTD) Method for SAR Calculations”, Prepared by the Working Group 2 of the TC34/SC2 Com-
mittee, January 2007.

9.6.5 UTD/GO rays

The ray data type for UTD and GO simulations allows users to view the rays that were using
during the solution. The settings for rays allows the user to view individual rays or ray groups as
see n in Figure 9-16.

Figure 9-16: Ray data type palette in POSTFEKO.

Note that rays are not stored by default as the *.ray file can quickly become large and can be
disabled when ray visualisation is not required, see Figure 3-136.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-23

9.6.6 Error estimation

The following properties are available for Error estimates rays, see Table 9-6.

Table 9-6: Properties for error estimation requests. The Result palette is displayed on the right.

Properties
All mesh elements
Triangles
Segments

9.7 Using 3D views

The 3D view is a powerful tool for getting a feel for how the electromagnetic properties of an
environment behave. By setting the display properties of the meshed geometry, the theoretical
model properties and the results, information can be presented in such a way as to aid under-
standing. For each category, a tab exists that groups similar features together and make finding
features more intuitive.
The visibility settings of most of the model entities may be set on the Display tab. Tools such as
legends, cutplanes and axes are also available to help visualise the model and calculated results
to help derive useful information.

9.7.1 Working with large models

When a model is opened which has more than 500 000 elements, it may become difficult to work
with the 3D model due to memory required for 3D rendering and visualisation. Should a model
be opened containing more than 500 000 elements, the user will be prompted to choose whether
the model is to be displayed in the 3D view or only load the model into memory, see Figure 9-17.
This allows the results to be viewed and processed in both 2D graphs and 3D views without any
geometry visualisation.

Figure 9-17: The Large file dialog which is displayed prompting a user for a choice when opening a *.fek
file containing more than 500 000 elements.

9.7.2 Duplicating 3D views

October 2013 FEKO User’s Manual


USING POSTFEKO 9-24

The Duplicate view provides the option to make a copy of the current 3D view. Simply
duplicating the view will provide an identical copy of the current view, complete with all
settings. Select the Display tab and click on the Duplicate view button.

9.7.3 Setting the 3D view display options

The following 3D view display settings are available: setting the 3D view to greyscale, displaying
the 3D view boundary bounding box, adding annotations and the enabling/disabling of cut-
planes,

Set the view to Greyscale by selecting the Display tab and clicking on the Greyscale button.

The bounding box visibility applies to the geometry, but ignores the displayed results and
non-mesh geometry. Select the Display tab and click on the Boundary button.

Cutplanes can be added by selecting the Display tab and clicking on the Cutplanes button.
Figure 9-18 shows the dialog that is launched when clicking on the Cutplanes button.

Figure 9-18: The Cutplanes dialog.

On the Plane definition tab, the location of the cut plane can be set by defining a flat plane. The
Flip button alternates the normal direction of the plane, which in turn determines which side
of the plane will be hidden. Multiple planes may exist and a given plane can be removed or
deactivated on the tab for that plane. A global Visibility filter (shown on the right in Figure 9-18)
provides control over which entities should be affected by the cutplane. By default, everything
that can be visualised and is in the model will be affected. To change this, move the desired
components over to the Do not cut entities list on the right and click Apply. Note that the
visibility filter is shared between all cutplanes.

Annotations in the 3D view can be shown or hidden by selecting the Display tab and
clicking on the Annotation type button. To select how the annotations must be shown,
two options are available. The first is to highlight the selected element and to show an annota-
tion (Highlight and annotate elements). The second is to only highlight the element (Highlight
elements).
An annotation may be added to a 3D result by <Ctrl><Shift> + mouse click.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-25

Figure 9-19: An annotation is added at a specific point to a 3D result by <Ctrl><Shift> + mouse click.

9.7.4 Adding legends to 3D views

Legends can be added to any of the four corners in a 3D view. Each of the legend but-
tons will have a list of entities that it can bind to, depending on what is currently being
displayed. Select the Display tab and click on the Top left, Top right, Bottom left or Bottom right
button.
For a 3D view, it is occasionally useful to clamp data between two values. This affects the colour-
ing of the result, where blue will correspond to the minimum value and red to the maximum.
This can help reveal changes in a result between two values that would otherwise be missed.

Individual range: Control is given over the result value ranges for both linear and loga-
rithmic scaling (i.e. dB). Select the Display tab and click on the Individual range button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-26

For linear scaling the following options are available:

Automatically determined from data range:: The maximum and minimum values of the result is used.

Fixed range:: The range is fixed to user-defined extents specified by Maximum and Minimum.

For dB, the following options are available:

Automatically determined from data range: The minimum and maximum values of the result is used.

Specify max dynamic range: The range can also be defined by specifying the maximum dynamic
range. Here the maximum value of the result data will be used as the up-
per limit for the legend values. The minimum value of the result data will be
the maximum value of the result data minus the dynamic range value entered
or the minimum value of the result data, whichever is larger. Note that set-
tings on the 3D view legend range settings dialog will affect the dynamic range
limits.

Fixed range: The range is fixed to user-defined extents in dB specified by Maximum and
Minimum.

There are several settings that will affect the dynamic range limits. These can be accessed by
clicking on the dialog launcher in the corner of the Legends group. Figure 9-20 shows the dialog,
followed by an explanation of the entries.

Figure 9-20: The 3D view legend range settings dialog.

• Round off legend range and step size


Most data will have a large number of decimal values to accurately describe a given value.
This results in a legend range that is difficult to read and interpret. To mitigate this, the
values are rounded off and a range is selected that results in a legend that is more legible.
The actual data range will always fall within the rounded off range.

• Scale to peak instantaneous values


This is used when the magnitude of a result along with the instantaneous phase is shown.
The minimum and maximum value limits will remain constant for each phase step, meaning
that the definitions for the colours are always the same. This makes it simpler to see how
the magnitude changes over phase. When only the magnitudes at the given phase are of
interest, this box can be deselected so that the range limits synchronise with the currently
displayed data.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-27

• Scale to vector magnitude


Often, especially with near field results, one wants to compare two components with each
other. In these cases it is easier to compare relative magnitudes of the components if they
are scaled to the same maximum. The total vector magnitude is used to scale all result
components, so that a relatively small component is easily discernible from a larger one.

• Scale to visible results of the same quantity


It is possible to have several near field or far field requests in a model. Each request will
have its own minimum and maximum value. However, POSTFEKO automatically scales
the displayed data to keep all results that have been added into a view into account. This
makes it clear what the values are relative to one another. Deselecting this option will
render each result according to its own minimum and maximum value.

• Scale only to selected frequency


This option is only enabled when discrete frequency data is available in a model. Here
the range limits are determined by the minimum and maximum values for all calculated
frequency points. For example, seeing the change in gain for a far field over frequency is
simpler when the field is scaled according to all calculated points.

• Scale only to selected time step


Here the range limits are determined by the minimum and maximum values of the dis-
played data for the chosen sample of the time signal.

• Scale to request slice dimensions


It is not always possible or desirable to plot all requested result data at the same time. If
it is required that the range values are determined only by the displayed slice, this option
should be deselected. This is useful if only the range of data at a specific slicing is of
interest.

All of the above-mentioned options are selected by default. Each setting is applied independently,
meaning that a wide variety of combinations is available to help display the data in the desired
manner.

3D view legend titles may be edited by selecting the Display tab and clicking on the Legend
text button which will launch the Legend entry settings dialog. If the Auto checkbox is
selected, the legend title text will be automatically determined. Unchecking the checkbox will
enable the editing of the legend title.

Figure 9-21: The Legend entry settings dialog.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-28

9.7.5 Visibility of entities in 3D view

A show/hide functionality is available for entities in the 3D view. The following entities may
be shown/hidden: Sources, Loads, Cables, Points, Networks, Transmission lines and Receiving
antennas. By default, all entities except for named points are visible. Clicking on any enabled
button will toggle that entity’s visibility.

Sources: Enables/disables the visibility of sources in the 3D view. Select the Display tab
and click on the Sources button.
Loads: Enables/disables the visibility of loads in the 3D view. Select the Display tab and
click on the Loads button.
Cables: Enables/disables the visibility of cables in the 3D view. Select the Display tab
and click on the Cables button.
Probes: Enables/disables the visibility of probes in the 3D view. Select the Display tab
and click on the Probes button.
Points: Enables/disables the visibility of named points in the 3D view. Select the Display
tab and click on the Points button.
Networks: Enables/disables the visibility of general networks in the 3D view. Select the
Display tab and click on the Networks button.

TX line: Enables/disables the visibility of transmission lines in the 3D view. Select the
Display tab and click on the TX line button.

RX antenna: Enables/disables the visibility of receiving antennas in the 3D view. Select


the Display tab and click on the RX antenna button.

Figure 9-22: The Advanced entity display settings dialog.

For more options regarding the visibility of sources and loads, the advanced dialog shown in
Figure 9-22 can be used. For both sources and loads, a Show and Hide column is presented
which contains all sources/loads present in the model. By placing entries in the Show column,
sources/loads of that type will be shown only if the visibility for the entity type is enabled.
Additional options are provided for source visualisation. Here, sources can be coloured and/or
scaled by magnitude. This is often used in conjunction with aperture sources, electric dipoles,
magnetic dipoles and impressed currents.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-29

9.7.6 Visibility of symmetry, PBC and array base element in 3D view

A show/hide functionality is available for symmetry, periodic boundary conditions and base array
elements.

Symmetry: Enables/disables the visibility of symmetry in the 3D view. Select the Display
tab and click on the Symmetry button.

PBC: Enables/disables the visibility of PBC in the 3D view. Select the Display tab and
click on the PBC button.

Array base element: Enables/disables the highlighting of the array base element in the
3D view. The base element is indicated by a blue bounding box in the 3D view, see
Figure 9-23. Select the Display tab and click on the Array base element button.

Figure 9-23: The base element of the finite antenna array is indicated by a blue bounding box.

9.7.7 Visibility and opacity of planes/ground

A show/hide functionality is available for planes/ground. The opacity of the planes/ground can
also be set.

Planes: Enables/disables the visibility of planes in the 3D view. Select the Display tab
and click on the Planes button.

For planes, the opacity can also be set. A decrease in opacity will result in an increase of
transparency in the model. Select the Display tab and click on the Opacity button.

9.7.8 3D axes settings

Main axes: Enables/disables the visibility of the main axes in the 3D view.

Tick marks: Enables/disables the visibility of tick marks on the main axes in the 3D view.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-30

Mini axes: Enables/disables the visibility of the mini axes in the bottom left corner of
the 3D view.
For more options regarding the setting of the axis size and axis tick marks, the advanced dialog
shown in Figure 9-24 can be used. The dialog can be accessed by clicking on the dialog launcher
in the corner of the Axes group.

Figure 9-24: The Advanced axis settings dialog.

9.7.9 Mesh rendering options for the 3D view

The following options are available for the rendering of the mesh in the 3D view. Select the Mesh
tab and click on the Mesh colour button. The main Mesh colour button will change and show the
respective icon that is selected for colouring.

Element face media: The mesh faces are coloured according to the media it consists of.

Element region media: The mesh is coloured according to the region it finds itself in.
For example, a model in free space will be displayed in red to indicate that the outside
region is free space.

Element label: The mesh is coloured according to defined labels.

Element normal: The mesh is coloured according to the direction of the element normal
on the mesh face.
Element type: The mesh is coloured according to the type of elements it consists of. For
example, wire segments, metallic triangles and dielectric triangles will be indicated by
using different colours.

For segments, the radii can be artificially enlarged by selecting the Mesh tab and click on
the Segment radius button to multiply the defined radius by a factor between 1–10 times
the original radius.

If a model contains anisotropic layers, the display of the principal direction may be en-
abled by selecting the Mesh tab and clicking on the Anisotropic button. Figure 9-25 shows
the dialog for displaying the principal direction for anisotropic layers. Anisotropic layers are ap-
plied on a label. For each geometry part that is covered with an anisotropic dielectric layer, the
option is made available to show the principal direction. Since multiple layers can be present, it
is also necessary to specify which layer to show.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-31

Figure 9-25: The Anisotropic layer visualisation settings dialog.

Element normals can also be displayed using the Normals button which displays a line
indicating the normal direction. Select the Mesh tab and click on the Normals button.

For segments, the radii can be artificially enlarged using the Segment radius button which
multiplies the defined radius by a factor between 1–10 times the original radius. Select
the Mesh tab and click on the Segment radius button.

9.7.10 Opacity

The mesh opacity of the model may be specified by selecting the Mesh tab and clicking on
the Mesh opacity dropdown menubutton. For a setting of 0%, the element will be purely
transparent and will not be visualised. At 100%, no transparency will be applied, see Figure 9-26.

Figure 9-26: (a) A helicopter model with 100% opacity (b) a helicopter model with 20% opacity.

Since windscreen and aperture triangles have an inherent opacity setting, they can be customised
individually. Mesh opacity applies to all visualised geometry and the effect on aperture and
windscreen triangles are compounded.

Windscreen: Sets the mesh opacity of windscreens. Select the Mesh tab and click on the
Windscreen button.

Aperture: Sets the mesh opacity of apertures. Select the Mesh tab and click on the
Aperture button.

9.7.11 Visibility of mesh elements

For most mesh elements, it is possible to individually set the visibility for the faces, edges and
vertices of the triangles. Elements include: wire segments, metallic triangles, dielectric triangles,

October 2013 FEKO User’s Manual


USING POSTFEKO 9-32

Figure 9-27: Mesh visibility filter

aperture triangles, windscreen triangles, tetrahedra, cuboids, UTD polygons and UTD cylinders.
For special cases, different settings are given. These cases are wire segments (surfaces, lines,
vertices), tetrahedra (faces, edges, vertices, volume) and UTC cylinders (faces, edges). The
visibility filter provides additional control over the visibility of mesh elements. The visibility filter
is accessed through the associated button and provides the functionality to filter out mesh regions
with a specific label, or to filter out specific media.

Segments: Set the visibility of mesh segments by enabling/disabling Surfaces, Lines and
Vertices.
Metal: Set the visibility of metal mesh triangles by enabling/disabling Faces, Edges and
Vertices.
Dielectric: Set the visibility of dielectric mesh triangles by enabling/disabling Faces,
Edges and Triangles.

Aperture: Set the visibility of apertures by enabling/disabling Faces, Edges and Vertices.

Windscreen: Set the visibility of windscreens by enabling/disabling Faces, Edges and


Vertices.
Tetrahedra: Set the visibility of tetrahedra by enabling/disabling Faces, Edges, Vertices
and Volume.
Cuboids: Set the visibility of cuboids by enabling/disabling Faces, Edges and Vertices.

UTD polygons: Set the visibility of UTD polygons by enabling/disabling Faces, Edges and
Vertices.
UTD cylinders: Set the visibility of UTD cylinders by enabling/disabling the display of
Faces and Edges.

9.7.12 Tools

POSTFEKO provides a set of tools that can be used to help identify specific parts of a geometry
or to ascertain certain properties about the geometry.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-33

The Measure distance feature places the 3D view into a mode that will measure the dis-
tance between any two selected points. To use the distance measurement mode, use the
following procedure:

• Click on the Measure distance button to open the distance measurement tool.

• Hold down <Ctrl>+<Shift>

• Click to remember the first point.

• Repeat this process for the second point. The distance will be displayed in the tool.

The Measure angle tool works in much the same way, except that three points are required.

Figure 9-28: The Locate geometry dialog.

The Find elements tool is used to identify mesh elements by their internal ID’s. This is
often used when kernel errors or warnings are given. An element type must be specified
before entering the element ID in the dialog window (see Figure 9-28). Multiple ID’s may be
found at the same time by using a comma separated list. The 3D view will add a preview
annotation to the specified elements. When the Add annotation(s) button is pressed, a permanent
annotation is linked to that element(s), otherwise annotations will disappear once the dialog is
closed or the selection is cleared.
Mesh connectivity is a tool that indicates the free edges of a geometry by drawing a red
line on the edge. In other words, mesh elements that do not connect to other elements
are shown. Such elements typically appear at the edges of plates or at the ends of wires. When
complicated or imported geometries are used, the mesh connectivity can show where the geom-
etry does not line up correctly for an enclosed mesh. The mesh connectivity tool is a mode that
can be either enabled or disabled on the ribbon.
Options are available for mesh highlighting, if any is desired. The selected solution type will be
highlighted in the 3D view by displaying a yellow grid over elements that are solved with that
method. Solution types include: None, Lossy metal, Coating, CFIE/MFIE, EFIE, Impedance sheet,
Physical optics, Physical optics (Fock regions), Geometrical optics, Uniform theory of diffraction,
FEM, VEP, Windscreen solution elements, Planar Green’s function aperture triangles and Numer-
ical Green’s function. The highlighting is activated by selecting the Mesh tab and clicking on the
Highlight button. The associated button which will then change and show the icon corresponding
to the selected highlighting option. To deactivate, select the “none” option.

9.8 3D Results

The following are available for 3D results: duplicating and storing a copy, rendering options, the
display of request points, contours, arrows and rays.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-34

9.8.1 Managing results

A 3D result may be duplicated of a selected result. Note that its visualisation settings will
also be duplicated. Select the Result tab and click on the Duplicate component button.

It is also possible to store a local copy of a result. This result will be stored in the POST-
FEKO session and becomes independent from any future changes made to the model.
Note that a copy of the stored result is displayed in the view as soon as the copy is made. Select
the Result tab and click on the Store a copy button.

9.8.2 Rendering of results

The rendering options may be applied to fields, near fields, currents and error estimates. In most
cases, the rendering options will be useful for near and far fields.

The Grid button enables visibility of a mesh grid on top of the result, which helps give a
sense of dimension to 3D results. Select the Result tab and click on the Grid button.

When the Surface option is deselected, the coloured surface of a result is hidden. Select
the Result tab and click on the Surface button.

The Sampling settings option applies to 3D continuous far field data (see Section 3.9.1).
The following sampling options are available: Auto, Request points and Specify angular
resolution, see Figure 9-29. The Auto option is the default rendering and is automatically deter-
mined based on the sampled data. Selecting the Request points option allow sampling at the far
field request points. The Specify angular resolution option allows for the sampling interval to be
specified. Select the Result tab and click on the Sampling settings button.

Figure 9-29: The Continuous sampling settings dialog.

Discrete colouring removes the interpolated colouring of a surface and uses a predefined
set of colours to represent the surface. Select the Result tab and click on the Discrete
button.

The Colour option applies to the selected isometric surface (for 3D near fields). Select the
Result tab and click on the Colour menu button. The colour of the contours may be set to
By magnitude or to a specific colour of choice.

By using the Offset option, the far field origin may be moved to a position of choice. Select
the Result tab and click on the Offset button, see Figure 9-30.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-35

Figure 9-30: The Set display offset dialog.

The size of a far field may also be specified by selecting the Result tab and clicking on the
Size button. The new size of the far field may then be specified by selecting the percentage
of the original size.

The Opacity option sets the amount of transparency: For a setting of 0%, the element
will be purely transparent and will not be visualised. At 100%, no transparency will be
applied.

Extrusion applies to Cartesian near field surfaces that lie in a flat plane. Select the Result
tab and click on the Opacity button. Select the Result tab and click on the Extrusion button
to access the following options for the extrusion of a flat near field surface or far field:

0% For far fields an extrusion of 0% will result in a fixed radius sphere, see Figure 9-31(a). For
near fields an extrusion of 0% denotes a flat surface, see Figure 9-31(b).

100% For far fields an extrusion of 100% results in a far field with its radius as a function of
value, see Figure 9-32(a). For near fields an extrusion of 100% results in a surface with its
height as a function of value, see Figure 9-32(b).

Auto For far fields the Auto setting for Electric field, Gain, Realised gain and Directivity is iden-
tical to extrusion set to 100%. For Axial ratio and Handedness the Auto setting will result
in an extrusion set to 0%. For near fields the Auto settings results in 0% extrusion (flat
surface).

Custom The custom option allows extrusion to be set to any value between 0% and 100%.

Figure 9-31: (a) A far field with 0% extrusion which implies a fixed radius sphere (b) a near field with 0%
extrusion.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-36

Figure 9-32: (a) A far field with 100% extrusion (b) a near field with 100% extrusion.

9.8.3 Display of requests points

Before a simulation is run, it is good practice to validate that data has been requested in the
correct locations. The Request points and Boundary options may be used to ensure that near
and far fields have been requested correctly. Requests points will automatically be shown if no
result data is present. Once data becomes available, the result data will be shown and the request
points will be hidden. This behaviour corresponds to the Auto request points display.
Request points can also be forced on or off by choosing Display request points or Don’t display
request points, respectively.

Auto request points display: Request points will be automatically be shown if no result
data is present. Once data is available, the result data will be shown and the request
points will be hidden. Select the Result tab and click on the Request points menu button.

Display request points: Request points are always displayed. Select the Result tab and
click on the Request points menu button.

Don’t display requests points: Request points are never displayed. Select the Result tab
and click on the Request points menu button.

Settings: The user may specify the display type of the request points. It may be indicated
by means of Points, Lines and Surface. Select the Result tab and click on the Settings
button to launch the Request points display settings dialog, see Figure 9-33.

Boundary: The boundary of the near field may be displayed by selecting the Result tab
and clicking on the Boundary button.

Figure 9-33: The Request points display settings dialog.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-37

9.8.4 Contours

Contour lines are curves that connect points where a function has identical values. The following
contour options are available: The display of contours, setting the colour of the contours and
specifying the number of contours or contour values.

The Show contours button toggles the visibility of the contour lines. Select the Result tab
and click on the Show contours button.

The colour of the contours can be set to any value, or the colour can be linked to the
magnitude of the displayed value. Select the Result tab and click on the Colour button.

A user may elect to specify the Number of contours or to Specify the contour values. The
latter option allows for any number of contours that lie on user-specified positions. The
position can either be defined by its magnitude value, or by specifying a percentage of the value
range. Select the Result tab and click on the Position button to launch the Contour positions
dialog, see Figure 9-34.

Figure 9-34: The Contour positions dialog.

9.8.5 Arrows

Arrows indicate the direction in which a current flows or the direction in which a field is pointing.
As these results change over time, arrows can only be plotted if the magnitude of such a result is
shown for a specific phase value. Under Quantity in the Result palette, Instantaneous should be
selected and the phase should be specified.

Arrows are enabled by selecting the Result tab and clicking on the Show arrows button.
Once arrows are displayed by using the Show arrows button, the colour and size can be
set. Note that the arrows are scaled by their magnitude by default.

Colour: Specify the colour of the arrows such as Colour by magnitude or as a specified
colour for the selected result. Select the Result tab and click on the Colour button.

Fixed size: Enable/disable the fixed size of arrows for the selected result. Select the
Result tab and click on the Fixed size button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-38

Arrow size: Specify the arrow size as a percentage for the selected result. Select the
Results tab and click on the Arrow size button.

9.8.6 UTD Rays

Different aspects of rays may be displayed independently from one another. Ray lines, Ray
numbers, Group numbers and Intersections may be displayed in any combination by selecting
the appropriate button. It is then also possible to colour the displayed ray lines by magnitude.
The visibility threshold can be set to only allow the higher magnitude rays to be displayed. This
helps reduce clutter and only leave the most important rays in the view.

Ray lines: Show/hide the display of ray lines for the selected result. Select the Result
tab and click on the Ray lines button.

Ray numbers: Show/hide the display of ray numbers for the selected result. Select the
Result tab and click on the Ray numbers button.

Group numbers: Show/hide the display of the ray group numbers for the selected result.
Select the Group numbers button.

Intersections: Show/hide the display of ray intersection points for the selected result.
Select the Result tab and click on the Intersections button.

Threshold: Specify the visibility threshold of the rays for the selected result. Select the
Result tab and click on the Threshold button.

Colour magnitude: Enable/disable the colour by magnitude as display option for rays for
the selected result.

9.8.7 Animation

Animation can be performed by varying a property over time. The properties that can be ani-
mated include: phase, frequency and the camera angle. Phase and frequency animation requires
a result to be present that varies over these parameters. Camera angle animation only requires a
geometry to be present. The camera angle may be animated over only phi, only theta, or theta
and phi simultaneously.
For frequency and phase animations, the results that will be affected must be added to the view
and be made visible. For camera angle animations, only the geometry is required.

By pushing the Play button, the animation will commence.


The speed with which the animation variable changes can be set using the Faster and
Slower buttons. Deselecting the Legend button will remove the description at the bottom of the
screen.

Phase: The 3D result is animated over phase. Select the Animate tab and click on the
Type button.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-39

Frequency: The 3D result is animated over frequency. Select the Animate tab and click
on the Type button.

Time step: The 3D result is animated over a time step. Select the Animate tab and click
on the Type button.

Phi rotate: The camera angle is animated over the phi angle. Select the Animate tab and
click on the Type menu button.

Theta rotate: The camera angle is animated over the theta angle. Select the Animate tab
and click on the Type menu button.

Theta and Phi rotate: The camera angle is animated over the theta and phi angles. Select
the Animate tab and click on the Type menu button.

Animation settings: The advanced animation settings allow for more precise definition
regarding the speed and resolution with which a variable animates. Each property speci-
fies how much the variable must change per second. For example, a Phase (ωt/s)=30.00◦ means
that the phase will increment by 30◦ every second, which will produce a complete 360◦ loop in
12 seconds. The other properties work in much the same way. Select the Animate tab and click
on the Animation settings button.
Note that for continuous frequency models, it is necessary to break the continuous run into
discrete steps. The combination of Frequency (points(s)) and Continuous frequency (# of points)
will then determine the sampling resolution and animation speed.

Figure 9-35: The Advanced animation settings dialog.

Export animation: Exporting an animation is also possible. Movies can be saved in


*.avi, *.mov, or *.gif formats. Setting the quality affects the compression ratio for
the specified screen size. For very high-quality exports, it is good practice to reduce the screen
size to as small as is need and setting the Export quality to high. Setting the frame rate will affect
how “smooth” the animation appears. Export works on the currently selected animation type and
settings.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-40

Figure 9-36: The Export animation dialog.

9.9 Time analysis

With the Time analysis functionality in POSTFEKO, electromagnetic scattering problems can be
analysed in the time domain. The relevant calculations are done in the frequency domain and
FFT/IFFT algorithms are used to transform the data to the time domain.

0
t0 Defining the input signal
pw

1 2 Define pulse mathematically


sd

Time axis unit: Specify the unit to be used for the time axis..
f(t)
u(t)

Total signal duration (sd ): The total length of the signal in the specified
units.
sd f(t): Analytical equation describing the input pulse, where “t”
Time t can be used as the input time variable.

Double exponential pulse 1 (charge/discharge)

Time axis unit: Specify the unit to be used for the time axis.

Total signal duration (sd ): The total length of the signal in the specified
units.

Amplitude (u0 ): The amplitude of the time signal.


u0
Pulse delay (t 0 ): The duration of the rest period before the pulse begins
u(t)

cd to charge up.
t0 1 2
sd Charge duration (cd ): The charge duration is the time from the pulse
Time t delay has ended until the signal begins to discharge.

Charge time constant (τ1 ): The time that would be required to charge
the signal up to 63.2% of its full potential (u0 ).

Charge time constant (τ2 ): The time that would be required to dis-
charge the signal down to 36.8% of its full potential (u0 ).

October 2013 FEKO User’s Manual


USING POSTFEKO 9-41

0 for t ≤ t0

t−t 0
 ‚ Œ


u1 1− e τ1 for t 0 ≤ t ≤ cd + t 0

u(t) = (9-15)


 t−t 0

u2 e τ2 for t ≥ cd + t 0
u0 u0
u1 = cd u2 = cd (9-16)
− −
1− e τ1 e τ2

Double exponential pulse 2

Time axis unit: Specify the unit to be used for the time axis.

Total signal duration (sd ): The total length of the signal in the specified
units.

Amplitude (u0 ): The amplitude of the time signal.


u0
Pulse delay (t 0 ): The duration of the rest period before the pulse begins
u(t)

2
1 to charge up.
: ( 2 - 1)
t0 sd Time constant (τ1 ): The pulse is defined as the difference of two expo-
Time t nentially charging pulses. The value of τ1 describes the
time that would be required for the subtracted signal to
reach 63.2% of its full potential (u0 ).

Time constant (τ2 ): The value of τ2 describes the time that would be
required for the base signal to reach 63.2% of its full poten-
tial (u0 ).


0 for t ≤ t0
t−t 0 t−t 0
 ‚ Œ
u(t) = − − (9-17)
 u0 e τ1 − e τ2 for t > t0

Gaussian pulse (normal distribution)

Time axis unit: Specify the unit to be used for the time axis.

Total signal duration (sd ): The total length of the signal in the specified
u0 units.
u(t)

pw Amplitude (u0 ): The amplitude of the time signal.


t0 Pulse delay (t 0 ): The time taken for the pulse to reach its peak.
sd
Time t
Pulse width (pw ): This is the half-amplitude pulse width of the signal.
The pulse width is the total length of time that the signal is
above 50% of its peak value (u0 ).

2
(t−t 0 )2
u(t) = u0 e−ma (9-18)

October 2013 FEKO User’s Manual


USING POSTFEKO 9-42
p
2 ln(2)
ma = (9-19)
pw

Ramp pulse

Time axis unit: Specify the unit to be used for the time axis.

Total signal duration (sd ): The total length of the signal in the specified
units.

Amplitude (u0 ): The amplitude of the time signal.

u0 Pulse delay (t 0 ): The time required for the signal to reach the centre of
its pulse width (pw ).
u(t)

t0
pw
Pulse width (pw ): This is the half-amplitude pulse width of the signal.
1 2
sd The pulse width is the total length of time that the signal is
Time t above 50% of its peak value (u0 ).

Rise time (τ1 ): The time required for the pulse to reach its peak value
(u0 ) from rest.

Rise time (τ2 ): The time required for the pulse to reach the rest value
from its peak (u0 ). Note that the discharge time will be
determined by the pulse width (pw ).

t ≤ t1 + t0

0 for
|t − t 2 − t 0 |

  
u0 1 − for t1 + t0 ≤ t ≤ t2 + t0



τ1



u(t) = u0 for t2 + t0 ≤ t ≤ t3 + t0 (9-20)
|t − t 3 − t 0 |

  

u0 1 − for t3 + t0 ≤ t ≤ t4 + t0


τ


 2
0 for t ≥ t4 + t0
pw + τ1 pw − τ1 pw − τ2 pw + τ2
t1 = − t2 = − t3 = t4 = (9-21)
2 2 2 2

Triangular pulse

Time axis unit: Specify the unit to be used for the time axis.

Total signal duration (sd ): The total length of the signal in the specified
u0 units.
u(t)

pw Amplitude (u0 ): The amplitude of the time signal.


t0
sd Pulse delay (t 0 ): The time taken for the pulse to reach its peak.
Time t
Pulse width (pw ): This is the half-amplitude pulse width of the signal.
The pulse width is the total length of time that the signal is
above 50% of its peak value (u0 ).

October 2013 FEKO User’s Manual


USING POSTFEKO 9-43

 u 1 − |t − t 0 |
 
0 for |t − t 0 | ≤ 2pw
u(t) = 2pw (9-22)
0 for otherwise

Specify points manually

Time axis unit: Specify the unit to be used for the time axis.
(X 2 ,Y2) (Xn ,Yn)
u(t)

[X,Y]:
u0 Specify the X and Y coordinates of the time signal. The
pulse will be resampled using number of specified samples,
where linear interpolation between the defined points will
(X1,Y1 ) Y be used. Note that the list of points can be imported from
Time t
any comma separated value file.
sd

Adding time results to a view t0

Time signal: Adds a time result to a valid view. Select the Time analysis context tab and
click on the Time signal button.

Far field: Adds a far field time analysis result to a valid view. Select the Time analysis
context tab and click on the Far field button.

Near field: Adds a near field time analysis result to a valid view. Select the Time analysis
context tab and click on the Near field button.

Sources: Adds a sources time analysis result to a valid view. Select the Time analysis
context tab and click on the Sources button.

Loads: Adds a load time analysis result to a valid view. Select the Time analysis context
tab and click on the Loads button.

Networks: Adds a network time analysis result to a valid view. Select the Time analysis
context tab and click on the Networks button.

Currents: Adds a currents time analysis result to a valid view. Select the Time analysis
context tab and click on the Currents button.

Cables/probes: Adds a SPICE probe time analysis to a valid view. Select the Time analysis
context tab and click on the SPICE probes button.

9.10 Script editor

FEKO provides a powerful scripting language allowing users to create scripts that control POST-
FEKO, CADFEKO and other applications. Scripting also allows the manipulation of data so that it
can be visualised and analysed further in POSTFEKO. A script editor enables scripts to be created
with ease. More information regarding the application programming interface and Lua program-
ming basics for CADFEKO (see Section 7) and POSTFEKO (see Section 10) is available and should
be consulted.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-44

Math scripts can be created directly from the ribbon. Once the script has been created
the script editor will be displayed where other scripts can be created, modified or opened.
General API scripts can also be created in the scripting editor (see Figure 9-37). Features such as
syntax highlighting and code completion make editing scripts simpler and more efficient.

Figure 9-37: Editor for Lua scripts in POSTFEKO.

Scripting allows for the manipulation and creation of data which can then be displayed in POST-
FEKO as an internal data entity. For example, an existing near field can be pulled into a script,
modified and returned. POSTFEKO can then use this data as though it was generated by the
kernel. An alternative example is that a theoretical or measured pattern can be generated or
imported into a script. This result can then be displayed and compared to simulated data.
The script will be executed when the Run button is pressed. Saving a script will keep the changes
made to the script and also save the POSTFEKO session. The editor can be cleared using the Clear
all button or printed using the Print button. Undo and Redo is also available. The clipboard can
be utilised through use of the Copy, Cut and Paste buttons. Block comments can also be managed
using the Comment and Uncomment buttons. Additional help can be accessed using the Help
button.

Print: Print the contents of the editor.

Clear all: The contents of the editor is cleared.

Save the script and session: The script and the POSTFEKO session are saved. Shortcut:
<Ctrl><S>

Run the script: The active script in the Script editor is executed. Shortcut: <Ctrl><R>

Pause the script execution: The active script in the Script editor is executed. Shortcut:
<F6>

Step to the next line of code: Step to the next line of code in the active script in the Script
editor. Shortcut: <F5>

October 2013 FEKO User’s Manual


USING POSTFEKO 9-45

Stop the script execution: The active script in the Script editor being executed is stopped.
Shortcut: <F7>
Toggle the breakpoint: The breakpoint in the active script is toggled. It creates an inten-
tional stop in the script for debugging purposes. Shortcut: <F8>
Clear the console: The console is cleared from output. Shortcut: <Ctrl><Shift><X>
Add to application macro library: Add the currently selected automation script to the
macro library (see Section 9.12).
Undo: Undo the last action. The Undo stack depth is by default set to 20. It may be
changed on the Settings anchor on the Application menu. Shortcut: <Ctrl><Z>
Redo: Redo the last action. The Undo stack depth is by default set to 20. It may be
changed on the Settings anchor on the Application menu. Shortcut: <Ctrl><Y>
Copy: Copy the selected text from the active script in the Script editor and places it on
the clipboard. Shortcut: <Ctrl><C>
Cut: Cut the selected text from the active script in the Script editor and places it on the
clipboard. Shortcut: <Ctr><X>
Paste: Paste the text from clipboard to the active script in the Script editor. Shortcut:
<Ctrl><V>
Find/replace text in the script: A Find and Replace tool with the following text search
functionality: Find next, Find previous, Replace, Replace all, Close. Shortcut: <Ctrl><F>
Comment: Block comment the selected comments from the active script in the Script
editor. Shortcut: <ALT><C>
Uncomment: Uncomment the selected comments from the active script in the Script
editor. Shortcut: <ALT><U>
Launch help: Additional help may be accessed by clicking on the Help button. The help
button will be opened at the section describing the usage of Lua in POSTFEKO.
By default, a script will be re-evaluated once any of the result files in the session are reloaded.
There are cases where this behaviour is not desired, such as when the script requires many
system resources or is not dependent on the data being reloaded. If the automatic re-evaluation
is disabled, the dialog must be opened and the script rerun manually for the results to update.

9.11 Custom dialogs (Forms)

During the execution of an automation script (see Section 10), it is possible to dynamically
generate customisable dialogs. This allows scripts to be more interactive and flexible. When used
in conjunction with the custom command library (see Section 9.12), it is possible to effectively
extend the user interface for a variety of custom workflows.
Dialogs can be constructed by using ‘Forms’ in the application automation scripting environment.
A form can contain form items (e.g. check boxes, radio button groups, etc.) for the purpose of
obtaining feedback from a user each time the script is run. A single script can therefore behave
differently depending on the decisions that are made during execution.
Figure 9-38 shows many of the form items that can be used as components of a custom dialog. It
demonstrates the ability of a dialog to request many different types of information from a user.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-46

Figure 9-38: A demonstration dialog that illustrate several of the form items that are available.

9.11.1 Example script

To illustrate how form dialogs are created, a small example is considered. The expected out-
put of the script is depicted in Figure 9-39 (when run with the ‘Horn’ model from the Getting
Started Manual). The script asks the user for an S-parameter result graph title and then plots
that result on a new Smith chart. For more information on the objects, properties and meth-
ods that are available for form dialogs, refer to Form (see Section 10.3.52) and FormItem (see
Section 10.3.65) in the API reference.

Figure 9-39: A small example dialog.

app = pf.GetApplication()
-- ...
form = pf.Form.New("Simple Form Dialog") -- Create the dialog

-- Create the dialog’s items


spResultSelector = pf.FormDataSelector.New("Select an S-parameter result",
pf.Enums.FormDataSelectorType.SParameter)

lineEdit = pf.FormLineEdit.New("The title of the chart")


lineEdit.Value = "Smith Chart"

-- Add the items to the dialog


form:Add(spResultSelector)
form:Add(lineEdit)
form:Run() -- Run the dialog

-- Extract and use the chosen values


smithChart = app.SmithCharts:Add()
smithChart.Title.Text = lineEdit.Value
smithChart.Traces:Add(spResultSelector.Value)
-- ...

October 2013 FEKO User’s Manual


USING POSTFEKO 9-47

9.12 Application macro library

The application macro library is a repository of commonly used automation scripts (see Sec-
tion 10.1). Application macros are made available directly in POSTFEKO as a button with its
own name and icon. When used in conjunction with custom dialogs (see Section 9.11), it is
possible to effectively extend the user interface for a variety of custom workflows.
Application macros essentially keep a reference to an automation script, icon file and associated
metadata. These references to the scripts are stored in two places:

1. In the FEKO home directory for global access:


<FEKO_HOME>\shared\customcommandlibrary

2. In the FEKO user directory for local access:


<FEKO_USER_HOME>\customcommandlibrary

Note that POSTFEKO will always store and manage application macros from the FEKO user
directory. To make a command globally available, it must be copied from the user directory to
the global home directory.

Figure 9-40: The Application macro library dialog.

Figure 9-40 depicts the application macro library. From here, scripts can be added, removed,
modified or executed. A filter is provided that searches through the labels of the commands.
Only commands that contain the filter text in its name will be displayed. The following actions
can be performed

Add Adding a script to the command library can be done by clicking on Add or by clicking on
the Add to application macro library button in the script editor.

Remove Removing a script can be done by pressing the Remove button or by right-clicking on a
command and selecting Remove from the menu.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-48

Run Running a script can be done by pressing the ‘play’ button or by right-clicking on a command
and selecting Run from the menu.

Open script To modify the script (i.e. the behaviour of a command) in the script editor, right-
click on a command and select Open script from the menu.

Edit properties To modify the command, right-click on a command and select Edit properties
from the menu. The location of the script, a reference to the icon image and the command’s
label can be set here. See Figure 9-42.

Note that only scripts that are locally stored in the FEKO user directory may be modified or
removed.

Figure 9-41: Accessing application macros and the application macro library from the ribbon.

Figure 9-41 shows how to access application macros from the ribbon. The library can be opened
from here, or commands can be run directly.

Add to application macro library: Add the currently selected automation script to the
application macro library from the script editor.

Figure 9-42: Adding or modifying an application macro.

Figure 9-42 depicts the properties of an application macro. The properties are used to identify
and describe a command more easily. The following properties are defined:

Script location A reference to the automation script is stored. The location of the script may be
anywhere that the current user has access to. Only a reference to the script is maintained,
which means that modifying the script in its original location or removing it may have an
affect on the application macro.

Description This field can be used to provide more details about what a command does.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-49

Icon An icon will be displayed next to the command label any time that the command is exe-
cuted. The icon may be any of the default icons that are provided, otherwise a file on disk
may also be used. The images used for icons may be any size (although they will be scaled
to fit in POSTFEKO) and may be *.bmp, *.png or *.jpg format.
Label The label is used as the name of the command. This is the text that will be displayed on
any menus next to the icon and will be used to identify a command.

An overview and in-depth reference of how to create the scripts that are used for application
macros is given in the scripting chapters (see Section 7.1).

9.13 Generating reports

POSTFEKO is a useful tool to help analyse and present data in a useful format. Once this has
been achieved, it is often desired to use the processed results in a report or presentation. To
help make it easier to generate these reports, several tools are available in POSTFEKO. The data,
images or animations can be exported, a Quick report can be generated, or a predefined template
report can be populated.

9.13.1 Exporting and copying data, images and animations

Export image: Export image to file for the active view. User may specify the Image
format, Export size and Size (pixels). Images will export with a transparent background
when the image type supports transparency. Shortcut: <Ctrl><E>
Copy image: Copy the image of the active view to clipboard. Shortcut: <Ctrl><C>
Export all images: Export all images (graphs and 3D views) to a directory. User may
specify the Image format, Export size and Size (pixels).
Export animation: Opens the Export animation dialog to specify the export parameters
such as File format, Export quality, Export size, Number of pixels and Frame rate.

9.13.2 Quick reports

A quick report generates a report containing selected images and headers from a POST-
FEKO session whilst requiring minimum input from a user. Microsoft PowerPoint and
Word documents may be generated, as well as a PDF (Portable Document Format) report. For
the MS Office reports, MS Office 2003 or newer must be installed on the machine where the
report is being generated.
For the Quick report generation the FEKO template is used. An example showing the FEKO
template for MS Word and MS PowerPoint is given in Figure 9-43 and Figure 9-44.
Figure 9-45 shows the interface to the Quick report tool where the user may specify the following:
Page title, Graph and Caption for the quick report. The option is also given to select between
Portrait and Landscape format or the report.
These reports may be used as a starting point for a document and be styled and extended as
required. The PDF reports cannot be modified with most PDF viewers, but given the correct
software can also be extended.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-50

Figure 9-43: Example showing the FEKO template for the quick report generation of a MS Word document.

Figure 9-44: Example showing the FEKO template for the quick report generation of a MS PowerPoint
slideshow.

Figure 9-45: The Create quick report dialog.

9.13.3 Generating a report from a template

When it is required to create consistent reports, a template report may be used. The reports
are generated from a preconfigured POSTFEKO report template using the styling from a MS
PowerPoint or Word template. These styled templates can be obtained from Microsoft or created
by the user to contain a specific theme, company logo and branding.
From MS Office 2010 and onward, it is recommended to create templates by means of “content
controls”.
For MS Office 2007 and older, it is recommended that the templates be created by means of
“rectangular shape placeholders” (see Section 9.13.3). (Note that MS PowerPoint 2003 is not
supported by FEKO for report generation.)

October 2013 FEKO User’s Manual


USING POSTFEKO 9-51

Using content controls to create a POSTFEKO reporting template

The workflow for generating a report by means of content controls is as follows. Note that the
workflow and images described below is for MS PowerPoint and Word 2013. Other versions
could differ from the workflow given below:

Create Microsoft template: The first step is to create an MS PowerPoint (*.potx) or MS Word template
(*.dotx) document with a theme. It can be done by using one of the tem-
plates provided by Microsoft. Alternatively, a PowerPoint or Word document
can be created with the required styling and saved as a *.potx or *.dotx file
(template file), see Figure 9-46 as an example.

Template

FEKO is a product of EM Software & Systems – S.A. (Pty) Ltd www.feko.info

Figure 9-46: An example of a MS Word template (*.dotx file) with the styling including the FEKO logo
and branding.

Choose graphs: In POSTFEKO, determine the graphs to be added to the report. For this ex-
ample, the startup model will be used. The required 3D view and graphs are
startup1, Cartesian graph1 and Smith chart1, see Figure 9-47.

Activate the Developer tab: The Developer tab in PowerPoint or Word is activated by selecting Op-
tions on the application menu. Select the Customize Ribbon tab and check the
Developer checkbox, see Figure 9-48.

Add Content Controls: Select the Developer tab in PowerPoint or Word on the ribbon. Add a Pic-
ture Content Control (Controls group) to the template at each location in the
template where a graph will be added.

Enable Design Mode: On the Developer tab, click on Design Mode (Controls group) to enable Design
Mode.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-52

Figure 9-47: The startup model with the 3D view (startup1), Cartesian graph (Cartesian graph1) and
Smith chart (Smith chart1) which will be required for the report.

Figure 9-48: The Word options dialog in MS Word. The dialog is launched by selecting the Options entry
on the application menu. Check the Developer checkbox to enable the Developer tab in MS
PowerPoint or Word.

Add tags: For each content control, right-click and from its context menu, select Proper-
ties. On the Content Control Properties dialog, add the tag which will link to a
specific POSTFEKO graph. For this example, the tag will be TagFor3dView, see
Figure 9-49.

Create POSTFEKO report template: After the MS PowerPoint or MS Word template has been created,
the POSTFEKO report template settings must be specified. Select the Reporting
tab and click on the New from template button. It will launch the Configure
report dialog (see Figure 9-50) where the following options must be specified:

Document type: The file format (PowerPoint or Word) of the report


to be generated.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-53

Figure 9-49: The Content Control Properties dialog in MS Word where the tag for the POSTFEKO graph is
specified.

Template: The template to be used for the report generation.

Figure 9-50: The Configure report dialog.

Specify graphs and tags: Specify the POSTFEKO graphs and their unique tags as used in the MS tem-
plate, see Figure 9-52.

After a report template has been defined, it will be available in the project browser below Tem-
plate reports. Note that no report has yet been generated. Only the template for the report
generation is created

October 2013 FEKO User’s Manual


USING POSTFEKO 9-54

Figure 9-51: Specify the POSTFEKO graphs and their tags. The tags should correspond to the tags used in
the template, see Figure 9-52.

Generate report: Lastly, after the report template is defined, the report may be generated by
clicking on the Generate report button. Select the desired report template
from the dropdown list. A prompt for the file location and name will appear,
after which the report will be generated and saved to the chosen location

Using rectangular placeholders to create a POSTFEKO reporting template

The workflow for generating a report by using of rectangular placeholders is:

Create Microsoft template: The first step is to create an MS PowerPoint (*.potx) or MS Word template
(*.dotx) document with a theme. It can be done by using one of the tem-
plates provided by Microsoft. Alternatively, a PowerPoint or Word document
can be created with the required styling and saved as a *.potx or *.dotx file
(template file), see Figure 9-46 as an example.

Choose graphs: In POSTFEKO, determine the graphs to be added to the report. For this ex-
ample, the startup model will be used. The required 3D view and graphs are
startup1, Cartesian graph1 and Smith chart1, see Figure 9-47.

Add “placeholders” in template: Add a rectangle (Shapes) to the template for each required graph. It
will act as a placeholder for the graph. Select each placeholder individually and
add the text <feko:image:tag>, where tag will be a unique label linking to
a specific graph or 3D view.
For this example, the tags will be: TagFor3dView, TagForSmithChart and Tag-
ForCartesianGraph, see Figure 9-52. Also add text descriptions and titles for
the graphs/3D view, if required.

From here on the steps for “rectangular placeholders” are the same as for content controls. See
the steps Create POSTFEKO report template, Specify graphs and tags and Generate report above
in Section Using content controls to create a POSTFEKO reporting template (see Section 9.13.3).

October 2013 FEKO User’s Manual


USING POSTFEKO 9-55

Template Template

<feko:image:TagFor3dView>

<feko:image:TagForSmith <feko:image:TagForCartesian
Chart> View>

FEKO is a product of EM Software & Systems – S.A. (Pty) Ltd www.feko.info FEKO is a product of EM Software & Systems – S.A. (Pty) Ltd www.feko.info

Figure 9-52: (a) The template with “rectangular placeholders” at the positions in the template where the
3D view and graphs will be required and (b) the report that will be generated when using
this template.

9.14 Errors and warnings

Errors and warnings are presented in a variety of ways depending on the source and severity of
the notification. Notifications can be triggered by:

• changes made to model (*.fek) or result (*.bof) files from outside POSTFEKO;
• results and traces that are added to a view but do not have the necessary data for visuali-
sation;
• or a user action that either needs to be confirmed or is invalid.

In each case, there is a different mechanism for indicating the error/warning message. The
mechanisms include icons next to results that are in error, a dialog indicating that a workflow
error in POSTFEKO has occurred and then there is also a dialog that appears when changes are
made externally to the model or result files.

9.14.1 Warning icon

Figure 9-53: A warning icon on an erroneous result component.

The warning icon in Figure 9-53 shows that the far field cannot be displayed because of
a missing results file. The tooltip appears when the mouse hovers over the icon and gives
an indication as to why the result is missing. This type of notification occurs mainly when results
cannot be plotted due to missing or corrupt data, or when an invalid mathematical equation is
used.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-56

9.14.2 Workflow error and warning dialog

Figure 9-54: Message window dialog for attempted invalid operations.

The error dialog in Figure 9-54 shows the second mechanism of informing the user of a problem.
This type of dialog is commonly found when invalid actions are attempted. In the example
shown, it was attempted to plot far field data on a Smith chart, which is not a valid operation.

9.14.3 Error and warning logging dialog

This dialog appears when files are modified externally such that notifications are required. For
example, if a simulation is run and warnings or errors have occurred, then the window in the
dialog in Figure 9-55 is appended with the appropriate message. Errors and warnings are sepa-
rated into two groups via a tab, so that they can be summarised separately. The same mechanism
will be used, for example, when the result (*.bof) files contain errors or warnings or are out of
synch with the model (*.fek) files.

Figure 9-55: The Errors and warnings dialog.

When the OK button is clicked, the windows will be cleared. The next time an notification is
logged, the dialog will appear again in a fresh dialog. By checking the box next to Don’t show
errors and warnings during this session and clicking the OK button, the window will be cleared
and no more warnings or errors will be shown for the remainder of that project.

9.15 Getting Help

Additional information or explanations can be found in a variety of ways in the FEKO suite.
A help browser can be launched from within the POSTFEKO application containing the User
manual, Getting started guide, Example guide and Installation guide. Digital copies of the user
manual are included in the installation, examples are available on the FEKO website and a team
of technical support staff can be contacted for more advanced help with specific problems or
queries.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-57

The Help browser can be launched by clicking on the help button in the top right-
hand corner of the POSTFEKO screen...

...or by clicking on the help button in the corner of the start page, or by pressing
F1. Pressing F1 while a dialog is in focus will also jump to the relevant section in
the Help browser.

Digital copies of all help documentation can be accessed from the start page, as well as links to
the FEKO website (www.feko.info).

9.16 Shortcut keys

The keyboard shortcut keys that are available in POSTFEKO are listed in this section. Keyboard
shortcut keys enable users to save time accessing actions that they perform regularly. The shortcut
key or key combination is also displayed in the keytip that is displayed when hovering the mouse
over the action on the ribbon.

Table 9-7: Shortcut keys (running other FEKO components)

Shortcut key Description


<Alt><0> Run CADFEKO.
<Alt><1> Run EDITFEKO.
<Alt><2> Run PREFEKO.
<Alt><4> Run FEKO.
<Alt><6> Run OPTFEKO.

October 2013 FEKO User’s Manual


USING POSTFEKO 9-58

Table 9-8: Shortcut keys (running other FEKO components)

Shortcut key Description


<F1> Context-sensitive help for the dialog/window that has focus.
<Ctrl><C> Copy image to clipboard.
<Ctrl><X> Copy data to clipboard.
<Ctrl><E> Export image.
<Ctrl><P> Print current window.
<Ctrl><Shift><O> Open POSTFEKO project file.
<Ctrl><N> Create a new session.
<Ctrl><O> Add a model.
<Ctrl><S> Save POSTFEKO session file.
<Ctrl><Q> Quit POSTFEKO.
<Alt><B> Toggle the visibility of the project browser.
<Alt><P> Toggle the visibility of the result palette.
<Ctrl><K> Duplicate trace/component.
<F2> Rename trace/result.
<Ctrl><F2> Change the labels, title and footer of a graph.
<Ctrl><Shift> Add annotation in 3D view.

Table 9-9: POSTFEKO view shortcut keys

Shortcut key Description


<F5> Zoom to extents
<0> Restore view
<8> Top view
<2> Bottom view
<5> Front view
<Ctrl><5> Back view
<4> Left view
<6> Right view

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-1

10 Scripts and application programming interface (API)

CADFEKO and POSTFEKO have a powerful, fast, lightweight scripting language integrated into
the application allowing users to create models, get hold of simulation results and model con-
figuration information and much more. Editing scripts is easy with the integrated script editor
(see Section 9.10) that includes many development tools such a break points and the ability to
pause an executing script. It is recommended that the users work through the API description
for CADFEKO (see Section 7) and in particular basic scripting section (see Section 7.1) since it
applies to CADFEKO and POSTFEKO. The additional features and POSTFEKO specific API will be
discussed in the sections that follow.

Contents
10.1 Script types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.2 Result scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.3 Object reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25
10.4 Collection reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-609
10.5 Function reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-737
10.6 Enumeration type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . 10-763
10.7 Data type reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-829
10.8 Constant value reference (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-840

10.1 Script types

There are two types of scripts that can be created. POSTFEKO supports both types of scripts, while
CADFEKO only supports API scripts. It is important to use the correct script type in POSTFEKO
to ensure that desired result is achieved.

API scripts

General scripts, or API scripts, are stored outside the POSTFEKO session as *.lua files. These
scripts can be used by math scripts, but they do not return any data that can be visualised in
POSTFEKO. They perform actions such as controlling POSTFEKO (maybe exporting all views as
images), launching other applications, reading and writing data to disk. Almost every aspect
of POSTFEKO can be accessed and controlled using the API. A detailed description of the API
objects (10.3), collections (10.4), enumerations (10.6), data types (10.7), predefined constants
(10.8), methods and properties are available in the sections that follow.

Result scripts

Result scripts, sometimes referred to as math scripts, perform actions similar to general scripts,
but they produce a result object that can be displayed on graphs and the 3D view just like any
other result that may have been imported or read for the FEKO result file directly (*.bof file).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-2

Result scripts are used when data needs to be manipulated and the manipulated result needs to
be visualised in POSTFEKO. An important distinction between result scripts and general scripts
are that result scripts are always stored as part of the POSTFEKO session since they are results,
almost like the data has been imported into the session. By default result scripts will also be run
each time one or more of the result files (*.bof) change. This allows users to manipulate or
combine simulation results and imported data producing new results that can be visualised in
POSTFEKO.
Section 10.2 presents detailed information regarding result scripts and the format that these
scripts must return. There are descriptions for all the standard result types that can be requested
in FEKO.

10.1.1 Example POSTFEKO API script

The easiest way to understand and get started with scripting is by analysing a working example.
As part of the example, a number of important aspects are highlighted. The example can be
copied into the POSTFEKO script editor and executed as part of the demonstration.

Open a model

The first part of the example will get hold of the POSTFEKO application object, create a new
project session and load a model. Try to understand what the script does and then read the
section that explains the script.
app = pf.GetApplication()
app:NewProject()
FEKO_HOME = os.getenv("FEKO_HOME")
print("FEKO is installed in " .. FEKO_HOME)
app:OpenFile(FEKO_HOME.."/examples/startup_model/startup.fek")
printlist(app.Models:Items())

The code extract starts by accessing and storing the application object (see Section 10.3.2) using
the GetApplication static function that is available under the pf namespace. All functions,
objects, constants and enumerations are available in the pf name space, although a subset of
these are also globally available. These were added in a name space so that they will not be
replaced when loading external libraries. The name space also makes it easier to use the auto
completion feature in the editor (type “pf.” in the editor to see the auto completion menu). The
application objects are stored in a variable app to make it easier to access further down in the
script.
The NewProject() method of the Application object is then executed to create a new POST-
FEKO project (session). Note that the method is accessed using a colon (“:”) while the static
function was accessed using a full stop(“.”).
The FEKO_HOME environment variable is stored in a new variable by utilising the os (operating
system) module’s getenv method. The os module is included as part of the FEKO installation.
The value of the variable is then printed to the screen so that we can confirm that it is correct.
The OpenFile method of the Application object is then used to load the startup model (a
demonstration model that is part of all FEKO installations). Finally the models that have been
loaded are printed to screen as confirmation that the model has indeed loaded correctly.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-3

If the script is executed, POSTFEKO should have the startup model loaded. The rest of the
example will illustrate basic tasks that can be performed using the startup model.

Access the model configuration

The start and end frequency of the first (and only) configuration of the model is accessed and
printed to the console in the next script example. This example follows on the previous example
and assumes that it is executed in the same script.
c1 = app.Models["startup"].Configurations[1]
print(c1.EndFrequency)
print(c1.StartFrequency)

A variable, c1, is used to store a link to the first configuration of the model. The model that has
been loaded is accessed using the Models property (see Section 10.3.2) of the Application
object. Properties, like static functions, are accessed using a full stop as can be seen in the
example. The Models property returns a collection (see Section 10.4.22). There are many
collections in the POSTFEKO API, but they all work the same and have the same methods and
operators associated with them. An item in the collection can be accessed by name or by index
using square bracket indexing ([]).
The example uses both indexing methods since it indexes the model by name and the configura-
tion by number. The same result can be achieved by accessing both the model and the configura-
tion by name or by number.
The start and end frequency for the configuration is printed to demonstrate the model informa-
tion can be accessed. It is important to note that it was not necessary to store the configuration
in variable c1, but it makes it easier and shorter to access the configuration further down in the
script.

Create and customise a Cartesian graph

The following script extract creates a Cartesian graph, sets background and grid colours. The
minor grid is also enabled for the graph.
cg = app.CartesianGraphs:Add()
cg.BackColour = pf.Enums.ColourEnum.Transparent
cg.Grid.BackColour = pf.Enums.ColourEnum.LightGrey
cg.Grid.Minor.Visible = true
cg.Grid.Minor.HorizontalLine.Style = pf.Enums.LineStyleEnum.SolidLine
cg.Grid.Minor.VerticalLine.Style = pf.Enums.LineStyleEnum.DashDotDotLine
cg.Grid.Major.HorizontalLine.Colour = pf.Enums.ColourEnum.Black
cg.Grid.Major.VerticalLine.Colour = pf.Enums.ColourEnum.Black

The only new concept that is introduced in this script extract is the use of enumerations to access
predefined colours and line styles. Enumerations are accessed using the pf.Enums namespace.

Add a trace to a graph

The graph has been created, but it does not contain any data. The next script extract will add
the first near field in the model configuration to the Cartesian graph. The legend, horizontal and
vertical titles are also styled.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-4

cg.Traces:Add(c1.NearFields[1])
cg.Legend.Frame.BackColour = pf.Enums.ColourEnum.Transparent
cg.HorizontalAxis.Title.Frame.Line.Colour = pf.Enums.ColourEnum.Blue
cg.VerticalAxis.Title.Frame.Line.Colour = pf.Enums.ColourEnum.Blue

Generate a PDF report

The final script extract will create a PDF report and save it to disk. Once the report has been
generated it will also be displayed.
report = app:CreateQuickReport([[Example_report]], pf.Enums.ReportDocumentTypeEnum.PDF)
report.DocumentHeading = "Example report"
report:Generate()

This example only illustrates a small subset of what can be done using the POSTFEKO application
programming interface. Use this script as a starting point to explore other features that are
available in the API.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-5

10.2 Result scripts

The previous section introduced general automation scripts and the Lua language syntax. This
section presents the manner in which data is manipulated and made available to POSTFEKO. It
may then be visualised on a 2D graph or 3D view. Please refer to scripting types section (see
Section 10.1) regarding the two script types that are available in POSTFEKO. This section will
present result script in more detail.
Two main principles are presented:

• How to pull data into the math scripting environment and to return the results to a POST-
FEKO session. The Lua language is used as a base from which to generate data that can be
displayed in POSTFEKO, or to modify existing data in the session.

• How to make use of the language extensions made available within the Lua environment.
Once a handle on a result has been obtained, it is possible to modify the data. The tools
that are available to analyse and modify results will be discussed.

10.2.1 The interface between POSTFEKO and the math scripting environment

There are several keywords (other than the standard Lua keywords) recognised by the editor.
These include (but are not limited to) the following list:

Table 10-1: Global keywords recognised in the Lua editor.

pf The main interface between the Lua scripting environment and POSTFEKO.
The pf namespace is used to pull results from a POSTFEKO session into the
Lua environment for further processing. Type ‘pf.’ to get started.
inspect A function similar to print that displays the contents of any table that can
be broken down into basic components. Output can be seen in the output
window of the editor.
printlist A function that prints out the contents of key/value pairs. Output can be
seen in the output window of the editor.
p
i, j Predefined constants for −1.
pf.DataSet A namespace that provides a set of tools for managing POSTFEKO data
structures in the Lua environment. A DataSet contains all the information
that is necessary for POSTFEKO to display and interpret information
correctly.
pf.Complex An object class that helps manage complex numbers.
pf.Point An object class that helps manage points in 3D space.

In addition, the print function is overloaded (has been extended) in the POSTFEKO editor
environment. If a POSTFEKO DataSet is given to the print function, a short summary of the
structure of the DataSet is displayed in the output window.
It may be useful to note that the auto-complete functionality of the editor will expand many of
the keywords to reveal more operations. Figure 10-1 shows the expansion for the pf namespace,

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-6

Figure 10-1: Auto-complete expansion of the pf namespace.

revealing a list of sub-categories to explore. These may also be expanded, as seen in the second
panel of the figure. The bottom level of the expansion is a function call as illustrated in Figure 10-
1.

10.2.2 Pulling data into the math scripting environment

A common use for the scripting functionality is to modify existing POSTFEKO results. As such,
it is necessary to get a handle on a result (called a DataSet) into the scripting environment. To
get a handle on either of the near fields in the session, the key string must be used in conjunction
with the GetDataSet function. The key string is in the format:
"[Model].[Configuration].[Request Name]"

The following code will print a list of all near field results in a session. The name of the near field
contained in the Horn model is used to get a handle on the result, which is then returned without
any further processing. The result that is returned is the one that can be displayed in POSTFEKO
for further visualisation.
names = pf.NearField.GetNames()
printlist(names)
nearfield = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")
return nearfield
1: "Horn.StandardConfiguration1.NearField1"
2: "startup.Configuration1.NearFields"

This process can be applied to any result type. The result is a DataSet, which will be explained
in the section pertaining to DataSet structures (see Section 10.2.3).

10.2.3 The structure of a DataSet

In order to modify or generate a DataSet, it is important to understand how they are con-
structed. The structure of a DataSet contains three types of data:

• Axes refer to the independent axes along which data can be plotted in a view.

• Quantities refer to the types of data that can be plotted along a specified axis.

• MetaData refers to additional data that pertains to a DataSet that will affect how POST-
FEKO interprets the DataSet.

The additional data field refers to the actual values of the results. The indexing of the data is
dependent on the structure of the axes and quantities that were defined. Since the data fields

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-7

Figure 10-2: Visualisation of the DataSet.

Table 10-2: Supported units.

Distance m
inch
feet
mile
mil
Angle deg
rad
Frequency Hz
Time s
min
hr
Mass g
t
Temperature C
K
F
Current A
Charge C
Force N
Potential difference V
Resistance Ohm
Conductivity S
Power W
Capacitance F
Inductance H

should not be accessed directly, it is not discussed here. Rather, the discussion of the proper
access methods will follow (see Section 10.2.4).
Table 10-2 shows all of the base units currently supported by POSTFEKO. For all Axes and
Quantities, the units need to be specified to help ensure that POSTFEKO knows how to man-

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-8

age the values. More complex units may be constructed out of the base unit from the table by
using the operators “/” and “ˆ”. For example, acceleration can be written as “m/sˆ2”.
Data can also consist of different types of data. Table 10-3 indicates the supported data types.

Table 10-3: Supported data types.

scalar Any real valued data.


complex Complex values; values containing real and imaginary components.
boolean Either a true or false value.

Axes

An axis is a dimension along which data can be calculated. They typically contain the set of
physical points where data is calculated, the frequency at which data is calculated, etc. A full list
is given in Table 10-4. Any of these axes may be added to a DataSet.

Table 10-4: Axis types for the Axes field.

Position axes X
Y
Z
Theta
Phi
Rho
R
Frequency axis Frequency
Other axes Arbitrary
Index
Solution
Undefined
Time

As an example, we pull in a near field from a horn antenna and print out the different axes. Note
that the near field specifies three spatial dimensions and a frequency dimension.
nf = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")
for index, axis in pairs(nf.Axes) do
print(string.format("axis[%d]: %s axis with %d values [%E to %E] %s",
index,
axis.Name,
axis.Count,
axis.Values[1],
axis.Values[#axis.Values],
axis.Unit))
end
axis[1]: Frequency axis with 1 values [1.645000E+009 to 1.645000E+009] Hz
axis[2]: X axis with 21 values [-2.600000E-001 to 2.600000E-001] m
axis[3]: Y axis with 21 values [-2.000000E-001 to 2.000000E-001] m
axis[4]: Z axis with 1 values [4.600000E-001 to 4.600000E-001] m

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-9

Analysing the example, one can see that the near field was calculated at a single frequency and
at a single height. The other two spatial dimensions form a rectangle, making it clear that the
near field is a flat surface at a fixed height and frequency. Each axis also indicates the unit in
which the axis is measured. The spatial axes are measured in metre (m), while the frequency
axis is measured in Hertz (Hz). All of the supported units are given in Table 10-2. Note also that
the data type for all of the axes are scalar. In other words, all of the axis values in this instance
contain real values.

Quantities

A quantity is a value that is calculated at each point for each axis in a DataSet. More than
one quantity can be calculated for any position on the axes; each one typically representing a
different type or component of a result. For example, the E x , E y and Ez components of an electric
near field would be stored as three separate complex quantities. All of these quantities are valid
at the same physical position and frequency. Looking again at the near field example of a horn
antenna, the structure of Quantities are illustrated.
nf = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")
for index, quantity in pairs(nf.Quantities) do
print(string.format("quantity[%d]: ’%s’ is a %s quantity that is measured in ’%s’",
index,
quantity.Name,
quantity.QuantityType,
quantity.Unit))
end
quantity[1]: ’EFieldComp1’ is a Complex quantity that is measured in ’V/m’
quantity[2]: ’EFieldComp2’ is a Complex quantity that is measured in ’V/m’
quantity[3]: ’EFieldComp3’ is a Complex quantity that is measured in ’V/m’
quantity[4]: ’HFieldComp1’ is a Complex quantity that is measured in ’A/m’
quantity[5]: ’HFieldComp2’ is a Complex quantity that is measured in ’A/m’
quantity[6]: ’HFieldComp3’ is a Complex quantity that is measured in ’A/m’
quantity[7]: ’MediumIndex’ is a Scalar quantity that is measured in ’’

The quantities contained in this near field are the three components of both the electric and
magnetic field. These values are specified at every dimension for the specified Axes values. In
order to specify a near field component, complex values must be used. The units are specified
as mV for the electric near field components and mA for the magnetic components. If we were to
inspect the entire DataSet, a single data point would then contain values for each of the seven
quantity fields stored in the DataSet.
A DataSet may contain any quantity. However, if the DataSet is to be used as an internal type,
the minimum quantities required for POSTFEKO to interpret the data correctly must be present.
For instance, a near field must contain either a complete set of electric field components or a
complete set of magnetic field components in order to be valid. This restriction only applies to a
DataSet that will be used as though it is a near field calculated by the FEKO kernel.

MetaData

In addition to Axes and Quantities, it may sometimes be required to provide additional infor-
mation about a DataSet. The MetaData help identify the following properties of a DataSet:

• whether the DataSet was defined in a local coordinate system (for near and far fields) and
what that local system is;

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-10

• whether a near field calculation was defined using the conical coordinate system and its
radial step size; and

• the names of the media that pertain to the medium index stored in some near fields.

Note that these properties are not required to define a valid near field, only if the property in
question is relevant.

10.2.4 Processing and modifying a DataSet

A typical use for the scripting functionality is to modify existing results. The steps that will be
followed in this case would typically be:

1. Create and simulate a model so that results are available.

2. Create a math script:

(a) Pull a single result or multiple results into the script.


(b) Perform processing on the results in the scripting environment.
(c) Store the results of the script in a DataSet that is accessible in the POSTFEKO session.

3. Display and process the results.

These steps assume that a valid DataSet is pulled in and being manipulated. Therefore, it is
not necessary to create or modify any of the Axes, Quantities or MetaData fields. The data
stored in the DataSet must simply be accessed and modified. However, the data block in a
DataSet cannot be accessed directly (see Figure 10-2). Instead, an indexing scheme is available
with which to reach an element.

Indexing a single element in a DataSet

This type of scheme is used when fine control is required when accessing a DataSet. It is also the
most intuitive method of accessing the elements. Each axis in a DataSet contains a set number
of values. By specifying the index of each value on an axis, the values can be accessed.
nearField[1][1][1][1].EFieldComp1 = nearField[1][1][1][1].EFieldComp1 * 2

The previous command will multiply the value of the E x at the first frequency, at the first indexed
point in space. By iterating through all of the axes, it is possible to selectively modify specific
values based on the index of the axes. In the following example, all fields further than 0.15 m
from the z-axis is set to 0. Name the script “modNF_indiv” for use in future examples.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-11

-- Create the near field dataset


nf = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")

for freq = 1, #nf.Axes[1] do


for xPos = 1, #nf.Axes[2] do
for yPos = 1, #nf.Axes[3] do
for zPos = 1, #nf.Axes[4] do
if ( math.sqrt(nf.Axes[2][xPos]^2 + nf.Axes[3][yPos]^2) >= 0.15 ) then
nfPoint = nf[freq][xPos][yPos][zPos];
nfPoint.EFieldComp1 = 0 + 0*i
nfPoint.EFieldComp2 = 0 + 0*i
nfPoint.EFieldComp3 = 0 + 0*i
nfPoint.HFieldComp1 = 0 + 0*i
nfPoint.HFieldComp2 = 0 + 0*i
nfPoint.HFieldComp3 = 0 + 0*i
end
end
end
end
end
return nf

Iterating through all elements in a DataSet

For the individual element style of indexing, it is necessary to manually iterate over each ele-
ment. Expressions can become difficult to work with, so an alternative is provided. A simple
DataSet method is provided for “pf.DataSet.ForAllValues” iterating through a DataSet.
This method is particularly useful when a script should iterate over an unknown number of axes.
The “pf.DataSet.ForAllValues” method may be daunting at first, but it is powerful and
simpler to maintain than nested loops. The for ForAllValues method accepts the following
parameters:

Value function This is the name of the function that will be executed while looping over all the
axes. The function used in ForAllValues must adhere to a predefined format discussed
below.

Target DataSet The target DataSet is used to determine the axes that will be iterated over. All
of the indices in the target DataSet will be reached. It is also typically the result that will
be modified.

Additional parameters Any number of additional parameters can be included and will be passed
on to the value function. The additional parameters can be Lua values, tables or other
DataSet results..

The value function used in the ForAllValues call must be defined with the following parame-
ters:

Index This parameter is always required and its value will be determined by the ForAllValues
function. The index is a table containing the value of the indices in the target DataSet.
The value function is called by the ForAllValues function for each axes entry and with
every call the index parameter is updated.

Target The target DataSet that is supplied to the ForAllValues function is passed on to the
value function in this parameter. This is the DataSet that determines the axes that will be
looped over.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-12

Additional parameters Any additional parameters that were added to ForAllValues function
call will be passed on to the value function.

The following example illustrates the use of the ForAllValues function and its accompanying
value function definition.
nf1 = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")
nf2 = pf.NearField.GetDataSet("modNF_indiv")
nfAverage = pf.NearField.GetDataSet("modNF_indiv")

function average(index, target, source1, source2)


target[index].EFieldComp1 = 0.5*(source1[index].EFieldComp1 + source2[index].EFieldComp1)
target[index].EFieldComp2 = 0.5*(source1[index].EFieldComp2 + source2[index].EFieldComp2)
target[index].EFieldComp3 = 0.5*(source1[index].EFieldComp3 + source2[index].EFieldComp3)
target[index].HFieldComp1 = 0.5*(source1[index].HFieldComp1 + source2[index].HFieldComp1)
target[index].HFieldComp2 = 0.5*(source1[index].HFieldComp2 + source2[index].HFieldComp2)
target[index].HFieldComp3 = 0.5*(source1[index].HFieldComp3 + source2[index].HFieldComp3)
end
pf.DataSet.ForAllValues(average, nfAverage, nf1, nf2)
return nfAverage

Note that in this example, it was never necessary to define a loop. Instead, a function is written
that explains what should happen to a given element. Any number of DataSet sources can be
provided as source inputs. The result of the calculation is then stored in the target DataSet.

10.2.5 Creating a custom DataSet

Another use for scripting is when custom data objects are required. The following workflow
would typically be followed:

1. Create a POSTFEKO session.

2. Create a math script. Note that the math script must not be of any specific type, other-
wise POSTFEKO will attempt to validate the axes to make sure that the expected DataSet
structure is returned.

(a) Create a new DataSet.


(b) Add all of the desired Axes and Quantities fields. In this case any quantity can
be defined, since POSTFEKO will not attempt to interpret them in any particular way.
Axes are still confined to the predefined values, where the arbitrary axis can be
used for any unspecified axis type.
(c) Perform processing on the results in the scripting environment.
(d) Store the results of the script in a DataSet that is accessible in the POSTFEKO session.

3. Display and process the results.

Consider the following example where an existing near field is examined. When the magnitude
of the field at any point exceeds 5 mV , the custom DataSet stores that value. For all other values
it is zero.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-13

nf1 = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")
-- Create custom dataset
custom = pf.DataSet.New()
for axisNum = 1,nf1.Axes.Count do
sourceAxis = nf1.Axes[axisNum]
custom.Axes:Add(sourceAxis.Name, sourceAxis.Unit, sourceAxis.Values)
end
custom.Quantities:Add("above5V", "scalar", "V/m")

-- Populate the values


function process5Vthreshold(index, target, source1)
local magEx = source1[index].EFieldComp1:magnitude()
local magEy = source1[index].EFieldComp2:magnitude()
local magEz = source1[index].EFieldComp3:magnitude()
local totalE = math.sqrt(magEx^2 + magEy^2 + magEz^2)
if (totalE >= 5) then
target[index].above5V = totalE
else
target[index].above5V = 0
end
end
pf.DataSet.ForAllValues(process5Vthreshold, custom, nf1)

print(custom)

return custom

Here the DataSet called custom has the same spatial axes of the source near field. An arbitrarily
defined quantity was added. For each position on every axis, a scalar value must be defined in
order for the DataSet to be valid. The DataSet was created entirely within the script. The
Axes and Quantities were added to the DataSet and the data was populated. Results that
were created in this way can also be plotted on a 3D or 2D view, similar to any internal data type.

10.2.6 Structures for internal DataSet types

When creating a script that returns a predefined result type, it is necessary to add certain mini-
mum fields so that POSTFEKO can process it correctly. For each type, the minimum values will
be provided in the following sections.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-14

Near field

Near field results must contain a complete set of either electric field components, magnetic field
components, or both in order to be valid. For each different coordinate system, a different set of
spatial axes are required. See Table 10-5 for the required properties for near fields.

Table 10-5: Required properties for near fields.

Property name Property type Description


frequency Axes Every near field requires a valid frequency axis. (Hz)
Axis 1. . .3 Axes Every near field requires three independent spatial
axes. Depending on the coordinate system, these axes
may vary. Table 10-6 will give a breakdown of the
required axes for each system.
EFieldComp1. . .3 Quantities Required quantity set for electric fields. All three
complex values must be defined for a complete electric
field definition. (V/m)
HFieldComp1. . .3 Quantities Required quantity set for magnetic fields. All three
complex values must be defined for a complete
magnetic field definition. (A/m)
MediumIndex Quantities A scalar quantity that links to the list of media names
under the MetaData list MediumNames.
Conical MetaData A boolean flag indicating whether the near field is
defined in a conical coordinate system. The value may
be either true or false.
MediumNames MetaData A list of names for the media in which a near field
point was calculated. An index to this list is provided
for each point under the MediumIndex quantity.
Origin MetaData The local origin for the workplane around which the
far field is defined.
UVector MetaData A point relative to the origin which indicates in
which direction the û-vector.
VVector MetaData A point relative to the origin which indicates in
which direction the v̂-vector.
RhoStepSize MetaData A scalar value indicating the increment with which the
cone’s rho axis increases. This effectively controls the
angle of the cone for a conical system. Note that this
field is only required if Conical is true.

Note that the conical coordinate system is an exception. Since it is technically not a complete
coordinate system, additional information is required. For near fields defined in the conical
coordinate system, the following must also be provided under the MetaData fields:

1. Conical = true. This flag indicates to POSTFEKO that the DataSet fields must be inter-
preted differently than other coordinate systems.

2. RhoStepSize. The step size indicates the intervals with which the rho axis grows. Note

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-15

Table 10-6: Coordinate system axes.

Coordinate system Axis 1 Axis 2 Axis 3


Cartesian X Y Z
Spherical R Theta Phi
Cylindrical (x-axis) Rho Phi X
Cylindrical ( y-axis) Rho Phi Y
Cylindrical Rho Phi Z
Conical Rho Phi Z

that the rho axis only contains a single value which corresponds to the starting point of the
cone.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-16

Far field

Table 10-7: Required properties for far fields.

Property name Property type Description


Frequency Axes Every far field requires a valid frequency axis.
(Hz)
Theta Axes Elevation angle component relative to the local
workplane. The vertical position sits at θ = 0◦ .
(deg)
Phi Axes Azimuthal angle component relative to the local
workplane. (deg)
IncidentTheta Axes The theta direction from where an incident plane
wave originates. (deg)
IncidentPhi Axes The phi direction from where an incident plane
wave originates. (deg)
Theta Quantities This is a complex value indicating the theta
component of the electric field in this theta
direction, or Eθ . (V)
Phi Quantities This is a complex value indicating the phi
component of the electric field in this phi
direction, or Eφ . (V)
DirectivityFactor Quantities A scaling factor that will scale the magnitude of a
field value to the expected directivity in a given
direction. The formula that is used is given below
in Eq. 10-1.
GainFactor Quantities A scaling factor that will scale the magnitude of a
field value to the expected gain in a given
direction. The formula that is used is given below
in Eq. 10-2.
RealisedGainFactor Quantities A scaling factor that will scale the magnitude of a
field value to the expected realised gain in a
given direction. The formula that is used is given
below in Eq. 10-3.
RCS Quantities A scaling factor that will scale the magnitude of a
field value to the expected radar cross section for
a given observation direction.
Origin MetaData The local origin for the workplane around which
the far field is defined.
UVector MetaData A point relative to the origin which indicates in
which direction the û-vector.
VVector MetaData A point relative to the origin which indicates in
which direction the v̂-vector.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-17

Directivity

The formula used to calculate directivity is given. The directivity is a figure of merit indicating in
which direction the most energy will be radiated. Directivity is the power density radiated in any
direction versus an isotropic radiator which is radiating the same amount of energy.

D = DirectivityFactor × [Re(Eθ )2 + Im(Eθ )2 + Re(Eφ )2 + Im(Eφ )2 ] (10-1)

Gain

The formula used to calculate gain is given. Gain is calculated in the same way as directivity,
except that the input power is used rather than the radiated power. In other words, system losses
are taken into account.

G = GainFactor × [Re(Eθ )2 + Im(Eθ )2 + Re(Eφ )2 + Im(Eφ )2 ] (10-2)

Realised Gain

The formula used to calculate realised gain is given. Realised gain is calculated in the same way
as gain, except that the power which is reflected back to the input port is taken into account. In
other words, system losses and mismatch effects are included.

RG = RealisedGainFactor × GainFactor × [Re(Eθ )2 + Im(Eθ )2 + Re(Eφ )2 + Im(Eφ )2 ] (10-3)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-18

Source

Table 10-8: Required properties for sources.

Property name Property type Description


Frequency Axes Every source requires a valid frequency axis. (Hz)
Current Quantities Currents are complex values that are measured in
Ampere. (A)
Admittance Quantities The reciprocal of impedance and is measured in Siemens
and is a complex value. (S)
Power Quantities The rate at which energy is expended. This is equal to
the current times the voltage and is measured in Watts,
which is a complex value. (W)
Type Quantities A value must be given to help indicate what type of
source the DataSet represents. A value of 0 represents a
voltage source, where a value of 1 represents a current
source.
Impedance Quantities The total opposition to current flow and the ratio of the
voltage to the current. It is measured using the complex
value Ohm. (Ω)
MismatchLoss Quantities The fraction of power that is reflected to or transmitted
to other ports; i.e. the amount of power that does not
enter the system. This is a scalar value with no unit.
Voltage Quantities The potential difference over the port which is a complex
value measured in Volts. (V)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-19

Load

Table 10-9: Required properties for loads.

Property name Property type Description


Frequency Axes Every loads DataSet requires a valid frequency axis. (Hz)
Current Quantities Currents are complex values that are measured in Ampere.
(A)
Impedance Quantities The total opposition to current flow and the ratio of the
voltage to the current. It is measured using the complex
value Ohm. (Ω)
Power Quantities The rate at which energy is expended. This is equal to the
current times the voltage and is measured in Watts, which
is a complex value. (W)
Voltage Quantities The potential difference over the port which is a complex
value measured in Volts. (V)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-20

Network

Table 10-10: Required properties for networks.

Property name Property type Description


Frequency Axes Every networks DataSet requires a valid frequency axis.
(Hz)
Arbitrary Axes This is an axis that lists the port numbers for the network.
Current Quantities Currents are complex values that are measured in Ampere.
(A)
Impedance Quantities The total opposition to current flow and the ratio of the
voltage to the current. It is measured using the complex
value Ohm. (Ω)
Power Quantities The rate at which energy is expended. This is equal to the
current times the voltage and is measured in Watts, which
is a complex value. (W)
Voltage Quantities The potential difference over the port which is a complex
value measured in Volts. (V)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-21

S-Parameter

Table 10-11: Required properties for scattering matrices (s-parameters).

Property name Property type Description


Frequency Axes Every S-parameter DataSet requires a valid frequency
axis. (Hz)
Arbitrary Axes The string values here represent the scattering matrix
element definitions in the form S x, y, which can be read as
“the ratio between the voltage wave measured at port x as
a result of the voltage wave inserted at port y.”
PortFlag Quantities A value indicating whether the port is active or passive (or
both). If the value is 0, then the port is treated as a passive
port. If the value is 1, then the port is considered to be
adding and absorbing energy from the model.
Load Quantities A complex component that is added to a model that has
the property of being able to dissipate energy. (Ω)
SParameter Quantities Complex scattering parameters relate (magnitude and
phase) the voltage wave measured at a port vs. the voltage
wave that is inserted into port.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-22

Power

Table 10-12: Required properties for power.

Property name Property type Description


Frequency Axes Every power DataSet requires a valid frequency axis.
(Hz)
ActivePower Quantities The amount of power that is being inserted into the
system. This power could be radiated or absorbed by other
ports. (W)
Efficiency Quantities A percentage value indicating the relationship between the
active power and the power provided to the system.
PowerLoss Quantities The amount of power that is dissipated in the system. This
could refer to any power lost due to lossy materials, etc.
(W)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-23

Transmission and reflection coefficients

Table 10-13: Required properties for transmission and reflection coefficients.

Property name Property type Description


Frequency Axes A valid axis defining the frequency range is required by
every transmission/reflection coefficient DataSet. (Hz)
CoPolarisedReflectionCoefficient
Quantities A complex value giving the ratio between the reflected
wave vs. the incident wave. The co-polarised component is
given and is defined in the direction of the polarisation
angle of the incident plane wave.
CoPolarisedTransmissionCoefficient
Quantities A complex value giving the ratio between the transmitted
wave vs. the incident wave. The co-polarised component is
given and is defined in the direction of the polarisation
angle of the incident plane wave.
CrossPolarisedReflectionCoefficient
Quantities A complex value giving the ratio between the reflected
wave vs. the incident wave. The cross-polarised
component is given and is defined in the direction of the
polarisation angle of the incident plane wave.
CrossPolarisedTransmissionCoefficient
Quantities A complex value giving the ratio between the transmitted
wave vs. the incident wave. The cross-polarised
component is given and is defined in the direction of the
polarisation angle of the incident plane wave.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-24

Specific Absorption Rates (SAR)

Table 10-14: Required properties for Specific absorption rates (SAR).

Property name Property type Description


Frequency Axes Every specific absorption rate DataSet requires a valid
frequency axis. (Hz)
HasAverageSAROverTotalVolume
Quantities This is a boolean value. If the flag is true, then
AverageSAROverTotalVolume must be specified.
AverageSAROverTotalVolume
Quantities Average SAR over the total volume of the model. This
quantity is a scalar value. (W/kg)
HasAverageSAROverRequestedVolume
Quantities This is a boolean value. If the flag is true, then the
AverageSAROverRequestedVolume is required.
AverageSAROverRequestedVolume
Quantities Average SAR over a specifically requested sub-volume of
the model. This quantity is a scalar value. (W/kg)
HasPeakSAR
Quantities This is a boolean value. If the flag is true, then the
MassOfPeakSARCube, as well as the
AirFractionOfPeakSARCube and the PeakSARInCube
must be specified.
MassOfPeakSARCube
Quantities The mass of the SAR cube in kilograms. The value is a
scalar and is typically 0.01 kg or 0.001 kg. (kg)
AirFractionOfPeakSARCube
Quantities Air fraction in percent for this specific cube. The value is a
scalar.
PeakSARInCube
Quantities Peak SAR in this sepcific cube. The value is a scalar.
(W/kg)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-25

10.3 Object reference (API)

The POSTFEKO API includes many objects. Every object, including its methods, properties, func-
tions and operators are described in the sections that follow.
The Application object is the most important object when creating API scripts since it is the root
object as can be seen in the following object hierarchy. The object hierarchy show the relationship
between the objects.

/ Application

/ CartesianGraphs
/ Traces
/ ImportedDataSets
/ ImportedData
/ MathScripts
/ Models
/ Configurations
/ ErrorEstimates
/ Excitations
/ FarFieldPowerIntegrals
/ FarFields
/ Loads
/ NearFieldPowerIntegrals
/ NearFields
/ Networks
/ Power
/ Rays
/ ReceivingAntennas
/ SAR
/ SParameters
/ SpiceProbes
/ SurfaceCurrents
/ TRCoefficients
/ TransmissionLines
/ WireCurrents
/ PolarGraphs
/ Traces
/ Reports
/ SmithCharts
/ Traces
/ StoredData
/ Views
/ Plots

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-26

10.3.1 AngularGraphAxis

The graph angular axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.PolarGraphs:Add()

-- Modify angular axis settings on the polar graph

axis = graph.AngularAxis
axis.Labels.NumberFormat = pf.Enums.NumberFormatEnum.Scientific
axis.MajorGrid.AutoSpacingEnabled = false
axis.MajorGrid.Spacing = 10

Property list

Name Description
.Labels The graph angular axis labels.
(Read/Write GraphAxisLabels)
.MajorGrid The graph angular axis major grid spacing.
(Read/Write AxisGridSpacing)

Properties (details)

.Labels
The graph angular axis labels.
Type: GraphAxisLabels
Access: Read/Write

.MajorGrid
The graph angular axis major grid spacing.
Type: AxisGridSpacing
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-27

10.3.2 Application

The POSTFEKO application object which is returned by the pf.GetApplication() method.


See the example below:
-- The "GetApplication" function lives in the "pf" namespace and
-- returns the current POSTFEKO application object.

app = pf.GetApplication()

-- Start a new project to ensure the session is clean

app:NewProject()

-- Open an example file located in the FEKO_HOME folder and cascade the windows

app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
app:CascadeWindows()

Collection list

Name Description
.CartesianGraphs The collection of Cartesian graphs in the project.
(CartesianGraphCollection of CartesianGraph)
.ImportedDataSets The collection of imported data sets in the project.
(ImportedDataSetCollection of ImportSet)
.MathScripts The collection of math scripts in the project.
(MathScriptCollection of MathScript)
.Models The collection of models in the project.
(ModelCollection of Model)
.PolarGraphs The collection of Polar graphs in the project.
(PolarGraphCollection of PolarGraph)
.Reports The collection of template reports in the project.
(ReportsCollection of TemplateReport)
.SmithCharts The collection of Smith charts in the project.
(SmithChartCollection of SmithChart)
.StoredData The collection of stored data in the project.
(StoredDataCollection of ResultData)
.Views The collection of 3D model views in the project.
(ViewCollection of View)

Property list

Name Description
.MSPowerPointInstalled A flag indicating if Microsoft PowerPoint is installed
on the system.
(Read only boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-28

.MSWordInstalled A flag indicating if Microsoft Word is installed on the


system.
(Read only boolean)
.Type The object type string.
(Read only string)
.Version The application version.
(Read only Version)

Method list

Name Description
:CascadeWindows () Cascade the windows.
:Close () Close the POSTFEKO application.
:CloseAllWindows () Close all windows.
:CreateQuickReport (filename, type) Create a quick report.
(Returns a QuickReport object.)
:ExportAllWindowsAsImages (direc- Export all window images to a specified directory.
tory, fileformat)
:ExportAllWindowsAsImages (direc- Export all window images to a specified directory.
tory, fileformat, imagewidth, image-
height)
:ImportResults (filename, type) Import results data from a specified file.
(Returns a ImportSet object.)
:NewProject () Starts a new project.
:OpenFile (filename) Opens a file.
:Save () Saves the current session.
:SaveAs (filename) Saves the current session with the given name.
:TileWindows () Tile the windows.

Collections (details)

.CartesianGraphs
The collection of Cartesian graphs in the project.
Type: CartesianGraphCollection
Collection type: CartesianGraph

.ImportedDataSets
The collection of imported data sets in the project.
Type: ImportedDataSetCollection
Collection type: ImportSet

.MathScripts
The collection of math scripts in the project.
Type: MathScriptCollection
Collection type: MathScript

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-29

.Models
The collection of models in the project.
Type: ModelCollection
Collection type: Model

.PolarGraphs
The collection of Polar graphs in the project.
Type: PolarGraphCollection
Collection type: PolarGraph

.Reports
The collection of template reports in the project.
Type: ReportsCollection
Collection type: TemplateReport

.SmithCharts
The collection of Smith charts in the project.
Type: SmithChartCollection
Collection type: SmithChart

.StoredData
The collection of stored data in the project.
Type: StoredDataCollection
Collection type: ResultData

.Views
The collection of 3D model views in the project.
Type: ViewCollection
Collection type: View

Properties (details)

.MSPowerPointInstalled
A flag indicating if Microsoft PowerPoint is installed on the system.
Type: boolean
Access: Read only

.MSWordInstalled
A flag indicating if Microsoft Word is installed on the system.
Type: boolean
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-30

.Version
The application version.
Type: Version
Access: Read only

Methods (details)

:CascadeWindows
Cascade the windows.

:Close
Close the POSTFEKO application.

:CloseAllWindows
Close all windows.

:CreateQuickReport
Create a quick report.
Parameters:

• filename: The file name of the quick report to generate. (string)


• type: The document type specified by the ReportDocumentTypeEnum, e.g. PDF,
MSWord or MSPowerPoint. (ReportDocumentTypeEnum)

Returns:

• QuickReport: The quick report to generate.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.pfs]])

-- Create a PDF quick report (called exampleReport.pdf) and give it a heading

report = app:CreateQuickReport([[exampleReport1]], pf.Enums.ReportDocumentTypeEnum.PDF)


report.DocumentHeading = "Example report"

-- Exclude the cartesian graph window

report:SetPageIncluded("Cartesian graph1", false)

-- Generate the document

report:Generate()

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-31

:ExportAllWindowsAsImages
Export all window images to a specified directory.
Parameters:

• directory: The directory to export the files to. (string)


• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

:ExportAllWindowsAsImages
Export all window images to a specified directory.
Parameters:

• directory: The directory to export the files to. (string)


• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:ImportResults
Import results data from a specified file.
Parameters:

• filename: The name of the file to import. (string)


• type: The data type of the file to import specified by the ImportFileTypeEnum, e.g.
FEKOFarField, FEKOMagneticNearField, Touchstone, etc. (ImportFileTypeEnum)

Returns:

• ImportSet: The import set containing the imported result data.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
nearField = app.Models[1].Configurations[1].NearFields[1]

fileName = "nearfield"
nearField:ExportData(fileName, pf.Enums.NearFieldsExportTypeEnum.Electric, 51)

-- Import the near field results that have just been exported

importSet = app:ImportResults(fileName..".efe",pf.Enums.ImportFileTypeEnum.FEKOElectricNearField)

-- Compare the original and imported near fields

view = app.Views[1]
view.Plots:Add(nearField)

viewCopy = view:Duplicate()
viewCopy.Plots:Add(importSet.ImportedData[1])

app:TileWindows()

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-32

:NewProject
Starts a new project.

:OpenFile
Opens a file.
Parameters:

• filename: The name of the file to open. (string)

:Save
Saves the current session.

:SaveAs
Saves the current session with the given name.
Parameters:

• filename: The name of the pfs file. (string)

:TileWindows
Tile the windows.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-33

10.3.3 Arrows3DFormat

The 3D plot arrows properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Display instantaneous current arrows

surfaceCurrents = app.Views[1].Plots:Add(app.Models[1].Configurations[1].SurfaceCurrents[1])
surfaceCurrents.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Instantaneous
surfaceCurrents.Quantity.InstantaneousPhase = 240
surfaceCurrents.Arrows.Visible = true
surfaceCurrents.Arrows.FixedSize = true
surfaceCurrents.Arrows.Colour = "ByMagnitude"

Property list

Name Description
.Colour The colour of the instantaneous arrows.
(Read/Write MagnitudeColour)
.FixedSize Specifies whether the instantaneous arrows should
be drawn at a fixed size.
(Read/Write boolean)
.Size The size (%) of the instantaneous arrows in the
range [0,280].
(Read/Write number)
.Visible Specifies whether the instantaneous arrows must be
shown or hidden.
(Read/Write boolean)

Properties (details)

.Colour
The colour of the instantaneous arrows.
Type: MagnitudeColour
Access: Read/Write

.FixedSize
Specifies whether the instantaneous arrows should be drawn at a fixed size.
Type: boolean
Access: Read/Write

.Size
The size (%) of the instantaneous arrows in the range [0,280].
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-34

.Visible
Specifies whether the instantaneous arrows must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-35

10.3.4 Axes3DFormat

The 3D plot local coordinate axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farfield = app.Views[1].Plots:Add(app.Models[1].Configurations[1].FarFields[1])

-- Show local axis

farfield.LocalCoordAxes.Visible = true

Property list

Name Description
.Visible Specifies whether the local coordinate axes must be
shown of hidden for the 3D plot.
(Read/Write boolean)

Properties (details)

.Visible
Specifies whether the local coordinate axes must be shown of hidden for the 3D plot.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-36

10.3.5 AxisGridSpacing

The axis grid spacing properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Set horizontal display range

graph.HorizontalAxis.Range.AutoRangeEnabled = false
graph.HorizontalAxis.Range.Min = 0
graph.HorizontalAxis.Range.Max = 1

-- Set grid spacing

graph.HorizontalAxis.MajorGrid.AutoSpacingEnabled = false
graph.HorizontalAxis.MajorGrid.Spacing = 0.25

Property list

Name Description
.AutoSpacingEnabled Use automatic generated grid spacing for the axis.
(Read/Write boolean)
.Spacing Axis grid spacing.
(Read/Write number)

Properties (details)

.AutoSpacingEnabled
Use automatic generated grid spacing for the axis.
Type: boolean
Access: Read/Write

.Spacing
Axis grid spacing.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-37

10.3.6 AxisRange

The axis range properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Set horizontal display range

graph.HorizontalAxis.Range.AutoRangeEnabled = false
graph.HorizontalAxis.Range.Min = 0
graph.HorizontalAxis.Range.Max = 5

Property list

Name Description
.AutoRangeEnabled Enable the automatic range of the axis.
(Read/Write boolean)
.Max Axis range maximum value.
(Read/Write number)
.Min Axis range minimum value.
(Read/Write number)

Properties (details)

.AutoRangeEnabled
Enable the automatic range of the axis.
Type: boolean
Access: Read/Write

.Max
Axis range maximum value.
Type: number
Access: Read/Write

.Min
Axis range minimum value.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-38

10.3.7 CartesianGraph

A 2D Cartesian graph where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a graph with a trace

graph = app.CartesianGraphs:Add()
farFieldTrace = graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Export an image at a specific aspect ratio

graph:Restore()
graph:SetSize(800,400)
graph:ExportImage("FarFieldGraph", "png", 1000, 500)

Inheritance

The object CartesianGraph is derived from the Graph object.

Parent collection list

The following collections contain the CartesianGraph object:

/ CartesianGraphCollection

Collection list

Name Description
.Traces The collection of 2D traces on the graph.
(ResultTraceCollection of ResultTrace)

Property list

Name Description
.BackColour The background colour of the graph.
(Read/Write Colour)
.Footer The graph footer properties.
(Read/Write TextBox)
.GreyscaleEnabled Set the graph’s colour scheme to greyscale.
(Read/Write boolean)
.Grid The Cartesian graph grid properties.
(Read/Write CartesianGraphGrid)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-39

.Height The height of the window.


(Read only number)
.HorizontalAxis The Cartesian graph horizontal axis properties.
(Read/Write HorizontalGraphAxis)
.Legend The graph legend properties.
(Read/Write GraphLegend)
.Normalisation The Cartesian vertical axis normalisation properties.
(Read/Write Normalisation)
.Title The graph title properties.
(Read/Write TextBox)
.Type The object type string.
(Read only string)
.VerticalAxis The Cartesian graph vertical axis properties.
(Read/Write VerticalGraphAxis)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

Name Description
:AddMathTrace () Adds a math trace to the 2D graph.
(Returns a MathTrace object.)
:Close () Close the window.
:Duplicate () Duplicate the 2D graph.
(Returns a Graph object.)
:DuplicateAsPolar () Creates a polar graph with the same data as the
Cartesian graph.
(Returns a PolarGraph object.)
:DuplicateAsSmith () Creates a Smith chart with the same data as the
Cartesian graph.
(Returns a SmithChart object.)
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.
:ExportTraces (filename, samples) Export the graph traces to the specified tab sepa-
rated file.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-40

:Maximise () Maximise the window.


:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:Show () Shows the view.
:ZoomToExtents () Zoom the content of the window to its extent.

Collections (details)

.Traces
The collection of 2D traces on the graph.
Type: ResultTraceCollection
Collection type: ResultTrace

Properties (details)

.BackColour
The background colour of the graph.
Type: Colour
Access: Read/Write

.Footer
The graph footer properties.
Type: TextBox
Access: Read/Write

.GreyscaleEnabled
Set the graph’s colour scheme to greyscale.
Type: boolean
Access: Read/Write

.Grid
The Cartesian graph grid properties.
Type: CartesianGraphGrid
Access: Read/Write

.Height
The height of the window.
Type: number
Access: Read only

.HorizontalAxis
The Cartesian graph horizontal axis properties.
Type: HorizontalGraphAxis
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-41

.Legend
The graph legend properties.
Type: GraphLegend
Access: Read/Write

.Normalisation
The Cartesian vertical axis normalisation properties.
Type: Normalisation
Access: Read/Write

.Title
The graph title properties.
Type: TextBox
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.VerticalAxis
The Cartesian graph vertical axis properties.
Type: VerticalGraphAxis
Access: Read/Write

.Width
The width of the window.
Type: number
Access: Read only

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-42

:AddMathTrace
Adds a math trace to the 2D graph.
Returns:

• MathTrace: The math trace.

:Close
Close the window.

:Duplicate
Duplicate the 2D graph.
Returns:

• Graph: The duplicated 2D graph.

:DuplicateAsPolar
Creates a polar graph with the same data as the Cartesian graph.
Returns:

• PolarGraph: The copied polar graph.

:DuplicateAsSmith
Creates a Smith chart with the same data as the Cartesian graph.
Returns:

• SmithChart: The copied Smith chart.

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-43

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:ExportTraces
Export the graph traces to the specified tab separated file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• samples: The number of samples for continuous data. This value will be ignored if the
first trace on the graph is discrete. (number)

:Maximise
Maximise the window.

:Minimise
Minimise the window.

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-44

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-45

10.3.8 CartesianGraphGrid

The Cartesian graph grid properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Update grid visualisation properties

graph.Grid.Minor.Visible = true
graph.Grid.BackColour = pf.Enums.ColourEnum.DarkGreen

Property list

Name Description
.BackColour The background colour of the Cartesian graph grid.
(Read/Write Colour)
.Border The line format for the Cartesian graph grid border.
(Read/Write GraphLineFormat)
.Major The Cartesian graph major grid properties.
(Read/Write CartesianGridLines)
.Minor The Cartesian graph minor grid properties.
(Read/Write CartesianGridLines)

Properties (details)

.BackColour
The background colour of the Cartesian graph grid.
Type: Colour
Access: Read/Write

.Border
The line format for the Cartesian graph grid border.
Type: GraphLineFormat
Access: Read/Write

.Major
The Cartesian graph major grid properties.
Type: CartesianGridLines
Access: Read/Write

.Minor
The Cartesian graph minor grid properties.
Type: CartesianGridLines
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-46

10.3.9 CartesianGridLines

The Cartesian graph grid lines properties.


See the example below:
app = pf.GetApplication()
app:NewProject()

-- Edit ’CartesianGridLines’ properties

graph = app.CartesianGraphs:Add()
graph.Grid.Minor.Visible = true
graph.Grid.Major.HorizontalLine.Weight = 3
graph.Grid.Major.VerticalLine.Weight = 3

Property list

Name Description
.HorizontalLine The line format for the Cartesian graph horizontal
grid.
(Read/Write GraphLineFormat)
.VerticalLine The line format for the Cartesian graph vertical grid.
(Read/Write GraphLineFormat)
.Visible Controls the visibility of the Cartesian graph grid
lines.
(Read/Write boolean)

Properties (details)

.HorizontalLine
The line format for the Cartesian graph horizontal grid.
Type: GraphLineFormat
Access: Read/Write

.VerticalLine
The line format for the Cartesian graph vertical grid.
Type: GraphLineFormat
Access: Read/Write

.Visible
Controls the visibility of the Cartesian graph grid lines.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-47

10.3.10 Complex

A complex number.
See the example below:
-- Create a complex number

c1 = pf.Complex(3,4)

-- Determine magnitude and phase of the complex number

mag = c1:Magnitude()
phase = c1:Phase()

-- Some of the valid operators for ’Complex’

c2 = 2 + j*1
c3 = c1 * 2
c4 = c1 / 2
c5 = c1 - c2
c6 = c1 + c2
c7 = c1 * c2
c8 = c1.re * c2.re

Property list

Name Description
.im The imaginary value of the complex number.
(Read/Write number)
.re The real value of the complex number.
(Read/Write number)

Method list

Name Description
:Abs () Returns the absolute value of the complex value.
Same as the magnitude.
(Returns a number object.)
:Angle () Returns the angle of the complex value in radians.
Same as the phase.
(Returns a number object.)
:Imag () Returns the imaginary component of the complex
value.
(Returns a number object.)
:Magnitude () Returns the magnitude of the complex value.
(Returns a number object.)
:Phase () Returns the phase of the complex value in radians.
(Returns a number object.)
:Real () Returns the real component of the complex value.
(Returns a number object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-48

Static function list

Name Description
.Abs (Complex complex) Returns the absolute value of the complex value.
(Returns a number object.)
.Angle (Complex complex) Returns the angle of the complex value in radians.
(Returns a number object.)
.Imag (Complex complex) Returns the imaginary component of the complex value.
(Returns a number object.)
.Magnitude (Complex Returns the magnitude of the complex value.
complex)
(Returns a number object.)
.New (number real, num- Creates a new complex.
ber imag)
(Returns a Complex object.)
.New (number real) Creates a new complex.
(Returns a Complex object.)
.New () Creates a new complex.
(Returns a Complex object.)
.Phase (Complex complex) Returns the phase of the complex value in radians.
(Returns a number object.)
.Real (Complex complex) Returns the real component of the complex value.
(Returns a number object.)

Operator list

* Multiplication.
+ Addition.
- Subtraction.
/ Division.
< Compares the magnitude of the complex numbers.
<= Compares the magnitude of the complex numbers.
== Compares one complex to another.
ˆ Exponent.

Index list

[number] Index a component of the complex value.The real com-


ponent has index 1 and the complex component index 2.
(Read number)
[number] Index a component of the complex value.The real com-
ponent has index 1 and the complex component index 2.
(Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-49

Properties (details)

.im
The imaginary value of the complex number.
Type: number
Access: Read/Write

.re
The real value of the complex number.
Type: number
Access: Read/Write

Methods (details)

:Abs
Returns the absolute value of the complex value. Same as the magnitude.
Returns:

• number: The absolute value of the complex value.

:Angle
Returns the angle of the complex value in radians. Same as the phase.
Returns:

• number: The angle of the complex value.

:Imag
Returns the imaginary component of the complex value.
Returns:

• number: The imaginary component of the complex value.

:Magnitude
Returns the magnitude of the complex value.
Returns:

• number: The magnitude of the complex value.

:Phase
Returns the phase of the complex value in radians.
Returns:

• number: The phase of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-50

:Real
Returns the real component of the complex value.
Returns:

• number: The real component of the complex value.

Static functions (details)

.Abs
Returns the absolute value of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The absolute value of the complex value.

.Angle
Returns the angle of the complex value in radians.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The angle of the complex value.

.Imag
Returns the imaginary component of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The imaginary component of the complex value.

.Magnitude
Returns the magnitude of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-51

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The magnitude of the complex value.

.New
Creates a new complex.

Parameters:

• real: The real component. (number)


• imag: The imaginary component. (number)

Returns:

• Complex: The new complex.

.New
Creates a new complex.

Parameters:

• real: The real component. (number)

Returns:

• Complex: The new complex.

.New
Creates a new complex.

Returns:

• Complex: The new complex.

.Phase
Returns the phase of the complex value in radians.

Parameters:

• complex: A complex number. (Complex)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-52

Returns:

• number: The phase of the complex value.

.Real
Returns the real component of the complex value.

Parameters:

• complex: A complex number. (Complex)

Returns:

• number: The real component of the complex value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-53

10.3.11 ComplexMatrix

A matrix in 3D space.
See the example below:
-- Create a default 2x2 complex matrix of zeros

cm1 = pf.ComplexMatrix.Zeros(2)

-- Assign values to each element of the matrix

cm1[1][1] = 1 + j
cm1[2][1] = 2 + 2*j
cm1[1][2] = 3 + 3*j
cm1[2][2] = 4 + 4*j

-- Create a 2x2 complex matrix with a fill value of 2 + j

cm2 = pf.ComplexMatrix(2, 2, 2 + j)

-- Determine the transpose and determinant of the matrix

transpose = cm1:Transpose()
determinant = cm1:Determinant()

-- Some of the valid operators for ’ComplexMatrix’

cm3 = cm1 * 2
cm4 = cm2 * (3 + j)
cm5 = cm1 + 2
cm6 = cm1 - 1
cm7 = cm1 + cm2
cm8 = cm1 - cm2

Property list

Name Description
.ColumnCount The number of columns in the matrix.
(Read only number)
.RowCount The number of rows in the matrix.
(Read only number)

Method list

Name Description
:Determinant () Calculate the determinant of the matrix.
(Returns a Complex object.)
:FFT () Calculates the fast Fourier transform of the matrix.
(Returns a ComplexMatrix object.)
:IFFT () Calculates the inverse fast Fourier transform of the
matrix.
(Returns a ComplexMatrix object.)
:Inverse () Calculate the inverse matrix.
(Returns a ComplexMatrix object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-54

:ReplaceSubMatrix (matrix, rowstart, Replace the sub matrix starting at the given indices
columnstart) with the provided matrix.
:SubMatrix (rowstart, rowend, Calculate the sub matrix from the given parameters.
columnstart, columnend)
(Returns a ComplexMatrix object.)
:Transpose () Calculate the transpose of the matrix.
(Returns a ComplexMatrix object.)

Static function list

Name Description
.Diagonal (table values) Creates a diagonal matrix.
(Returns a ComplexMatrix object.)
.Identity (number size) Creates an identity matrix.
(Returns a ComplexMatrix object.)
.New (number rows, num- Creates a new matrix.
ber columns, Complex fill)
(Returns a ComplexMatrix object.)
.Ones (number size) Creates a new matrix filled with ones.
(Returns a ComplexMatrix object.)
.Zeros (number size) Creates a new matrix filled with zeros.
(Returns a ComplexMatrix object.)

Operator list

* Multiplies one matrix with another matrix.


* Scales a matrix with with the given factor. The multiplication is element-wise.
* Scales a matrix with with the given complex value. The multiplication is element-
wise.
+ Adds one matrix to another matrix.
+ Adds a scalar to the matrix. The addition is element-wise.
+ Adds a complex value to the matrix. The addition is element-wise.
- Subtracts one matrix to another matrix.
- Subtracts a scalar from the matrix. The subtraction is element-wise.
- Subtracts a complex value from the matrix. The subtraction is element-wise.
/ Devides a matrix with with the given factor. The devision is element-wise.
/ Devides a matrix with with the given complex value. The devision is element-
wise.
== Compares one matrix to another.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-55

[number] Access the specified row in the matrix. (Read Complex-


MatrixIndexer)

Properties (details)

.ColumnCount
The number of columns in the matrix.
Type: number
Access: Read only

.RowCount
The number of rows in the matrix.
Type: number
Access: Read only

Methods (details)

:Determinant
Calculate the determinant of the matrix.
Returns:

• Complex: The determinant of the matrix.

:FFT
Calculates the fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated FFT complex matrix.

:IFFT
Calculates the inverse fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated IFFT complex matrix.

:Inverse
Calculate the inverse matrix.
Returns:

• ComplexMatrix: The inverse of the matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-56

:ReplaceSubMatrix
Replace the sub matrix starting at the given indices with the provided matrix.
Parameters:

• matrix: The new sub matrix. (ComplexMatrix)


• rowstart: Starting row index of the sub matrix. (number)
• columnstart: Starting column index of the sub matrix. (number)

:SubMatrix
Calculate the sub matrix from the given parameters.
Parameters:

• rowstart: Row start index. (number)


• rowend: Row end index. (number)
• columnstart: Column start index. (number)
• columnend: Column end index. (number)

Returns:

• ComplexMatrix: The sub matrix.

:Transpose
Calculate the transpose of the matrix.
Returns:

• ComplexMatrix: The transpose of the matrix.

Static functions (details)

.Diagonal
Creates a diagonal matrix.

Parameters:

• values: The values to fill the matrix. (table)

Returns:

• ComplexMatrix: The new matrix.

.Identity
Creates an identity matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-57

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

.New
Creates a new matrix.

Parameters:

• rows: The number of rows in the matrix. (number)


• columns: The number of columns in the matrix. (number)
• fill: The value used to fill the matrix. (Complex)

Returns:

• ComplexMatrix: The new matrix.

.Ones
Creates a new matrix filled with ones.

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

.Zeros
Creates a new matrix filled with zeros.

Parameters:

• size: The size of the matrix. (number)

Returns:

• ComplexMatrix: The new matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-58

10.3.12 ComplexMatrixIndexer

An index into the matrix.


See the example below:
-- Create a default 2x2 complex matrix of ones

cm1 = pf.ComplexMatrix.Zeros(2)

-- Assign values to each element of the matrix

cm1[1][1] = 1+j
cm1[2][1] = 2+2*j
cm1[1][2] = 3+3*j
cm1[2][2] = 4+4*j

Index list

[number] Access a value at the specified position in the matrix.


(Read Complex)
[number] Access a value at the specified position in the matrix.
(Write Complex)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-59

10.3.13 Contours3DFormat

The 3D plot contours properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Show contour lines on a near field plot

nearfield = app.Views[1].Plots:Add(app.Models[1].Configurations[1].NearFields[1])
nearfield.Contours.Visible = true
nearfield.Contours.Colour = "ByMagnitude"
nearfield.Contours.Count = 5

Property list

Name Description
.Colour The colour of the contour lines.
(Read/Write MagnitudeColour)
.Count Specify the number of contours to show for the plot
in the range [0,100]. This value depends on Type to
be set to the “SpecifyByCount” ContourTypeEnum.
(Read/Write number)
.Type Method used to plot the contours specified by the
ContourTypeEnum, e.g. SpecifyByCount or Specify-
ByValue.
(Read/Write ContourTypeEnum)
.Values The list of contour values used to plot the contours
when ContourSpecifiedByType is set to SpecifyBy-
Value. The format of the values is according to the
ContourValuesType.
(Read/Write table)
.ValuesType The type of the values of the contours when the Con-
tourSpecifiedByType is set to SpecifyByValue.
(Read/Write ContourValueTypeEnum)
.Visible Specifies whether the plot contours must be shown
or hidden.
(Read/Write boolean)

Properties (details)

.Colour
The colour of the contour lines.
Type: MagnitudeColour
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-60

.Count
Specify the number of contours to show for the plot in the range [0,100]. This value depends
on Type to be set to the “SpecifyByCount” ContourTypeEnum.
Type: number
Access: Read/Write

.Type
Method used to plot the contours specified by the ContourTypeEnum, e.g. SpecifyByCount or
SpecifyByValue.
Type: ContourTypeEnum
Access: Read/Write

.Values
The list of contour values used to plot the contours when ContourSpecifiedByType is set to
SpecifyByValue. The format of the values is according to the ContourValuesType.
Type: table
Access: Read/Write

.ValuesType
The type of the values of the contours when the ContourSpecifiedByType is set to SpecifyBy-
Value.
Type: ContourValueTypeEnum
Access: Read/Write

.Visible
Specifies whether the plot contours must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-61

10.3.14 Cube

A cube in 3D space.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Cube_example1.fek]])
sConf = app.Models["Cube_example1"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Cubes’ of a specified ’MeshCubeRegion’

cubes = mesh.CubeRegions[1].Cubes

-- Get the number of ’Cubes’ contained in the ’Cubes’ list and get the
-- vertex indices of the first cube.

count = cubes.Count
vertices = cubes[1].VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the cube.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the cube.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-62

10.3.15 Cubes

The list of cubes.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Cube_example1.fek]])
sConf = app.Models["Cube_example1"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Cubes’ of a specified ’MeshCubeRegion’

cubes = mesh.CubeRegions[1].Cubes

-- Get the number of ’Cubes’ contained in the ’Cubes’ list and get the
-- vertex indices of the first cube.

count = cubes.Count
vertices = cubes[1].VertexIndices

Property list

Name Description
.Count The number of cubes in the mesh entity.
(Read only number)

Index list

[number] Returns the Cube at the given index. (Read Cube)

Properties (details)

.Count
The number of cubes in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-63

10.3.16 Currents3DFormat

The currents 3D plot visualisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Display flat shaded current plot

current = app.Views[1].Plots:Add(app.Models[1].Configurations[1].SurfaceCurrents[1])
current.Visualisation.FlatShaded = true

Property list

Name Description
.FlatShaded Specifies whether discrete colours (flat shading)
should be enabled or disabled for the currents plot.
(Read/Write boolean)

Properties (details)

.FlatShaded
Specifies whether discrete colours (flat shading) should be enabled or disabled for the cur-
rents plot.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-64

10.3.17 CurvilinearTriangle

A curvilinear triangle in 3D space defined by three corner points and three midpoints halfway
along each side.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/RCS_of_a_Curvilinear_Dielectric_Sphere.fek]])
sConf = app.Models["RCS_of_a_Curvilinear_Dielectric_Sphere"].Configurations[1]
mesh = sConf.Mesh

-- Get ’CurvilinearTriangle’ from the specified ’MeshCurvilinearTriangleFaceCollection’

triangle = mesh.CurvilinearTriangleFaces[1].CurvilinearTriangles[1]

-- Get the vertex indices of the specified curvilinear triangle

indices = triangle.VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the triangle.
The first three [1 to 3] indices are corner indices.
The next three indices are midpoints. Index 4 ref-
erences the midpoint between the points referenced
by indices 1 and 2, index 5 is between 2 and 3, while
index 6 is between 3 and 1.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the triangle. The first three [1 to 3] indices are corner
indices. The next three indices are midpoints. Index 4 references the midpoint between the
points referenced by indices 1 and 2, index 5 is between 2 and 3, while index 6 is between 3
and 1.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-65

10.3.18 CurvilinearTriangles

The list of curvilinear triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/RCS_of_a_Curvilinear_Dielectric_Sphere.fek]])
sConf = app.Models["RCS_of_a_Curvilinear_Dielectric_Sphere"].Configurations[1]
mesh = sConf.Mesh

-- Get ’CurvilinearTriangles’ of the specified ’MeshCurvilinearTriangleFace’

triangles = mesh.CurvilinearTriangleFaces[1].CurvilinearTriangles

-- Get the number of curvilinear triangles of the specified mesh entity


-- and the vertex indices of the specified curvilinear triangle

count = triangles.Count
indices = triangles[1].VertexIndices

Property list

Name Description
.Count The number of curvilinear triangles in the mesh en-
tity.
(Read only number)

Index list

[number] Returns the CurvilinearTriangle at the given index. (Read


CurvilinearTriangle)

Properties (details)

.Count
The number of curvilinear triangles in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-66

10.3.19 CustomData3DFormat

The custom data 3D plot visualisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on the 3D view

customData = app.MathScripts["CustomMath1"]
customDataPlot = app.Views[1].Plots:Add(customData)
customDataPlot.Quantity.Type = "TotalEField"
app.Views[1]:ZoomToExtents()

-- Modify the custom data plot visualisation

customDataPlot.Visualisation.Opacity = 50
customDataPlot.Visualisation.AutoExtruded = false
customDataPlot.Visualisation.Extrusion = 50
customDataPlot.Visualisation.GridVisible = true

Property list

Name Description
.AutoExtruded Specifies whether auto extrusion is enabled or dis-
abled for the plot.
(Read/Write boolean)
.AutoSizingEnabled Specifies whether auto size is enabled or disabled
for the plot.
(Read/Write boolean)
.Extrusion The amount (%) the plot should be extruded in
range [0,100].
(Read/Write number)
.FlatShaded Specifies whether discrete colours (flat shading)
should be enabled or disabled for the plot.
(Read/Write boolean)
.GridVisible Specifies whether the plot grid must be shown or
hidden.
(Read/Write boolean)
.Opacity Specify the plot opacity % in the range [0, 100].
(Read/Write number)
.Size The custom size (m) of the plot. AutoSizingEnabled
needs to be disabled for this property to take affect.
(Read/Write number)
.SizeFactor The amount (%) the plot should be scaled in range
[0,600].
(Read/Write number)
.SurfaceVisible Specifies whether the plot surface must be shown or
hidden.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-67

(Read/Write boolean)

Properties (details)

.AutoExtruded
Specifies whether auto extrusion is enabled or disabled for the plot.
Type: boolean
Access: Read/Write

.AutoSizingEnabled
Specifies whether auto size is enabled or disabled for the plot.
Type: boolean
Access: Read/Write

.Extrusion
The amount (%) the plot should be extruded in range [0,100].
Type: number
Access: Read/Write

.FlatShaded
Specifies whether discrete colours (flat shading) should be enabled or disabled for the plot.
Type: boolean
Access: Read/Write

.GridVisible
Specifies whether the plot grid must be shown or hidden.
Type: boolean
Access: Read/Write

.Opacity
Specify the plot opacity % in the range [0, 100].
Type: number
Access: Read/Write

.Size
The custom size (m) of the plot. AutoSizingEnabled needs to be disabled for this property to
take affect.
Type: number
Access: Read/Write

.SizeFactor
The amount (%) the plot should be scaled in range [0,600].
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-68

.SurfaceVisible
Specifies whether the plot surface must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-69

10.3.20 CustomData3DPlot

A custom data 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on the 3D view

customData = app.MathScripts["CustomMath1"]
customDataPlot = app.Views[1].Plots:Add(customData)
app.Views[1]:ZoomToExtents()

-- Modify the custom data plot

customDataPlot.Quantity.Type = "TotalEField"
customDataPlot:SetFixedAxisValue("Z position", 0.2, "m")
customDataPlot.Visualisation.Opacity = 50

Inheritance

The object CustomData3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.Contours The custom data plot contours properties.
(Read/Write Contours3DFormat)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes
depend on the chosen PlotType as well as the con-
tents of the ResultData object. The value for a spe-
cific fixed axis can be queried and set with the Get-
FixedAxisValue() and SetFixedAxisValue() methods.
(Read only table)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.PlotType The type of plot to be displayed, e.g., 3D Surface,
Phi cut, Theta cut, XY surface.
(Read/Write string)
.PlotTypesAvailable The list of available plot types.
(Read only table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-70

.Quantity The custom data 3D plot quantity properties.


(Read/Write CustomDataQuantity)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The custom data visualisation properties.
(Read/Write CustomData3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:Duplicate () Duplicate the plot.
(Returns a Result3DPlot object.)
:GetAxisUnit (axis) Returns the SI unit for the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
fixed axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.

Properties (details)

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.Contours
The custom data plot contours properties.
Type: Contours3DFormat
Access: Read/Write

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-71

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen PlotType as well as
the contents of the ResultData object. The value for a specific fixed axis can be queried and
set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.PlotType
The type of plot to be displayed, e.g., 3D Surface, Phi cut, Theta cut, XY surface.
Type: string
Access: Read/Write

.PlotTypesAvailable
The list of available plot types.
Type: table
Access: Read only

.Quantity
The custom data 3D plot quantity properties.
Type: CustomDataQuantity
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

.Visualisation
The custom data visualisation properties.
Type: CustomData3DFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-72

Methods (details)

:Delete
Delete the plot.

:Duplicate
Duplicate the plot.
Returns:

• Result3DPlot: The duplicated plot.

:GetAxisUnit
Returns the SI unit for the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-73

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-74

10.3.21 CustomDataQuantity

The custom data quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on a Cartesian graph

customData = app.MathScripts["CustomMath1"]
graph = app.CartesianGraphs:Add()
customDataTrace = graph.Traces:Add(customData)
customDataTrace.IndependentAxis = "X position"

-- Modify the custom data trace

customDataTrace.Quantity.Type = "TotalEField"
customDataTrace.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Real
customDataTrace.Quantity.ValuesNormalised = true
graph:ZoomToExtents()

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.Type The type of quantity to be plotted.
(Read/Write string)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when ComplexComponent is
Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-75

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.Type
The type of quantity to be plotted.
Type: string
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plot-
ting. This property can be used together with dB scaling. This property is not valid when
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-76

10.3.22 CustomDataSmithTrace

A custom data 2D Smith trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on a Smith chart

customData = app.MathScripts["CustomMath1"]
graph = app.SmithCharts:Add()
customDataTrace = graph.Traces:Add(customData)

Inheritance

The object CustomDataSmithTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Quantity The custom data Smith trace quantity properties.
(Read/Write CustomSmithTraceQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-77

.Type The object type string.


(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-78

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Quantity
The custom data Smith trace quantity properties.
Type: CustomSmithTraceQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-79

:Lower
Lower the trace.

:Raise
Raise the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-80

10.3.23 CustomDataTrace

A custom data 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on a Cartesian graph

customData = app.MathScripts["CustomMath1"]
graph = app.CartesianGraphs:Add()
customDataTrace = graph.Traces:Add(customData)

-- Modify the custom data trace

customDataTrace.Quantity.Type = "TotalEField"
customDataTrace.IndependentAxis = "X position"
customDataTrace:SetFixedAxisValue("Frequency", 1.7, "GHz")
graph:ZoomToExtents()

Inheritance

The object CustomDataTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-81

.Legend The trace legend properties.


(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The custom data trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The custom data trace quantity properties.
(Read/Write CustomDataQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-82

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-83

.Math
The custom data trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The custom data trace quantity properties.
Type: CustomDataQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-84

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-85

10.3.24 CustomMathScript

Custom math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a custom math script

customMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.Custom)

-- Create the script that will be executed by the custom math script

script =
[[
-- Create a new DataSet

customDataSet = pf.DataSet.New()

-- Build the axes and quantities:


-- Frequency axis spanning from 1GHz to 2GHz with 11 values
-- Add a X axis spanning from -1m to 1m with 11 values
-- Add a Y axis spanning from -1m to 1m with 11 values
-- Add a Z axis spanning from -1m to 1m with 11 values

customDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Frequency, "GHz", 1 ,2 ,11)


customDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.X,"m", -1, 1, 11)
customDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Y,"m", -1, 1, 11)
customDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Z,"m", -1, 1, 11)

-- Add some quantities to the quantity collection

customDataSet.Quantities:Add( "Threshold", pf.Enums.DataSetQuantityTypeEnum.Scalar, "")


customDataSet.Quantities:Add( "TotalEField", pf.Enums.DataSetQuantityTypeEnum.Complex, "V/m")
customDataSet.Quantities:Add( "Impedance", pf.Enums.DataSetQuantityTypeEnum.Complex, "Ohm")

-- An iterator function that is used by forAllValues to populate the data set values

function initialise( index, customDataSet )


indexedValue = customDataSet[index]
freqValue = indexedValue:AxisValue("Frequency")
xValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.X)
yValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Y)
zValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Z)
r = math.sqrt((xValue*xValue)+(yValue*yValue)+(zValue*zValue))
indexedValue.TotalEField = 1/r + j*(1/r)
indexedValue.Threshold = 1
indexedValue.Impedance = 50 + j*((-1.5+freqValue)*300)
end
pf.DataSet.ForAllValues( initialise, customDataSet )

return customDataSet
]]
customMathScript.Script = script

-- Execute the math script

customMathScript:Run()

-- Store the custom data set and plot it on a 3D view

customDataPlot = app.Views[1].Plots:Add(customMathScript)
customDataPlot.Quantity.Type = "TotalEField"
app.Views[1]:ZoomToExtents()

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-86

Inheritance

The object CustomMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.
(Returns a DataSet object.)
:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-87

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-88

10.3.25 CustomSmithTraceQuantity

The custom data Smith trace quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the custom math script and plot it on a Smith chart

customData = app.MathScripts["CustomMath1"]
graph = app.SmithCharts:Add()
customDataTrace = graph.Traces:Add(customData)

-- Modify the trace quantities

customDataTrace.Quantity.ReferenceImpedance = 100
customDataTrace.Quantity.PhaseAdditionEnabled = true
customDataTrace.Quantity.Phase = 30

Property list

Name Description
.Phase The phase to be added to the trace. The value is in
degrees [-360,360].
(Read/Write number)
.PhaseAdditionEnabled Enable phase addition for the trace.
(Read/Write boolean)
.ReferenceImpedance The reference impedance value in ohm to use.
(Read/Write number)
.Type The type of quantity to be plotted.
(Read/Write string)

Properties (details)

.Phase
The phase to be added to the trace. The value is in degrees [-360,360].
Type: number
Access: Read/Write

.PhaseAdditionEnabled
Enable phase addition for the trace.
Type: boolean
Access: Read/Write

.ReferenceImpedance
The reference impedance value in ohm to use.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-89

.Type
The type of quantity to be plotted.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-90

10.3.26 Cylinder

A cylinder in 3D space.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Infinite_Cylinder_a.fek]])
sConf = app.Models["Infinite_Cylinder_a"].Configurations[1]
mesh = sConf.Mesh

-- Get a ’Cylinder’ from the specified ’MeshUnmeshedCylinderRegion’

cylinder = mesh.UnmeshedCylinderRegions[1].Cylinders[1]

-- Get the vertex indices of the specified cylinder

vertexIndices = cylinder.VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the cube.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the cube.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-91

10.3.27 Cylinders

The list of cylinders.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Infinite_Cylinder_a.fek]])
sConf = app.Models["Infinite_Cylinder_a"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Cylinders’ from the specified ’MeshUnmeshedCylinderRegion’

cylinders = mesh.UnmeshedCylinderRegions[1].Cylinders

-- Get the cylinder count of the specified ’MeshUnmeshedCylinderRegion’ and


-- the vertex indices of the specified cylinder

cylinderCount = cylinders.Count
cylinderVertexIndices = cylinders[1].VertexIndices

Property list

Name Description
.Count The number of cylinders in the mesh entity.
(Read only number)

Index list

[number] Returns the Cylinder at the given index. (Read Cylinder)

Properties (details)

.Count
The number of cylinders in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-92

10.3.28 DataSet

The structure used for containing math results. A DataSet contains axes that indicate where
quantities are defined, as well as the values for those quantities at each point.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a new DataSet

myDataSet = pf.DataSet.New()

-- Build the axes and quantities:


-- Frequency axis spanning from 1GHz to 2GHz with 11 values
-- Add a X axis spanning from -1m to 1m with 11 values
-- Add a Y axis spanning from -1m to 1m with 11 values
-- Add a Z axis spanning from -1m to 1m with 11 values

myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Frequency, "GHz", 1 ,2 ,11)


myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.X,"m", -1, 1, 11)
myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Y,"m", -1, 1, 11)
myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Z,"m", -1, 1, 11)

-- Add some quantities to the quantity collection

myDataSet.Quantities:Add( "Threshold", pf.Enums.DataSetQuantityTypeEnum.Scalar, "")


myDataSet.Quantities:Add( "TotalEField", pf.Enums.DataSetQuantityTypeEnum.Complex, "V/m")

-- Iterate over all the axes and populate the data set values

for freqIndex = 1, #myDataSet.Axes["Frequency"] do


for xIndex = 1, #myDataSet.Axes["X"] do
for yIndex = 1, #myDataSet.Axes["Y"] do
for zIndex = 1, #myDataSet.Axes["Y"] do
indexedValue = myDataSet[freqIndex][xIndex][yIndex][zIndex]
xValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.X)
yValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Y)
zValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Z)
r = math.sqrt((xValue*xValue)+(yValue*yValue)+(zValue*zValue))
indexedValue.TotalEField = 1/r + j*(1/r)
indexedValue.Threshold = 1
end
end
end
end

-- An iterator function that is used by forAllValues to populate the data set values
-- This is equivalent to the above method.

function initialise( index, myDataSet )


indexedValue = myDataSet[index]
xValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.X)
yValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Y)
zValue = indexedValue:AxisValue(pf.Enums.DataSetAxisEnum.Z)
r = math.sqrt((xValue*xValue)+(yValue*yValue)+(zValue*zValue))
indexedValue.TotalEField = 1/r + j*(1/r)
indexedValue.Threshold = 1
end
pf.DataSet.ForAllValues( initialise, myDataSet )

-- Store the custom data set and plot it on a 3D view

storedCustomData = myDataSet:StoreData(pf.Enums.StoredDataTypeEnum.Custom)
customDataPlot = app.Views[1].Plots:Add(storedCustomData)
customDataPlot.Quantity.Type = "TotalEField"
app.Views[1]:ZoomToExtents()

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-93

Collection list

Name Description
.Axes The collection of axes defining the positions in the
data set where quantities are defined.
(DataSetAxisCollection of DataSetAxis)
.Quantities The collection of quantities that are defined at each
point in the data set.
(DataSetQuantityCollection of DataSetQuantity)

Property list

Name Description
.MetaData Metadata that is associated with the data set.
(Read/Write DataSetMetaData)
.Type The object type string.
(Read only string)

Method list

Name Description
:StoreData (type) Creates a stored copy of the dataset.
(Returns a ResultData object.)

Static function list

Name Description
.ForAllValues (function Iterates over every point on every axis of the data set.
valueFunction, DataSet
data, ...)
.New () Creates a new data set.
(Returns a DataSet object.)

Index list

[number] Index into the values of the data set. (Read


DataSetIndexer)
[table] Index into the values of the data set using a table of in-
dices. (Read DataSetIndexer)

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-94

.Axes
The collection of axes defining the positions in the data set where quantities are defined.
Type: DataSetAxisCollection
Collection type: DataSetAxis

.Quantities
The collection of quantities that are defined at each point in the data set.
Type: DataSetQuantityCollection
Collection type: DataSetQuantity

Properties (details)

.MetaData
Metadata that is associated with the data set.
Type: DataSetMetaData
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:StoreData
Creates a stored copy of the dataset.
Parameters:

• type: The type of stored data entity specified by StoredDataTypeEnum, e.g. FarField,
NearField, Custom, etc. (StoredDataTypeEnum)

Returns:

• ResultData: The new stored data.

Static functions (details)

.ForAllValues
Iterates over every point on every axis of the data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-95

Parameters:

• valueFunction: A function that that processes each of the values. Must take at least
two arguments (index, dataset, ...). (function)
• data: The data set that is iterated over. (DataSet)
• . . .: Any extra arguments that will be passed directly to the value function.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a new DataSet

myDataSet = pf.DataSet.New()

-- Build the axes and quantities:


-- Frequency axis spanning from 1GHz to 2GHz with 11 values
-- Add a X axis spanning from -1m to 1m with 11 values
-- Add a Y axis spanning from -1m to 1m with 11 values
-- Add a Z axis spanning from -1m to 1m with 11 values

myDataSet.Axes:Add(pf.Enums.DataSetAxisEnum.Frequency, "GHz", 1 ,2 ,11)


myDataSet.Axes:Add(pf.Enums.DataSetAxisEnum.X,"m", -1, 1, 11)
myDataSet.Axes:Add(pf.Enums.DataSetAxisEnum.Y,"m", -1, 1, 11)
myDataSet.Axes:Add(pf.Enums.DataSetAxisEnum.Z,"m", -1, 1, 11)

-- Add a "Threshold" scalar quantity with no unit

myDataSet.Quantities:Add( "Threshold", pf.Enums.DataSetQuantityTypeEnum.Scalar, "")

-- An iterator function that initialises all of the defined values


-- to to the value provided as an extra argument to the ’forAllValues’
-- function.

function initialise( index, myDataSet, initialValue )


myDataSet[index].Threshold = initialValue
end
pf.DataSet.ForAllValues(initialise, myDataSet, 2)

-- Store the custom data set and plot it on a 3D view

storedCustomData = myDataSet:StoreData(pf.Enums.StoredDataTypeEnum.Custom)
app.Views[1].Plots:Add(storedCustomData)
app.Views[1]:ZoomToExtents()

.New
Creates a new data set.

Returns:

• DataSet: The new data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-96

10.3.29 DataSetAxis

Every DataSet contains axes and quantities. The DataSetAxis describes the definition of an axis.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the far field data set

farFieldDataSet = app.Models[1].Configurations[1].FarFields["farfields"]:GetDataSet(51)

-- Print a list of the far field axes

printlist( farFieldDataSet.Axes:Items() )

-- Access information about the "Phi" axis

phiAxis = farFieldDataSet.Axes["Phi"]
phiAxisName = phiAxis.Name
phiAxisUnit = phiAxis.Unit
phiAxisDescription = phiAxis.Description
phiAxisValues = phiAxis.Values -- The actual phi values in degrees
numberPhiAxisValues = #phiAxis
firstPhiValue = phiAxis[1]
lastPhiValue = phiAxis[#phiAxis]

Parent collection list

The following collections contain the DataSetAxis object:

/ DataSetAxisCollection

Property list

Name Description
.Count The number of values on the axis.
(Read only number)
.Description A text description of the axis.
(Read only string)
.Name The name of the axis.
(Read only string)
.Type The object type string.
(Read only string)
.Unit The unit for the axis.
(Read/Write Unit)
.Values The values of the axis.
(Read/Write table)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-97

Name Description
:SetValueAt (index, value) Set the value on the axis at the given index.
:ValueAt (index) Returns the value on the axis at the given index.
(Returns a Variant object.)

Operator list

# The number of values on the axis. This is equivalent to using the “Count” prop-
erty.

Index list

[number] The value at the given index. (Read Variant)


[number] The value at the given index. (Write Variant)

Properties (details)

.Count
The number of values on the axis.
Type: number
Access: Read only

.Description
A text description of the axis.
Type: string
Access: Read only

.Name
The name of the axis.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.Unit
The unit for the axis.
Type: Unit
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-98

.Values
The values of the axis.
Type: table
Access: Read/Write

Methods (details)

:SetValueAt
Set the value on the axis at the given index.
Parameters:

• index: The index of the value to access. (number)


• value: The value to assign to the given index. (Variant)

:ValueAt
Returns the value on the axis at the given index.
Parameters:

• index: The index of the value to access. (number)

Returns:

• Variant: The value at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-99

10.3.30 DataSetIndexer

When iterating over a data set, the DataSetIndexer provides a means to access the currently
indexed point and to retrieve information about its position in the data set. For instance, it is
possible to determine where in space a point is located and at what frequency. By using the
indexed point, the index, name, unit and value of the associated axes can be determined.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a new DataSet.

myDataSet = pf.DataSet.New()

-- Build the axes and quantities:


-- Frequency axis spanning from 1GHz to 2GHz with 11 values
-- Add a X axis spanning from -1m to 1m with 11 values
-- Add a Y axis spanning from -1m to 1m with 11 values
-- Add a Z axis spanning from -1m to 1m with 11 values

myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Frequency, "GHz", 1, 2, 11)


myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.X,"m", -1, 1, 11)
myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Y,"m", -1, 1, 11)
myDataSet.Axes:Add( pf.Enums.DataSetAxisEnum.Z,"m", -1, 1, 11)

-- Add a "Threshold" scalar quantity with no unit

myDataSet.Quantities:Add( "Threshold", pf.Enums.DataSetQuantityTypeEnum.Scalar, "")

-- Iterator function that will be used by the ForAllValues function. It


-- calculates the absolute distance from the origin and divides by the
-- square of the frequency (in GHz). Similar calculations are common
-- in radiation hazard applications.

function distanceOverFrequency(index, myDS)


local fVal = myDS[index]:AxisValue(pf.Enums.DataSetAxisEnum.Frequency)
local xVal = myDS[index]:AxisValue(pf.Enums.DataSetAxisEnum.X)
local yVal = myDS[index]:AxisValue(pf.Enums.DataSetAxisEnum.Y)
local zVal = myDS[index]:AxisValue(pf.Enums.DataSetAxisEnum.Z)

myDS[index].Threshold = math.sqrt(xVal^2 + yVal^2 + zVal^2)/fVal^2


end
pf.DataSet.ForAllValues(distanceOverFrequency, myDataSet)

-- Store the custom data set and plot it on a 3D view

storedCustomData = myDataSet:StoreData(pf.Enums.StoredDataTypeEnum.Custom)
app.Views[1].Plots:Add(storedCustomData)
app.Views[1]:ZoomToExtents()

Method list

Name Description
:AxisIndex (index) The index specifies an axis in the axes collection and
returns the current position on this axis as an index.
(Returns a number object.)
:AxisIndex (name) The name specifies an axis in the axes collection and
returns the current position on this axis as an index.
(Returns a number object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-100

:AxisName (index) The index specifies an axis in the axes collection and
returns its name.
(Returns a string object.)
:AxisUnit (index) The index specifies an axis in the axes collection and
returns its unit.
(Returns a Unit object.)
:AxisUnit (name) The name specifies an axis in the axes collection and
returns its unit.
(Returns a Unit object.)
:AxisValue (index) The index specifies an axis in the axes collection and
returns the value at the current position of this axis.
(Returns a Variant object.)
:AxisValue (name) The name specifies an axis in the axes collection and
returns the value at the current position of this axis.
(Returns a Variant object.)

Index list

[number] Index into the next axis. (Read DataSetIndexer)


[string] Set or get a quantity value. (Read Variant)
[string] Set or get a quantity value. (Write Variant)

Methods (details)

:AxisIndex
The index specifies an axis in the axes collection and returns the current position on this axis
as an index.
Parameters:

• index: The index specifies an axis in the axis collection. (number)

Returns:

• number: The current position as index of the axis at the specified index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-101

:AxisIndex
The name specifies an axis in the axes collection and returns the current position on this axis
as an index.
Parameters:

• name: The name specifies an axis in the axis collection. (string)

Returns:

• number: The current position as index of the axis at the specified name.

:AxisName
The index specifies an axis in the axes collection and returns its name.
Parameters:

• index: The index specifies an axis in the axis collection. (number)

Returns:

• string: The name of the axis at the specified index.

:AxisUnit
The index specifies an axis in the axes collection and returns its unit.
Parameters:

• index: The index specifies an axis in the axis collection. (number)

Returns:

• Unit: The unit of the axis at the specified index.

:AxisUnit
The name specifies an axis in the axes collection and returns its unit.
Parameters:

• name: The name specifies an axis in the axis collection. (string)

Returns:

• Unit: The unit of the axis at the specified name.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-102

:AxisValue
The index specifies an axis in the axes collection and returns the value at the current position
of this axis.
Parameters:

• index: The index specifies an axis in the axis collection. (number)

Returns:

• Variant: The value of the axis at the specified index.

:AxisValue
The name specifies an axis in the axes collection and returns the value at the current position
of this axis.
Parameters:

• name: The name specifies an axis in the axis collection. (string)

Returns:

• Variant: The value of the axis at the specified name.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-103

10.3.31 DataSetMetaData

Additional information that further helps to define a data set.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the far field data set

farFieldDataSet = app.Models[1].Configurations[1].FarFields["farfields"]:GetDataSet(51)

-- Adjust the origin of the far field

farFieldDataSet.MetaData.Origin = pf.Point(0,0,0.01)

-- Store the far field and plot it

storedFarField = farFieldDataSet:StoreData(pf.Enums.StoredDataTypeEnum.FarField)
plot = app.Views[1].Plots:Add(storedFarField)

Property list

Name Description
.Conical Indicates whether a near field is defined in the con-
ical coordinate system. Note that “RhoStepSize”
must also be set.
(Read/Write boolean)
.MediumNames The media names for near field media data sets. An
index to this table is provided as a quantity that is
defined for each point of a qualifying near field.
(Read/Write table)
.Origin The origin of a math result data set in Cartesian co-
ordinates. Applies to near field and far field data
sets.
(Read/Write Point)
.RhoStepSize The Rho step size for conical near fields. Note that
“Conical” must also be set.
(Read/Write number)
.UVector The U Vector of a math result data set in Cartesian
coordinates. Applies to near field and far field data
sets.
(Read/Write Point)
.VVector The V Vector of a math result data set in Cartesian
coordinates. Applies to near field and far field data
sets.
(Read/Write Point)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-104

.Conical
Indicates whether a near field is defined in the conical coordinate system. Note that
“RhoStepSize” must also be set.
Type: boolean
Access: Read/Write

.MediumNames
The media names for near field media data sets. An index to this table is provided as a
quantity that is defined for each point of a qualifying near field.
Type: table
Access: Read/Write

.Origin
The origin of a math result data set in Cartesian coordinates. Applies to near field and far
field data sets.
Type: Point
Access: Read/Write

.RhoStepSize
The Rho step size for conical near fields. Note that “Conical” must also be set.
Type: number
Access: Read/Write

.UVector
The U Vector of a math result data set in Cartesian coordinates. Applies to near field and far
field data sets.
Type: Point
Access: Read/Write

.VVector
The V Vector of a math result data set in Cartesian coordinates. Applies to near field and far
field data sets.
Type: Point
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-105

10.3.32 DataSetQuantity

Every DataSet contains axes and quantities. The DataSetQuantity describes the definition of a
quantity.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the far field data set

farFieldDataSet = app.Models[1].Configurations[1].FarFields["farfields"]:GetDataSet(51)

-- Print a list of the far field quantities

printlist( farFieldDataSet.Quantities:Items() )

-- Access information about the "EFieldTheta" quantity

EFieldThetaQuantity = farFieldDataSet.Quantities["EFieldTheta"]
quantityName = EFieldThetaQuantity.Name
quantityType = EFieldThetaQuantity.QuantityType
quantityUnit = EFieldThetaQuantity.Unit

-- Access the ’EFieldTheta’ value at the first frequency, theta and phi point

EFieldThetaValue = farFieldDataSet[1][1][1].EFieldTheta

Parent collection list

The following collections contain the DataSetQuantity object:

/ DataSetQuantityCollection

Property list

Name Description
.Name The name of the quantity.
(Read only string)
.QuantityType The value type of the quantity.
(Read/Write DataSetQuantityTypeEnum)
.Type The object type string.
(Read only string)
.Unit The unit for the quantity.
(Read/Write Unit)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-106

.Name
The name of the quantity.
Type: string
Access: Read only

.QuantityType
The value type of the quantity.
Type: DataSetQuantityTypeEnum
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Unit
The unit for the quantity.
Type: Unit
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-107

10.3.33 DependentAxisFormat

The trace dependent axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set axes properties

trace.Axes.Dependent.Unit = "kV/m"

cartesianGraph:ZoomToExtents()

Property list

Name Description
.Unit The unit of the dependent axis of the trace.
(Read/Write string)

Properties (details)

.Unit
The unit of the dependent axis of the trace.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-108

10.3.34 ErrorEstimate3DPlot

An error estimate 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Horn_error_estimates.fek]])
errorEstimateData = app.Models[1].Configurations[1].ErrorEstimates["ErrorEstimation1"]

-- Add the error estimation to the 3D view

errorEstimationPlot1 = app.Views[1].Plots:Add(errorEstimateData)

-- Modify the quantity

errorEstimationPlot1.Quantity.ValuesScaledToLog = true

Inheritance

The object ErrorEstimate3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Quantity The error estimate 3D plot quantity properties.
(Read/Write ErrorEstimatesQuantity)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the plot.

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-109

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Quantity
The error estimate 3D plot quantity properties.
Type: ErrorEstimatesQuantity
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-110

10.3.35 ErrorEstimateData

Error estimates generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Horn_error_estimates.fek]])

-- Retrieve the ’ErrorEstimateData’ called ’ErrorEstimation1’

errorEstimateData = app.Models[1].Configurations[1].ErrorEstimates["ErrorEstimation1"]

-- Add the error estimation to the 3D view

errorEstimationPlot1 = app.Views[1].Plots:Add(errorEstimateData)

Inheritance

The object ErrorEstimateData is derived from the ResultData object.

Parent collection list

The following collections contain the ErrorEstimateData object:

/ ErrorEstimateCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-111

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-112

10.3.36 ErrorEstimatesQuantity

The error estimate quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Horn_error_estimates.fek]])
errorEstimateData = app.Models[1].Configurations[1].ErrorEstimates["ErrorEstimation1"]

-- Add the error estimation to the 3D view

errorEstimationPlot1 = app.Views[1].Plots:Add(errorEstimateData)

-- Modify the quantity

errorEstimationPlot1.Quantity.ValuesScaledToLog = true

Property list

Name Description
.Type The type of quantity to be plotted, e.g. All mesh
elements, Triangles and Segments.
(Read/Write ErrorEstimateQuantityTypeEnum)
.ValuesScaledToLog Specifies whether the quantity values must be loga-
rithmic scaled before plotting.
(Read/Write boolean)

Properties (details)

.Type
The type of quantity to be plotted, e.g. All mesh elements, Triangles and Segments.
Type: ErrorEstimateQuantityTypeEnum
Access: Read/Write

.ValuesScaledToLog
Specifies whether the quantity values must be logarithmic scaled before plotting.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-113

10.3.37 ExcitationData

Excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’ExcitationData’ called ’VoltageSource’

excitationData = app.Models[1].Configurations[1].Excitations["VoltageSource"]

-- Manipulate the excitation data. See ’DataSet’ for faster and more comprehensive options

dataSet = excitationData:GetDataSet(51)
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the frequency start and end values

frequencyAxis = dataSet.Axes["Frequency"]
fequencyStartValue = frequencyAxis:ValueAt(1)
fequencyEndValue = frequencyAxis:ValueAt(#frequencyAxis)

-- Scale the power values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Power = indexedValue.Power * scale
end

-- Store the manipulated data

scaledExcitation = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Source)

-- Compare the original excitation to the manipulated excitation

graph = app.CartesianGraphs:Add()
excitationTrace1 = graph.Traces:Add(excitationData)
excitationTrace1.Quantity.Type = pf.Enums.ImpedanceQuantityTypeEnum.SourcePower
excitationTrace2 = graph.Traces:Add(scaledExcitation)
excitationTrace2.Quantity.Type = pf.Enums.ImpedanceQuantityTypeEnum.SourcePower

Inheritance

The object ExcitationData is derived from the ResultData object. The following objects are
derived (specialisations) from the ExcitationData object:

/ SourceAperture

/ SourceCoaxial

/ SourceCurrentRegion

/ SourceCurrentSpace

/ SourceCurrentTriangle

/ SourceElectricDipole

/ SourceMagneticDipole

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-114

/ SourceMagneticFrill

/ SourceModal

/ SourcePlaneWave

/ SourceRadiationPattern

/ SourceSphericalModes

/ SourceVoltageCable

/ SourceVoltageEdge

/ SourceVoltageNetwork

/ SourceVoltageSegment

/ SourceVoltageVertex

/ SourceWaveguide

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-115

.Label
The object label.
Type: string
Access: Read/Write

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-116

10.3.38 ExcitationMathScript

Excitation math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a excitation math script

excitationMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.Source)
script =
[[
dataSet = pf.Excitation.GetDataSet("startup.StandardConfiguration1.VoltageSource", 51)
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Power = indexedValue.Power * scale
end
return dataSet
]]
excitationMathScript.Script = script
excitationMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
excitationTrace1 = graph.Traces:Add(excitationMathScript)
excitationTrace1.Quantity.Type = pf.Enums.ImpedanceQuantityTypeEnum.SourcePower

Inheritance

The object ExcitationMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-117

(Returns a DataSet object.)


:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-118

10.3.39 ExcitationQuantity

The excitation quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
excitationData = app.Models[1].Configurations[1].Excitations["VoltageSource"]

-- Create a cartesian graph and add the excitation data

graph = app.CartesianGraphs:Add()
excitationTrace = graph.Traces:Add(excitationData)

-- Configure the trace quantity

excitationTrace.Quantity.Type = pf.Enums.ImpedanceQuantityTypeEnum.VSWR
excitationTrace.Quantity.LoadSubtractionEnabled = true
excitationTrace.Quantity.LoadSubtractionType = pf.Enums.LoadingTypeEnum.Admittance
excitationTrace.Quantity.LoadExpression = "50"

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.LoadExpression The load value to use. The value is a complex ex-
pression, e.g. “50+j*0”.
(Read/Write Expression)
.LoadSubtractionEnabled Specifies whether the loading value must be sub-
tracted before plotting.
(Read/Write boolean)
.LoadSubtractionType The type of load subtraction to be plotted, specified
by the LoadingTypeEnum, e.g. Impedance or Admit-
tance.
(Read/Write LoadingTypeEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.ReferenceImpedanceExpression The reference impedance value to use. The value is
a complex expression, e.g. “50+j*0”.
(Read/Write Expression)
.Type The type of quantity to be plotted, specified by the
ImpedanceQuantityTypeEnum, e.g. Impedance, Ad-
mittance, Voltage, Current, etc.
(Read/Write ImpedanceQuantityTypeEnum)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-119

.UseCustomReferenceImpedance Specifies whether a custom reference impedance


should be used.
(Read/Write boolean)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.LoadExpression
The load value to use. The value is a complex expression, e.g. “50+j*0”.
Type: Expression
Access: Read/Write

.LoadSubtractionEnabled
Specifies whether the loading value must be subtracted before plotting.
Type: boolean
Access: Read/Write

.LoadSubtractionType
The type of load subtraction to be plotted, specified by the LoadingTypeEnum, e.g. Impedance
or Admittance.
Type: LoadingTypeEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ReferenceImpedanceExpression
The reference impedance value to use. The value is a complex expression, e.g. “50+j*0”.
Type: Expression
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-120

.Type
The type of quantity to be plotted, specified by the ImpedanceQuantityTypeEnum, e.g.
Impedance, Admittance, Voltage, Current, etc.
Type: ImpedanceQuantityTypeEnum
Access: Read/Write

.UseCustomReferenceImpedance
Specifies whether a custom reference impedance should be used.
Type: boolean
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-121

10.3.40 ExcitationSmithQuantity

The Smith excitation quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
excitationData = app.Models[1].Configurations[1].Excitations["VoltageSource"]

-- Create a smith chart and add the excitation data

graph = app.SmithCharts:Add()
excitationTrace = graph.Traces:Add(excitationData)

-- Configure the trace quantity

excitationTrace.Quantity.PhaseAdditionEnabled = true
excitationTrace.Quantity.Phase = 50
excitationTrace.Quantity.LoadSubtractionEnabled = true
excitationTrace.Quantity.LoadSubtractionType = pf.Enums.LoadingTypeEnum.Admittance
excitationTrace.Quantity.LoadExpression = "50"

Property list

Name Description
.LoadExpression The load value to use. The value is a complex ex-
pression, e.g. “50+j*0”.
(Read/Write Expression)
.LoadSubtractionEnabled Specifies whether the loading value must be sub-
tracted before plotting.
(Read/Write boolean)
.LoadSubtractionType The type of load subtraction to be plotted, specified
by the LoadingTypeEnum, e.g. Impedance or Admit-
tance.
(Read/Write LoadingTypeEnum)
.Phase The phase to be added to the trace. The value is in
degrees [-360,360].
(Read/Write number)
.PhaseAdditionEnabled Enable phase addition for the trace.
(Read/Write boolean)
.ReferenceImpedanceExpression The reference impedance value to use. The value is
a complex expression, e.g. “50+j*0”.
(Read/Write Expression)
.Type The type of quantity to be plotted, specified by the
ImpedanceQuantityTypeEnum, e.g. Impedance, Ad-
mittance, Voltage, Current, etc.
(Read/Write ImpedanceQuantityTypeEnum)
.UseCustomReferenceImpedance Specifies whether a custom reference impedance
should be used.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-122

Properties (details)

.LoadExpression
The load value to use. The value is a complex expression, e.g. “50+j*0”.
Type: Expression
Access: Read/Write

.LoadSubtractionEnabled
Specifies whether the loading value must be subtracted before plotting.
Type: boolean
Access: Read/Write

.LoadSubtractionType
The type of load subtraction to be plotted, specified by the LoadingTypeEnum, e.g. Impedance
or Admittance.
Type: LoadingTypeEnum
Access: Read/Write

.Phase
The phase to be added to the trace. The value is in degrees [-360,360].
Type: number
Access: Read/Write

.PhaseAdditionEnabled
Enable phase addition for the trace.
Type: boolean
Access: Read/Write

.ReferenceImpedanceExpression
The reference impedance value to use. The value is a complex expression, e.g. “50+j*0”.
Type: Expression
Access: Read/Write

.Type
The type of quantity to be plotted, specified by the ImpedanceQuantityTypeEnum, e.g.
Impedance, Admittance, Voltage, Current, etc.
Type: ImpedanceQuantityTypeEnum
Access: Read/Write

.UseCustomReferenceImpedance
Specifies whether a custom reference impedance should be used.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-123

10.3.41 ExcitationSmithTrace

An excitation 2D Smith trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
excitationData = app.Models[1].Configurations[1].Excitations["VoltageSource"]

-- Create a smith chart and add the excitation data

graph = app.SmithCharts:Add()
excitationTrace = graph.Traces:Add(excitationData)

-- Configure the trace quantity

excitationTrace.Quantity.PhaseAdditionEnabled = true
excitationTrace.Quantity.Phase = 50

Inheritance

The object ExcitationSmithTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Quantity The excitation trace quantity properties.
(Read/Write ExcitationSmithQuantity)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-124

.Sampling The continuous trace sampling settings. These set-


tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-125

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Quantity
The excitation trace quantity properties.
Type: ExcitationSmithQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-126

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-127

10.3.42 ExcitationTrace

A excitation 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
excitationData = app.Models[1].Configurations[1].Excitations["VoltageSource"]

-- Create a cartesian graph and add the excitation data

graph = app.CartesianGraphs:Add()
excitationTrace = graph.Traces:Add(excitationData)

-- Configure the trace quantity

excitationTrace.Quantity.Type = pf.Enums.ImpedanceQuantityTypeEnum.VSWR

Inheritance

The object ExcitationTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The excitation trace math expression properties.
(Read/Write TraceMathExpression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-128

.Quantity The excitation trace quantity properties.


(Read/Write ExcitationQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-129

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The excitation trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The excitation trace quantity properties.
Type: ExcitationQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-130

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-131

10.3.43 FarField3DFormat

The far field 3D plot visualisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]
farFieldPlot = app.Views[1].Plots:Add(farFieldData)

-- Configure the plot visualisation

farFieldPlot.Visualisation.FlatShaded = true
farFieldPlot.Visualisation.Opacity = 50
farFieldPlot.Visualisation.Origin = pf.Point(0, 0, 0.002)

Property list

Name Description
.AutoExtruded Specifies whether auto extrusion is enabled or dis-
abled for the far field plot.
(Read/Write boolean)
.AutoSizingEnabled Specifies whether auto size is enabled or disabled
for the far field plot.
(Read/Write boolean)
.Extrusion The amount (%) the far field plot should be ex-
truded in range [0,100].
(Read/Write number)
.FlatShaded Specifies whether discrete colours (flat shading)
should be enabled or disabled for the far field plot.
(Read/Write boolean)
.GridVisible Specifies whether the far field plot grid must be
shown or hidden.
(Read/Write boolean)
.Opacity Specify the far field plot opacity (%) in the range [0,
100].
(Read/Write number)
.Origin The origin position of the far field plot.
(Read/Write Point)
.Size The custom size (m) of the far field plot. AutoSizin-
gEnabled needs to be disabled for this property to
take affect.
(Read/Write number)
.SizeFactor The amount (%) the far field plot should be scaled
in range [0,600].
(Read/Write number)
.SurfaceVisible Specifies whether the far field plot surface must be
shown or hidden.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-132

(Read/Write boolean)

Properties (details)

.AutoExtruded
Specifies whether auto extrusion is enabled or disabled for the far field plot.
Type: boolean
Access: Read/Write

.AutoSizingEnabled
Specifies whether auto size is enabled or disabled for the far field plot.
Type: boolean
Access: Read/Write

.Extrusion
The amount (%) the far field plot should be extruded in range [0,100].
Type: number
Access: Read/Write

.FlatShaded
Specifies whether discrete colours (flat shading) should be enabled or disabled for the far
field plot.
Type: boolean
Access: Read/Write

.GridVisible
Specifies whether the far field plot grid must be shown or hidden.
Type: boolean
Access: Read/Write

.Opacity
Specify the far field plot opacity (%) in the range [0, 100].
Type: number
Access: Read/Write

.Origin
The origin position of the far field plot.
Type: Point
Access: Read/Write

.Size
The custom size (m) of the far field plot. AutoSizingEnabled needs to be disabled for this
property to take affect.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-133

.SizeFactor
The amount (%) the far field plot should be scaled in range [0,600].
Type: number
Access: Read/Write

.SurfaceVisible
Specifies whether the far field plot surface must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-134

10.3.44 FarField3DPlot

A far field 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]

-- Create a 3D Plot of the far field

farFieldPlot = app.Views[1].Plots:Add(farFieldData)

-- Configure the plot axes

farFieldPlot.PlotType = "Phi cut"


farFieldPlot:SetFixedAxisValue("Frequency", 7.0, "GHz")
farFieldPlot:SetFixedAxisValue("Phi", 60, "deg")

Inheritance

The object FarField3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.Contours The far field plot contours properties.
(Read/Write Contours3DFormat)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes
depend on the chosen PlotType as well as the con-
tents of the ResultData object. The value for a spe-
cific fixed axis can be queried and set with the Get-
FixedAxisValue() and SetFixedAxisValue() methods.
(Read only table)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.LocalCoordAxes The far field local coordinate axis properties.
(Read/Write Axes3DFormat)
.PlotType The type of plot to be displayed, e.g., 3D Surface,
Phi cut, Theta cut, XY surface.
(Read/Write string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-135

.PlotTypesAvailable The list of available plot types.


(Read only table)
.Quantity The far field 3D plot quantity properties.
(Read/Write FarFieldQuantity)
.RequestPoints The far field request points properties.
(Read/Write RequestPoints3DFormat)
.Sampling The continuous plot sampling settings. These set-
tings only apply to plots that have continuous axes.
(Read/Write PlotSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The far field visualisation properties.
(Read/Write FarField3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:Duplicate () Duplicate the plot.
(Returns a Result3DPlot object.)
:GetAxisUnit (axis) Returns the SI unit for the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
fixed axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the plot.
(Returns a Result3DPlot object.)

Properties (details)

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.Contours
The far field plot contours properties.
Type: Contours3DFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-136

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen PlotType as well as
the contents of the ResultData object. The value for a specific fixed axis can be queried and
set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.LocalCoordAxes
The far field local coordinate axis properties.
Type: Axes3DFormat
Access: Read/Write

.PlotType
The type of plot to be displayed, e.g., 3D Surface, Phi cut, Theta cut, XY surface.
Type: string
Access: Read/Write

.PlotTypesAvailable
The list of available plot types.
Type: table
Access: Read only

.Quantity
The far field 3D plot quantity properties.
Type: FarFieldQuantity
Access: Read/Write

.RequestPoints
The far field request points properties.
Type: RequestPoints3DFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-137

.Sampling
The continuous plot sampling settings. These settings only apply to plots that have continu-
ous axes.
Type: PlotSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

.Visualisation
The far field visualisation properties.
Type: FarField3DFormat
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

:Duplicate
Duplicate the plot.
Returns:

• Result3DPlot: The duplicated plot.

:GetAxisUnit
Returns the SI unit for the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-138

:GetFixedAxisAvailableValues
Returns the list of available values for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

:Store
Store a copy of the plot.
Returns:

• Result3DPlot: A copy of the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-139

10.3.45 FarFieldData

Far field results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’FarFieldData’ called ’FarFields’

farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]

-- Manipulate the far field data. See ’DataSet’ for faster and more comprehensive options

dataSet = farFieldData:GetDataSet(51)
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the theta start and end values

thetaAxis = dataSet.Axes["Theta"]
thetaStartValue = thetaAxis:ValueAt(1)
thetaEndValue = thetaAxis:ValueAt(#thetaAxis)

-- Scale the far field field values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for thetaIndex = 1, #dataSet.Axes["Theta"] do
for phiIndex = 1, #dataSet.Axes["Phi"] do
indexedValue = dataSet[freqIndex][thetaIndex][phiIndex]
indexedValue.EFieldTheta = indexedValue.EFieldTheta * scale
indexedValue.EFieldPhi = indexedValue.EFieldPhi * scale
end
end
end

-- Store the manipulated data

scaledFarField = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.FarField)

-- Compare the original far field to the manipulated far field

farFieldPlot1 = app.Views[1].Plots:Add(farFieldData)
farFieldPlot2 = app.Views[1].Plots:Add(scaledFarField)
graph = app.CartesianGraphs:Add()
farFieldTrace1 = graph.Traces:Add(farFieldData)
farFieldTrace2 = graph.Traces:Add(scaledFarField)

Inheritance

The object FarFieldData is derived from the ResultData object.

Parent collection list

The following collections contain the FarFieldData object:

/ FarFieldCollection

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-140

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, quantity, sam- Export the result far field data to the specified *.ffe
ples) file.
:GetDataSet () Returns a data set containing the far field values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the far field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the far field values.
quency, samplePoints)
(Returns a DataSet object.)
:GetSampledDataSet (theta, phi) Returns the data set for the continuous far field sam-
pled using the given theta and phi sample densities.
(Returns a DataSet object.)
:GetSampledDataSet (thetaStart, Returns the data set for the continuous far field sam-
thetaEnd, thetaCount, phiStart, pled using the given theta and phi sample densities.
phiEnd, phiCount)
(Returns a DataSet object.)
:GetSampledDataSet (frequency, Returns the data set for the continuous far field sam-
theta, phi) pled using the given theta and phi sample densities.
(Returns a DataSet object.)
:GetSampledDataSet (freqStart, Returns the data set for the continuous far field sam-
freqEnd, freqCount, thetaStart, pled using the given theta and phi sample densities.
thetaEnd, thetaCount, phiStart,
phiEnd, phiCount)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-141

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result far field data to the specified *.ffe file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• quantity: The quantity type to export specified by the FarFieldsExportTypeEnum, e.g.
Gain, Directivity, RCS, etc. (FarFieldsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Export the far field data to the current working directory

farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]
farFieldData:ExportData("farFieldExport",
pf.Enums.FarFieldsExportTypeEnum.Directivity,
51)

:GetDataSet
Returns a data set containing the far field values.
Returns:

• DataSet: The data set containing the far field values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-142

:GetDataSet
Returns a data set containing the far field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the far field values.

:GetDataSet
Returns a data set containing the far field values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the far field values.

:GetSampledDataSet
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.
Parameters:

• theta: The theta sample density. (number)


• phi: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-143

:GetSampledDataSet
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.
Parameters:

• thetaStart: The start of the theta range to sample. (number)


• thetaEnd: The end of the theta range to sample. (number)
• thetaCount: The theta sample density. (number)
• phiStart: The start of the phi range to sample. (number)
• phiEnd: The end of the phi range to sample. (number)
• phiCount: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

:GetSampledDataSet
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.
Parameters:

• frequency: The frequency sample density. (number)


• theta: The theta sample density. (number)
• phi: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-144

:GetSampledDataSet
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.
Parameters:

• freqStart: The start of the frequency range to sample. (number)


• freqEnd: The end of the frequency range to sample. (number)
• freqCount: The frequency sample density. (number)
• thetaStart: The start of the theta range to sample. (number)
• thetaEnd: The end of the theta range to sample. (number)
• thetaCount: The theta sample density. (number)
• phiStart: The start of the phi range to sample. (number)
• phiEnd: The end of the phi range to sample. (number)
• phiCount: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-145

10.3.46 FarFieldMathScript

Far field math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a far field math script

farFieldMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.FarField)
script =
[[
dataSet = pf.FarField.GetDataSet("startup.StandardConfiguration1.FarFields", 51)
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for thetaIndex = 1, #dataSet.Axes["Theta"] do
for phiIndex = 1, #dataSet.Axes["Phi"] do
indexedValue = dataSet[freqIndex][thetaIndex][phiIndex]
indexedValue.EFieldTheta = indexedValue.EFieldTheta * scale
indexedValue.EFieldPhi = indexedValue.EFieldPhi * scale
end
end
end
return dataSet
]]
farFieldMathScript.Script = script
farFieldMathScript:Run()

-- Plot the math script

farFieldPlot = app.Views[1].Plots:Add(farFieldMathScript)

Inheritance

The object FarFieldMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-146

(Returns a MathScript object.)


:GetDataSet () Returns a data set containing the math script values.
(Returns a DataSet object.)
:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-147

10.3.47 FarFieldPowerIntegralData

Far field power integral results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’FarFieldPowerIntegralData’ called ’FarFields’

farFieldPowerData = app.Models[1].Configurations[1].FarFieldPowerIntegrals["FarFields"]

-- Create a graph and add the far field power data to it

graph = app.CartesianGraphs:Add()
trace = graph.Traces:Add(farFieldPowerData)

Inheritance

The object FarFieldPowerIntegralData is derived from the ResultData object.

Parent collection list

The following collections contain the FarFieldPowerIntegralData object:

/ FarFieldPowerIntegralCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-148

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-149

10.3.48 FarFieldPowerIntegralTrace

A far field power integral 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldPowerData = app.Models[1].Configurations[1].FarFieldPowerIntegrals["FarFields"]

-- Create a graph and add the far field power data to it

graph = app.CartesianGraphs:Add()
trace = graph.Traces:Add(farFieldPowerData)

-- Set the trace to dB

trace.Quantity.ValuesScaledToDB = true

Inheritance

The object FarFieldPowerIntegralTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-150

.Line The trace line format properties.


(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The far field power integral trace math expression
properties.
(Read/Write TraceMathExpression)
.Quantity The far field power integral trace quantity proper-
ties.
(Read/Write PowerIntegralQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-151

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-152

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The far field power integral trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The far field power integral trace quantity properties.
Type: PowerIntegralQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-153

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-154

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-155

10.3.49 FarFieldQuantity

The far field quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]

-- Create a polar graph and and the far field data

polarGraph = app.PolarGraphs:Add()
farFieldTrace = polarGraph.Traces:Add(farFieldData)

-- Configure the trace quantity

farFieldTrace.Quantity.Type = pf.Enums.FarFieldQuantityTypeEnum.Directivity
farFieldTrace.Quantity.Component = pf.Enums.FarFieldQuantityComponentEnum.Ludwig3Co
farFieldTrace.Quantity.ValuesScaledToDB = true

Property list

Name Description
.ComplexComponent The complex component of the far field value to
plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.Component The component of the far field quantity type to
be plotted, specified by the FarFieldQuantityCompo-
nentEnum, e.g., Total, Theta, Phi, Ludwig3Co, Lud-
wig3Cross, MajorMinor, MinorMajor, etc.
(Read/Write FarFieldQuantityComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.Type The type of far field quantity to be plotted, speci-
fied by the FarFieldQuantityTypeEnum, e.g. EField,
Gain, Directivity, RCS, etc.
(Read/Write FarFieldQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when ComplexComponent is
Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
ComplexComponent is Magnitude.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-156

Properties (details)

.ComplexComponent
The complex component of the far field value to plot, specified by the ComplexComponen-
tEnum, e.g. Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.Component
The component of the far field quantity type to be plotted, specified by the FarFieldQuantity-
ComponentEnum, e.g., Total, Theta, Phi, Ludwig3Co, Ludwig3Cross, MajorMinor, MinorMa-
jor, etc.
Type: FarFieldQuantityComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.Type
The type of far field quantity to be plotted, specified by the FarFieldQuantityTypeEnum, e.g.
EField, Gain, Directivity, RCS, etc.
Type: FarFieldQuantityTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plot-
ting. This property can be used together with dB scaling. This property is not valid when
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-157

10.3.50 FarFieldTrace

A far field 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields["FarFields"]

-- Create a polar graph and and the far field data

polarGraph = app.PolarGraphs:Add()
farFieldTrace = polarGraph.Traces:Add(farFieldData)

-- Configure the trace axes

farFieldTrace.IndependentAxis = "Phi"
farFieldTrace:SetFixedAxisValue("Frequency", 7.0, "GHz")
farFieldTrace:SetFixedAxisValue("Theta", 50, "deg")

-- Configure the trace quantity

farFieldTrace.Quantity.Type = pf.Enums.FarFieldQuantityTypeEnum.Directivity

Inheritance

The object FarFieldTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-158

.Label The object label.


(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The far field trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The far field trace quantity properties.
(Read/Write FarFieldQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-159

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-160

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The far field trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The far field trace quantity properties.
Type: FarFieldQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-161

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-162

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-163

10.3.51 FontFormat

The font format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()
graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Edit title ’FontFormat’

graph.Title.Font.Boldfaced = true
graph.Title.Font.Size = 20
graph.Title.Font.Family = "Courier"

Property list

Name Description
.Boldfaced Enables font bold.
(Read/Write boolean)
.Colour The font colour.
(Read/Write Colour)
.Family The font family.
(Read/Write string)
.Italicised Enables font italic.
(Read/Write boolean)
.Size The font size.
(Read/Write number)
.Underlined Enables font underline.
(Read/Write boolean)

Properties (details)

.Boldfaced
Enables font bold.
Type: boolean
Access: Read/Write

.Colour
The font colour.
Type: Colour
Access: Read/Write

.Family
The font family.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-164

.Italicised
Enables font italic.
Type: boolean
Access: Read/Write

.Size
The font size.
Type: number
Access: Read/Write

.Underlined
Enables font underline.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-165

10.3.52 Form

A fully customisable dialog. The form can be used as the base component for facilitating feedback
from interactive scripts.
See the example below:
-- Create a ’Form’ and a ’Label’ to put on it

form = pf.Form.New("My Custom Dialog")


label = pf.FormLabel.New("Hello world!")

-- Add the label to the form’s layout

form:Add(label)

-- Execute the form, potentially waiting for user input from buttons and widgets added to the form

form:Run()

Collection list

Name Description
.FormItems The collection of item widgets contained in the
form.
(FormItemCollection of FormItem)

Property list

Name Description
.Buttons A grouping that contains the OK and Cancel buttons.
(Read/Write FormButtons)
.Height The height in pixels of the form window.
(Read only number)
.Title The title that will be displayed in the title bar at the
top of the form.
(Read/Write string)
.Type The object type string.
(Read only string)
.Width The width in pixels of the form window.
(Read only number)

Method list

Name Description
:Add (item) Adds the given item to the form. Items can be any
of the defined form item types.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-166

:Add (item, row, column) Adds the given item to the form at the specified po-
sition. Positions are defined as a row and column,
starting at (1,1).
:Remove (item) Removes the given item from the form. The item
can be any of the items that resides in the collection
of the form items.
:Run () Executes the form. The values of any items will be
modified and made accessible in a script once the
OK button on the form is pressed.
(Returns a boolean object.)
:SetSize (width, height) Set the width and height of the form in pixels. En-
sure that width and height are larger than zero.

Static function list

Name Description
.Critical (string title, string Creates a new critical message form and displays it. Further
message) execution of the script is halted.
.Info (string title, string Creates an information message form and displays it.
message)
.New (string title, Form- Creates a new form with a specified label and layout.
LayoutEnum layout)
(Returns a Form object.)
.New (string title) Creates a new form with a specified label and vertical layout.
(Returns a Form object.)
.New () Creates a new form with a vertical layout.
(Returns a Form object.)
.Warning (string title, Creates a new warning message form and displays it.
string message)

Collections (details)

.FormItems
The collection of item widgets contained in the form.
Type: FormItemCollection
Collection type: FormItem

Properties (details)

.Buttons
A grouping that contains the OK and Cancel buttons.
Type: FormButtons
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-167

.Height
The height in pixels of the form window.
Type: number
Access: Read only

.Title
The title that will be displayed in the title bar at the top of the form.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Width
The width in pixels of the form window.
Type: number
Access: Read only

Methods (details)

:Add
Adds the given item to the form. Items can be any of the defined form item types.
Parameters:

• item: The form item to add to the form. (FormItem)

:Add
Adds the given item to the form at the specified position. Positions are defined as a row and
column, starting at (1,1).
Parameters:

• item: The form item to add to the form. (FormItem)


• row: The layout row position. (number)
• column: The layout column position. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-168

:Remove
Removes the given item from the form. The item can be any of the items that resides in the
collection of the form items.
Parameters:

• item: The form item to remove from the form. (FormItem)

:Run
Executes the form. The values of any items will be modified and made accessible in a script
once the OK button on the form is pressed.
Returns:

• boolean: True for the OK button and false for the Cancel button.

:SetSize
Set the width and height of the form in pixels. Ensure that width and height are larger than
zero.
Parameters:

• width: Width of the form in pixels. (number)


• height: Height of the form in pixels. (number)

Static functions (details)

.Critical
Creates a new critical message form and displays it. Further execution of the script is halted.

Parameters:

• title: The form window title. (string)


• message: The critical message to display on the form. (string)

.Info
Creates an information message form and displays it.

Parameters:

• title: The form window title. (string)


• message: The information message to display on the form. (string)

.New
Creates a new form with a specified label and layout.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-169

Parameters:

• title: The form window title. (string)


• layout: The group box layout type. (FormLayoutEnum)

Returns:

• Form: The newly created form.

.New
Creates a new form with a specified label and vertical layout.

Parameters:

• title: The form window title. (string)

Returns:

• Form: The newly created form.

.New
Creates a new form with a vertical layout.

Returns:

• Form: The newly created form.

.Warning
Creates a new warning message form and displays it.

Parameters:

• title: The form window title. (string)


• message: The warning message to display on the form. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-170

10.3.53 FormButtonFormat

The properties that control the text and visibility of form buttons.
See the example below:
form = pf.Form.New("Custom buttons")

-- Modify the buttons using the properties on their ’FormButtonFormat’

form.Buttons.OK.Text = "Continue script"


form.Buttons.Cancel.Visible = false

form:Run()

Property list

Name Description
.Text The text that will be displayed on the button.
(Read/Write string)
.Visible Controls the button visibility.
(Read/Write boolean)

Properties (details)

.Text
The text that will be displayed on the button.
Type: string
Access: Read/Write

.Visible
Controls the button visibility.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-171

10.3.54 FormButtons

The form buttons.


See the example below:
form = pf.Form.New("Default buttons")

-- Retrieve which button the user pressed

okPressed = form:Run()

if okPressed then
print "OK pressed"
else
print "Cancel pressed"
end

Property list

Name Description
.Cancel The Cancel button’s text and visibility properties.
(Read/Write FormButtonFormat)
.OK The OK button’s text and visibility properties.
(Read/Write FormButtonFormat)

Properties (details)

.Cancel
The Cancel button’s text and visibility properties.
Type: FormButtonFormat
Access: Read/Write

.OK
The OK button’s text and visibility properties.
Type: FormButtonFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-172

10.3.55 FormCheckBox

A check box item. Check boxes are used mainly in two cases. The first case is when a simple
yes/no response is required. The second case is when multiple selections from a number options
is permitted. In this case each option will be presented by a separate check box.
See the example below:
form = pf.Form.New("Export settings")

-- Create check boxes

checkbox1 = pf.FormCheckBox.New("Export electric near fields.")


checkbox1.Checked = true
checkbox2 = pf.FormCheckBox.New("Export magnetic near fields.")

-- Add check boxes to ’Form’ layout

form:Add(checkbox1)
form:Add(checkbox2)

-- Run the form and retrieve the user input

form:Run()
mustExportEFields = checkbox1.Checked
mustExportHFields = checkbox2.Checked

Inheritance

The object FormCheckBox is derived from the FormItem object.

Property list

Name Description
.Checked The state of the check box. True indicates that the
box is checked, false indicates that it is unchecked.
(Read/Write boolean)
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-173

.New (string label) Create a new check box item. The text describing the check box
is determined by the specified label.
(Returns a FormCheckBox object.)

Properties (details)

.Checked
The state of the check box. True indicates that the box is checked, false indicates that it is
unchecked.
Type: boolean
Access: Read/Write

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new check box item. The text describing the check box is determined by the specified
label.

Parameters:

• label: The label describing the check box. (string)

Returns:

• FormCheckBox: A check box form item created with the specified label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-174

10.3.56 FormComboBox

A combo box item. A combo box provides a list of options of which at least one must be selected.
See the example below:
form = pf.Form.New("Export settings")

-- Prepare input parameter and create combo box

options = {}
table.insert(options, "Only electric near fields")
table.insert(options, "Only magnetic near fields")
table.insert(options, "Both electric and magnetic near fields")

combobox = pf.FormComboBox.New("Results to export:", options)


form:Add(combobox)

-- Run the form and retrieve the user input

form:Run()
print("The user select to export: "..combobox.Value)

Inheritance

The object FormComboBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Index The index of the selected item in the combo box
item.
(Read/Write number)
.Type The object type string.
(Read only string)
.Value The text of the selected item in the combo box item.
(Read/Write Expression)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label, table Create a new combo box item.
map)
October 2013 FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-175

(Returns a FormComboBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Index
The index of the selected item in the combo box item.
Type: number
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The text of the selected item in the combo box item.
Type: Expression
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new combo box item.

Parameters:

• label: The text description that will appear next to the combo box. (string)
• map: The combo box value index map. The map refers to a standard Lua table with
numeric indexing. (table)

Returns:

• FormComboBox: The combo box item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-176

10.3.57 FormConfigurationSelector

Selects a solution configuration.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a from and add a ’FormConfigurationSelector’

form = pf.Form.New("Generate antenna report")


configSelector = pf.FormConfigurationSelector.New("Choose antenna configuration")
form:Add(configSelector)

-- Run the form and retrieve the user input

form:Run()
solutionConfiguration = configSelector.Value

Inheritance

The object FormConfigurationSelector is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The selected configuration.
(Read only SolutionConfiguration)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a configuration selector. The selector will contain a list
of solution configurations available in the application.
(Returns a FormConfigurationSelector object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-177

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The selected configuration.
Type: SolutionConfiguration
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a configuration selector. The selector will contain a list of solution configurations
available in the application.

Parameters:

• label: The item label. (string)

Returns:

• FormConfigurationSelector: The label item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-178

10.3.58 FormDataSelector

Select result data of the specified type.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a from and add a ’FormDataSelector’ for ’FarField’

form = pf.Form.New("Export far field")


selector = pf.FormDataSelector.New("Choose far field:",
pf.Enums.FormDataSelectorType.FarField)
form:Add(selector)

-- Run the form and retrieve the selection

form:Run()
resultData = selector.Value

Inheritance

The object FormDataSelector is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.SelectorType The data selector type.
(Read only FormDataSelectorType)
.Type The object type string.
(Read only string)
.Value The selected data.
(Read only ResultData)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label, Form- Create a specified data selector type. The selector will contain
DataSelectorType type) a list of result data available in the model.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-179

(Returns a FormDataSelector object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.SelectorType
The data selector type.
Type: FormDataSelectorType
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.Value
The selected data.
Type: ResultData
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a specified data selector type. The selector will contain a list of result data available
in the model.

Parameters:

• label: The item label. (string)


• type: The data selector type. (FormDataSelectorType)

Returns:

• FormDataSelector: The label item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-180

10.3.59 FormDirectoryBrowser

A directory browser item. When working with multiple files, it is often simplest to specify only the
directory where the files are located. When generating multiple files, it is also useful to specify
where the files should be stored. The directory browser is then a tool for navigating through the
operating system’s directory structures to set an active directory of interest.
See the example below:
form = pf.Form.New("Export data")

dirBrowser = pf.FormDirectoryBrowser.New("Output directory:")


form:Add(dirBrowser)

-- Run the form and retrieve the selection

form:Run()
selectedPath = dirBrowser.Value

Inheritance

The object FormDirectoryBrowser is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The directory path.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new directory browser item.
(Returns a FormDirectoryBrowser object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-181

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The directory path.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new directory browser item.

Parameters:

• label: The item label. (string)

Returns:

• FormDirectoryBrowser: The directory browser item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-182

10.3.60 FormDoubleSpinBox

A spin box item supporting doubles. Spin boxes are sometimes also referred to as numeric
steppers or spinners. Spin boxes are used to obtain a numerical value. Up and down arrows are
provided to increment or decrement the value respectively. Alternatively, the numerical value
can be typed into the input field.
See the example below:
form = pf.Form.New("Generate views")

-- Create ’FormDoubleSpinBox’ and adjust its initial settings

spinbox = pf.FormDoubleSpinBox.New("Frequency step between views:")


spinbox:SetMinimum(12.5)
spinbox:SetMaximum(250)
spinbox:SetSingleStep(12.5)

form:Add(spinbox)

-- Run the form and retrieve the user input

form:Run()
selectedFrequency = spinbox.Value

Inheritance

The object FormDoubleSpinBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The starting value of the spin box.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetMaximum (maximum) Set the maximum value of the spin box.
:SetMinimum (minimum) Set the minimum value of the spin box.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-183

:SetSingleStep (step) The single step size of the spin box item. When the
user uses the arrows to change the spin box’s value
the value will be incremented/decremented by the
amount of the single step. The default value is 1.0.
Setting a step size value of less than 0 does nothing.

Static function list

Name Description
.New (string label) Create a new spin box item.
(Returns a FormDoubleSpinBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The starting value of the spin box.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetMaximum
Set the maximum value of the spin box.
Parameters:

• maximum: The maximum value. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-184

:SetMinimum
Set the minimum value of the spin box.
Parameters:

• minimum: The minimum value. (number)

:SetSingleStep
The single step size of the spin box item. When the user uses the arrows to change the spin
box’s value the value will be incremented/decremented by the amount of the single step. The
default value is 1.0. Setting a step size value of less than 0 does nothing.
Parameters:

• step: The step size. (number)

Static functions (details)

.New
Create a new spin box item.

Parameters:

• label: The label next to the spin box describing the meaning of the value. (string)

Returns:

• FormDoubleSpinBox: The newly created spin box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-185

10.3.61 FormFileBrowser

A file browser item. The file browser can be used to navigate an operating system’s directory
structure to look for and select a file.
See the example below:
form = pf.Form.New("Process model")

--- Create ’FormFileBrowser’ and adjust its initial settings

fileBrowser = pf.FormFileBrowser.New("Model:")
fileBrowser:SetFilter("*.fek")
fileBrowser.MultiSelect = false

form:Add(fileBrowser)

-- Run the form and retrieve the user input

form:Run()
selectedPath = fileBrowser.Value

Inheritance

The object FormFileBrowser is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.MultiSelect Set multi selection for file browsing.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The path of the file(s) separated by “;”.
(Read/Write table)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetFilter (filter) Sets a filter for the file types. It must be in
the standard Qt form, i.e. File type name (*.ex1
*.ex2);;Second type (*.*).

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-186

Static function list

Name Description
.New (string label) Create a new file browser item.
(Returns a FormFileBrowser object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.MultiSelect
Set multi selection for file browsing.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The path of the file(s) separated by “;”.
Type: table
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetFilter
Sets a filter for the file types. It must be in the standard Qt form, i.e. File type name (*.ex1
*.ex2);;Second type (*.*).
Parameters:

• filter: The file filter. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-187

Static functions (details)

.New
Create a new file browser item.

Parameters:

• label: The item label. (string)

Returns:

• FormFileBrowser: The file browser item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-188

10.3.62 FormGroupBox

A group box is a type of frame that contains other items. Group boxes are often used to make
logical groupings of items and are therefore mainly design components. Functionally, group
boxes make it easier to hide or disable several items simultaneously by simply modifying the
properties of the group box container.
See the example below:
form = pf.Form.New("Convert format")
inputFile = pf.FormFileBrowser.New("Input filename")
group = pf.FormGroupBox.New("Output options")
outputFile = pf.FormLineEdit.New("Output filename")
checkbox1 = pf.FormCheckBox.New("Export angles in degrees")

-- Add items into the ’FormGroupBox’ layout

group:Add(outputFile)
group:Add(checkbox1)

-- Add the ’FormGroupBox’ and other items into the top level ’Form’ layout

form:Add(inputFile)
form:Add(group)

form:Run()

Inheritance

The object FormGroupBox is derived from the FormItem object.

Collection list

Name Description
.FormGroupBoxItems The collection of item widgets contained in the
group box.
(FormGroupBoxItemCollection of FormItem)

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-189

Method list

Name Description
:Add (item) Adds the given item to the group box. Items can be
any of the defined form item types.
:Add (item, row, column) Adds the given item to the group box at the specified
position. Positions are defined as a row and column,
starting at (1,1).
:Remove (item) Removes the given item from the group box. The
item can be any of the items that resides in the col-
lection of the form items contained in the group box.

Static function list

Name Description
.New (string label, Form- Create a new group box item with a specified label and layout.
LayoutEnum layout)
(Returns a FormGroupBox object.)
.New (string label) Create a new group box item with a specified label and vertical
layout.
(Returns a FormGroupBox object.)
.New () Create a new group box item with a vertical layout.
(Returns a FormGroupBox object.)

Collections (details)

.FormGroupBoxItems
The collection of item widgets contained in the group box.
Type: FormGroupBoxItemCollection
Collection type: FormItem

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-190

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:Add
Adds the given item to the group box. Items can be any of the defined form item types.
Parameters:

• item: The item widget to add to the group. (FormItem)

:Add
Adds the given item to the group box at the specified position. Positions are defined as a row
and column, starting at (1,1).
Parameters:

• item: The form item to add to the group. (FormItem)


• row: The layout row position. (number)
• column: The layout column position. (number)

:Remove
Removes the given item from the group box. The item can be any of the items that resides in
the collection of the form items contained in the group box.
Parameters:

• item: The form item to remove from the group. (FormItem)

Static functions (details)

.New
Create a new group box item with a specified label and layout.

Parameters:

• label: The item label. (string)


• layout: The group box layout type. (FormLayoutEnum)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-191

Returns:

• FormGroupBox: The newly created group box item.

.New
Create a new group box item with a specified label and vertical layout.

Parameters:

• label: The item label. (string)

Returns:

• FormGroupBox: The newly created group box item.

.New
Create a new group box item with a vertical layout.

Returns:

• FormGroupBox: The newly created group box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-192

10.3.63 FormImage

An image item. Images can be added to any form or group box. Supported formats include PNG,
BMP and JPG/JPEG files.
See the example below:
form = pf.Form.New()
item1 = pf.FormLabel.New("Coordinate system:")
form:Add(item1);

-- Load an image from file and add it to the form

image = pf.FormImage.New(FEKO_HOME..[[/examples/Resources/Automation/axisar.png]])
form:Add(image)

form:Run()

Inheritance

The object FormImage is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Height Height of the image in pixels.
(Read only number)
.Type The object type string.
(Read only string)
.Value The path location of source file that will be used for
the image.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)
.Width Width of the image in pixels.
(Read only number)

Method list

Name Description
:ResetSize () Reset the width/height to the image’s default.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-193

:SetSize (width, height) Set the width and height of the image in pixels. En-
sure that width and height are larger than zero.

Static function list

Name Description
.New (string path) Create a new image.
(Returns a FormImage object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Height
Height of the image in pixels.
Type: number
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.Value
The path location of source file that will be used for the image.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

.Width
Width of the image in pixels.
Type: number
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-194

:ResetSize
Reset the width/height to the image’s default.

:SetSize
Set the width and height of the image in pixels. Ensure that width and height are larger than
zero.
Parameters:

• width: Width of the image in pixels. (number)


• height: Height of the image in pixels. (number)

Static functions (details)

.New
Create a new image.

Parameters:

• path: The file path of the source image. (string)

Returns:

• FormImage: The newly created image item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-195

10.3.64 FormIntegerSpinBox

A spin box item. Spin boxes are sometimes also referred to as numeric steppers or spinners. Spin
boxes can be used to obtain an integer value. Up and down arrows are provided to increment or
decrement the value respectively. Alternatively, the numerical value can be typed into the input
field.
See the example below:
form = pf.Form.New("Resample data")

-- Create ’FormIntegerSpinBox’ and adjust its initial settings

spinbox = pf.FormIntegerSpinBox.New("Number of samples:")


spinbox:SetMinimum(3)
spinbox:SetMaximum(101)

form:Add(spinbox)

-- Run the form and retrieve the user input

form:Run()
numberOfSamplesSelected = spinbox.Value

Inheritance

The object FormIntegerSpinBox is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The starting value of the spin box.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Method list

Name Description
:SetMaximum (maximum) Set the maximum value of the spin box.
:SetMinimum (minimum) Set the minimum value of the spin box.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-196

:SetSingleStep (step) The single step size of the spin box item. When the
user uses the arrows to change the spin box’s value
the value will be incremented/decremented by the
amount of the single step. The default value is 1.
Setting a step size value of less than 0 does nothing.

Static function list

Name Description
.New (string label) Create a new spin box item.
(Returns a FormIntegerSpinBox object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The starting value of the spin box.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Methods (details)

:SetMaximum
Set the maximum value of the spin box.
Parameters:

• maximum: The maximum value. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-197

:SetMinimum
Set the minimum value of the spin box.
Parameters:

• minimum: The minimum value. (number)

:SetSingleStep
The single step size of the spin box item. When the user uses the arrows to change the spin
box’s value the value will be incremented/decremented by the amount of the single step. The
default value is 1. Setting a step size value of less than 0 does nothing.
Parameters:

• step: The step size. (number)

Static functions (details)

.New
Create a new spin box item.

Parameters:

• label: The label next to the spin box describing the meaning of the value. (string)

Returns:

• FormIntegerSpinBox: The newly created spin box item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-198

10.3.65 FormItem

The structure of all form items. All form items share a set of common properties that are listed
here.
See the example below:
form = pf.Form.New()

-- Create a variety of form items

checkbox = pf.FormCheckBox.New("Export electric near fields.")


label = pf.FormLabel.New("Item 1")
dirBrowser = pf.FormDirectoryBrowser.New("Output directory:")

form:Add(checkbox)
form:Add(label)
form:Add(dirBrowser)

-- All form items share the Enabled and Visible properties

checkbox.Enabled = false
label.Enabled = false
dirBrowser.Visible = false

form:Run()

Inheritance

The following objects are derived (specialisations) from the FormItem object:

/ FormCheckBox

/ FormComboBox

/ FormConfigurationSelector

/ FormDataSelector

/ FormDirectoryBrowser

/ FormDoubleSpinBox

/ FormFileBrowser

/ FormGroupBox

/ FormImage

/ FormIntegerSpinBox

/ FormLabel

/ FormLineEdit

/ FormModelSelector

/ FormRadioButtonGroup

/ FormSeparator

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-199

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-200

10.3.66 FormLabel

A label item or a simple string of text. Labels are typically used to explain the contents of a form.
Note that most form items already have a built-in label associated with it.
See the example below:
form = pf.Form.New("Dialog with label")

label = pf.FormLabel.New("Hello world!")


form:Add(label)

form:Run()

Inheritance

The object FormLabel is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The text that should be displayed in the label.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new label item.
(Returns a FormLabel object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-201

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The text that should be displayed in the label.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new label item.

Parameters:

• label: The text that should be displayed. (string)

Returns:

• FormLabel: The newly created label item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-202

10.3.67 FormLineEdit

A line edit item; also known as a text box or text field. A line edit is used to obtain text-based
input from a user.
See the example below:
form = pf.Form.New("My Custom Dialog")

-- Create line edit initialse default contents if desired

lineEdit = pf.FormLineEdit.New("Project name")


lineEdit.Value = "Default name"

form:Add(lineEdit)

-- Run the form and retrieve the user input

form:Run()
userTypedIntput = lineEdit.Value

Inheritance

The object FormLineEdit is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The default text that will be contained in the line
edit when the form is run.
(Read/Write string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a new line edit item.
(Returns a FormLineEdit object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-203

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The default text that will be contained in the line edit when the form is run.
Type: string
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new line edit item.

Parameters:

• label: A label describing the purpose and/or contens of a line edit. (string)

Returns:

• FormLineEdit: The newly created line edit item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-204

10.3.68 FormModelSelector

Selects a FEKO model.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Create a form with a model selector

form = pf.Form.New("Generate antenna report")


modelSelector = pf.FormModelSelector.New("Choose antenna model")
form:Add(modelSelector)

-- Run the form and retrieve the user input

form:Run()
model = modelSelector.Value

Inheritance

The object FormModelSelector is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The selected model.
(Read only Model)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label) Create a model selector. The selector will contain a list of FEKO
models available in the application.
(Returns a FormModelSelector object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-205

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The selected model.
Type: Model
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a model selector. The selector will contain a list of FEKO models available in the
application.

Parameters:

• label: The item label. (string)

Returns:

• FormModelSelector: The label item created.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-206

10.3.69 FormRadioButtonGroup

A radio button group item. Radio button groups are used when precisly one option out of a set
of options can be selected.
See the example below:
form = pf.Form.New("Export settings")

-- Prepare input parameter and radio button group

options = {}
table.insert(options, "Only electric near fields")
table.insert(options, "Only magnetic near fields")
table.insert(options, "Both electric and magnetic near fields")

radioButtonGroup = pf.FormRadioButtonGroup.New("Results to export:", options)


form:Add(radioButtonGroup)

-- Run the form and retrieve the user input

form:Run()
selectedOptionIndexNumber = radioButtonGroup.Value

Inheritance

The object FormRadioButtonGroup is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Value The index of the selected radio button item in the
index map table.
(Read/Write number)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

Name Description
.New (string label, table Create a new radio button group item.
map)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-207

(Returns a FormRadioButtonGroup object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Value
The index of the selected radio button item in the index map table.
Type: number
Access: Read/Write

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new radio button group item.

Parameters:

• label: The item label. (string)


• map: A list of values that will be available for selection in the button group. The index
map is a Lua table containing an array of indexed values. (table)

Returns:

• FormRadioButtonGroup: The newly created radio button group item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-208

10.3.70 FormSeparator

A Separator item. Separators are used to visually group (or separate) items on a form. Both
horizontal and vertical separators are available.
See the example below:
form = pf.Form.New()
checkbox1 = pf.FormCheckBox.New("Check box 1.")
checkbox2 = pf.FormCheckBox.New("Check box 2.")
checkbox3 = pf.FormCheckBox.New("Check box 3.")
checkbox4 = pf.FormCheckBox.New("Check box 4.")
checkbox5 = pf.FormCheckBox.New("Check box 5.")

-- Create separators initialised to horizontal

horizontalSeparator1 = pf.FormSeparator.New(pf.Enums.FormSeparatorEnum.Horizontal)
horizontalSeparator2 = pf.FormSeparator.New(pf.Enums.FormSeparatorEnum.Horizontal)

-- Add items to form layout

form:Add(checkbox1)

form:Add(horizontalSeparator1)

form:Add(checkbox2)
form:Add(checkbox3)

form:Add(horizontalSeparator2)

form:Add(checkbox4)
form:Add(checkbox5)

form:Run()

Inheritance

The object FormSeparator is derived from the FormItem object.

Property list

Name Description
.Enabled Controls the item enabled state. Setting the enabled
state of a form or group box to false will also disable
their contents.
(Read/Write boolean)
.Type The object type string.
(Read only string)
.Visible Controls the item visibility. Setting the visibility of a
form or group box to false will also hide their con-
tents.
(Read/Write boolean)

Static function list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-209

Name Description
.New (FormSepara- Create a new separator item.
torEnum orientation)
(Returns a FormSeparator object.)

Properties (details)

.Enabled
Controls the item enabled state. Setting the enabled state of a form or group box to false will
also disable their contents.
Type: boolean
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Controls the item visibility. Setting the visibility of a form or group box to false will also hide
their contents.
Type: boolean
Access: Read/Write

Static functions (details)

.New
Create a new separator item.

Parameters:

• orientation: The separator orientation which is either Horizontal or Vertical.


(FormSeparatorEnum)

Returns:

• FormSeparator: The newly created Separator item.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-210

10.3.71 FrameFormat

The frame format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Edit title ’FrameFormat’ colour property

graph.Title.Frame.BackColour = pf.Enums.ColourEnum.Grey

Property list

Name Description
.BackColour The background colour.
(Read/Write Colour)
.Line The line style for text item frame.
(Read/Write GraphLineFormat)
.Shadow The frame shadow format properties.
(Read/Write ShadowFormat)

Properties (details)

.BackColour
The background colour.
Type: Colour
Access: Read/Write

.Line
The line style for text item frame.
Type: GraphLineFormat
Access: Read/Write

.Shadow
The frame shadow format properties.
Type: ShadowFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-211

10.3.72 Graph

A 2D graph where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Add a Cartesian graph and a trace

graph = app.CartesianGraphs:Add()
excitation = app.Models["startup"].Configurations[1].Excitations[1]
excitationTrace = graph.Traces:Add(excitation)

-- Change properties of the graph

graph.BackColour = pf.Enums.ColourEnum.LightGrey
graph.Grid.Minor.Visible = true
graph.Grid.Border.Weight = 2

Inheritance

The object Graph is derived from the Window object. The following objects are derived (special-
isations) from the Graph object:

/ CartesianGraph

/ PolarGraph

/ SmithChart

Collection list

Name Description
.Traces The collection of 2D traces on the graph.
(ResultTraceCollection of ResultTrace)

Property list

Name Description
.BackColour The background colour of the graph.
(Read/Write Colour)
.Footer The graph footer properties.
(Read/Write TextBox)
.GreyscaleEnabled Set the graph’s colour scheme to greyscale.
(Read/Write boolean)
.Height The height of the window.
(Read only number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-212

.Legend The graph legend properties.


(Read/Write GraphLegend)
.Title The graph title properties.
(Read/Write TextBox)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

Name Description
:Close () Close the window.
:Duplicate () Duplicate the 2D graph.
(Returns a Graph object.)
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.
:ExportTraces (filename, samples) Export the graph traces to the specified tab sepa-
rated file.
:Maximise () Maximise the window.
:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:Show () Shows the view.
:ZoomToExtents () Zoom the content of the window to its extent.

Collections (details)

.Traces
The collection of 2D traces on the graph.
Type: ResultTraceCollection
Collection type: ResultTrace

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-213

.BackColour
The background colour of the graph.
Type: Colour
Access: Read/Write

.Footer
The graph footer properties.
Type: TextBox
Access: Read/Write

.GreyscaleEnabled
Set the graph’s colour scheme to greyscale.
Type: boolean
Access: Read/Write

.Height
The height of the window.
Type: number
Access: Read only

.Legend
The graph legend properties.
Type: GraphLegend
Access: Read/Write

.Title
The graph title properties.
Type: TextBox
Access: Read/Write

.Width
The width of the window.
Type: number
Access: Read only

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-214

Methods (details)

:Close
Close the window.

:Duplicate
Duplicate the 2D graph.
Returns:

• Graph: The duplicated 2D graph.

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:ExportTraces
Export the graph traces to the specified tab separated file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• samples: The number of samples for continuous data. This value will be ignored if the
first trace on the graph is discrete. (number)

:Maximise
Maximise the window.

:Minimise
Minimise the window.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-215

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-216

10.3.73 GraphAxisLabels

The graph axis labels properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()

-- Edit ’GraphAxisLabels’ porperty

graph.HorizontalAxis.Labels.NumberFormat = pf.Enums.NumberFormatEnum.Scientific
graph.HorizontalAxis.Labels.SignificantDigits = 1

Property list

Name Description
.AutoSignificantDigitsEnabled Automatically determine the number of significant
digits.
(Read/Write boolean)
.Font The font format for the graph axis title.
(Read/Write FontFormat)
.NumberFormat The number format used for axis labels specified by
NumberFormatEnum, e.g. Scientific or Decimal.
(Read/Write NumberFormatEnum)
.SignificantDigits The number of significant digits of the axis.
(Read/Write number)

Properties (details)

.AutoSignificantDigitsEnabled
Automatically determine the number of significant digits.
Type: boolean
Access: Read/Write

.Font
The font format for the graph axis title.
Type: FontFormat
Access: Read/Write

.NumberFormat
The number format used for axis labels specified by NumberFormatEnum, e.g. Scientific or
Decimal.
Type: NumberFormatEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-217

.SignificantDigits
The number of significant digits of the axis.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-218

10.3.74 GraphAxisTitle

The graph axis title properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()
graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Edit ’GraphAxisTitle’ properties

graph.HorizontalAxis.Title.Caption = "Frequency measured in GigaHertz"


graph.HorizontalAxis.Title.CaptionIncludesUnit = false

Property list

Name Description
.AutoCaptionEnabled Specifies whether the automatic caption text of the
graph axis must be used.
(Read/Write boolean)
.Caption The caption of the graph axis.
(Read/Write string)
.CaptionIncludesUnit Include the unit in the axis caption.
(Read/Write boolean)
.Font The font format for the graph axis title.
(Read/Write FontFormat)
.Frame The frame format for the graph axis title.
(Read/Write FrameFormat)

Properties (details)

.AutoCaptionEnabled
Specifies whether the automatic caption text of the graph axis must be used.
Type: boolean
Access: Read/Write

.Caption
The caption of the graph axis.
Type: string
Access: Read/Write

.CaptionIncludesUnit
Include the unit in the axis caption.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-219

.Font
The font format for the graph axis title.
Type: FontFormat
Access: Read/Write

.Frame
The frame format for the graph axis title.
Type: FrameFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-220

10.3.75 GraphLegend

The graph legend properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()
excitation = app.Models["startup"].Configurations[1].Excitations[1]
excitationTrace = graph.Traces:Add(excitation)

-- Change properties of the graph legend

graph.Legend.Position = pf.Enums.GraphLegendPositionEnum.CustomPosition
graph.Legend.CustomPositionX = 10
graph.Legend.CustomPositionY = 10

Property list

Name Description
.CustomPositionX The custom x coordinate position of the legend.
Measured in pixels relative to the top left corner of
the graph, with x increasing from left to right.
(Read/Write number)
.CustomPositionY The custom y coordinate position of the legend.
Measured in pixels relative to the top left corner of
the graph, with y increasing from top to bottom.
(Read/Write number)
.Font The font format for the graph legend.
(Read/Write FontFormat)
.Frame The frame format for the graph legend.
(Read/Write FrameFormat)
.Position The position of the graph legend specified by the
GraphLegendPositionEnum, e.g. Top, Bottom, Left,
etc.
(Read/Write GraphLegendPositionEnum)

Properties (details)

.CustomPositionX
The custom x coordinate position of the legend. Measured in pixels relative to the top left
corner of the graph, with x increasing from left to right.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-221

.CustomPositionY
The custom y coordinate position of the legend. Measured in pixels relative to the top left
corner of the graph, with y increasing from top to bottom.
Type: number
Access: Read/Write

.Font
The font format for the graph legend.
Type: FontFormat
Access: Read/Write

.Frame
The frame format for the graph legend.
Type: FrameFormat
Access: Read/Write

.Position
The position of the graph legend specified by the GraphLegendPositionEnum, e.g. Top, Bot-
tom, Left, etc.
Type: GraphLegendPositionEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-222

10.3.76 GraphLineFormat

The line format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Edit ’GraphLineFormat’ porperties of the grid border

graph.Grid.Border.Weight = 2

-- Edit ’GraphLineFormat’ of the title frame

graph.Title.Frame.Line.Colour = pf.Enums.ColourEnum.Grey

Property list

Name Description
.Colour The line colour.
(Read/Write Colour)
.Style The line style.
(Read/Write LineStyleEnum)
.Weight The line weight.
(Read/Write number)

Properties (details)

.Colour
The line colour.
Type: Colour
Access: Read/Write

.Style
The line style.
Type: LineStyleEnum
Access: Read/Write

.Weight
The line weight.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-223

10.3.77 HorizontalGraphAxis

The graph horizontal axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Edit ’HorizontalGraphAxis’ porperty

graph.HorizontalAxis.LogScaled = true

Property list

Name Description
.Labels The graph horizontal axis labels.
(Read/Write GraphAxisLabels)
.LogScaled Set the graph horizontal axis to a logarithmic scale.
(Read/Write boolean)
.MajorGrid The graph horizontal axis major grid spacing.
(Read/Write AxisGridSpacing)
.Range The graph horizontal axis range.
(Read/Write AxisRange)
.Title The graph horizontal axis title.
(Read/Write GraphAxisTitle)

Properties (details)

.Labels
The graph horizontal axis labels.
Type: GraphAxisLabels
Access: Read/Write

.LogScaled
Set the graph horizontal axis to a logarithmic scale.
Type: boolean
Access: Read/Write

.MajorGrid
The graph horizontal axis major grid spacing.
Type: AxisGridSpacing
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-224

.Range
The graph horizontal axis range.
Type: AxisRange
Access: Read/Write

.Title
The graph horizontal axis title.
Type: GraphAxisTitle
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-225

10.3.78 ImportSet

Sets of imported data from external files.


See the example below:
app = pf.GetApplication()
app:NewProject()

graph = app.CartesianGraphs:Add()

-- Import S-parameter results from the specified Touchstone file

importSet = app:ImportResults(FEKO_HOME..[[/examples/Resources/Automation/SParameters.s2p]],
pf.Enums.ImportFileTypeEnum.Touchstone)

-- Duplicate the import set and change the source file of the copied import set
-- to a different Touchstone file

importSetCopy = importSet:Duplicate()
importSetCopy.SourceFile = FEKO_HOME..[[/examples/Resources/Automation/SParameters.s3p]]

-- Retrieve the result data from the import sets.

s2p = importSet.ImportedData[1]
s3p = importSetCopy.ImportedData[1]

-- Plot the result data on the Cartesian graph and change the trace labels accordingly

s2pTrace = graph.Traces:Add(s2p)
s2pTrace.Label = "s2p"
s3pTrace = graph.Traces:Add(s3p)
s3pTrace.Label = "s3p"

Parent collection list

The following collections contain the ImportSet object:

/ ImportedDataSetCollection

Collection list

Name Description
.ImportedData The collection of imported data in the import set.
(ImportedDataCollection of ResultData)

Property list

Name Description
.Label The object label.
(Read/Write string)
.SourceFile The source file for the import set. Changing this
property will re-import the results from the newly
specified source.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-226

(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the import set.
:Duplicate () Create a duplicate import set.
(Returns a ImportSet object.)
:Refresh () Refresh the imported data.

Collections (details)

.ImportedData
The collection of imported data in the import set.
Type: ImportedDataCollection
Collection type: ResultData

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.SourceFile
The source file for the import set. Changing this property will re-import the results from the
newly specified source.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the import set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-227

:Duplicate
Create a duplicate import set.
Returns:

• ImportSet: The duplicated import set.

:Refresh
Refresh the imported data.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-228

10.3.79 IndependentAxisFormat

The trace independent axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set axes properties

trace.Axes.Independent.Unit = "mm"
trace.Axes.Independent.Offset = 0.01 -- Offset is in SI unit, i.e. ’m’
trace.Axes.Independent.Scale = 0.5

cartesianGraph:ZoomToExtents()

Property list

Name Description
.Offset The independent axis offset for the trace.
(Read/Write number)
.Scale The independent axis scale for the trace.
(Read/Write number)
.Unit The unit of the independent axis of the trace.
(Read/Write string)

Properties (details)

.Offset
The independent axis offset for the trace.
Type: number
Access: Read/Write

.Scale
The independent axis scale for the trace.
Type: number
Access: Read/Write

.Unit
The unit of the independent axis of the trace.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-229

10.3.80 IsoSurface3DFormat

The near field plot isosurface properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
firstActive3DView = app.Views[1]
nearFieldPlot = firstActive3DView.Plots:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set plot type to isosurface and adjust its properties

nearFieldPlot.PlotType = nearFieldPlot.PlotTypesAvailable[4]
nearFieldPlot.IsoSurface.ValuePercentage = 12

Property list

Name Description
.Colour The colour of the isosurface when the near field plot
type is set to isosurface.
(Read/Write Colour)
.Value The value of the isosurface near field plot. The value
is in the trace’s QuantityType unit.
(Read/Write number)
.ValuePercentage The value of the isosurface near field plot as a per-
centage.
(Read/Write number)

Properties (details)

.Colour
The colour of the isosurface when the near field plot type is set to isosurface.
Type: Colour
Access: Read/Write

.Value
The value of the isosurface near field plot. The value is in the trace’s QuantityType unit.
Type: number
Access: Read/Write

.ValuePercentage
The value of the isosurface near field plot as a percentage.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-230

10.3.81 Legend3DLinearRangeFormat

The 3D plot legend linear range properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farfield = app.Views[1].Plots:Add(app.Models[1].Configurations[1].FarFields[1])

-- Modify legend linear range

farfield.Legend.LinearRange.Type = pf.Enums.LinearScaleRangeTypeEnum.Fixed
farfield.Legend.LinearRange.FixedRangeMin = 0.8
farfield.Legend.LinearRange.FixedRangeMax = 3.2

Property list

Name Description
.FixedRangeMax Specify the linear scale maximum value for the fixed
range of the plot legend.
(Read/Write number)
.FixedRangeMin Specify the linear scale minimum value for the fixed
range of the plot legend.
(Read/Write number)
.Type Method by which the linear scale range lim-
its should be determined, specified by the Lin-
earScaleRangeTypeEnum, e.g. Auto or Fixed.
(Read/Write LinearScaleRangeTypeEnum)

Properties (details)

.FixedRangeMax
Specify the linear scale maximum value for the fixed range of the plot legend.
Type: number
Access: Read/Write

.FixedRangeMin
Specify the linear scale minimum value for the fixed range of the plot legend.
Type: number
Access: Read/Write

.Type
Method by which the linear scale range limits should be determined, specified by the Lin-
earScaleRangeTypeEnum, e.g. Auto or Fixed.
Type: LinearScaleRangeTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-231

10.3.82 Legend3DLogarithmicRangeFormat

The 3D plot legend logarithmic range properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farfield = app.Views[1].Plots:Add(app.Models[1].Configurations[1].FarFields[1])

-- Modify legend logarithmic range

farfield.Legend.LogarithmicRange.Type = pf.Enums.LogScaleRangeTypeEnum.Max
farfield.Legend.LogarithmicRange.DynamicRangeMax = 30

Property list

Name Description
.DynamicRangeMax Specify the log scale maximum value in dB for the
dynamic range of the plot legend.
(Read/Write number)
.FixedRangeMax Specify the log scale maximum value in dB for the
fixed range of the plot legend.
(Read/Write number)
.FixedRangeMin Specify the log scale minimum value in dB for the
fixed range of the plot legend.
(Read/Write number)
.Type Method by which the log scale range limits should
be determined, specified by LogScaleRangeType-
Enum, e.g. Auto, Max or Fixed.
(Read/Write LogScaleRangeTypeEnum)

Properties (details)

.DynamicRangeMax
Specify the log scale maximum value in dB for the dynamic range of the plot legend.
Type: number
Access: Read/Write

.FixedRangeMax
Specify the log scale maximum value in dB for the fixed range of the plot legend.
Type: number
Access: Read/Write

.FixedRangeMin
Specify the log scale minimum value in dB for the fixed range of the plot legend.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-232

.Type
Method by which the log scale range limits should be determined, specified by
LogScaleRangeTypeEnum, e.g. Auto, Max or Fixed.
Type: LogScaleRangeTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-233

10.3.83 LoadCable

Cable load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Retrieve the ’LoadCable’ called ’LCLoad1’

loadCable = app.Models[1].Configurations[1].Loads["LCLoad1"]

-- Manipulate the cable load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadCable:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the cable load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledCableLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original cable load to the manipulated cable load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadCable)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledCableLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadCable is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-234

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-235

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-236

10.3.84 LoadCoaxial

Coaxial load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/A4_source.fek]])

-- Retrieve the ’LoadCoaxial’ called ’L4Load1’

loadCoaxial = app.Models[1].Configurations[1].Loads["L4Load1"]

-- Manipulate the coaxial load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadCoaxial:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the coaxial load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledCoaxialLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original coaxial load to the manipulated coaxial load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadCoaxial)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledCoaxialLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadCoaxial is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-237

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-238

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-239

10.3.85 LoadComplex

Complex load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Retrieve the ’LoadComplex’ called ’ComplexLoad’

loadComplex = app.Models[1].Configurations[1].Loads["ComplexLoad"]

-- Manipulate the complex load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadComplex:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the complex load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledComplexLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original complex load to the manipulated complex load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadComplex)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledComplexLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadComplex is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-240

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-241

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-242

10.3.86 LoadData

Load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])

-- Retrieve the ’LoadData’ called ’EdgeLoad’

loadData = app.Models[1].Configurations[1].Loads["EdgeLoad"]

-- Manipulate the load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadData:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the frequency start and end values

frequencyAxis = dataSet.Axes["Frequency"]
fequencyStartValue = frequencyAxis:ValueAt(1)
fequencyEndValue = frequencyAxis:ValueAt(#frequencyAxis)

-- Scale the power values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Power = indexedValue.Power * scale
end

-- Store the manipulated data

scaledLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original load to the manipulated load

graph = app.CartesianGraphs:Add()
excitationTrace1 = graph.Traces:Add(loadData)
excitationTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Power
excitationTrace2 = graph.Traces:Add(scaledLoad)
excitationTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Power

Inheritance

The object LoadData is derived from the ResultData object. The following objects are derived
(specialisations) from the LoadData object:

/ LoadCable

/ LoadCoaxial

/ LoadComplex

/ LoadDistributed

/ LoadEdge

/ LoadFEM

/ LoadNetwork

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-243

/ LoadParallel

/ LoadSeries

/ LoadVertex

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-244

10.3.87 LoadDistributed

Distributed load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Retrieve the ’LoadDistributed’ called ’LDLoad1’.

loadDistributed = app.Models[1].Configurations[1].Loads["LDLoad1"]

-- Retrieve the load label and its associated solution configuration

configuration = loadDistributed.Configuration
label = loadDistributed.label

Inheritance

The object LoadDistributed is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-245

10.3.88 LoadEdge

Edge load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])

-- Retrieve the ’LoadEdge’ called ’EdgeLoad’

loadEdge = app.Models[1].Configurations[1].Loads["EdgeLoad"]

-- Manipulate the edge load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadEdge:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the edge load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledEdgeLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original edge load to the manipulated edge load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadEdge)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledEdgeLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadEdge is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-246

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-247

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-248

10.3.89 LoadFEM

FEM load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/AF_source.fek]])

-- Retrieve the ’loadFEM’ called ’FEMLoad’

loadFEM = app.Models[1].Configurations[1].Loads["FEMLoad"]

-- Manipulate the FEM load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadFEM:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the FEM load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledFEMLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original FEM load to the manipulated FEM load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadFEM)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledFEMLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadFEM is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-249

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-250

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-251

10.3.90 LoadMathScript

Load math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])

-- Create a load math script

loadMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.Load)
script =
[[
dataSet = pf.Load.GetDataSet("Example_Expanded.StandardConfiguration1.EdgeLoad")
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Power = indexedValue.Power * scale
end
return dataSet
]]
loadMathScript.Script = script
loadMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
excitationTrace1 = graph.Traces:Add(loadMathScript)
excitationTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Voltage

Inheritance

The object LoadMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-252

(Returns a DataSet object.)


:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-253

10.3.91 LoadNetwork

Network load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Retrieve the ’LoadNetwork’ called ’NetworkLoad’

loadNetwork = app.Models[1].Configurations[1].Loads["NetworkLoad"]

-- Manipulate the network load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadNetwork:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the network load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledNetworkLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original network load to the manipulated network load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadNetwork)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledNetworkLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadNetwork is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-254

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the network values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-255

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-256

10.3.92 LoadParallel

Parallel load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Retrieve the ’LoadParallel’ called ’ParallelLoad’

loadParallel = app.Models[1].Configurations[1].Loads["ParallelLoad"]

-- Manipulate the parallel load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadParallel:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the parallel load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledParallelLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original parallel load to the manipulated parallel load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadParallel)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledParallelLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadParallel is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-257

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-258

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-259

10.3.93 LoadQuantity

The load quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
loadData = app.Models[1].Configurations[1].Loads[1]

-- Create a cartesian graph and and the load data

cartesianGraph = app.CartesianGraphs:Add()
loadTrace = cartesianGraph.Traces:Add(loadData)

-- Configure the trace quantity

loadTrace.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Phase
loadTrace.Quantity.PhaseUnwrapped = true

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.Type The type of quantity to be plotted, specified by the
NetworkQuantityTypeEnum, e.g. Impedance, Volt-
age, Current, etc.
(Read/Write NetworkQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-260

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.Type
The type of quantity to be plotted, specified by the NetworkQuantityTypeEnum, e.g.
Impedance, Voltage, Current, etc.
Type: NetworkQuantityTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-261

10.3.94 LoadSeries

Series load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Retrieve the ’LoadSeries’ called ’SeriesLoad’

loadSeries = app.Models[1].Configurations[1].Loads["SeriesLoad"]

-- Manipulate the series load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadSeries:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the series load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledSeriesLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original series load to the manipulated series load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadSeries)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledSeriesLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadSeries is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-262

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-263

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-264

10.3.95 LoadTrace

A loads 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
loadData = app.Models[1].Configurations[1].Loads[1]

-- Create a cartesian graph and and the load data

cartesianGraph = app.CartesianGraphs:Add()
loadTrace = cartesianGraph.Traces:Add(loadData)

-- Configure the trace quantity

loadTrace.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Phase

Inheritance

The object LoadTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-265

.Legend The trace legend properties.


(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The loads trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The loads trace quantity properties.
(Read/Write LoadQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-266

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-267

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The loads trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The loads trace quantity properties.
Type: LoadQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-268

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-269

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-270

10.3.96 LoadVertex

Vertex load results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Retrieve the ’LoadVertex’ called ’L2Load1’

loadVertex = app.Models[1].Configurations[1].Loads["L2Load1"]

-- Manipulate the vertex load data. See ’DataSet’ for faster and more comprehensive options

dataSet = loadVertex:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Scale the vertex load current values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.Current = indexedValue.Current * scale
end

-- Store the manipulated data

scaledVertexLoad = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Load)

-- Compare the original vertex load to the manipulated vertex load

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadVertex)
loadTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
loadTrace2 = graph.Traces:Add(scaledVertexLoad)
loadTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object LoadVertex is derived from the LoadData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-271

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-272

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-273

10.3.97 MathScript

Math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a math script

farFieldMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.FarField)
script =
[[
dataSet = pf.FarField.GetDataSet("startup.StandardConfiguration1.FarFields", 51)
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for thetaIndex = 1, #dataSet.Axes["Theta"] do
for phiIndex = 1, #dataSet.Axes["Phi"] do
indexedValue = dataSet[freqIndex][thetaIndex][phiIndex]
indexedValue.EFieldTheta = indexedValue.EFieldTheta * scale
indexedValue.EFieldPhi = indexedValue.EFieldPhi * scale
end
end
end
return dataSet
]]
farFieldMathScript.Script = script

-- Run the math script

farFieldMathScript:Run()

-- Plot the math script

farFieldPlot = app.Views[1].Plots:Add(farFieldMathScript)

Inheritance

The object MathScript is derived from the ResultData object. The following objects are derived
(specialisations) from the MathScript object:

/ CustomMathScript

/ ExcitationMathScript

/ FarFieldMathScript

/ LoadMathScript

/ NearFieldMathScript

/ NetworkMathScript

/ PowerMathScript

/ SParameterMathScript

/ TRCoefficientMathScript

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-274

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-275

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-276

10.3.98 MathTrace

A 2D math trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Retrieve the math script and plot it on a Cartesian graph

mathScript = app.MathScripts["CustomMath1"]
graph = app.CartesianGraphs:Add()
mathScriptTrace = graph.Traces:Add(mathScript)

-- Modify the custom data trace

mathScriptTrace.Quantity.Type = "TotalEField"
mathScriptTrace.IndependentAxis = "X position"
mathScriptTrace:SetFixedAxisValue("Frequency", 1.7, "GHz")
graph:ZoomToExtents()

Inheritance

The object MathTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.CommonRangeEnabled Specifies whether the range is limited to the range
common to all traces used in the expression.
(Read/Write boolean)
.DataSource The source of the trace.
(Read/Write ResultData)
.Expression The math expression used to calculate this trace, e.g.
“ramp(0,1,100)”.
(Read/Write string)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-277

.Legend The trace legend properties.


(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.CommonRangeEnabled
Specifies whether the range is limited to the range common to all traces used in the expres-
sion.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-278

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.Expression
The math expression used to calculate this trace, e.g. “ramp(0,1,100)”.
Type: string
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-279

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-280

10.3.99 Matrix

A matrix in 3D space.
See the example below:
-- Create a default 2x2 double matrix of zeros

m1 = pf.Matrix.Zeros(2)

-- Assign values to each element of the matrix

m1[1][1] = 1
m1[2][1] = 2
m1[1][2] = 3
m1[2][2] = 4

-- Create a 2x2 double matrix with a fill value of 2 + j

m2 = pf.Matrix(2, 2, 3)

-- Determine the transpose and determinant of the matrix

transpose = m1:Transpose()
determinant = m1:Determinant()

-- Some of the valid operators for ’Matrix’

m3 = m1 * 2
m4 = m2 * (3 + j)
m5 = m1 + 2
m6 = m1 - 1
m7 = m1 + m2
m8 = m1 - m2

Property list

Name Description
.ColumnCount The number of columns in the matrix.
(Read only number)
.RowCount The number of rows in the matrix.
(Read only number)

Method list

Name Description
:Determinant () Calculate the determinant of the matrix.
(Returns a number object.)
:FFT () Calculates the fast Fourier transform of the matrix.
(Returns a ComplexMatrix object.)
:IFFT () Calculates the inverse fast Fourier transform of the
matrix.
(Returns a ComplexMatrix object.)
:Inverse () Calculate the inverse matrix.
(Returns a Matrix object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-281

:ReplaceSubMatrix (matrix, rowstart, Replace the sub matrix starting at the given indices
columnstart) with the provided matrix.
:SubMatrix (rowstart, rowend, Calculate the sub matrix from the given parameters.
columnstart, columnend)
(Returns a Matrix object.)
:Transpose () Calculate the transpose of the matrix.
(Returns a Matrix object.)

Static function list

Name Description
.Diagonal (table values) Creates a diagonal matrix.
(Returns a Matrix object.)
.Identity (number size) Creates an identity matrix.
(Returns a Matrix object.)
.New (number rows, num- Creates a new matrix.
ber columns, number fill)
(Returns a Matrix object.)
.Ones (number size) Creates a new matrix filled with ones.
(Returns a Matrix object.)
.Zeros (number size) Creates a new matrix filled with zeros.
(Returns a Matrix object.)

Operator list

* Multiplies one matrix with another matrix.


* Scales a matrix with with the given factor. The multiplication is element-wise.
* Scales a matrix with with the given complex value. The multiplication is element-
wise.
+ Adds one matrix to another matrix.
+ Adds a scalar to the matrix. The addition is element-wise.
+ Adds a complex value to the matrix. The addition is element-wise.
- Subtracts one matrix to another matrix.
- Subtracts a scalar from the matrix. The subtraction is element-wise.
- Subtracts a complex value from the matrix. The subtraction is element-wise.
/ Devides a matrix with with the given factor. The devision is element-wise.
/ Devides a matrix with with the given complex value. The devision is element-
wise.
== Compares one matrix to another.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-282

[number] Access the specified row in the matrix. (Read MatrixIn-


dexer)

Properties (details)

.ColumnCount
The number of columns in the matrix.
Type: number
Access: Read only

.RowCount
The number of rows in the matrix.
Type: number
Access: Read only

Methods (details)

:Determinant
Calculate the determinant of the matrix.
Returns:

• number: The determinant of the matrix.

:FFT
Calculates the fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated FFT complex matrix.

:IFFT
Calculates the inverse fast Fourier transform of the matrix.
Returns:

• ComplexMatrix: The calculated IFFT complex matrix.

:Inverse
Calculate the inverse matrix.
Returns:

• Matrix: The inverse of the matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-283

:ReplaceSubMatrix
Replace the sub matrix starting at the given indices with the provided matrix.
Parameters:

• matrix: The new sub matrix. (Matrix)


• rowstart: Starting row index of the sub matrix. (number)
• columnstart: Starting column index of the sub matrix. (number)

:SubMatrix
Calculate the sub matrix from the given parameters.
Parameters:

• rowstart: Row start index. (number)


• rowend: Row end index. (number)
• columnstart: Column start index. (number)
• columnend: Column end index. (number)

Returns:

• Matrix: The sub matrix.

:Transpose
Calculate the transpose of the matrix.
Returns:

• Matrix: The transpose of the matrix.

Static functions (details)

.Diagonal
Creates a diagonal matrix.

Parameters:

• values: The values to fill the matrix. (table)

Returns:

• Matrix: The new matrix.

.Identity
Creates an identity matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-284

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

.New
Creates a new matrix.

Parameters:

• rows: The number of rows in the matrix. (number)


• columns: The number of columns in the matrix. (number)
• fill: The value used to fill the matrix. (number)

Returns:

• Matrix: The new matrix.

.Ones
Creates a new matrix filled with ones.

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

.Zeros
Creates a new matrix filled with zeros.

Parameters:

• size: The size of the matrix. (number)

Returns:

• Matrix: The new matrix.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-285

10.3.100 MatrixIndexer

An index into the matrix.


See the example below:
-- Create a default 2x2 double matrix of ones

m1 = pf.Matrix.Zeros(2)

-- Assign values to each element of the matrix

m1[1][1] = 1
m1[2][1] = 2
m1[1][2] = 3
m1[2][2] = 4

Index list

[number] Access a value at the specified position in the matrix.


(Read number)
[number] Access a value at the specified position in the matrix.
(Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-286

10.3.101 Mesh

A mesh consisting of mesh entities that represents the simulated model.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh
points = mesh.Points

-- Iterate through ’TriangleFaces’ and print the first two ’Triangles’


-- vertex indices as well as their locations

TriangleFaces_count = mesh.TriangleFaces.Count
for i = 1, TriangleFaces_count do
triangle = mesh.TriangleFaces[i].Triangles -- Create a member to ensure the best performance
for j = 1, 2 do
print("Triangle "..j)
print(triangle[j])
print("Vertex locations")
print(points[triangle[j].VertexIndices[1]]) -- Accessing member here will be faster than
print(points[triangle[j].VertexIndices[2]]) -- querying the mesh for its points each time
print(points[triangle[j].VertexIndices[3]])
end
end

Collection list

Name Description
.CubeRegions The collection of regions meshed with cubes. The
regions that form part of the mesh model.
(MeshCubeRegionCollection of MeshCubeRegion)
.CurvilinearTriangleFaces The collection of faces meshed with curvilinear tri-
angles. The faces form part of the mesh model.
(MeshCurvilinearTriangleFaceCollection of
MeshCurvilinearTriangleFace)
.SegmentWires The collection of wires meshed with segments. The
wires form part of the mesh model.
(MeshSegmentWireCollection of MeshSegmen-
tWire)
.TetrahedronRegions The collection of regions meshed with tetrahedra.
The regions form part of the mesh model.
(MeshTetrahedronRegionCollection of MeshTetra-
hedronRegion)
.TriangleFaces The collection of faces meshed with flat triangles.
The faces form part of the mesh model.
(MeshTriangleFaceCollection of MeshTriangleFace)
.UnmeshedCylinderRegions The collection of unmeshed cylinders that form part
of the mesh model.
(MeshUnmeshedCylinderRegionCollection of
MeshUnmeshedCylinderRegion)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-287

.UnmeshedPolygonFaces The collection of unmeshed faces that form part of


the mesh model.
(MeshUnmeshedPolygonFaceCollection of MeshUn-
meshedPolygonFace)

Property list

Name Description
.Points The collection of mesh points that form the mesh
model.
(Read only Points)

Collections (details)

.CubeRegions
The collection of regions meshed with cubes. The regions that form part of the mesh model.
Type: MeshCubeRegionCollection
Collection type: MeshCubeRegion

.CurvilinearTriangleFaces
The collection of faces meshed with curvilinear triangles. The faces form part of the mesh
model.
Type: MeshCurvilinearTriangleFaceCollection
Collection type: MeshCurvilinearTriangleFace

.SegmentWires
The collection of wires meshed with segments. The wires form part of the mesh model.
Type: MeshSegmentWireCollection
Collection type: MeshSegmentWire

.TetrahedronRegions
The collection of regions meshed with tetrahedra. The regions form part of the mesh model.
Type: MeshTetrahedronRegionCollection
Collection type: MeshTetrahedronRegion

.TriangleFaces
The collection of faces meshed with flat triangles. The faces form part of the mesh model.
Type: MeshTriangleFaceCollection
Collection type: MeshTriangleFace

.UnmeshedCylinderRegions
The collection of unmeshed cylinders that form part of the mesh model.
Type: MeshUnmeshedCylinderRegionCollection
Collection type: MeshUnmeshedCylinderRegion

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-288

.UnmeshedPolygonFaces
The collection of unmeshed faces that form part of the mesh model.
Type: MeshUnmeshedPolygonFaceCollection
Collection type: MeshUnmeshedPolygonFace

Properties (details)

.Points
The collection of mesh points that form the mesh model.
Type: Points
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-289

10.3.102 MeshCubeRegion

A mesh entity representing a region meshed with cubes.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Cube_example1.fek]])
sConf = app.Models["Cube_example1"].Configurations[1]
mesh = sConf.Mesh

-- Get a ’MeshCubeRegion’ of a specified mesh entity

meshCubeRegion = mesh.CubeRegions[1]

-- Get the label of the ’MeshCubeRegion’ and the number of ’Cubes’


-- contained the ’MeshCubeRegion’.

label = meshCubeRegion.Label
count = meshCubeRegion.Cubes.Count

Inheritance

The object MeshCubeRegion is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshCubeRegion object:

/ MeshCubeRegionCollection

Property list

Name Description
.Cubes The collection of mesh cubes that form the mesh
cube region.
(Read only Cubes)
.Label The object label.
(Read only string)
.Type The object type string.
(Read only string)

Properties (details)

.Cubes
The collection of mesh cubes that form the mesh cube region.
Type: Cubes
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-290

.Label
The object label.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-291

10.3.103 MeshCurvilinearTriangleFace

A mesh entity representing a face meshed using curvilinear triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/RCS_of_a_Curvilinear_Dielectric_Sphere.fek]])
sConf = app.Models["RCS_of_a_Curvilinear_Dielectric_Sphere"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.CurvilinearTriangleFaces[1].Label

-- Get the number of curvilinear triangles of the specified mesh entity

count = mesh.CurvilinearTriangleFaces[1].CurvilinearTriangles.Count

Inheritance

The object MeshCurvilinearTriangleFace is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshCurvilinearTriangleFace object:

/ MeshCurvilinearTriangleFaceCollection

Property list

Name Description
.CurvilinearTriangles The collection of curvilinear mesh triangles that
form the curvilinear mesh face.
(Read only CurvilinearTriangles)
.Label The object label.
(Read only string)
.Type The object type string.
(Read only string)

Properties (details)

.CurvilinearTriangles
The collection of curvilinear mesh triangles that form the curvilinear mesh face.
Type: CurvilinearTriangles
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-292

.Label
The object label.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-293

10.3.104 MeshEdgesFormat

The mesh edge properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
view = app.Views[1]

-- Show metallic edges

view.MeshRendering.Edges.MetallicVisible = true

Property list

Name Description
.ApertureVisible Enables/disables the visibility of aperture edges.
(Read/Write boolean)
.CuboidVisible Enables/disables the visibility of cuboid edges.
(Read/Write boolean)
.DielectricVisible Enables/disables the visibility of dielectric edges.
(Read/Write boolean)
.MetallicVisible Enables/disables the visibility of metallic edges.
(Read/Write boolean)
.TetrahedraVisible Enables/disables the visibility of tetrahedra edges.
(Read/Write boolean)
.UTDCylinderVisible Enables/disables the visibility of UTD cylinder
edges.
(Read/Write boolean)
.UTDPolygonVisible Enables/disables the visibility of UTD polygon
edges.
(Read/Write boolean)
.WindscreenVisible Enables/disables the visibility of windscreen edges.
(Read/Write boolean)

Properties (details)

.ApertureVisible
Enables/disables the visibility of aperture edges.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-294

.CuboidVisible
Enables/disables the visibility of cuboid edges.
Type: boolean
Access: Read/Write

.DielectricVisible
Enables/disables the visibility of dielectric edges.
Type: boolean
Access: Read/Write

.MetallicVisible
Enables/disables the visibility of metallic edges.
Type: boolean
Access: Read/Write

.TetrahedraVisible
Enables/disables the visibility of tetrahedra edges.
Type: boolean
Access: Read/Write

.UTDCylinderVisible
Enables/disables the visibility of UTD cylinder edges.
Type: boolean
Access: Read/Write

.UTDPolygonVisible
Enables/disables the visibility of UTD polygon edges.
Type: boolean
Access: Read/Write

.WindscreenVisible
Enables/disables the visibility of windscreen edges.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-295

10.3.105 MeshEntity

A mesh entity forming part of a mesh.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.TriangleFaces[1].Label

Inheritance

The following objects are derived (specialisations) from the MeshEntity object:

/ MeshCubeRegion

/ MeshCurvilinearTriangleFace

/ MeshSegmentWire

/ MeshTetrahedronRegion

/ MeshTriangleFace

/ MeshUnmeshedCylinderRegion

/ MeshUnmeshedPolygonFace

Property list

Name Description
.Label The object label.
(Read only string)

Properties (details)

.Label
The object label.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-296

10.3.106 MeshFacesFormat

The mesh face properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
view = app.Views[1]

-- Show the face outlines and set the outline colour to Green

view.MeshRendering.Faces.OutlineVisible = true
view.MeshRendering.Faces.OutlineColour = pf.Enums.ColourEnum.Green

-- Hide the metallic faces

view.MeshRendering.Faces.MetallicVisible = false

Property list

Name Description
.ApertureVisible Enables/disables the visibility of aperture faces.
(Read/Write boolean)
.CuboidVisible Enables/disables the visibility of cuboid faces.
(Read/Write boolean)
.DielectricVisible Enables/disables the visibility of dielectric faces.
(Read/Write boolean)
.MetallicVisible Enables/disables the visibility of metallic faces.
(Read/Write boolean)
.OutlineColour The outline colour of the model faces.
(Read/Write Colour)
.OutlineVisible Display an outline around model face elements.
(Read/Write boolean)
.TetrahedraVisible Enables/disables the visibility of tetrahedra faces.
(Read/Write boolean)
.UTDCylinderVisible Enables/disables the visibility of UTD cylinder faces.
(Read/Write boolean)
.UTDPolygonVisible Enables/disables the visibility of UTD polygon faces.
(Read/Write boolean)
.WindscreenVisible Enables/disables the visibility of windscreen faces.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-297

.ApertureVisible
Enables/disables the visibility of aperture faces.
Type: boolean
Access: Read/Write

.CuboidVisible
Enables/disables the visibility of cuboid faces.
Type: boolean
Access: Read/Write

.DielectricVisible
Enables/disables the visibility of dielectric faces.
Type: boolean
Access: Read/Write

.MetallicVisible
Enables/disables the visibility of metallic faces.
Type: boolean
Access: Read/Write

.OutlineColour
The outline colour of the model faces.
Type: Colour
Access: Read/Write

.OutlineVisible
Display an outline around model face elements.
Type: boolean
Access: Read/Write

.TetrahedraVisible
Enables/disables the visibility of tetrahedra faces.
Type: boolean
Access: Read/Write

.UTDCylinderVisible
Enables/disables the visibility of UTD cylinder faces.
Type: boolean
Access: Read/Write

.UTDPolygonVisible
Enables/disables the visibility of UTD polygon faces.
Type: boolean
Access: Read/Write

.WindscreenVisible
Enables/disables the visibility of windscreen faces.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-298

10.3.107 MeshLegendFormat

The mesh legend properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
view = app.Views[1]

-- Show a legend at the top right corner with a custom title

view.MeshRendering.Legend.Position = pf.Enums.ViewLegendPositionEnum.TopRight
view.MeshRendering.Legend.AutoTextEnabled = false
view.MeshRendering.Legend.Text = "Custom legend title"

Property list

Name Description
.AutoTextEnabled Specifies if the auto text of the mesh legend on the
3D view at the specified position should be enabled.
(Read/Write boolean)
.Position The mesh legend position on the 3D view, specified
by the ViewLegendPositionEnum, e.g. TopLeft, Bot-
tomLeft, etc.
(Read/Write ViewLegendPositionEnum)
.Text The text of the mesh legend on the 3D view at the
specified position. LegendAutoTextEnabled must be
disabled for this setting to take affect.
(Read/Write string)

Properties (details)

.AutoTextEnabled
Specifies if the auto text of the mesh legend on the 3D view at the specified position should
be enabled.
Type: boolean
Access: Read/Write

.Position
The mesh legend position on the 3D view, specified by the ViewLegendPositionEnum, e.g.
TopLeft, BottomLeft, etc.
Type: ViewLegendPositionEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-299

.Text
The text of the mesh legend on the 3D view at the specified position. LegendAutoTextEnabled
must be disabled for this setting to take affect.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-300

10.3.108 MeshRendering

The mesh rendering properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
view = app.Views[1]

-- Show metallic edges

view.MeshRendering.Edges.MetallicVisible = true

-- Show the model bounding box

view.MeshRendering.BoundingBoxVisible = true

Property list

Name Description
.ApertureOpacity Aperture mesh opacity as a percentage.
(Read/Write number)
.BoundingBoxVisible Display the model bounding box.
(Read/Write boolean)
.ColourOption Mesh colouring option applied to the view, specified
by the MeshColouringOptionsEnum, e.g. FaceMe-
dia, RegionMedia, etc.
(Read/Write MeshColouringOptionsEnum)
.ConnectivityVisible Displays the main mesh connectivity for the 3D view.
(Read/Write boolean)
.Edges The mesh edges properties.
(Read/Write MeshEdgesFormat)
.Faces The mesh faces properties.
(Read/Write MeshFacesFormat)
.HighlightingOption Mesh electro magnetic property highlighting applied
to the view, specified by the MeshHighlightingOp-
tionsEnum, e.g. LossyMetal, UTD, VEP, etc.
(Read/Write MeshHighlightingOptionsEnum)
.Legend The mesh legend properties.
(Read/Write MeshLegendFormat)
.ModelOpacity Mesh model opacity as a percentage.
(Read/Write number)
.TriangleNormalsVisible Display triangle normals.
(Read/Write boolean)
.Vertices The mesh vertices properties.
(Read/Write MeshVerticesFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-301

.Volumes The mesh volumes properties.


(Read/Write MeshVolumesFormat)
.WindscreenOpacity Windscreen mesh opacity as a percentage.
(Read/Write number)
.Wires The mesh wires properties.
(Read/Write MeshWiresFormat)

Properties (details)

.ApertureOpacity
Aperture mesh opacity as a percentage.
Type: number
Access: Read/Write

.BoundingBoxVisible
Display the model bounding box.
Type: boolean
Access: Read/Write

.ColourOption
Mesh colouring option applied to the view, specified by the MeshColouringOptionsEnum, e.g.
FaceMedia, RegionMedia, etc.
Type: MeshColouringOptionsEnum
Access: Read/Write

.ConnectivityVisible
Displays the main mesh connectivity for the 3D view.
Type: boolean
Access: Read/Write

.Edges
The mesh edges properties.
Type: MeshEdgesFormat
Access: Read/Write

.Faces
The mesh faces properties.
Type: MeshFacesFormat
Access: Read/Write

.HighlightingOption
Mesh electro magnetic property highlighting applied to the view, specified by the MeshHigh-
lightingOptionsEnum, e.g. LossyMetal, UTD, VEP, etc.
Type: MeshHighlightingOptionsEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-302

.Legend
The mesh legend properties.
Type: MeshLegendFormat
Access: Read/Write

.ModelOpacity
Mesh model opacity as a percentage.
Type: number
Access: Read/Write

.TriangleNormalsVisible
Display triangle normals.
Type: boolean
Access: Read/Write

.Vertices
The mesh vertices properties.
Type: MeshVerticesFormat
Access: Read/Write

.Volumes
The mesh volumes properties.
Type: MeshVolumesFormat
Access: Read/Write

.WindscreenOpacity
Windscreen mesh opacity as a percentage.
Type: number
Access: Read/Write

.Wires
The mesh wires properties.
Type: MeshWiresFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-303

10.3.109 MeshSegmentWire

A mesh entity representing a wire meshed using segments.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
sConf = app.Models["Dipole_Example"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.SegmentWires[1].Label

-- Get the segment count of the specified mesh entity

wireSegmentCount = mesh.SegmentWires[1].Segments.Count

Inheritance

The object MeshSegmentWire is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshSegmentWire object:

/ MeshSegmentWireCollection

Property list

Name Description
.Label The object label.
(Read only string)
.Segments The collection of mesh segments that form the mesh
wire.
(Read only Segments)
.Type The object type string.
(Read only string)

Properties (details)

.Label
The object label.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-304

.Segments
The collection of mesh segments that form the mesh wire.
Type: Segments
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-305

10.3.110 MeshSegmentsFormat

The mesh segments properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
view = app.Views[1]

-- Show the lines of the segments


-- Hide the surfaces of the segments
-- Show the vertices of the segments

view.MeshRendering.Wires.Segments.LinesVisible = true
view.MeshRendering.Wires.Segments.SurfacesVisible = false
view.MeshRendering.Wires.Segments.VerticesVisible = true

Property list

Name Description
.LinesVisible Enables/disables the visibility of segment lines.
(Read/Write boolean)
.Radius Segment surface radius magnification factor.
(Read/Write number)
.SurfacesVisible Enables/disables the visibility of segment surfaces.
(Read/Write boolean)
.VerticesVisible Enables/disables the visibility of segment vertices.
(Read/Write boolean)

Properties (details)

.LinesVisible
Enables/disables the visibility of segment lines.
Type: boolean
Access: Read/Write

.Radius
Segment surface radius magnification factor.
Type: number
Access: Read/Write

.SurfacesVisible
Enables/disables the visibility of segment surfaces.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-306

.VerticesVisible
Enables/disables the visibility of segment vertices.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-307

10.3.111 MeshTetrahedronRegion

A mesh entity representing a region meshed with tetrahedra.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Shielding_Factor_of_Thin_Metal_Sphere_FEM.fek]])
sConf = app.Models["Shielding_Factor_of_Thin_Metal_Sphere_FEM"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.TetrahedronRegions[1].Label

-- Get the tetrahedra count of the specified mesh entity

regionTetrahedraCount = mesh.TetrahedronRegions[1].Tetrahedra.Count

Inheritance

The object MeshTetrahedronRegion is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshTetrahedronRegion object:

/ MeshTetrahedronRegionCollection

Property list

Name Description
.Label The object label.
(Read only string)
.Tetrahedra The collection of mesh tetrahedra that form the
mesh region.
(Read only Tetrahedra)
.Type The object type string.
(Read only string)

Properties (details)

.Label
The object label.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-308

.Tetrahedra
The collection of mesh tetrahedra that form the mesh region.
Type: Tetrahedra
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-309

10.3.112 MeshTriangleFace

A mesh entity representing a face meshed using triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.TriangleFaces[1].Label

-- Get the triangle count of the specified mesh entity

faceTriangleCount = mesh.TriangleFaces[1].Triangles.Count

Inheritance

The object MeshTriangleFace is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshTriangleFace object:

/ MeshTriangleFaceCollection

Property list

Name Description
.Label The object label.
(Read only string)
.Triangles The collection of mesh triangles that form the mesh
Triangle face.
(Read only Triangles)
.Type The object type string.
(Read only string)

Properties (details)

.Label
The object label.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-310

.Triangles
The collection of mesh triangles that form the mesh Triangle face.
Type: Triangles
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-311

10.3.113 MeshUnmeshedCylinderRegion

A mesh entity representing one or more unmeshed cylinders. This type of mesh is typically
solved using a solution method that does not require fine subdivision, like the uniform theory of
diffraction.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Infinite_Cylinder_a.fek]])
sConf = app.Models["Infinite_Cylinder_a"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.UnmeshedCylinderRegions[1].Label

-- Get the cylinder count of the specified mesh entity

count = mesh.UnmeshedCylinderRegions[1].Cylinders.Count

Inheritance

The object MeshUnmeshedCylinderRegion is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshUnmeshedCylinderRegion object:

/ MeshUnmeshedCylinderRegionCollection

Property list

Name Description
.Cylinders The collection of unmeshed cylinders that form the
mesh region.
(Read only Cylinders)
.Label The object label.
(Read only string)
.Type The object type string.
(Read only string)

Properties (details)

.Cylinders
The collection of unmeshed cylinders that form the mesh region.
Type: Cylinders
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-312

.Label
The object label.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-313

10.3.114 MeshUnmeshedPolygonFace

A mesh entity representing one or more unmeshed polygons. This type of mesh is typically
solved using a solution method that does not require fine subdivision, like the uniform theory of
diffraction.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
sConf = app.Models["Dipole_Antenna_and_UTD_Plate"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.UnmeshedPolygonFaces[1].Label

-- Get the polygon count of the first unmeshed polygon face

count = mesh.UnmeshedPolygonFaces[1].Polygons.Count

Inheritance

The object MeshUnmeshedPolygonFace is derived from the MeshEntity object.

Parent collection list

The following collections contain the MeshUnmeshedPolygonFace object:

/ MeshUnmeshedPolygonFaceCollection

Property list

Name Description
.Label The object label.
(Read only string)
.Polygons The collection of unmeshed polygons that form the
mesh face.
(Read only Polygons)
.Type The object type string.
(Read only string)

Properties (details)

.Label
The object label.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-314

.Polygons
The collection of unmeshed polygons that form the mesh face.
Type: Polygons
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-315

10.3.115 MeshVerticesFormat

The mesh vertice properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
view = app.Views[1]

-- Show the vertices on the metallic faces

view.MeshRendering.Vertices.MetallicVisible = true

Property list

Name Description
.ApertureVisible Enables/disables the visibility of aperture vertices.
(Read/Write boolean)
.CuboidVisible Enables/disables the visibility of cuboid vertices.
(Read/Write boolean)
.DielectricVisible Enables/disables the visibility of dielectric vertices.
(Read/Write boolean)
.MetallicVisible Enables/disables the visibility of metallic vertices.
(Read/Write boolean)
.TetrahedraVisible Enables/disables the visibility of tetrahedra vertices.
(Read/Write boolean)
.UTDPolygonVisible Enables/disables the visibility of UTD polygon ver-
tices.
(Read/Write boolean)
.WindscreenVisible Enables/disables the visibility of windscreen ver-
tices.
(Read/Write boolean)

Properties (details)

.ApertureVisible
Enables/disables the visibility of aperture vertices.
Type: boolean
Access: Read/Write

.CuboidVisible
Enables/disables the visibility of cuboid vertices.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-316

.DielectricVisible
Enables/disables the visibility of dielectric vertices.
Type: boolean
Access: Read/Write

.MetallicVisible
Enables/disables the visibility of metallic vertices.
Type: boolean
Access: Read/Write

.TetrahedraVisible
Enables/disables the visibility of tetrahedra vertices.
Type: boolean
Access: Read/Write

.UTDPolygonVisible
Enables/disables the visibility of UTD polygon vertices.
Type: boolean
Access: Read/Write

.WindscreenVisible
Enables/disables the visibility of windscreen vertices.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-317

10.3.116 MeshVolumesFormat

The mesh volume properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Shielding_Factor_of_Thin_Metal_Sphere_FEM.fek]])
view = app.Views[1]

-- Show the tetrahedra inside the volume

view.MeshRendering.Volumes.TetrahedraVisible = true

Property list

Name Description
.TetrahedraVisible Enables/disables the visibility of tetrahedra volume.
(Read/Write boolean)

Properties (details)

.TetrahedraVisible
Enables/disables the visibility of tetrahedra volume.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-318

10.3.117 MeshWiresFormat

The mesh wires properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
view = app.Views[1]

-- Show the vertices of the wire segments

view.MeshRendering.Wires.Segments.VerticesVisible = true

Property list

Name Description
.CoatingsVisible Display wire coatings.
(Read/Write boolean)
.Segments The mesh wire segments properties.
(Read/Write MeshSegmentsFormat)

Properties (details)

.CoatingsVisible
Display wire coatings.
Type: boolean
Access: Read/Write

.Segments
The mesh wire segments properties.
Type: MeshSegmentsFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-319

10.3.118 Model

A model object containing simulated results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Print the names of all the opened models

for modelCount = 1, app.Models.Count do


print(app.Models[modelCount].Label)
end

Parent collection list

The following collections contain the Model object:

/ ModelCollection

Collection list

Name Description
.Configurations The collection of solution configurations in the
model.
(ConfigurationCollection of SolutionConfiguration)

Property list

Name Description
.Label The object label.
(Read only string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Deletes the model from the session. This also re-
moves all 3DViews and traces associated with the
model.
:GetPath () Returns the path to the model.
(Returns a string object.)
:ReassociateModel (filename) Re associates this model with a different set of
model files.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-320

Collections (details)

.Configurations
The collection of solution configurations in the model.
Type: ConfigurationCollection
Collection type: SolutionConfiguration

Properties (details)

.Label
The object label.
Type: string
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Deletes the model from the session. This also removes all 3DViews and traces associated with
the model.

:GetPath
Returns the path to the model.
Returns:

• string: The path of the model.

:ReassociateModel
Re associates this model with a different set of model files.
Parameters:

• filename: The name of the file to associate this model. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-321

10.3.119 NearField3DFormat

The near field 3D plot visualisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
nearFieldPlot = app.Views[1].Plots:Add(app.Models[1].Configurations[1].NearFields[1])

-- Adjust near field 3D plot visualisation properties

nearFieldPlot.Visualisation.BoundingBoxVisible = true
nearFieldPlot.Visualisation.FlatShaded = true

Property list

Name Description
.AutoExtruded Specifies whether auto extrusion is enabled or dis-
abled for the near field plot.
(Read/Write boolean)
.BoundingBoxVisible Specifies whether the near field plot bounding box
must be shown or hidden.
(Read/Write boolean)
.Extrusion The amount (%) the near field plot should be ex-
truded in range [0,100].
(Read/Write number)
.FlatShaded Specifies whether discrete colours (flat shading)
should be enabled or disabled for the near field plot.
(Read/Write boolean)
.GridVisible Specifies whether the near field plot grid must be
shown or hidden.
(Read/Write boolean)
.Opacity Specify the near field plot opacity (%) in the range
[0, 100].
(Read/Write number)
.SurfaceVisible Specifies whether the near field plot surface must be
shown or hidden.
(Read/Write boolean)

Properties (details)

.AutoExtruded
Specifies whether auto extrusion is enabled or disabled for the near field plot.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-322

.BoundingBoxVisible
Specifies whether the near field plot bounding box must be shown or hidden.
Type: boolean
Access: Read/Write

.Extrusion
The amount (%) the near field plot should be extruded in range [0,100].
Type: number
Access: Read/Write

.FlatShaded
Specifies whether discrete colours (flat shading) should be enabled or disabled for the near
field plot.
Type: boolean
Access: Read/Write

.GridVisible
Specifies whether the near field plot grid must be shown or hidden.
Type: boolean
Access: Read/Write

.Opacity
Specify the near field plot opacity (%) in the range [0, 100].
Type: number
Access: Read/Write

.SurfaceVisible
Specifies whether the near field plot surface must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-323

10.3.120 NearField3DPlot

A near field 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
firstActive3DView = app.Views[1]

-- Add near field to the Plots collection of the 3D view

nearFieldPlot = firstActive3DView.Plots:Add(app.Models[1].Configurations[1].NearFields[1])

-- Adjust plot type and axis values

nearFieldPlot.PlotType = nearFieldPlot.PlotTypesAvailable[3]

printlist(nearFieldPlot.FixedAxes)
printlist(nearFieldPlot:GetFixedAxisAvailableValues("Y position"))
nearFieldPlot:SetFixedAxisValue("Y position", 2, "mm")

Inheritance

The object NearField3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.Arrows The near field plot arrows properties.
(Read/Write Arrows3DFormat)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.Contours The near field plot contours properties.
(Read/Write Contours3DFormat)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes
depend on the chosen PlotType as well as the con-
tents of the ResultData object. The value for a spe-
cific fixed axis can be queried and set with the Get-
FixedAxisValue() and SetFixedAxisValue() methods.
(Read only table)
.IsoSurface The near field isosurface properties.
(Read/Write IsoSurface3DFormat)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-324

.LocalCoordAxes The near field local coordinate axis properties.


(Read/Write Axes3DFormat)
.PlotType The type of plot to be displayed, e.g., 3D Surface,
Phi cut, Theta cut, XY surface.
(Read/Write string)
.PlotTypesAvailable The list of available plot types.
(Read only table)
.Quantity The near field plot quantity properties.
(Read/Write NearFieldQuantity)
.RequestPoints The near field request points properties.
(Read/Write RequestPoints3DFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The near field visualisation properties.
(Read/Write NearField3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:Duplicate () Duplicate the plot.
(Returns a Result3DPlot object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
fixed axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the plot.
(Returns a Result3DPlot object.)

Properties (details)

.Arrows
The near field plot arrows properties.
Type: Arrows3DFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-325

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.Contours
The near field plot contours properties.
Type: Contours3DFormat
Access: Read/Write

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen PlotType as well as
the contents of the ResultData object. The value for a specific fixed axis can be queried and
set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IsoSurface
The near field isosurface properties.
Type: IsoSurface3DFormat
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.LocalCoordAxes
The near field local coordinate axis properties.
Type: Axes3DFormat
Access: Read/Write

.PlotType
The type of plot to be displayed, e.g., 3D Surface, Phi cut, Theta cut, XY surface.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-326

.PlotTypesAvailable
The list of available plot types.
Type: table
Access: Read only

.Quantity
The near field plot quantity properties.
Type: NearFieldQuantity
Access: Read/Write

.RequestPoints
The near field request points properties.
Type: RequestPoints3DFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

.Visualisation
The near field visualisation properties.
Type: NearField3DFormat
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

:Duplicate
Duplicate the plot.
Returns:

• Result3DPlot: The duplicated plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-327

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

:Store
Store a copy of the plot.
Returns:

• Result3DPlot: A copy of the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-328

10.3.121 NearFieldData

Near field results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’NearFieldData’ called ’NearFields’

nearFieldData = app.Models[1].Configurations[1].NearFields["NearFields"]

-- Manipulate the near field data. See ’DataSet’ for faster and more comprehensive options

dataSet = nearFieldData:GetDataSet(51)
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the x start and end values

xAxis = dataSet.Axes["X"]
thetaStartValue = xAxis:ValueAt(1)
thetaEndValue = xAxis:ValueAt(#xAxis)

-- Scale the near field field values

scale = 2
constantZIndex = 1
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for xIndex = 1, #dataSet.Axes["X"] do
for yIndex = 1, #dataSet.Axes["Y"] do
indexedValue = dataSet[freqIndex][xIndex][yIndex][constantZIndex]
indexedValue.EFieldComp1 = indexedValue.EFieldComp1 * scale
indexedValue.EFieldComp2 = indexedValue.EFieldComp2 * scale
indexedValue.EFieldComp3 = indexedValue.EFieldComp3 * scale
end
end
end

-- Store the manipulated data

scaledNearField = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.NearField)

-- Compare the original far field to the manipulated far field

nearFieldPlot1 = app.Views[1].Plots:Add(nearFieldData)
nearFieldPlot2 = app.Views[1].Plots:Add(scaledNearField)
graph = app.CartesianGraphs:Add()
nearFieldTrace1 = graph.Traces:Add(nearFieldData)
nearFieldTrace2 = graph.Traces:Add(scaledNearField)

Inheritance

The object NearFieldData is derived from the ResultData object.

Parent collection list

The following collections contain the NearFieldData object:

/ NearFieldCollection

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-329

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, components, Export the result near field data to the specified *.efe
samples) / *.hfe file.
:GetDataSet () Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the near field values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the near field values.
quency, samplePoints)
(Returns a DataSet object.)
:GetMediaDataSet () Returns a data set containing the media information
for the near field.
(Returns a DataSet object.)
:GetMediaDataSet (samplePoints) Returns a data set containing the media information
for the near field.
(Returns a DataSet object.)
:GetMediaDataSet (startFrequency, Returns a data set containing the media information
endFrequency, samplePoints) for the near field.
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-330

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result near field data to the specified *.efe / *.hfe file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• components: The components to export specified by the NearFieldsExport-
TypeEnum, e.g. Both (*.efe and *.hfe), Electric (*.efe) or Magnetic (*.hfe).
(NearFieldsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
nearField = app.Models[1].Configurations[1].NearFields[1]

-- Export the near field data to the current working directory

fileName = "nearfield"
nearField:ExportData(fileName, pf.Enums.NearFieldsExportTypeEnum.Electric, 51)

:GetDataSet
Returns a data set containing the near field values.
Returns:

• DataSet: The data set containing the near field values.

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the near field values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-331

:GetDataSet
Returns a data set containing the near field values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the near field values.

:GetMediaDataSet
Returns a data set containing the media information for the near field.
Returns:

• DataSet: The near field media data set.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
nearField = app.Models[1].Configurations[1].NearFields[1]

-- Get and inspect the near field media data

mediaData = nearField:GetMediaDataSet()
print(mediaData)
numberOfMediaInNearFieldRequest = mediaData.Axes[2].Count

-- get the medium index at a given near field request point

nearFieldData = nearField:GetDataSet()
freqIndex = 1
U, V, N = 12, 17, 1
mediumIndexAtRequestPoint = nearFieldData[freqIndex][U][V][N].MediumIndex

-- use the index to acces media properties at the given near field request point

permittivityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].RelativePermittivity
massDensityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].MassDensity

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-332

:GetMediaDataSet
Returns a data set containing the media information for the near field.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The near field media data set.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
nearField = app.Models[1].Configurations[1].NearFields[1]

-- Get and inspect the near field media data

mediaData = nearField:GetMediaDataSet()
print(mediaData)
numberOfMediaInNearFieldRequest = mediaData.Axes[2].Count

-- get the medium index at a given near field request point

nearFieldData = nearField:GetDataSet()
freqIndex = 1
U, V, N = 12, 17, 1
mediumIndexAtRequestPoint = nearFieldData[freqIndex][U][V][N].MediumIndex

-- use the index to acces media properties at the given near field request point

permittivityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].RelativePermittivity
massDensityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].MassDensity

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-333

:GetMediaDataSet
Returns a data set containing the media information for the near field.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The near field media data set.

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
nearField = app.Models[1].Configurations[1].NearFields[1]

-- Get and inspect the near field media data

mediaData = nearField:GetMediaDataSet()
print(mediaData)
numberOfMediaInNearFieldRequest = mediaData.Axes[2].Count

-- get the medium index at a given near field request point

nearFieldData = nearField:GetDataSet()
freqIndex = 1
U, V, N = 12, 17, 1
mediumIndexAtRequestPoint = nearFieldData[freqIndex][U][V][N].MediumIndex

-- use the index to acces media properties at the given near field request point

permittivityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].RelativePermittivity
massDensityAtFirstPoint = mediaData[freqIndex][mediumIndexAtRequestPoint].MassDensity

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-334

10.3.122 NearFieldMathScript

Near field math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a far field math script

nearFieldMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.NearField)
script =
[[
dataSet = pf.NearField.GetDataSet("startup.StandardConfiguration1.NearFields", 51)
scale = 2
constantZIndex = 1
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for xIndex = 1, #dataSet.Axes["X"] do
for yIndex = 1, #dataSet.Axes["Y"] do
indexedValue = dataSet[freqIndex][xIndex][yIndex][constantZIndex]
indexedValue.EFieldComp1 = indexedValue.EFieldComp1 * scale
indexedValue.EFieldComp2 = indexedValue.EFieldComp2 * scale
indexedValue.EFieldComp3 = indexedValue.EFieldComp3 * scale
end
end
end
return dataSet
]]
nearFieldMathScript.Script = script
nearFieldMathScript:Run()

-- Plot the math script

nearFieldPlot = app.Views[1].Plots:Add(nearFieldMathScript)

Inheritance

The object NearFieldMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-335

:Duplicate () Duplicate the math script.


(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.
(Returns a DataSet object.)
:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-336

10.3.123 NearFieldPowerIntegralData

Near field power integral results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])

-- Retrieve the ’NearFieldPowerIntegralData’ called ’NearFields’

nearFieldPowerData = app.Models[1].Configurations[1].NearFieldPowerIntegrals["NearFields"]

-- Create a graph and add the near field power data to it

graph = app.CartesianGraphs:Add()
trace = graph.Traces:Add(nearFieldPowerData)

Inheritance

The object NearFieldPowerIntegralData is derived from the ResultData object.

Parent collection list

The following collections contain the NearFieldPowerIntegralData object:

/ NearFieldPowerIntegralCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-337

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-338

10.3.124 NearFieldPowerIntegralTrace

A near field power integral 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
nearFieldPowerData = app.Models[1].Configurations[1].NearFieldPowerIntegrals["NearFields"]

-- Create a graph and add the near field power data to it

graph = app.CartesianGraphs:Add()
trace = graph.Traces:Add(nearFieldPowerData)

-- Set the trace to dB

trace.Quantity.ValuesScaledToDB = true

Inheritance

The object NearFieldPowerIntegralTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-339

.Line The trace line format properties.


(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The near field power integral trace math expression
properties.
(Read/Write TraceMathExpression)
.Quantity The near field power integral trace quantity proper-
ties.
(Read/Write PowerIntegralQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-340

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-341

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The near field power integral trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The near field power integral trace quantity properties.
Type: PowerIntegralQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-342

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-343

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-344

10.3.125 NearFieldQuantity

The near field quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
nearFieldPlot = app.Views[1].Plots:Add(app.Models[1].Configurations[1].NearFields[1])

-- Adjust ’NearFieldQuantity’ of the plot

nearFieldPlot.Quantity.Type = pf.Enums.NearFieldQuantityTypeEnum.SAR
nearFieldPlot.Quantity.ValuesNormalised = true
nearFieldPlot.Quantity.ValuesScaledToDB = true

Property list

Name Description
.ComplexComponent The complex component of the near field value to
plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.IncludesPhi Specifies whether the Phi component should be in-
cluded in the near field quantity.
(Read/Write boolean)
.IncludesRadius Specifies whether the Radius component should be
included in the near field quantity.
(Read/Write boolean)
.IncludesRho Specifies whether the Rho component should be in-
cluded in the near field quantity.
(Read/Write boolean)
.IncludesTheta Specifies whether the Theta component should be
included in the near field quantity.
(Read/Write boolean)
.IncludesX Specifies whether the X component should be in-
cluded in the near field quantity.
(Read/Write boolean)
.IncludesY Specifies whether the Y component should be in-
cluded in the near field quantity.
(Read/Write boolean)
.IncludesZ Specifies whether the Z component should be in-
cluded in the near field quantity.
(Read/Write boolean)
.InstantaneousPhase The phase value (wt) to use when ComplexCom-
ponent is Instantaneous. The value is in degrees
[0,360].
(Read/Write number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-345

.PhaseUnwrapped Specifies whether the phase is unwrapped before


plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.PowerScalingEnabled Specifies whether near field power scaling is en-
abled.
(Read/Write boolean)
.PowerScalingFactor The power scaling factor to apply when Power-
ScalingEnabled is enabled.
(Read/Write number)
.Type The type of near field quantity to be plotted, speci-
fied by the NearfieldQuantityTypeEnum, e.g. EField,
HField, Poynting, SAR, etc.
(Read/Write NearFieldQuantityTypeEnum)
.ValuesNormalised Specifies whether the near field quantity values
must be normalised to the range [0,1] before plot-
ting. This property can be used together with dB
scaling. This property is not valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the near field quantity values is
scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

.ComplexComponent
The complex component of the near field value to plot, specified by the ComplexComponen-
tEnum, e.g. Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.IncludesPhi
Specifies whether the Phi component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.IncludesRadius
Specifies whether the Radius component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.IncludesRho
Specifies whether the Rho component should be included in the near field quantity.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-346

.IncludesTheta
Specifies whether the Theta component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.IncludesX
Specifies whether the X component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.IncludesY
Specifies whether the Y component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.IncludesZ
Specifies whether the Z component should be included in the near field quantity.
Type: boolean
Access: Read/Write

.InstantaneousPhase
The phase value (wt) to use when ComplexComponent is Instantaneous. The value is in
degrees [0,360].
Type: number
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.PowerScalingEnabled
Specifies whether near field power scaling is enabled.
Type: boolean
Access: Read/Write

.PowerScalingFactor
The power scaling factor to apply when PowerScalingEnabled is enabled.
Type: number
Access: Read/Write

.Type
The type of near field quantity to be plotted, specified by the NearfieldQuantityTypeEnum,
e.g. EField, HField, Poynting, SAR, etc.
Type: NearFieldQuantityTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-347

.ValuesNormalised
Specifies whether the near field quantity values must be normalised to the range [0,1] before
plotting. This property can be used together with dB scaling. This property is not valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the near field quantity values is scaled to dB before plotting. This property
is only valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-348

10.3.126 NearFieldTrace

A near field 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
cartesianGraph = app.CartesianGraphs:Add()

-- Add a near field trace

nearFieldTrace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Investigate and set independent axis

printlist(nearFieldTrace.IndependentAxesAvailable)
nearFieldTrace.IndependentAxis = nearFieldTrace.IndependentAxesAvailable[3]

-- Investigate and set fixed axes

printlist(nearFieldTrace.FixedAxes)
print(nearFieldTrace:GetAxisUnit(nearFieldTrace.FixedAxes[2]))
printlist(nearFieldTrace:GetFixedAxisAvailableValues(nearFieldTrace.FixedAxes[2]))
nearFieldTrace:SetFixedAxisValue("X position", -8, "mm")

cartesianGraph:ZoomToExtents()

Inheritance

The object NearFieldTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
October 2013 FEKO User’s Manual
SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-349

.Label The object label.


(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The near field trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The near field trace quantity properties.
(Read/Write NearFieldQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:SetFixedAxisValue (axis, point) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-350

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-351

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The near field trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The near field trace quantity properties.
Type: NearFieldQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-352

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-353

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• point: The axis value. (Point)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-354

10.3.127 NetworkData

Network results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Matching_SPICE.fek]])

-- Retrieve the ’NetworkData’ called ’MatchingNetwork’

networkData = app.Models[1].Configurations[1].Networks["MatchingNetwork"]

-- Manipulate the network data. See ’DataSet’ for faster and more comprehensive options

dataSet = networkData:GetDataSet(51)
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the nummber of ports

portAxis = dataSet.Axes["Arbitrary"]
noPorts = #portAxis

-- Scale the network power values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for portIndex = 1, #dataSet.Axes["Arbitrary"] do
indexedValue = dataSet[freqIndex][portIndex]
indexedValue.Voltage = indexedValue.Voltage * scale
indexedValue.Power = indexedValue.Power * scale
end
end

-- Store the manipulated data

scaledNetwork = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Network)

-- Compare the original network to the manipulated network

graph = app.CartesianGraphs:Add()
networkTrace1 = graph.Traces:Add(networkData)
networkTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Voltage
networkTrace2 = graph.Traces:Add(scaledNetwork)
networkTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Voltage

Inheritance

The object NetworkData is derived from the ResultData object.

Parent collection list

The following collections contain the NetworkData object:

/ NetworkCollection

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-355

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:GetDataSet () Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the network values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the network values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the network values.
Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-356

:GetDataSet
Returns a data set containing the network values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

:GetDataSet
Returns a data set containing the network values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the network values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-357

10.3.128 NetworkMathScript

Network math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Matching_SPICE.fek]])

-- Create a network math script

networkMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.Network)
script =
[[
dataSet = pf.Network.GetDataSet("Dipole_Matching_SPICE.StandardConfiguration1.MatchingNetwork", 51)
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for portIndex = 1, #dataSet.Axes["Arbitrary"] do
indexedValue = dataSet[freqIndex][portIndex]
indexedValue.Current = indexedValue.Current * scale
indexedValue.Power = indexedValue.Power * scale
end
end
return dataSet
]]
networkMathScript.Script = script
networkMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
networkTrace1 = graph.Traces:Add(networkMathScript)
networkTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current

Inheritance

The object NetworkMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-358

:GetDataSet () Returns a data set containing the math script values.


(Returns a DataSet object.)
:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-359

10.3.129 NetworkQuantity

The power quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Matching_SPICE.fek]])
networkData = app.Models[1].Configurations[1].Networks["MatchingNetwork"]

-- Create a cartesian graph and add the network data

graph = app.CartesianGraphs:Add()
networkTrace = graph.Traces:Add(networkData)

-- Configure the trace quantities

networkTrace.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Current
networkTrace.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Phase

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.Type The type of quantity to be plotted, specified by the
NetworkQuantityTypeEnum, e.g. Impedance, Volt-
age, Current, etc.
(Read/Write NetworkQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-360

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.Type
The type of quantity to be plotted, specified by the NetworkQuantityTypeEnum, e.g.
Impedance, Voltage, Current, etc.
Type: NetworkQuantityTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-361

10.3.130 NetworkTrace

A Networks 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Matching_SPICE.fek]])
networkData = app.Models[1].Configurations[1].Networks["MatchingNetwork"]

-- Create a cartesian graph and add the network data

graph = app.CartesianGraphs:Add()
networkTrace = graph.Traces:Add(networkData)

-- Configure the trace to display port 2

networkTrace:SetFixedAxisValue("Port number", 2, "")

Inheritance

The object NetworkTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-362

.Line The trace line format properties.


(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The networks trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The networks trace quantity properties.
(Read/Write LoadQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value) Set the fixed axis to the specified value.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-363

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-364

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The networks trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The networks trace quantity properties.
Type: LoadQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-365

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-366

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-367

10.3.131 Normalisation

The axis normalisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/mulitple_configurations.fek]])

-- Add two different traces to a graph

graph = app.CartesianGraphs:Add()
farField1 = graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])
farField2 = graph.Traces:Add(app.Models[1].Configurations[2].FarFields[1])

-- Normalise across all traces on the graph

graph.Normalisation.Enabled = true
graph.Normalisation.Method = pf.Enums.NormalisationMethodEnum.AllTraces
graph:ZoomToExtents()

Property list

Name Description
.Enabled Normalise the graph axis.
(Read/Write boolean)
.Method The normalisation method used specified by the
NormalisationMethodEnum, e.g. AllTraces or Indi-
vidualTraces. Normalisation must be enabled for
this property to take affect.
(Read/Write NormalisationMethodEnum)

Properties (details)

.Enabled
Normalise the graph axis.
Type: boolean
Access: Read/Write

.Method
The normalisation method used specified by the NormalisationMethodEnum, e.g. AllTraces
or IndividualTraces. Normalisation must be enabled for this property to take affect.
Type: NormalisationMethodEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-368

10.3.132 Plot3DLegendFormat

The 3D plot legend properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farfield = app.Views[1].Plots:Add(app.Models[1].Configurations[1].FarFields[1])

-- Modify legend

farfield.Legend.AutoTextEnabled = false
farfield.Legend.Text = "My custom legend title"

Property list

Name Description
.AutoTextEnabled Specifies if the auto text of the legend on the 3D
view at the specified position should be enabled.
(Read/Write boolean)
.LinearRange The 3D plot legend linear range properties.
(Read/Write Legend3DLinearRangeFormat)
.LogarithmicRange The 3D plot legend logarithmic range properties.
(Read/Write Legend3DLogarithmicRangeFormat)
.Position The Result3DPlot legend position on the 3D view,
specified by the ViewLegendPositionEnum, e.g.
TopLeft, BottomLeft, etc.
(Read/Write ViewLegendPositionEnum)
.Text The text of the legend on the 3D view at the speci-
fied position. LegendAutoTextEnabled must be dis-
abled for this setting to take affect.
(Read/Write string)
.UnitIncluded Specifies if the unit should be included in the legend
on the 3D view at the specified position.
(Read/Write boolean)

Properties (details)

.AutoTextEnabled
Specifies if the auto text of the legend on the 3D view at the specified position should be
enabled.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-369

.LinearRange
The 3D plot legend linear range properties.
Type: Legend3DLinearRangeFormat
Access: Read/Write

.LogarithmicRange
The 3D plot legend logarithmic range properties.
Type: Legend3DLogarithmicRangeFormat
Access: Read/Write

.Position
The Result3DPlot legend position on the 3D view, specified by the ViewLegendPositionEnum,
e.g. TopLeft, BottomLeft, etc.
Type: ViewLegendPositionEnum
Access: Read/Write

.Text
The text of the legend on the 3D view at the specified position. LegendAutoTextEnabled must
be disabled for this setting to take affect.
Type: string
Access: Read/Write

.UnitIncluded
Specifies if the unit should be included in the legend on the 3D view at the specified position.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-370

10.3.133 PlotSamplingFormat

The plot sampling format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/helix_6_2_PBC_1x1_ContinuousFarField.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields[1]
farFieldPlot = app.Views[1].Plots:Add(farFieldData)

-- Edit the ’PlotSamplingFormat’

farFieldPlot.Sampling.Method = pf.Enums.PlotSamplingMethodEnum.SpecifiedResolution
farFieldPlot.Sampling.AngularResolution = 3

Property list

Name Description
.AngularResolution The size of the sampling interval (in degrees) when
the Method is SpecifiedResolution.
(Read/Write number)
.Method The method for determining where sample points
of the plot are calculated, specified by the PlotSam-
plingMethodEnum, e.g. Auto, RequestPoints, Speci-
fiedResolution.
(Read/Write PlotSamplingMethodEnum)

Properties (details)

.AngularResolution
The size of the sampling interval (in degrees) when the Method is SpecifiedResolution.
Type: number
Access: Read/Write

.Method
The method for determining where sample points of the plot are calculated, specified by the
PlotSamplingMethodEnum, e.g. Auto, RequestPoints, SpecifiedResolution.
Type: PlotSamplingMethodEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-371

10.3.134 Point

A point in 3D space. This object lives in the lua session only. Points are defined by numbers and
cannot be defined with expressions. Mathematical operations can be done on points.
See the example below:
-- Create a default ’Point’ at (0,0,0)

p1 = pf.Point.New()

-- Assign values to each component of the point

p1.x = 1
p1.y = 1
p1.z = 1

-- Create a ’Point’ with number values

p2 = pf.Point(2,2,2)

-- Determine the distance between two points

distance = p1:distanceTo(p2)

-- Some of the valid operators for ’Point’

p3 = 2 * p1
p4 = p2 * 2
p5 = p2 / 2
p6 = -p2
p7 = p1 + p2
p8 = p1 - p2
if (p1 ~= p2) then
print(p1.." is not equal to "..p2)
end

Property list

Name Description
.X The x component of the point.
(Read/Write number)
.Y The y component of the point.
(Read/Write number)
.Z The z component of the point.
(Read/Write number)

Method list

Name Description
:DistanceTo (point) Returns the distance between this point and another.
(Returns a number object.)

Static function list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-372

Name Description
.New (number x, number Creates a new point.
y, number z)
(Returns a Point object.)
.New () Creates a new point.
(Returns a Point object.)

Operator list

* Scales a point with with the given factor.


+ Adds one point to another point.
- Subtracts one point to another point.
/ Divides each component of the point.
== Compares one point to another.

Index list

[number] Index a component of the point. (Read number)


[number] Index a component of the point. (Write number)

Properties (details)

.X
The x component of the point.
Type: number
Access: Read/Write

.Y
The y component of the point.
Type: number
Access: Read/Write

.Z
The z component of the point.
Type: number
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-373

:DistanceTo
Returns the distance between this point and another.
Parameters:

• point: The point to measure the distance To from this point. (Point)

Returns:

• number: The distance between the points.

Static functions (details)

.New
Creates a new point.

Parameters:

• x: The x component. (number)


• y: The y component. (number)
• z: The z component. (number)

Returns:

• Point: The new point.

.New
Creates a new point.

Returns:

• Point: The new point.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-374

10.3.135 Points

A list of points in 3D space.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[\examples\Resources\Automation\Dipole_Example.fek]])

-- Retrieve the list of mesh points

mesh = app.Models[1].Configurations[1].Mesh
meshPoints = mesh.Points

-- Compare the first and last point

firstPt = meshPoints[1]
lastPt = meshPoints[meshPoints.Count]
if firstPt ~= lastPt then
print(firstPt.." is not equal to "..lastPt)
end

Property list

Name Description
.Count The number of points in the collection.
(Read only number)

Index list

[number] Returns the Point at the given index. (Read Point)

Properties (details)

.Count
The number of points in the collection.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-375

10.3.136 PolarGraph

A 2D Polar graph where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a graph with a trace

graph = app.PolarGraphs:Add()
farFieldTrace = graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Export an image

graph:ExportImage("FarFieldGraph", "pdf")

Inheritance

The object PolarGraph is derived from the Graph object.

Parent collection list

The following collections contain the PolarGraph object:

/ PolarGraphCollection

Collection list

Name Description
.Traces The collection of 2D traces on the graph.
(ResultTraceCollection of ResultTrace)

Property list

Name Description
.AngularAxis The polar graph angular axis properties.
(Read/Write AngularGraphAxis)
.BackColour The background colour of the graph.
(Read/Write Colour)
.Direction The polar graph direction specified by the Po-
larGraphDirectionEnum, e.g. Clockwise and Anti-
clockwise.
(Read/Write PolarGraphDirectionEnum)
.Footer The graph footer properties.
(Read/Write TextBox)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-376

.GreyscaleEnabled Set the graph’s colour scheme to greyscale.


(Read/Write boolean)
.Grid The polar graph grid properties.
(Read/Write PolarGraphGrid)
.Height The height of the window.
(Read only number)
.Legend The graph legend properties.
(Read/Write GraphLegend)
.Normalisation The polar radial axis normalisation properties.
(Read/Write Normalisation)
.Orientation The polar graph orientation specified by the Po-
larGraphOrientationEnum, e.g. ZeroAtTop, ZeroA-
tRight, etc.
(Read/Write PolarGraphOrientationEnum)
.RadialAxis The polar graph radial axis properties.
(Read/Write RadialGraphAxis)
.Title The graph title properties.
(Read/Write TextBox)
.Type The object type string.
(Read only string)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

Name Description
:AddMathTrace () Adds a math trace to the 2D graph.
(Returns a MathTrace object.)
:Close () Close the window.
:Duplicate () Duplicate the 2D graph.
(Returns a Graph object.)
:DuplicateAsCartesian () Creates a Cartesian graph with the same data as the
polar graph.
(Returns a CartesianGraph object.)
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-377

:ExportTraces (filename, samples) Export the graph traces to the specified tab sepa-
rated file.
:Maximise () Maximise the window.
:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:Show () Shows the view.
:ZoomToExtents () Zoom the content of the window to its extent.

Collections (details)

.Traces
The collection of 2D traces on the graph.
Type: ResultTraceCollection
Collection type: ResultTrace

Properties (details)

.AngularAxis
The polar graph angular axis properties.
Type: AngularGraphAxis
Access: Read/Write

.BackColour
The background colour of the graph.
Type: Colour
Access: Read/Write

.Direction
The polar graph direction specified by the PolarGraphDirectionEnum, e.g. Clockwise and
Anticlockwise.
Type: PolarGraphDirectionEnum
Access: Read/Write

.Footer
The graph footer properties.
Type: TextBox
Access: Read/Write

.GreyscaleEnabled
Set the graph’s colour scheme to greyscale.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-378

.Grid
The polar graph grid properties.
Type: PolarGraphGrid
Access: Read/Write

.Height
The height of the window.
Type: number
Access: Read only

.Legend
The graph legend properties.
Type: GraphLegend
Access: Read/Write

.Normalisation
The polar radial axis normalisation properties.
Type: Normalisation
Access: Read/Write

.Orientation
The polar graph orientation specified by the PolarGraphOrientationEnum, e.g. ZeroAtTop,
ZeroAtRight, etc.
Type: PolarGraphOrientationEnum
Access: Read/Write

.RadialAxis
The polar graph radial axis properties.
Type: RadialGraphAxis
Access: Read/Write

.Title
The graph title properties.
Type: TextBox
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Width
The width of the window.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-379

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

Methods (details)

:AddMathTrace
Adds a math trace to the 2D graph.
Returns:

• MathTrace: The math trace.

:Close
Close the window.

:Duplicate
Duplicate the 2D graph.
Returns:

• Graph: The duplicated 2D graph.

:DuplicateAsCartesian
Creates a Cartesian graph with the same data as the polar graph.
Returns:

• CartesianGraph: The copied Cartesian graph.

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-380

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:ExportTraces
Export the graph traces to the specified tab separated file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• samples: The number of samples for continuous data. This value will be ignored if the
first trace on the graph is discrete. (number)

:Maximise
Maximise the window.

:Minimise
Minimise the window.

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-381

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-382

10.3.137 PolarGraphGrid

The polar graph grid properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.PolarGraphs:Add()

-- Update grid visualisation properties

graph.Grid.Minor.Visible = true
graph.Grid.BackColour = pf.Enums.ColourEnum.DarkGreen

Property list

Name Description
.BackColour The background colour of the polar graph grid.
(Read/Write Colour)
.Border The line format for the polar graph grid border.
(Read/Write GraphLineFormat)
.Major The polar graph major grid properties.
(Read/Write PolarGridLines)
.Minor The polar graph minor grid properties.
(Read/Write PolarGridLines)

Properties (details)

.BackColour
The background colour of the polar graph grid.
Type: Colour
Access: Read/Write

.Border
The line format for the polar graph grid border.
Type: GraphLineFormat
Access: Read/Write

.Major
The polar graph major grid properties.
Type: PolarGridLines
Access: Read/Write

.Minor
The polar graph minor grid properties.
Type: PolarGridLines
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-383

10.3.138 PolarGridLines

The polar graph grid lines properties.


See the example below:
app = pf.GetApplication()
app:NewProject()

-- Edit ’PolarGridLines’ properties

graph = app.PolarGraphs:Add()
graph.Grid.Minor.Visible = true
graph.Grid.Major.AngularLine.Weight = 3
graph.Grid.Major.RadialLine.Weight = 3

Property list

Name Description
.AngularLine The line format for the polar graph angular grid.
(Read/Write GraphLineFormat)
.RadialLine The line format for the polar graph radial grid.
(Read/Write GraphLineFormat)
.Visible Controls the visibility of the polar graph grid lines.
(Read/Write boolean)

Properties (details)

.AngularLine
The line format for the polar graph angular grid.
Type: GraphLineFormat
Access: Read/Write

.RadialLine
The line format for the polar graph radial grid.
Type: GraphLineFormat
Access: Read/Write

.Visible
Controls the visibility of the polar graph grid lines.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-384

10.3.139 Polygon

A polygon in 3D space.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
sConf = app.Models["Dipole_Antenna_and_UTD_Plate"].Configurations[1]
mesh = sConf.Mesh

-- Get the first ’Polygon’ of the specified ’MeshUnmeshedPolygonFace’

polygon = mesh.UnmeshedPolygonFaces[1].Polygons[1]

-- Get the vertex indices of the specified Polygon

polygonVertexIndices = polygon.VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the polygon.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the polygon.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-385

10.3.140 Polygons

The list of polygons.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
sConf = app.Models["Dipole_Antenna_and_UTD_Plate"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Polygons’ for the specified ’MeshUnmeshedPolygonFace’

polygons = mesh.UnmeshedPolygonFaces[1].Polygons

-- Get the number of polygons of the specified MeshUnmeshedPolygonFace and


-- the vertex indices of the specified Polygon

polygonCount = polygons.Count
polygonVertexIndices = polygons[1].VertexIndices

Property list

Name Description
.Count The number of polygons in the mesh entity.
(Read only number)

Index list

[number] Returns the Polygon at the given index. (Read Polygon)

Properties (details)

.Count
The number of polygons in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-386

10.3.141 PowerData

Power results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’PowerData’ called ’Power’

powerData = app.Models[1].Configurations[1].Power["Power"]

-- Manipulate the power data. See ’DataSet’ for faster and more comprehensive options

dataSet = powerData:GetDataSet(51)
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the frequency start and end values

frequencyAxis = dataSet.Axes["Frequency"]
fequencyStartValue = frequencyAxis:ValueAt(1)
fequencyEndValue = frequencyAxis:ValueAt(#frequencyAxis)

-- Scale the power values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.ActivePower = indexedValue.ActivePower * scale
end

-- Store the manipulated data

scaledPower = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Power)

-- Compare the original power to the manipulated power

graph = app.CartesianGraphs:Add()
powerTrace1 = graph.Traces:Add(powerData)
powerTrace1.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.ActivePower
powerTrace2 = graph.Traces:Add(scaledPower)
powerTrace2.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.ActivePower

Inheritance

The object PowerData is derived from the ResultData object.

Parent collection list

The following collections contain the PowerData object:

/ PowerCollection

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-387

.Label The object label.


(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:GetDataSet () Returns a data set containing the power values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the power values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the power values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the power values.
Returns:

• DataSet: The data set containing the power values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-388

:GetDataSet
Returns a data set containing the power values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the power values.

:GetDataSet
Returns a data set containing the power values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the power values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-389

10.3.142 PowerIntegralQuantity

The power integral quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farFieldPowerData = app.Models[1].Configurations[1].FarFieldPowerIntegrals["FarFields"]

-- Create a graph and add the far field power data to it

graph = app.CartesianGraphs:Add()
trace = graph.Traces:Add(farFieldPowerData)

-- Set the trace to dB

trace.Quantity.ValuesScaledToDB = true

Property list

Name Description
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-390

10.3.143 PowerMathScript

Power math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a power math script

powerMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.Power)
script =
[[
dataSet = pf.Power.GetDataSet("startup.StandardConfiguration1.Power", 51)
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.ActivePower = indexedValue.ActivePower * scale
end
return dataSet
]]
powerMathScript.Script = script
powerMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
powerTrace1 = graph.Traces:Add(powerMathScript)
powerTrace1.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.ActivePower

Inheritance

The object PowerMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-391

(Returns a DataSet object.)


:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-392

10.3.144 PowerQuantity

The power quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
powerData = app.Models[1].Configurations[1].Power["Power"]

-- Create a cartesian graph and add the power data

graph = app.CartesianGraphs:Add()
powerTrace = graph.Traces:Add(powerData)

-- Configure the trace quantity

powerTrace.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.ActivePower
powerTrace.Quantity.ValuesScaledToDB = true

Property list

Name Description
.Type The type of quantity to be plotted, specified by the
PowerQuantityTypeEnum, e.g. Active power, Loss
power or Efficiency.
(Read/Write PowerQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting.
(Read/Write boolean)

Properties (details)

.Type
The type of quantity to be plotted, specified by the PowerQuantityTypeEnum, e.g. Active
power, Loss power or Efficiency.
Type: PowerQuantityTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-393

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-394

10.3.145 PowerTrace

A power 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
powerData = app.Models[1].Configurations[1].Power["Power"]

-- Create a cartesian graph and add the power data

graph = app.CartesianGraphs:Add()
powerTrace = graph.Traces:Add(powerData)

-- Configure the trace quantity

powerTrace.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.ActivePower
powerTrace.Quantity.ValuesScaledToDB = true

Inheritance

The object PowerTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-395

.Line The trace line format properties.


(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The power trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The power trace quantity properties.
(Read/Write PowerQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-396

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-397

.Math
The power trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The power trace quantity properties.
Type: PowerQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-398

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-399

10.3.146 QuickReport

A quick report document to generate.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.pfs]])

-- Create a PDF quick report (called exampleReport.pdf) and give it a heading

report = app:CreateQuickReport([[exampleReport2]], pf.Enums.ReportDocumentTypeEnum.PDF)


report.DocumentHeading = "Example report"

-- Exclude the cartesian graph window

report:SetPageIncluded("Cartesian graph1", false)

-- Generate the document

report:Generate()

Property list

Name Description
.DocumentHeading The report document heading.
(Read/Write string)
.PageOrientation The page orientation of the report document, e.g.
Portrait or Landscape.
(Read/Write ReportOrientationEnum)
.ReportPageOptions Gives the list of windows that will be exported to
the report. The order of the list is the page order in
which they will be placed in the report.
(Read only table)
.Type The object type string.
(Read only string)

Method list

Name Description
:Generate () Generates and opens the quick report.
:SetPageCaption (windowtitle, cap- Specifies what the given window’s page image cap-
tion) tion should be in the report. The list of window titles
can be retrieved with ReportPageOptions.
:SetPageIncluded (windowtitle, in- Specifies whether the given window should be in-
cluded) cluded in the report. The list of window titles can
be retrieved with ReportPageOptions.
:SetPageTitle (windowtitle, pagetitle) Specifies what the given window’s page title should
be in the report. The list of window titles can be
retrieved with ReportPageOptions.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-400

Properties (details)

.DocumentHeading
The report document heading.
Type: string
Access: Read/Write

.PageOrientation
The page orientation of the report document, e.g. Portrait or Landscape.
Type: ReportOrientationEnum
Access: Read/Write

.ReportPageOptions
Gives the list of windows that will be exported to the report. The order of the list is the page
order in which they will be placed in the report.
Type: table
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Generate
Generates and opens the quick report.

:SetPageCaption
Specifies what the given window’s page image caption should be in the report. The list of
window titles can be retrieved with ReportPageOptions.
Parameters:

• windowtitle: The title of the window which attributes needs to be modified. (string)
• caption: The exported image caption. (string)

:SetPageIncluded
Specifies whether the given window should be included in the report. The list of window
titles can be retrieved with ReportPageOptions.
Parameters:

• windowtitle: The title of the window which attributes needs to be modified. (string)
• included: Specifies if the window should be included in the report. (boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-401

:SetPageTitle
Specifies what the given window’s page title should be in the report. The list of window titles
can be retrieved with ReportPageOptions.
Parameters:

• windowtitle: The title of the window which attributes needs to be modified. (string)
• pagetitle: The title of the page. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-402

10.3.147 RadialGraphAxis

The graph radial axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.PolarGraphs:Add()

-- Modify angular radial axis settings on the polar

axis = graph.RadialAxis
axis.Labels.NumberFormat = pf.Enums.NumberFormatEnum.Scientific
axis.MajorGrid.AutoSpacingEnabled = false
axis.MajorGrid.Spacing = 10
axis.LogScaled = true

Property list

Name Description
.DynamicRange Dynamic range of radial axis.
(Read/Write number)
.Labels The graph radial axis labels.
(Read/Write GraphAxisLabels)
.LogScaled Set the polar graph radial axis to a logarithmic scale.
(Read/Write boolean)
.MajorGrid The graph radial axis major grid spacing.
(Read/Write AxisGridSpacing)
.Range The graph radial axis range.
(Read/Write AxisRange)

Properties (details)

.DynamicRange
Dynamic range of radial axis.
Type: number
Access: Read/Write

.Labels
The graph radial axis labels.
Type: GraphAxisLabels
Access: Read/Write

.LogScaled
Set the polar graph radial axis to a logarithmic scale.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-403

.MajorGrid
The graph radial axis major grid spacing.
Type: AxisGridSpacing
Access: Read/Write

.Range
The graph radial axis range.
Type: AxisRange
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-404

10.3.148 Ray3DPlot

Rays 3D result.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
rayData = app.Models[1].Configurations[1].Rays["UTDRays1"]

-- Add the ray data to the 3D view

rayPlot = app.Views[1].Plots:Add(rayData)

-- Modify the ray quantity options

rayPlot.Quantity.GroupsSelected = {1,2,3,4,5,6,7,8,9,10}

Inheritance

The object Ray3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Quantity The rays 3D plot quantity properties.
(Read/Write RaysQuantity)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The rays visualisation properties.
(Read/Write Rays3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:Duplicate () Duplicate the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-405

(Returns a Result3DPlot object.)

Properties (details)

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Quantity
The rays 3D plot quantity properties.
Type: RaysQuantity
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

.Visualisation
The rays visualisation properties.
Type: Rays3DFormat
Access: Read/Write

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-406

:Delete
Delete the plot.

:Duplicate
Duplicate the plot.
Returns:

• Result3DPlot: The duplicated plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-407

10.3.149 RayData

Ray results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])

-- Retrieve the ’RayData’ called ’Rays’

rayData = app.Models[1].Configurations[1].Rays["UTDRays1"]

-- Add the ray data to the 3D view

RayPlot = app.Views[1].Plots:Add(rayData)

Inheritance

The object RayData is derived from the ResultData object.

Parent collection list

The following collections contain the RayData object:

/ RayCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-408

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-409

10.3.150 Rays3DFormat

The rays 3D plot visualisation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])

-- Retrieve the ’RayData’ called ’Rays’ and plot it on the 3D view

rayData = app.Models[1].Configurations[1].Rays["UTDRays1"]
rayPlot = app.Views[1].Plots:Add(rayData)
rayPlot.Quantity.GroupsSelected = {1,2,3,4,5,6,7,8,9,10}

-- Modify the 3D display options for rays

rayPlot.Visualisation.RayGroupsVisible = true
rayPlot.Visualisation.NumbersVisible = true
rayPlot.Visualisation.AmplitudesEnabled = true

Property list

Name Description
.AmplitudesEnabled Specifies whether colour by magnitude as display
option for the rays must be enabled.
(Read/Write boolean)
.IntersectionsVisible Specifies whether the ray intersection points must
be shown or hidden.
(Read/Write boolean)
.LinesVisible Specifies whether the ray lines must be shown or
hidden.
(Read/Write boolean)
.NumbersVisible Specifies whether the ray numbers must be shown
or hidden.
(Read/Write boolean)
.Opacity Specify the rays plot opacity % in the range [0, 100].
(Read/Write number)
.RayGroupsVisible Specifies whether the ray group numbers must be
shown or hidden.
(Read/Write boolean)
.Threshold Specify the visibility threshold (%) of the rays for
the range [0,100].
(Read/Write number)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-410

.AmplitudesEnabled
Specifies whether colour by magnitude as display option for the rays must be enabled.
Type: boolean
Access: Read/Write

.IntersectionsVisible
Specifies whether the ray intersection points must be shown or hidden.
Type: boolean
Access: Read/Write

.LinesVisible
Specifies whether the ray lines must be shown or hidden.
Type: boolean
Access: Read/Write

.NumbersVisible
Specifies whether the ray numbers must be shown or hidden.
Type: boolean
Access: Read/Write

.Opacity
Specify the rays plot opacity % in the range [0, 100].
Type: number
Access: Read/Write

.RayGroupsVisible
Specifies whether the ray group numbers must be shown or hidden.
Type: boolean
Access: Read/Write

.Threshold
Specify the visibility threshold (%) of the rays for the range [0,100].
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-411

10.3.151 RaysQuantity

The rays quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
rayData = app.Models[1].Configurations[1].Rays["UTDRays1"]

-- Add the ray data to the 3D view

rayPlot = app.Views[1].Plots:Add(rayData)

-- Modify the ray quantity options

rayPlot.Quantity.GroupsSelected = {1,2,3,4,5,6,7,8,9,10}
rayPlot.Quantity.AllRaysSelected = false
rayPlot.Quantity.RaysSelected = {1,2,3,4,5,6,7,8,9,10}

Property list

Name Description
.AllRaysSelected Specifies whether all the rays should be selected.
(Read/Write boolean)
.GroupsSelected The list of groups that must be selected for the ray
plot.
(Read/Write table)
.InteractionsUpTo Specify the maximum number of ray interactions
plot.
(Read/Write number)
.RayFieldType The rays field type that must be displayed, speci-
fied by the RayFieldTypeEnum, e.g. NearElectricRe-
quest, FarFieldRequest, NearMagneticCoupling, etc.
(Read/Write RayFieldTypeEnum)
.RaysSelected The list of rays that must be selected for the ray
plot. AllRaysSelected must be disabled first before
this property can be set.Ensure the group in which
the ray is contained is selected as well.
(Read/Write table)
.Type The ray type that must be displayed, specified by the
RayTypeEnum, e.g. AllRays, ReflectionRay, Trans-
missionRay, etc.
(Read/Write RayTypeEnum)
.ValuesNormalised Specifies whether the rays quantity values must be
normalised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when ComplexComponent is
Phase.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-412

.ValuesScaledToDB Specifies whether the rays quantity values are scaled


to dB before plotting.
(Read/Write boolean)

Properties (details)

.AllRaysSelected
Specifies whether all the rays should be selected.
Type: boolean
Access: Read/Write

.GroupsSelected
The list of groups that must be selected for the ray plot.
Type: table
Access: Read/Write

.InteractionsUpTo
Specify the maximum number of ray interactions plot.
Type: number
Access: Read/Write

.RayFieldType
The rays field type that must be displayed, specified by the RayFieldTypeEnum, e.g. Near-
ElectricRequest, FarFieldRequest, NearMagneticCoupling, etc.
Type: RayFieldTypeEnum
Access: Read/Write

.RaysSelected
The list of rays that must be selected for the ray plot. AllRaysSelected must be disabled first
before this property can be set.Ensure the group in which the ray is contained is selected as
well.
Type: table
Access: Read/Write

.Type
The ray type that must be displayed, specified by the RayTypeEnum, e.g. AllRays, Reflection-
Ray, TransmissionRay, etc.
Type: RayTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the rays quantity values must be normalised to the range [0,1] before
plotting. This property can be used together with dB scaling. This property is not valid when
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-413

.ValuesScaledToDB
Specifies whether the rays quantity values are scaled to dB before plotting.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-414

10.3.152 ReceivingAntennaData

Receiving antenna results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Retrieve the ’ReceivingAntennaData’ called ’ReceivingAntenna1’

receivingAntennaData = app.Models[1].Configurations[1].ReceivingAntennas["ReceivingAntenna1"]

-- Add the receiving antenna data to a Cartesian graph

graph = app.CartesianGraphs:Add()
receivingAntennaTrace1 = graph.Traces:Add(receivingAntennaData)

Inheritance

The object ReceivingAntennaData is derived from the ResultData object.

Parent collection list

The following collections contain the ReceivingAntennaData object:

/ ReceivingAntennaCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-415

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-416

10.3.153 ReceivingAntennaQuantity

The receiving antenna quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])
receivingAntennaData = app.Models[1].Configurations[1].ReceivingAntennas["ReceivingAntenna1"]

-- Add the receiving antenna data to a Cartesian graph

graph = app.CartesianGraphs:Add()
receivingAntennaTrace1 = graph.Traces:Add(receivingAntennaData)

-- Modify the quantity

receivingAntennaTrace1.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.Efficiency

Property list

Name Description
.Type The type of quantity to be plotted, specified by the
PowerQuantityTypeEnum, e.g. Active power, Loss
power or Efficiency.
(Read/Write PowerQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

.Type
The type of quantity to be plotted, specified by the PowerQuantityTypeEnum, e.g. Active
power, Loss power or Efficiency.
Type: PowerQuantityTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-417

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-418

10.3.154 ReceivingAntennaTrace

A receiving antenna 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])
ReceivingAntennaData = app.Models[1].Configurations[1].ReceivingAntennas["ReceivingAntenna1"]

-- Create a Cartesian graph and and the Receiving antenna data

graph = app.CartesianGraphs:Add()
ReceivingAntennaTrace = graph.Traces:Add(ReceivingAntennaData)

-- Configure the trace quantity

ReceivingAntennaTrace.Quantity.Type = pf.Enums.PowerQuantityTypeEnum.Efficiency

Inheritance

The object ReceivingAntennaTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The receiving antenna trace math expression prop-
erties.
(Read/Write TraceMathExpression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-419

.Quantity The receiving antenna trace quantity properties.


(Read/Write ReceivingAntennaQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-420

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The receiving antenna trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The receiving antenna trace quantity properties.
Type: ReceivingAntennaQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-421

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-422

10.3.155 RequestPoints3DFormat

The 3D plot request points properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
nearFieldPlot = app.Views[1].Plots:Add(app.Models[1].Configurations[1].NearFields[1])

-- Adjust ’RequestPoints3DFormat’ of the plot

nearFieldPlot.RequestPoints.DisplayType = pf.Enums.RequestPointsDisplayTypeEnum.On
nearFieldPlot.RequestPoints.VisualisationType = pf.Enums.RequestsVisualisationTypeEnum.Lines

Property list

Name Description
.Colour The colour of the request points.
(Read/Write Colour)
.DisplayType Control the request points display specified by the
RequestPointsDisplayTypeEnum, e.g. Auto, On or
Off.
(Read/Write RequestPointsDisplayTypeEnum)
.MarkerSize Specify the marker size for request points in the
range [0.0, 2.0].
(Read/Write number)
.VisualisationType How the request points should be visualized spec-
ified by the RequestPointsVisualisationTypeEnum,
e.g. Points, Lines or Surface.
(Read/Write RequestsVisualisationTypeEnum)

Properties (details)

.Colour
The colour of the request points.
Type: Colour
Access: Read/Write

.DisplayType
Control the request points display specified by the RequestPointsDisplayTypeEnum, e.g. Auto,
On or Off.
Type: RequestPointsDisplayTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-423

.MarkerSize
Specify the marker size for request points in the range [0.0, 2.0].
Type: number
Access: Read/Write

.VisualisationType
How the request points should be visualized specified by the RequestPointsVisualisationType-
Enum, e.g. Points, Lines or Surface.
Type: RequestsVisualisationTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-424

10.3.156 Result3DPlot

A 3D plot of result.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Get the first 3D view from the collection of Views in the application

view = app.Views[1]

-- Add farfield, nearfield and surface current 3D plots to the 3D view

ffPlot = view.Plots:Add(app.Models[1].Configurations[1].FarFields[1])
nfPlot = view.Plots:Add(app.Models[1].Configurations[1].NearFields[1])
scPlot = view.Plots:Add(app.Models[1].Configurations[1].SurfaceCurrents[1])

-- Hide the near field plot

nfPlot.Visible = false

-- Set the legend position for the surface currents plot

scPlot.Legend.Position = pf.Enums.ViewLegendPositionEnum.TopRight

-- Change the legend scaling range for the far field

ffPlot.Legend.LinearRange.FixedRangeMax = 2
ffPlot.Legend.LinearRange.FixedRangeMin = -3
ffPlot.Legend.LinearRange.Type = pf.Enums.LinearScaleRangeTypeEnum.Fixed

Inheritance

The object Result3DPlot is derived from the ResultPlot object. The following objects are derived
(specialisations) from the Result3DPlot object:

/ CustomData3DPlot

/ ErrorEstimate3DPlot

/ FarField3DPlot

/ NearField3DPlot

/ Ray3DPlot

/ SAR3DPlot

/ SurfaceCurrents3DPlot

/ WireCurrents3DPlot

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-425

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the plot.

Properties (details)

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-426

Methods (details)

:Delete
Delete the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-427

10.3.157 ResultData

Result data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Get some result data items

resultDataTable = {}
resultDataTable[1] = app.Models[1].Configurations[1].FarFields[1]
resultDataTable[2] = app.Models[1].Configurations[1].Power[1]
resultDataTable[3] = app.Models[1].Configurations[1].NearFields[1]

-- Print the labels of the data items

for index, item in pairs(resultDataTable) do


print("ResultData item " .. index .. " has label \"" .. item.Label .. "\"")
end

Inheritance

The following objects are derived (specialisations) from the ResultData object:

/ ErrorEstimateData

/ ExcitationData

/ FarFieldData

/ FarFieldPowerIntegralData

/ LoadData

/ MathScript

/ NearFieldData

/ NearFieldPowerIntegralData

/ NetworkData

/ PowerData

/ RayData

/ ReceivingAntennaData

/ SARData

/ SParameterData

/ SpiceProbeData

/ SurfaceCurrentsData

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-428

/ TRCoefficientData

/ TransmissionLineData

/ WireCurrentsData

Property list

Name Description
.Label The object label.
(Read/Write string)

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-429

10.3.158 ResultPlot

Graph data plotted on either 2D or 3D graphs.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Plot the far field on the 3D graph

plots3D = app.Views[1].Plots
ff3DPlot = plots3D:Add(app.Models[1].Configurations[1].FarFields[1])

-- Create a cartesian graph and plot the far field in 2D

graph = app.CartesianGraphs:Add()
plots2D = graph.Traces
ff2DPlot = plots2D:Add(app.Models[1].Configurations[1].FarFields[1])

-- Obtain the axis names for each plot

print("3D Far field axes:")


printlist(ff3DPlot.AxisNames)
print("\n2D Far field axes:")
printlist(ff2DPlot.AxisNames)

-- Give each plot a convenient label

ff3DPlot.Label = "FarField_in_3D"
ff2DPlot.Label = "FarField_in_2D"

Inheritance

The following objects are derived (specialisations) from the ResultPlot object:

/ Result3DPlot

/ ResultTrace

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.Label The object label.
(Read/Write string)

Properties (details)

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-430

.Label
The object label.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-431

10.3.159 ResultTrace

A 2D results trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
app.Views[1]:Close()

-- Add a Cartesian graph to the application’s collection

graph = app.CartesianGraphs:Add()

-- Add a far field trace to the Traces collection of the Cartesian graph
-- and create a copy

trace = graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])
traceCopy = trace:Duplicate()
traceCopy.Label = trace.Label.."_copy"

-- Print all the axes defined on the trace

print("Trace axes:")
printlist(trace.AxisNames)

-- Enable filled circle markers on the trace copy

traceCopy.Markers.Symbol = pf.Enums.MarkerSymbolEnum.FilledCircle

-- Print the available horizontal axes, and set the trace horizontal axis to
-- "Theta (wrapped)", the third axes in the list of available axes and the
-- copied trace to "Theta"

print("Independent axes:")
printlist(trace.IndependentAxesAvailable)
trace.IndependentAxis = trace.IndependentAxesAvailable[3]
traceCopy.IndependentAxis = traceCopy.IndependentAxesAvailable[2]
graph:ZoomToExtents()

-- Modify the legends of the traces accordingly

trace.Legend.Text = "Theta wrapped"


traceCopy.Legend.Text = "Theta"

-- Remove the copied trace and change the remaining trace horizontal
-- (independant) axis unit to radians

traceCopy:Delete()
trace.Axes.Independent.Unit = "rad"
graph:ZoomToExtents()

Inheritance

The object ResultTrace is derived from the ResultPlot object. The following objects are derived
(specialisations) from the ResultTrace object:

/ CustomDataSmithTrace

/ CustomDataTrace

/ ExcitationSmithTrace

/ ExcitationTrace

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-432

/ FarFieldPowerIntegralTrace

/ FarFieldTrace

/ LoadTrace

/ MathTrace

/ NearFieldPowerIntegralTrace

/ NearFieldTrace

/ NetworkTrace

/ PowerTrace

/ ReceivingAntennaTrace

/ SARTrace

/ SParameterTrace

/ SpiceProbeTrace

/ TRCoefficientTrace

/ WireCurrentsTrace

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-433

.Markers The trace marker format properties.


(Read/Write TraceMarkersFormat)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-434

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-435

10.3.160 SAR3DPlot

A SAR 3D result.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])
SARData = app.Models[1].Configurations[1].SAR["SAR2"]

-- Add the SAR to the 3D view

SARPlot = app.Views[1].Plots:Add(SARData)

Inheritance

The object SAR3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the plot.
:Duplicate () Duplicate the plot.
(Returns a Result3DPlot object.)
:Store () Store a copy of the plot.
(Returns a Result3DPlot object.)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-436

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

:Duplicate
Duplicate the plot.
Returns:

• Result3DPlot: The duplicated plot.

:Store
Store a copy of the plot.
Returns:

• Result3DPlot: A copy of the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-437

10.3.161 SARData

SAR results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Retrieve the ’SARData’ called ’SAR2’

SARData = app.Models[1].Configurations[1].SAR["SAR2"]

-- Add the SAR data to the 3D view

SARPlot = app.Views[1].Plots:Add(SARData)

-- Get the SAR data set

SARDataSet = SARData:GetDataSet()

Inheritance

The object SARData is derived from the ResultData object.

Parent collection list

The following collections contain the SARData object:

/ SARCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:GetDataSet () Returns a data set containing the SAR values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the SAR values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-438

(Returns a DataSet object.)


:GetDataSet (startFrequency, endFre- Returns a data set containing the SAR values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the SAR values.
Returns:

• DataSet: The data set containing the SAR values.

:GetDataSet
Returns a data set containing the SAR values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the near field values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-439

:GetDataSet
Returns a data set containing the SAR values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the SAR values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-440

10.3.162 SARQuantity

The SAR quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])
SARData = app.Models[1].Configurations[1].SAR["SAR2"]

-- Add the SAR data to a Cartesian graph

graph = app.CartesianGraphs:Add()
SARTrace1 = graph.Traces:Add(SARData)

-- Modify the quantity

SARTrace1.Quantity.Type = pf.Enums.SARQuantityTypeEnum.PeakSAR

Property list

Name Description
.Type The type of quantity to be plotted, specified by the
SARQuantityTypeEnum, e.g. Peak SAR, Average
SAR over requested domain, etc.
(Read/Write SARQuantityTypeEnum)

Properties (details)

.Type
The type of quantity to be plotted, specified by the SARQuantityTypeEnum, e.g. Peak SAR,
Average SAR over requested domain, etc.
Type: SARQuantityTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-441

10.3.163 SARTrace

A SAR 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])
SARData = app.Models[1].Configurations[1].SAR["SAR1"]

-- Create a Cartesian graph and and the SAR data

graph = app.CartesianGraphs:Add()
SARTrace = graph.Traces:Add(SARData)

-- Configure the trace quantity

SARTrace.Quantity.Type = pf.Enums.SARQuantityTypeEnum.AverageOverTotalDomain

Inheritance

The object SARTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-442

.Line The trace line format properties.


(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The SAR trace math expression properties.
(Read/Write TraceMathExpression)
.Quantity The SAR trace quantity properties.
(Read/Write SARQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-443

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-444

.Math
The SAR trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The SAR trace quantity properties.
Type: SARQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-445

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-446

10.3.164 SParameterData

S-parameter results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Waveguide_Divider.fek]])

-- Retrieve the ’SParameterData’ called ’SParameter1’ from the S-parameter configuration

sparameterData = app.Models[1].Configurations["SParameterConfiguration1"].SParameters["SParameter1"]

-- Manipulate the sparameter data. See ’DataSet’ for faster and more comprehensive options

dataSet = sparameterData:GetDataSet()
print(dataSet) -- Describes the structure of the data
inspect(dataSet) -- Gives a list of the data set contents

-- Find the frequency start and end values

frequencyAxis = dataSet.Axes["Frequency"]
fequencyStartValue = frequencyAxis:ValueAt(1)
fequencyEndValue = frequencyAxis:ValueAt(#frequencyAxis)

-- Scale the s-parameter values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for portIndex = 1, #dataSet.Axes["Arbitrary"] do
indexedValue = dataSet[freqIndex][portIndex]
indexedValue.SParameter = indexedValue.SParameter * scale
end
end

-- Store the manipulated data

scaledSParameter = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.SParameter)

-- Compare the original sparameter to the manipulated sparameter

graph = app.CartesianGraphs:Add()
sparameterTrace1 = graph.Traces:Add(sparameterData)
sparameterTrace1:SetFixedAxisValue("S-parameter", "S3,1")
sparameterTrace2 = graph.Traces:Add(scaledSParameter)
sparameterTrace2:SetFixedAxisValue("Arbitrary", "S3,1")

Inheritance

The object SParameterData is derived from the ResultData object.

Parent collection list

The following collections contain the SParameterData object:

/ SParameterCollection

Property list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-447

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequencyu- Export the result S-parameter data to the specified
nit, networkparametertype, network- Touchstone file.
parameterformat, samples)
:GetDataSet () Returns a data set containing the S-parameter val-
ues.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the S-parameter val-
ues.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the S-parameter val-
quency, samplePoints) ues.
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-448

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the S-parameter values.
Returns:

• DataSet: The data set containing the S-parameter values.

:GetDataSet
Returns a data set containing the S-parameter values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the S-parameter values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-449

:GetDataSet
Returns a data set containing the S-parameter values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the S-parameter values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-450

10.3.165 SParameterMathScript

S-parameter math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Waveguide_Divider.fek]])

-- Create a S-parameter math script

sparameterMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.SParameter)
script =
[[
dataSet = pf.SParameter.GetDataSet("Waveguide_Divider.SParameterConfiguration1.SParameter1")
scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for portIndex = 1, #dataSet.Axes["Arbitrary"] do
indexedValue = dataSet[freqIndex][portIndex]
indexedValue.SParameter = indexedValue.SParameter * scale
end
end
return dataSet
]]
sparameterMathScript.Script = script
sparameterMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
sparameterTrace1 = graph.Traces:Add(sparameterMathScript)

Inheritance

The object SParameterMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-451

(Returns a DataSet object.)


:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-452

10.3.166 SParameterQuantity

The S-parameter quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Waveguide_Divider.fek]])

-- Retrieve the ’SParameterData’ called ’SParameter1’ from the S-parameter configuration

sparameterData = app.Models[1].Configurations["SParameterConfiguration1"].SParameters["SParameter1"]

-- Add the s-parameter to the a Cartesian graph

graph = app.CartesianGraphs:Add()
sparameterTrace = graph.Traces:Add(sparameterData)

-- Configure the fixed axis

sparameterTrace.Quantity.ComplexComponent = pf.Enums.ComplexComponentEnum.Real
sparameterTrace.Quantity.ValuesNormalised = true

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-453

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-454

10.3.167 SParameterTrace

A S-parameter 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Waveguide_Divider.fek]])

-- Retrieve the ’SParameterData’ called ’SParameter1’ from the S-parameter configuration

sparameterData = app.Models[1].Configurations["SParameterConfiguration1"].SParameters["SParameter1"]

-- Add the s-parameter to the a Cartesian graph

graph = app.CartesianGraphs:Add()
sparameterTrace = graph.Traces:Add(sparameterData)

-- Configure the fixed axis

sparameterTrace:SetFixedAxisValue("S-parameter", "S3,1")

Inheritance

The object SParameterTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-455

.Math The S-parameter trace math expression properties.


(Read/Write TraceMathExpression)
.Quantity The S-parameter trace quantity properties.
(Read/Write SParameterQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:SetFixedAxisValue (axis, value) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-456

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The S-parameter trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The S-parameter trace quantity properties.
Type: SParameterQuantity
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-457

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-458

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (string)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-459

10.3.168 Segment

A segment in 3D space.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
mesh = app.Models["Dipole_Example"].Configurations[1].Mesh

-- Get the vertices of the specified ’Segment’

verticesTable = mesh.SegmentWires[1].Segments[1].VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the segment.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the segment.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-460

10.3.169 Segments

The list of segments.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
mesh = app.Models["Dipole_Example"].Configurations[1].Mesh

-- Get the number of segments in the ’Segments’ collection

wireSegmentCount = mesh.SegmentWires[1].Segments.Count

Property list

Name Description
.Count The number of segments in the mesh entity.
(Read only number)

Index list

[number] Returns the Segment at the given index. (Read Segment)

Properties (details)

.Count
The number of segments in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-461

10.3.170 ShadowFormat

The shadow format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()
graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Edit title ’ShadowFormat’ of the title frame

graph.Title.Frame.Shadow.Size = 1
graph.Title.Frame.Shadow.Visible = true

Property list

Name Description
.Size The drop shadow size.
(Read/Write number)
.Visible Set the drop shadow visibility.
(Read/Write boolean)

Properties (details)

.Size
The drop shadow size.
Type: number
Access: Read/Write

.Visible
Set the drop shadow visibility.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-462

10.3.171 SmithChart

A 2D Smith chart where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a graph with a trace

graph = app.SmithCharts:Add()
voltageSourceTrace = graph.Traces:Add(app.Models[1].Configurations[1].Excitations[1])

-- Export an image

graph:ExportImage("ExcitationGraph", "pdf")

Inheritance

The object SmithChart is derived from the Graph object.

Parent collection list

The following collections contain the SmithChart object:

/ SmithChartCollection

Collection list

Name Description
.Traces The collection of 2D traces on the graph.
(ResultTraceCollection of ResultTrace)

Property list

Name Description
.BackColour The background colour of the graph.
(Read/Write Colour)
.Footer The graph footer properties.
(Read/Write TextBox)
.GreyscaleEnabled Set the graph’s colour scheme to greyscale.
(Read/Write boolean)
.Grid The Smith chart grid properties.
(Read/Write SmithChartGrid)
.GridType The Smith chart grid type.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-463

(Read/Write GridTypeEnum)
.Height The height of the window.
(Read only number)
.Legend The graph legend properties.
(Read/Write GraphLegend)
.ReactanceAxisFont The Smith chart reactance axis font style.
(Read/Write FontFormat)
.ResistanceAxisFont The Smith chart resistance axis font style.
(Read/Write FontFormat)
.Title The graph title properties.
(Read/Write TextBox)
.Type The object type string.
(Read only string)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

Name Description
:Close () Close the window.
:Duplicate () Duplicate the 2D graph.
(Returns a Graph object.)
:DuplicateAsCartesian () Creates a Cartesian graph with the same data as the
Smith chart.
(Returns a CartesianGraph object.)
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.
:ExportTraces (filename, samples) Export the graph traces to the specified tab sepa-
rated file.
:Maximise () Maximise the window.
:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:Show () Shows the view.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-464

:ZoomToExtents () Zoom the content of the window to its extent.

Collections (details)

.Traces
The collection of 2D traces on the graph.
Type: ResultTraceCollection
Collection type: ResultTrace

Properties (details)

.BackColour
The background colour of the graph.
Type: Colour
Access: Read/Write

.Footer
The graph footer properties.
Type: TextBox
Access: Read/Write

.GreyscaleEnabled
Set the graph’s colour scheme to greyscale.
Type: boolean
Access: Read/Write

.Grid
The Smith chart grid properties.
Type: SmithChartGrid
Access: Read/Write

.GridType
The Smith chart grid type.
Type: GridTypeEnum
Access: Read/Write

.Height
The height of the window.
Type: number
Access: Read only

.Legend
The graph legend properties.
Type: GraphLegend
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-465

.ReactanceAxisFont
The Smith chart reactance axis font style.
Type: FontFormat
Access: Read/Write

.ResistanceAxisFont
The Smith chart resistance axis font style.
Type: FontFormat
Access: Read/Write

.Title
The graph title properties.
Type: TextBox
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Width
The width of the window.
Type: number
Access: Read only

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

Methods (details)

:Close
Close the window.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-466

:Duplicate
Duplicate the 2D graph.
Returns:

• Graph: The duplicated 2D graph.

:DuplicateAsCartesian
Creates a Cartesian graph with the same data as the Smith chart.
Returns:

• CartesianGraph: The copied Cartesian graph.

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:ExportTraces
Export the graph traces to the specified tab separated file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• samples: The number of samples for continuous data. This value will be ignored if the
first trace on the graph is discrete. (number)

:Maximise
Maximise the window.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-467

:Minimise
Minimise the window.

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-468

10.3.172 SmithChartGrid

The Smith chart grid properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.SmithCharts:Add()

-- Update grid visualisation properties

graph.Grid.ReactanceLine.Weight = 2
graph.Grid.BackColour = pf.Enums.ColourEnum.DarkGreen

Property list

Name Description
.BackColour The background colour of the Smith chart grid.
(Read/Write Colour)
.Border The line format for the Smith chart grid border.
(Read/Write GraphLineFormat)
.ReactanceLine The line format for the Smith chart reactance grid.
(Read/Write GraphLineFormat)
.ResistanceLine The line format for the Smith chart resistance grid.
(Read/Write GraphLineFormat)

Properties (details)

.BackColour
The background colour of the Smith chart grid.
Type: Colour
Access: Read/Write

.Border
The line format for the Smith chart grid border.
Type: GraphLineFormat
Access: Read/Write

.ReactanceLine
The line format for the Smith chart reactance grid.
Type: GraphLineFormat
Access: Read/Write

.ResistanceLine
The line format for the Smith chart resistance grid.
Type: GraphLineFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-469

10.3.173 SolutionConfiguration

A solution configuration for which the model is simulated.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Get the first configuration in the configuration collection

configuration = app.Models[1].Configurations[1]

-- Get the far field, near field and currents collections from the configuration

startFrequency = configuration.StartFrequency
endFrequency = configuration.EndFrequency

-- Export the first far field


-- if it is a frequency configuration and it contains at least one far field

if (configuration.FrequencyConfiguration and configuration.FarFields.Count >= 1) then


configuration:ExportNearFields([[testExport.efe]],pf.Enums.NearFieldsExportTypeEnum.Electric,10)
end

Parent collection list

The following collections contain the SolutionConfiguration object:

/ ConfigurationCollection

Collection list

Name Description
.ErrorEstimates The collection of error estimates in the configura-
tion.
(ErrorEstimateCollection of ErrorEstimateData)
.Excitations The collection of excitations in the configuration.
(ExcitationCollection of ExcitationData)
.FarFieldPowerIntegrals The collection of far field power integrals in the con-
figuration.
(FarFieldPowerIntegralCollection of FarFieldPower-
IntegralData)
.FarFields The collection of far fields in the configuration.
(FarFieldCollection of FarFieldData)
.Loads The collection of loads in the configuration.
(LoadCollection of LoadData)
.NearFieldPowerIntegrals The collection of near field power integrals in the
configuration.
(NearFieldPowerIntegralCollection of NearField-
PowerIntegralData)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-470

.NearFields The collection of near fields in the configuration.


(NearFieldCollection of NearFieldData)
.Networks The collection of networks in the configuration.
(NetworkCollection of NetworkData)
.Power The power result in the configuration. This collec-
tion will only contain one item.
(PowerCollection of PowerData)
.Rays The rays result in the configuration. This collection
will only contain one item.
(RayCollection of RayData)
.ReceivingAntennas The collection of receiving antennas in the configu-
ration.
(ReceivingAntennaCollection of ReceivingAntenna-
Data)
.SAR The collection of SAR results in the configuration.
(SARCollection of SARData)
.SParameters The collection of S-parameters in the configuration.
(SParameterCollection of SParameterData)
.SpiceProbes The collection of SPICE probes in the configuration.
(SpiceProbeCollection of SpiceProbeData)
.SurfaceCurrents The collection of surface currents in the configura-
tion.
(SurfaceCurrentsCollection of SurfaceCurrentsData)
.TRCoefficients The collection of transmission reflection coefficients
in the configuration.
(TRCoefficientCollection of TRCoefficientData)
.TransmissionLines The collection of transmission lines in the configura-
tion.
(TransmissionLineCollection of TransmissionLine-
Data)
.WireCurrents The collection of wire currents in the configuration.
(WireCurrentsCollection of WireCurrentsData)

Property list

Name Description
.EndFrequency The end frequency of the configuration.
(Read only number)
.FrequencyConfiguration The configuration is a frequency configuration.
(Read only boolean)
.Label The object label.
(Read only string)
.Mesh The mesh used to simulate the configuration.
(Read only Mesh)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-471

.Model The solution configuration’s associated model.


(Read only Model)
.SParameterRequested The configuration is an S-parameter configuration.
(Read only boolean)
.StartFrequency The start frequency of the configuration.
(Read only number)
.TimeConfiguration The configuration is a time configuration.
(Read only boolean)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportFarFields (filename, quantity, Export all the result far field data in the configura-
samples) tion to the specified *.ffe file.
:ExportNearFields (filename, compo- Export all the result near field data the configuration
nents, samples) to the specified *.efe / *.hfe file.

Collections (details)

.ErrorEstimates
The collection of error estimates in the configuration.
Type: ErrorEstimateCollection
Collection type: ErrorEstimateData

.Excitations
The collection of excitations in the configuration.
Type: ExcitationCollection
Collection type: ExcitationData

.FarFieldPowerIntegrals
The collection of far field power integrals in the configuration.
Type: FarFieldPowerIntegralCollection
Collection type: FarFieldPowerIntegralData

.FarFields
The collection of far fields in the configuration.
Type: FarFieldCollection
Collection type: FarFieldData

.Loads
The collection of loads in the configuration.
Type: LoadCollection
Collection type: LoadData

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-472

.NearFieldPowerIntegrals
The collection of near field power integrals in the configuration.
Type: NearFieldPowerIntegralCollection
Collection type: NearFieldPowerIntegralData

.NearFields
The collection of near fields in the configuration.
Type: NearFieldCollection
Collection type: NearFieldData

.Networks
The collection of networks in the configuration.
Type: NetworkCollection
Collection type: NetworkData

.Power
The power result in the configuration. This collection will only contain one item.
Type: PowerCollection
Collection type: PowerData

.Rays
The rays result in the configuration. This collection will only contain one item.
Type: RayCollection
Collection type: RayData

.ReceivingAntennas
The collection of receiving antennas in the configuration.
Type: ReceivingAntennaCollection
Collection type: ReceivingAntennaData

.SAR
The collection of SAR results in the configuration.
Type: SARCollection
Collection type: SARData

.SParameters
The collection of S-parameters in the configuration.
Type: SParameterCollection
Collection type: SParameterData

.SpiceProbes
The collection of SPICE probes in the configuration.
Type: SpiceProbeCollection
Collection type: SpiceProbeData

.SurfaceCurrents
The collection of surface currents in the configuration.
Type: SurfaceCurrentsCollection
Collection type: SurfaceCurrentsData

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-473

.TRCoefficients
The collection of transmission reflection coefficients in the configuration.
Type: TRCoefficientCollection
Collection type: TRCoefficientData

.TransmissionLines
The collection of transmission lines in the configuration.
Type: TransmissionLineCollection
Collection type: TransmissionLineData

.WireCurrents
The collection of wire currents in the configuration.
Type: WireCurrentsCollection
Collection type: WireCurrentsData

Properties (details)

.EndFrequency
The end frequency of the configuration.
Type: number
Access: Read only

.FrequencyConfiguration
The configuration is a frequency configuration.
Type: boolean
Access: Read only

.Label
The object label.
Type: string
Access: Read only

.Mesh
The mesh used to simulate the configuration.
Type: Mesh
Access: Read only

.Model
The solution configuration’s associated model.
Type: Model
Access: Read only

.SParameterRequested
The configuration is an S-parameter configuration.
Type: boolean
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-474

.StartFrequency
The start frequency of the configuration.
Type: number
Access: Read only

.TimeConfiguration
The configuration is a time configuration.
Type: boolean
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportFarFields
Export all the result far field data in the configuration to the specified *.ffe file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• quantity: The quantity type to export specified by the FarFieldsExportTypeEnum, e.g.
Gain, Directivity, RCS, etc. (FarFieldsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:ExportNearFields
Export all the result near field data the configuration to the specified *.efe / *.hfe file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• components: The components to export specified by the NearFieldsExport-
TypeEnum, e.g. Both (*.efe and *.hfe), Electric (*.efe) or Magnetic (*.hfe).
(NearFieldsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-475

10.3.174 SourceAperture

Aperture field excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Feeding_a_Horn_Antenna_Aperture_Feed.fek]])

-- Get the aperture source and its label, configuration and type

apertureSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = apertureSource.Configuration
sourceLabel = apertureSource.Label
sourceType = apertureSource.Type

Inheritance

The object SourceAperture is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-476

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-477

10.3.175 SourceCoaxial

Coaxial approximation excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/A4_source.fek]])

-- Get the coaxial source and its label, configuration and type

coaxialSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = coaxialSource.Configuration
sourceLabel = coaxialSource.Label
sourceType = coaxialSource.Type

Inheritance

The object SourceCoaxial is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-478

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-479

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-480

10.3.176 SourceCurrentRegion

Impressed electric current in a region excitation results generated by the FEKO kernel.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/AF_source.fek]])

-- Get the current region source and its label, configuration, type and DataSet

currentRegionSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = currentRegionSource.Configuration
sourceLabel = currentRegionSource.Label
sourceType = currentRegionSource.Type

sourceDataSet = currentRegionSource:GetDataSet()

Inheritance

The object SourceCurrentRegion is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-481

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-482

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-483

10.3.177 SourceCurrentSpace

Impressed electric current in space excitation results generated by the FEKO kernel.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the current space source and its label, configuration and type

currentSpaceSource = app.Models[1].Configurations[1].Excitations[10]

configurationName = currentSpaceSource.Configuration
sourceLabel = currentSpaceSource.Label
sourceType = currentSpaceSource.Type

Inheritance

The object SourceCurrentSpace is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-484

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-485

10.3.178 SourceCurrentTriangle

Impressed current connected to triangle excitation results generated by the FEKO kernel.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the current triangle source and its label, configuration and type

currentTriangleSource = app.Models[1].Configurations[1].Excitations[11]

configurationName = currentTriangleSource.Configuration
sourceLabel = currentTriangleSource.Label
sourceType = currentTriangleSource.Type

Inheritance

The object SourceCurrentTriangle is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-486

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-487

10.3.179 SourceElectricDipole

Electric dipole excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the electric dipole source and its label, configuration and type

electricDipoleSource = app.Models[1].Configurations[1].Excitations[6]

configurationName = electricDipoleSource.Configuration
sourceLabel = electricDipoleSource.Label
sourceType = electricDipoleSource.Type

Inheritance

The object SourceElectricDipole is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-488

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-489

10.3.180 SourceMagneticDipole

Magnetic dipole excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the magnetic dipole source and its label, configuration and type

magneticDipoleSource = app.Models[1].Configurations[1].Excitations[7]

configurationName = magneticDipoleSource.Configuration
sourceLabel = magneticDipoleSource.Label
sourceType = magneticDipoleSource.Type

Inheritance

The object SourceMagneticDipole is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-490

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-491

10.3.181 SourceMagneticFrill

Magnetic frill excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/A3_source.fek]])

-- Get the magnetic frill source and its label, configuration and type

magneticFrillSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = magneticFrillSource.Configuration
sourceLabel = magneticFrillSource.Label
sourceType = magneticFrillSource.Type

sourceDataSet = magneticFrillSource:GetDataSet()

Inheritance

The object SourceMagneticFrill is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-492

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-493

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-494

10.3.182 SourceModal

Modal port excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/AB_source.fek]])

-- Get the modal source and its label, configuration and type

modalSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = modalSource.Configuration
sourceLabel = modalSource.Label
sourceType = modalSource.Type

sourceDataSet = modalSource:GetDataSet()

Inheritance

The object SourceModal is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-495

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-496

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-497

10.3.183 SourcePlaneWave

Plane wave excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the plane wave source and its label, configuration and type

planeWaveSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = planeWaveSource.Configuration
sourceLabel = planeWaveSource.Label
sourceType = planeWaveSource.Type

Inheritance

The object SourcePlaneWave is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-498

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-499

10.3.184 SourceRadiationPattern

Radiation pattern excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the radiation pattern source and its label, configuration and type

radiationPatternSource = app.Models[1].Configurations[1].Excitations[9]

configurationName = radiationPatternSource.Configuration
sourceLabel = radiationPatternSource.Label
sourceType = radiationPatternSource.Type

Inheritance

The object SourceRadiationPattern is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-500

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-501

10.3.185 SourceSphericalModes

Spherical mode excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the spherical mode source and its label, configuration and type

sphericalModeSource = app.Models[1].Configurations[1].Excitations[8]

configurationName = sphericalModeSource.Configuration
sourceLabel = sphericalModeSource.Label
sourceType = sphericalModeSource.Type

Inheritance

The object SourceSphericalModes is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-502

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-503

10.3.186 SourceVoltageCable

Voltage on a cable excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Cable_Modelling.fek]])

-- Get the cable voltage source and its label, configuration and type

cableVoltageSource = app.Models[1].Configurations[1].Excitations[1]

configurationName = cableVoltageSource.Configuration
sourceLabel = cableVoltageSource.Label
sourceType = cableVoltageSource.Type

sourceDataSet = cableVoltageSource:GetDataSet()

Inheritance

The object SourceVoltageCable is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-504

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-505

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-506

10.3.187 SourceVoltageEdge

Voltage on an edge excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the voltage edge source and its label, configuration and type

voltageEdgeSource = app.Models[1].Configurations[1].Excitations[12]

configurationName = voltageEdgeSource.Configuration
sourceLabel = voltageEdgeSource.Label
sourceType = voltageEdgeSource.Type

sourceDataSet = voltageEdgeSource:GetDataSet()

-- Export the data for the source

voltageEdgeSource:ExportData([[testExport]],pf.Enums.FrequencyUnitEnum.GHz,pf.Enums.NetworkParameterTypeEnum.Impedance

Inheritance

The object SourceVoltageEdge is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-507

:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-508

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-509

10.3.188 SourceVoltageNetwork

Voltage on a network excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the voltage network source and its label, configuration and type

voltageNetworkSource = app.Models[1].Configurations[1].Excitations[14]

configurationName = voltageNetworkSource.Configuration
sourceLabel = voltageNetworkSource.Label
sourceType = voltageNetworkSource.Type

sourceDataSet = voltageNetworkSource:GetDataSet()

-- Export the data for the source

voltageNetworkSource:ExportData([[testExport]],pf.Enums.FrequencyUnitEnum.GHz,pf.Enums.NetworkParameterTypeEnum.Impeda

Inheritance

The object SourceVoltageNetwork is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-510

:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-511

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-512

10.3.189 SourceVoltageSegment

Voltage on a segment excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the voltage segment source and its label, configuration and type

voltageSegmentSource = app.Models[1].Configurations[1].Excitations[2]

configurationName = voltageSegmentSource.Configuration
sourceLabel = voltageSegmentSource.Label
sourceType = voltageSegmentSource.Type

sourceDataSet = voltageSegmentSource:GetDataSet()

-- Export the data for the source

voltageSegmentSource:ExportData([[testExport]],pf.Enums.FrequencyUnitEnum.GHz,pf.Enums.NetworkParameterTypeEnum.Impeda

Inheritance

The object SourceVoltageSegment is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-513

:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-514

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-515

10.3.190 SourceVoltageVertex

Voltage on a vertex excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the voltage vertex source and its label, configuration and type

voltageVertexSource = app.Models[1].Configurations[1].Excitations[5]

configurationName = voltageVertexSource.Configuration
sourceLabel = voltageVertexSource.Label
sourceType = voltageVertexSource.Type

-- Get the DataSet for the source

sourceDataSet = voltageVertexSource:GetDataSet()

-- Export the data for the source

voltageVertexSource:ExportData([[testExport]],pf.Enums.FrequencyUnitEnum.GHz,pf.Enums.NetworkParameterTypeEnum.Impedan

Inheritance

The object SourceVoltageVertex is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-516

(Returns a DataSet object.)


:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-517

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-518

10.3.191 SourceWaveguide

Waveguide excitation results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

-- Get the weaveguide source and its label, configuration and type

waveguideSource = app.Models[1].Configurations[1].Excitations[13]

configurationName = waveguideSource.Configuration
sourceLabel = waveguideSource.Label
sourceType = waveguideSource.Type

sourceDataSet = waveguideSource:GetDataSet()

-- Export the data for the source

waveguideSource:ExportData([[testExport]],pf.Enums.FrequencyUnitEnum.GHz,pf.Enums.NetworkParameterTypeEnum.Impedance,p

Inheritance

The object SourceWaveguide is derived from the ExcitationData object.

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, frequen- Export the result S-parameter data to the specified
cyunit, networkparametertype, Touchstone file.
networkparameterformat, referen-
ceimpedance, samples)
:GetDataSet () Returns a data set containing the source values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the source values.
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-519

:GetDataSet (startFrequency, endFre- Returns a data set containing the source values.
quency, samplePoints)
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result S-parameter data to the specified Touchstone file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• frequencyunit: The frequency unit specified by the FrequencyUnitEnum, e.g. Hz, kHz,
GHz, etc. (FrequencyUnitEnum)
• networkparametertype: The network parameter type specified by the
NetworkParameterTypeEnum, e.g. Scattering, Admittance or Impedance.
(NetworkParameterTypeEnum)
• networkparameterformat: The network parameter format specified by the Network-
ParameterFormatEnum, e.g. DB, MA or RI. (NetworkParameterFormatEnum)
• referenceimpedance: Specify the reference impedance. (number)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-520

:GetDataSet
Returns a data set containing the source values.
Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

:GetDataSet
Returns a data set containing the source values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the source values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-521

10.3.192 SpiceProbeData

SpiceProbe results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/SpiceProbeTest.fek]])

-- Retrieve the ’SpiceProbesData’ called ’CableProbe1’

spiceProbeData = app.Models[1].Configurations[1].SpiceProbes["CableProbe1"]

-- Add a cartesian graph.

cartesianGraph = app.CartesianGraphs:Add()

-- Add a SPICE probe trace.

spiceProbesPlot = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].SpiceProbes[1])

Inheritance

The object SpiceProbeData is derived from the ResultData object.

Parent collection list

The following collections contain the SpiceProbeData object:

/ SpiceProbeCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-522

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-523

10.3.193 SpiceProbeQuantity

The SPICE probe quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/SpiceProbeTest.fek]])

-- Add a cartesian graph.

cartesianGraph = app.CartesianGraphs:Add()

-- Add a SPICE probe trace.

spiceProbesPlot = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].SpiceProbes[1])

-- Adjust quantity properties of the plot.

spiceProbesPlot.Quantity.ValuesNormalised = true
spiceProbesPlot.Quantity.ValuesScaledToDB = true

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.Type The type of quantity to be plotted, specified by the
SpiceProbeValueTypeEnum, e.g. Current or Voltage.
(Read/Write SpiceProbeValueTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-524

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.Type
The type of quantity to be plotted, specified by the SpiceProbeValueTypeEnum, e.g. Current
or Voltage.
Type: SpiceProbeValueTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-525

10.3.194 SpiceProbeTrace

A SpiceProbe 2D trace.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/SpiceProbeTest.fek]])
spiceProbeData = app.Models[1].Configurations[1].SpiceProbes["CableProbe1"]

-- Create a cartesian graph and and the SPICE probe data

cartesianGraph = app.CartesianGraphs:Add()
spiceProbeTrace = cartesianGraph.Traces:Add(spiceProbeData)

-- Configure the SPICE probe trace quantity

spiceProbeTrace.Signal = "Cable1.Signal2"

Inheritance

The object SpiceProbeTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Quantity The SPICE probe quantity properties.
(Read/Write SpiceProbeQuantity)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-526

.Sampling The continuous trace sampling settings. These set-


tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Signal The signal that must be plotted.
(Read/Write string)
.Signals The signal names that can be plotted.
(Read only table)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-527

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Quantity
The SPICE probe quantity properties.
Type: SpiceProbeQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Signal
The signal that must be plotted.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-528

.Signals
The signal names that can be plotted.
Type: table
Access: Read only

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-529

10.3.195 SurfaceCurrents3DPlot

A surface currents and charges 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create a new 3D View for the model configuration

model = app.Models["startup"]
conf = model.Configurations["StandardConfiguration1"]
view = app.Views:Add(conf)

-- Add the surface currents 3D plot to the view

surfaceCurrents = conf.SurfaceCurrents[1]
plot = view.Plots:Add(surfaceCurrents)

-- Give the 3D plot a convenient label and change the shading

plot.Label = "Surface_Currents_3D_Plot"
plot.Visualisation.FlatShaded = true

-- Specify the frequency to display the currents of

print("Available fixed axes:")


printlist(plot.FixedAxes)
available = plot:GetFixedAxisAvailableValues("Frequency")
print("\nAvailable frequency axis values:")
printlist(available)
plot:SetFixedAxisValue("Frequency", tonumber(available[4]), "Hz")

Inheritance

The object SurfaceCurrents3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.Arrows The surface currents and charges plot arrows prop-
erties.
(Read/Write Arrows3DFormat)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.Contours The surface currents and charges plot contours prop-
erties.
(Read/Write Contours3DFormat)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-530

.FixedAxes The list of fixed axes for this plot. The fixed axes
depend on the chosen PlotType as well as the con-
tents of the ResultData object. The value for a spe-
cific fixed axis can be queried and set with the Get-
FixedAxisValue() and SetFixedAxisValue() methods.
(Read only table)
.Label The object label.
(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Quantity The surface currents and charges 3D plot quantity
properties.
(Read/Write SurfaceCurrentsQuantity)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The surface currents and charges visualisation prop-
erties.
(Read/Write Currents3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:GetAxisUnit (axis) Returns the SI unit for the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
fixed axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.

Properties (details)

.Arrows
The surface currents and charges plot arrows properties.
Type: Arrows3DFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-531

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.Contours
The surface currents and charges plot contours properties.
Type: Contours3DFormat
Access: Read/Write

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen PlotType as well as
the contents of the ResultData object. The value for a specific fixed axis can be queried and
set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Quantity
The surface currents and charges 3D plot quantity properties.
Type: SurfaceCurrentsQuantity
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-532

.Visualisation
The surface currents and charges visualisation properties.
Type: Currents3DFormat
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

:GetAxisUnit
Returns the SI unit for the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-533

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-534

10.3.196 SurfaceCurrentsData

Surface currents generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the ’SurfaceCurrentsData’ called ’SurfaceCurrents’

surfaceCurrentsData = app.Models[1].Configurations[1].SurfaceCurrents["Currents1"]

-- Plot surface currents data

surfaceCurrentsPlot = app.Views[1].Plots:Add(surfaceCurrentsData)

Inheritance

The object SurfaceCurrentsData is derived from the ResultData object.

Parent collection list

The following collections contain the SurfaceCurrentsData object:

/ SurfaceCurrentsCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, components, Export the result surface currents and charges data
samples) to the specified *.os / *.ol file.

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-535

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result surface currents and charges data to the specified *.os / *.ol file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• components: The components to export specified by the CurrentsExportTypeEnum, e.g.
Both (*.os and *.ol), Currents (*.os) or Charges (*.ol). (CurrentsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/startup_model/startup.fek]])

-- Get the surface currents result from the collection of currents results of
-- the solution configuration

surfaceCurrents = app.Models[1].Configurations[1].SurfaceCurrents[1]

-- Export the surface currents data to the current working directory

fileName = "SurfaceCurrents"
surfaceCurrents:ExportData(fileName,
pf.Enums.CurrentsExportTypeEnum.Both,
51)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-536

10.3.197 SurfaceCurrentsQuantity

The surface currents and charges quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
surfaceCurrentsPlot = app.Views[1].Plots:Add(app.Models[1].Configurations[1].SurfaceCurrents[1])

-- Adjust ’SurfaceCurrentsQuantity’ of the plot

surfaceCurrentsPlot.Quantity.Type = pf.Enums.SurfaceCurrentsQuantityTypeEnum.Charges
surfaceCurrentsPlot.Quantity.ValuesNormalised = true
surfaceCurrentsPlot.Quantity.ValuesScaledToDB = true

Property list

Name Description
.ComplexComponent The complex component of the surface currents
value to plot, specified by the ComplexComponen-
tEnum, e.g. Magnitude, Instantaneous.
(Read/Write ComplexComponentEnum)
.InstantaneousPhase The phase value (wt) to use when ComplexCom-
ponent is Instantaneous. The value is in degrees
[0,360].
(Read/Write number)
.Type The type of surface currents quantity to be plotted
specified by the SurfaceCurrentsQuantityTypeEnum,
e.g. ElectricCurrents, MagneticCurrents or Charges.
(Read/Write SurfaceCurrentsQuantityTypeEnum)
.ValuesNormalised Specifies whether the surface currents quantity val-
ues must be normalised to the range [0,1] before
plotting. This property can be used together with
dB scaling.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the surface currents quantity val-
ues are scaled to dB before plotting.
(Read/Write boolean)

Properties (details)

.ComplexComponent
The complex component of the surface currents value to plot, specified by the ComplexCom-
ponentEnum, e.g. Magnitude, Instantaneous.
Type: ComplexComponentEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-537

.InstantaneousPhase
The phase value (wt) to use when ComplexComponent is Instantaneous. The value is in
degrees [0,360].
Type: number
Access: Read/Write

.Type
The type of surface currents quantity to be plotted specified by the SurfaceCurrentsQuantity-
TypeEnum, e.g. ElectricCurrents, MagneticCurrents or Charges.
Type: SurfaceCurrentsQuantityTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the surface currents quantity values must be normalised to the range [0,1]
before plotting. This property can be used together with dB scaling.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the surface currents quantity values are scaled to dB before plotting.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-538

10.3.198 TRCoefficientData

Transmission reflection coefficient results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Wire_Cross_tht45_eta0.fek]])

-- Retrieve the ’TRCoefficientData’ called ’TRCoefficient1’

TRCoefficientData = app.Models[1].Configurations[1].TRCoefficients["TRCoefficients1"]

-- Add the TRCoefficient to a Cartesian graph

graph = app.CartesianGraphs:Add()
transmissionReflectionTrace1 = graph.Traces:Add(TRCoefficientData)

-- Get the transmission reflection data set

TRCoefficientDataSet = TRCoefficientData:GetDataSet()

Inheritance

The object TRCoefficientData is derived from the ResultData object.

Parent collection list

The following collections contain the TRCoefficientData object:

/ TRCoefficientCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:GetDataSet () Returns a data set containing the transmission re-
flection coefficient values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-539

(Returns a DataSet object.)


:GetDataSet (samplePoints) Returns a data set containing the transmission re-
flection coefficient values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the transmission re-
quency, samplePoints) flection coefficient values.
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:GetDataSet
Returns a data set containing the transmission reflection coefficient values.
Returns:

• DataSet: The data set containing the transmission reflection coefficient values.

:GetDataSet
Returns a data set containing the transmission reflection coefficient values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the transmission reflection coefficient values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-540

:GetDataSet
Returns a data set containing the transmission reflection coefficient values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the transmission reflection coefficient values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-541

10.3.199 TRCoefficientMathScript

Transmission reflection coefficient math script data that can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Wire_Cross_tht45_eta0.fek]])

-- Create a TRCoefficient math script

TRCoefficientMathScript = app.MathScripts:Add(pf.Enums.MathScriptTypeEnum.TRCoefficient)
script =
[[
dataSet = pf.TRCoefficients.GetDataSet("Wire_Cross_tht45_eta0.StandardConfiguration1.TRCoefficients1")
offset = 1
for freqIndex = 1, #dataSet.Axes["Frequency"] do
indexedValue = dataSet[freqIndex]
indexedValue.CoPolarisedReflectionCoefficient = indexedValue.CrossPolarisedReflectionCoefficient + offset
end
return dataSet
]]
TRCoefficientMathScript.Script = script
TRCoefficientMathScript:Run()

-- Plot the math script

graph = app.CartesianGraphs:Add()
TRCoefficientTrace1 = graph.Traces:Add(TRCoefficientMathScript)
TRCoefficientTrace1.Quantity.Type = pf.Enums.TRCoefficientQuantityTypeEnum.Reflection

Inheritance

The object TRCoefficientMathScript is derived from the MathScript object.

Property list

Name Description
.Label The object label.
(Read/Write string)
.Script The script code to execute.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:Delete () Delete the math script.
:Duplicate () Duplicate the math script.
(Returns a MathScript object.)
:GetDataSet () Returns a data set containing the math script values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-542

(Returns a DataSet object.)


:Run () Run the math script.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Script
The script code to execute.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:Delete
Delete the math script.

:Duplicate
Duplicate the math script.
Returns:

• MathScript: The duplicated math script.

:GetDataSet
Returns a data set containing the math script values.
Returns:

• DataSet: The data set containing the math script values.

:Run
Run the math script.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-543

10.3.200 TRCoefficientTrace

A transmission reflection coefficient 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Wire_Cross_tht45_eta0.fek]])
TRCoefficientData = app.Models[1].Configurations[1].TRCoefficients["TRCoefficients1"]

-- Create a Cartesian graph and and the transmission reflection data

graph = app.CartesianGraphs:Add()
TRCoefficientTrace = graph.Traces:Add(TRCoefficientData)

-- Configure the trace quantity

TRCoefficientTrace.Quantity.Type = pf.Enums.TRCoefficientQuantityTypeEnum.Transmission

Inheritance

The object TRCoefficientTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.IndependentAxesAvailable The list of available independent axes.
(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The transmission reflection coefficient trace math
expression properties.
(Read/Write TraceMathExpression)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-544

.Quantity The transmission reflection coefficient trace quantity


properties.
(Read/Write TRQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:Lower () Lower the trace.
:Raise () Raise the trace.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-545

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The transmission reflection coefficient trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The transmission reflection coefficient trace quantity properties.
Type: TRQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-546

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

:Lower
Lower the trace.

:Raise
Raise the trace.

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-547

10.3.201 TRQuantity

The transmission reflection coefficient quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Wire_Cross_tht45_eta0.fek]])
TRCoefficientData = app.Models[1].Configurations[1].TRCoefficients["TRCoefficients1"]
graph = app.CartesianGraphs:Add()
TRCoefficientTrace = graph.Traces:Add(TRCoefficientData)

-- Configure the ’TRQuantity’ of the transmission reflection trace

TRCoefficientTrace.Quantity.Type = pf.Enums.TRCoefficientQuantityTypeEnum.Transmission
TRCoefficientTrace.Quantity.PolarisationType = pf.Enums.PolarisationTypeEnum.CoPolarisation

Property list

Name Description
.ComplexComponent The complex component of the value to plot, spec-
ified by the ComplexComponentEnum, e.g. Magni-
tude, Phase, Real, Imaginary.
(Read/Write ComplexComponentEnum)
.PhaseUnwrapped Specifies whether the phase is unwrapped before
plotting. This property is only valid when the Com-
plexComponent is Phase.
(Read/Write boolean)
.PolarisationType The polarisation type of the value to plot, specified
by the PolarisationTypeEnum, e.g. Total, CoPolari-
sation or CrossPolarisation.
(Read/Write PolarisationTypeEnum)
.Type The type of quantity to be plotted, specified by the
TRCoefficientQuantityTypeEnum, e.g. Transmission
or Reflection.
(Read/Write TRCoefficientQuantityTypeEnum)
.ValuesNormalised Specifies whether the quantity values must be nor-
malised to the range [0,1] before plotting. This
property can be used together with dB scaling. This
property is not valid when the ComplexComponent
is Phase.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the quantity values are scaled to
dB before plotting. This property is only valid when
the ComplexComponent is Magnitude.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-548

.ComplexComponent
The complex component of the value to plot, specified by the ComplexComponentEnum, e.g.
Magnitude, Phase, Real, Imaginary.
Type: ComplexComponentEnum
Access: Read/Write

.PhaseUnwrapped
Specifies whether the phase is unwrapped before plotting. This property is only valid when
the ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.PolarisationType
The polarisation type of the value to plot, specified by the PolarisationTypeEnum, e.g. Total,
CoPolarisation or CrossPolarisation.
Type: PolarisationTypeEnum
Access: Read/Write

.Type
The type of quantity to be plotted, specified by the TRCoefficientQuantityTypeEnum, e.g.
Transmission or Reflection.
Type: TRCoefficientQuantityTypeEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the quantity values must be normalised to the range [0,1] before plotting.
This property can be used together with dB scaling. This property is not valid when the
ComplexComponent is Phase.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the quantity values are scaled to dB before plotting. This property is only
valid when the ComplexComponent is Magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-549

10.3.202 TemplateReport

A template report document to generate.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.pfs]])

-- Only generate the report if Microsoft Word is installed

if ( app.MSWordInstalled ) then

-- Add a Word 2007 report template to the POSTFEKO session

templateReport = app.Reports:Add(
FEKO_HOME..[[/examples/Resources/Automation/StartupModel.dotx]],
pf.Enums.ReportDocumentTypeEnum.MSWord)

-- Extract the tags from the template document and get a list of the open windows in the current session

tags = templateReport:ExtractTags()
windows = templateReport.Windows

-- Build a map of tags to window titles

tagwindownames = {}
tagwindownames["Graph1:"] = "startup1"
tagwindownames[tags[2]] = windows[3]
templateReport:SetTagWindow(tagwindownames)

-- Generate the report

templateReport:Generate([[StartupModelReport.docx]])
end

Parent collection list

The following collections contain the TemplateReport object:

/ ReportsCollection

Property list

Name Description
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)
.Windows Gives the list of windows that can be exported to the
report.
(Read only table)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-550

Name Description
:ExtractTags () Extract the tags from the template file.
(Returns a table object.)
:Generate (filename) Generates and opens the template report.
:SetTagWindow (tagwindownames) Specifies the window that should be included in the
report at the specified tag. The list of window titles
can be retrieved with Windows.

Properties (details)

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Windows
Gives the list of windows that can be exported to the report.
Type: table
Access: Read only

Methods (details)

:ExtractTags
Extract the tags from the template file.
Returns:

• table: The list of tags extracted from the template file.

:Generate
Generates and opens the template report.
Parameters:

• filename: The file name of the report document without its extension. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-551

:SetTagWindow
Specifies the window that should be included in the report at the specified tag. The list of
window titles can be retrieved with Windows.
Parameters:

• tagwindownames: A map consisting of the keys being the tag names extracted from
the template file and the values being title of the window which will be exported to the
specified tag. (table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-552

10.3.203 Tetrahedra

The list of tetrahedra.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Shielding_Factor_of_Thin_Metal_Sphere_FEM.fek]])
sConf = app.Models["Shielding_Factor_of_Thin_Metal_Sphere_FEM"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Tetrahedra’ for the specified ’MeshTetrahedronRegion’

tetrahedra = mesh.TetrahedronRegions[1].Tetrahedra

-- Get the tetrahedra count of the specified ’MeshTetrahedronRegion’ and


-- the vertex indices of the specified tetrahedron

count = tetrahedra.Count
vertexIndices = tetrahedra[1].VertexIndices

Property list

Name Description
.Count The number of tetrahedra in the mesh entity.
(Read only number)

Index list

[number] Returns the Tetrahedral at the given index. (Read Tetra-


hedral)

Properties (details)

.Count
The number of tetrahedra in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-553

10.3.204 Tetrahedral

A tetrahedral in 3D space.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Shielding_Factor_of_Thin_Metal_Sphere_FEM.fek]])
sConf = app.Models["Shielding_Factor_of_Thin_Metal_Sphere_FEM"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Tetrahedron’ for the specified ’Tetrahedra’

tetrahedron = mesh.TetrahedronRegions[1].Tetrahedra[1]

-- Get the vertex indices of the specified tetrahedron

vertexIndices = tetrahedron.VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the tetrahedral.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the tetrahedral.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-554

10.3.205 TextBox

The text box properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
graph = app.CartesianGraphs:Add()
graph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])

-- Edit ’TextBox’ text, which automatically sets ’AutoTextEnabled’ to false

graph.Title.Text = "My custom title"

Property list

Name Description
.AutoTextEnabled Specifies whether the automatic text of the text item
must be used.
(Read/Write boolean)
.Font The font format for the text box.
(Read/Write FontFormat)
.Frame The frame format for the text box.
(Read/Write FrameFormat)
.Text The text of the item text.
(Read/Write string)

Properties (details)

.AutoTextEnabled
Specifies whether the automatic text of the text item must be used.
Type: boolean
Access: Read/Write

.Font
The font format for the text box.
Type: FontFormat
Access: Read/Write

.Frame
The frame format for the text box.
Type: FrameFormat
Access: Read/Write

.Text
The text of the item text.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-555

10.3.206 TraceAxes

The trace axes properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set axes properties

trace.Axes.Independent.Unit = "inch"
trace.Axes.Independent.Scale = 0.5

cartesianGraph:ZoomToExtents()

Property list

Name Description
.Dependent The trace dependent axis properties.
(Read/Write DependentAxisFormat)
.Independent The trace independent axis properties.
(Read/Write IndependentAxisFormat)

Properties (details)

.Dependent
The trace dependent axis properties.
Type: DependentAxisFormat
Access: Read/Write

.Independent
The trace independent axis properties.
Type: IndependentAxisFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-556

10.3.207 TraceLegendFormat

The trace legend properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set ’TraceLegendFormat’ properties

trace.Legend.AutoTextEnabled = false
trace.Legend.Text = "My custom trace legend"

Property list

Name Description
.AutoTextEnabled Specifies whether the automatic legend text must be
used.
(Read/Write boolean)
.Text The text used for the trace in the legend.
(Read/Write string)

Properties (details)

.AutoTextEnabled
Specifies whether the automatic legend text must be used.
Type: boolean
Access: Read/Write

.Text
The text used for the trace in the legend.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-557

10.3.208 TraceLineFormat

The line format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set ’TraceLineFormat’ properties

trace.Line.Style = pf.Enums.LineStyleEnum.DashLine
trace.Line.Colour = pf.Enums.ColourEnum.Green

Property list

Name Description
.Colour The line colour.
(Read/Write Colour)
.Style The line style.
(Read/Write LineStyleEnum)
.Weight The line weight.
(Read/Write number)

Properties (details)

.Colour
The line colour.
Type: Colour
Access: Read/Write

.Style
The line style.
Type: LineStyleEnum
Access: Read/Write

.Weight
The line weight.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-558

10.3.209 TraceMarkersFormat

The trace markers format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set ’TraceMarkerFormat’ properties

trace.Markers.Symbol = pf.Enums.MarkerSymbolEnum.FilledTriangle
trace.Markers.Colour = pf.Enums.ColourEnum.Red

Property list

Name Description
.Colour The colour of markers.
(Read/Write Colour)
.DensityOption The density option of the markers, specified by
the MarkerPlacementEnum, e.g. CalculatedPoints,
DenselySpaced or SparselySpaced.
(Read/Write MarkerPlacementEnum)
.Size The size of the marker as a percentage in the range
[20,200].
(Read/Write number)
.Symbol The symbol used for the marker, e.g. circle, cross,
rectangle, etc.
(Read/Write MarkerSymbolEnum)

Properties (details)

.Colour
The colour of markers.
Type: Colour
Access: Read/Write

.DensityOption
The density option of the markers, specified by the MarkerPlacementEnum, e.g. Calculated-
Points, DenselySpaced or SparselySpaced.
Type: MarkerPlacementEnum
Access: Read/Write

.Size
The size of the marker as a percentage in the range [20,200].
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-559

.Symbol
The symbol used for the marker, e.g. circle, cross, rectangle, etc.
Type: MarkerSymbolEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-560

10.3.210 TraceMathExpression

The trace math expression.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Set ’TraceMathExpression’ properties

trace.Math.Expression = "self*2.0"
trace.Math.Enabled = true

Property list

Name Description
.CommonRangeEnabled Specifies whether the range is limited to the range
common to all traces used in the expression.
(Read/Write boolean)
.Enabled Specifies whether the math expression is enabled for
this trace.
(Read/Write boolean)
.Expression The math expression used to calculate this trace, e.g.
“self*2.0”.
(Read/Write string)
.NoUnit Specifies the no unit must be used for this trace.
(Read/Write boolean)
.UnitExpression The unit for the values resulting from the math ex-
pression, e.g. “m/sˆ2”. Only applies if NoUnit is
false.
(Read/Write string)

Properties (details)

.CommonRangeEnabled
Specifies whether the range is limited to the range common to all traces used in the expres-
sion.
Type: boolean
Access: Read/Write

.Enabled
Specifies whether the math expression is enabled for this trace.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-561

.Expression
The math expression used to calculate this trace, e.g. “self*2.0”.
Type: string
Access: Read/Write

.NoUnit
Specifies the no unit must be used for this trace.
Type: boolean
Access: Read/Write

.UnitExpression
The unit for the values resulting from the math expression, e.g. “m/sˆ2”. Only applies if
NoUnit is false.
Type: string
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-562

10.3.211 TraceSamplingFormat

The trace sampling format property.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/helix_6_2_PBC_1x1_ContinuousFarField.fek]])
farFieldData = app.Models[1].Configurations[1].FarFields[1]
cartesianGraph = app.CartesianGraphs:Add()
trace = cartesianGraph.Traces:Add(farFieldData)

-- Set ’TraceSamplingFormat’ properties

trace.Sampling.Method = pf.Enums.SamplingMethodEnum.SpecifiedSamples
trace.Sampling.Resolution = 50

Property list

Name Description
.Method The method for determining where sample points
of the trace are calculated, specified by the Sam-
plingMethodEnum, e.g. Auto, DiscretePoints, Speci-
fiedResolution.
(Read/Write SamplingMethodEnum)
.Resolution The number of samples to use when Sampling-
Method is SpecifiedResolution.
(Read/Write number)

Properties (details)

.Method
The method for determining where sample points of the trace are calculated, specified by the
SamplingMethodEnum, e.g. Auto, DiscretePoints, SpecifiedResolution.
Type: SamplingMethodEnum
Access: Read/Write

.Resolution
The number of samples to use when SamplingMethod is SpecifiedResolution.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-563

10.3.212 TransmissionLineData

Transmission line results generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Log_Periodic_Network_Load.fek]])

-- Retrieve the ’TransmissionLineData’ called ’TransmissionLine1’

transmissionLineData = app.Models[1].Configurations[1].TransmissionLines["TransmissionLine1"]

-- Manipulate the transmission line data. See ’DataSet’ for faster and more comprehensive options

dataSet = transmissionLineData:GetDataSet(51)

-- Find the nummber of ports

portAxis = dataSet.Axes["Arbitrary"]
noPorts = #portAxis

-- Scale the transmission line power values

scale = 2
for freqIndex = 1, #dataSet.Axes["Frequency"] do
for portIndex = 1, #dataSet.Axes["Arbitrary"] do
indexedValue = dataSet[freqIndex][portIndex]
indexedValue.Impedance = indexedValue.Impedance * scale
end
end

-- Store the manipulated data

scaledData = dataSet:StoreData(pf.Enums.StoredDataTypeEnum.Network)

-- Compare the original transmission line to the manipulated transmission line

graph = app.CartesianGraphs:Add()
transmissionLineTrace1 = graph.Traces:Add(transmissionLineData)
transmissionLineTrace1.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Impedance
transmissionLineTrace2 = graph.Traces:Add(scaledData)
transmissionLineTrace2.Quantity.Type = pf.Enums.NetworkQuantityTypeEnum.Impedance

Inheritance

The object TransmissionLineData is derived from the ResultData object.

Parent collection list

The following collections contain the TransmissionLineData object:

/ TransmissionLineCollection

Property list

Name Description

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-564

.Configuration The result data’s solution configuration in the


model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:GetDataSet () Returns a data set containing the transmission line
values.
(Returns a DataSet object.)
:GetDataSet (samplePoints) Returns a data set containing the transmission line
values.
(Returns a DataSet object.)
:GetDataSet (startFrequency, endFre- Returns a data set containing the transmission line
quency, samplePoints) values.
(Returns a DataSet object.)

Properties (details)

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-565

:GetDataSet
Returns a data set containing the transmission line values.
Returns:

• DataSet: The data set containing the transmission line values.

:GetDataSet
Returns a data set containing the transmission line values.
Parameters:

• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the transmission line values.

:GetDataSet
Returns a data set containing the transmission line values.
Parameters:

• startFrequency: The start frequency used to sample the continuous frequency axis.
(number)
• endFrequency: The end frequency used to sample the continuous frequency axis.
(number)
• samplePoints: The number of sample points used to sample the continues frequency
axis. (number)

Returns:

• DataSet: The data set containing the transmission line values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-566

10.3.213 Triangle

A triangle in 3D space defined by three points.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Triangles’ on the the specified ’MeshTriangleFace’

triangles = mesh.TriangleFaces[1].Triangles

-- Get the vertices of the specified ’Triangle’

verticesTable = triangles[1].VertexIndices

Property list

Name Description
.VertexIndices Returns a list of the vertex indices of the triangle.
(Read only table)

Properties (details)

.VertexIndices
Returns a list of the vertex indices of the triangle.
Type: table
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-567

10.3.214 Triangles

The list of triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’Triangles’ on the the specified ’MeshTriangleFace’

triangles = mesh.TriangleFaces[1].Triangles

-- Get the number of triangles in ’triangles’

triangleCount = triangles.Count

Property list

Name Description
.Count The number of triangles in the mesh entity.
(Read only number)

Index list

[number] Returns the Triangle at the given index. (Read Triangle)

Properties (details)

.Count
The number of triangles in the mesh entity.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-568

10.3.215 Version

An object that describes that application version in detail.


See the example below:
app = pf.GetApplication()

-- Retrieve the various version components

vMajor = app.Version.Major
vMinor = app.Version.Minor
vPatch = app.Version.Patch

-- Print the complete version information, including application architecture

print(app.Version)

Property list

Name Description
.Build The application suite build version.
(Read only number)
.Major The application suite major version.
(Read only number)
.Minor The application suite major version.
(Read only number)
.Patch The application suite patch version.
(Read only number)

Properties (details)

.Build
The application suite build version.
Type: number
Access: Read only

.Major
The application suite major version.
Type: number
Access: Read only

.Minor
The application suite major version.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-569

.Patch
The application suite patch version.
Type: number
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-570

10.3.216 VerticalGraphAxis

The graph vertical axis properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

-- Edit ’VerticalGraphAxis’ porperty

graph.VerticalAxis.LogScaled = true

Property list

Name Description
.DynamicRange Dynamic range of vertical axis in dB.
(Read/Write number)
.Labels The graph vertical axis labels.
(Read/Write GraphAxisLabels)
.LogScaled Set the graph vertical axis to a logarithmic scale.
(Read/Write boolean)
.MajorGrid The graph vertical axis major grid spacing.
(Read/Write AxisGridSpacing)
.Range The graph vertical axis range.
(Read/Write AxisRange)
.Title The graph vertical axis title.
(Read/Write GraphAxisTitle)

Properties (details)

.DynamicRange
Dynamic range of vertical axis in dB.
Type: number
Access: Read/Write
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/square_loop_antenna_MATCHED.fek]])
graph = app.CartesianGraphs:Add()
sourceTrace = graph.Traces:Add(app.Models[1].Configurations[1].Excitations[1])

-- Limit the axis dynamic dB range

sourceTrace.Quantity.ValuesScaledToDB = true
graph.VerticalAxis.DynamicRange = 20

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-571

.Labels
The graph vertical axis labels.
Type: GraphAxisLabels
Access: Read/Write

.LogScaled
Set the graph vertical axis to a logarithmic scale.
Type: boolean
Access: Read/Write

.MajorGrid
The graph vertical axis major grid spacing.
Type: AxisGridSpacing
Access: Read/Write

.Range
The graph vertical axis range.
Type: AxisRange
Access: Read/Write

.Title
The graph vertical axis title.
Type: GraphAxisTitle
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-572

10.3.217 View

A 3D model view where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farField = app.Models["startup"].Configurations[1].FarFields[1]

-- Get the first 3D view (which gets created by default when adding a fek model)

resultView = app.Views[1]

-- Add a far field and duplicate the view

resultView.Plots:Add(farField)
resultViewCopy = resultView:Duplicate()

Inheritance

The object View is derived from the Window object.

Parent collection list

The following collections contain the View object:

/ ViewCollection

Collection list

Name Description
.Plots The collection of 3D results on the view.
(Result3DPlotCollection of Result3DPlot)

Property list

Name Description
.Animation The graph animation properties.
(Read/Write View3DAnimationFormat)
.Axes The axes properties.
(Read/Write View3DAxesFormat)
.Format The 3D view properties.
(Read/Write View3DFormat)
.Height The height of the window.
(Read only number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-573

.Legend The legend range properties.


(Read/Write View3DLegendRangeFormat)
.MeshRendering The mesh rendering properties.
(Read/Write MeshRendering)
.SolutionEntities The result entities properties.
(Read/Write View3DSolutionEntityFormat)
.Type The object type string.
(Read only string)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

Name Description
:Close () Close the window.
:Duplicate () Duplicate the 3D view.
(Returns a View object.)
:ExportAnimation (filename, filefor- Export the view animation to a specified file. The
mat, quality, width, height, framer- type is determined by the Animation.Type property.
ate)
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.
:Maximise () Maximise the window.
:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:SetViewDirection (direction) Specifies the direction from which the model is
viewed, e.g., Isometric, Top, Bottom, Left, etc.
:Show () Shows the view.
:ZoomToExtents () Zoom the content of the window to its extent.

Collections (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-574

.Plots
The collection of 3D results on the view.
Type: Result3DPlotCollection
Collection type: Result3DPlot

Properties (details)

.Animation
The graph animation properties.
Type: View3DAnimationFormat
Access: Read/Write

.Axes
The axes properties.
Type: View3DAxesFormat
Access: Read/Write

.Format
The 3D view properties.
Type: View3DFormat
Access: Read/Write

.Height
The height of the window.
Type: number
Access: Read only

.Legend
The legend range properties.
Type: View3DLegendRangeFormat
Access: Read/Write

.MeshRendering
The mesh rendering properties.
Type: MeshRendering
Access: Read/Write

.SolutionEntities
The result entities properties.
Type: View3DSolutionEntityFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-575

.Width
The width of the window.
Type: number
Access: Read only

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

Methods (details)

:Close
Close the window.

:Duplicate
Duplicate the 3D view.
Returns:

• View: The duplicated 3D view.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-576

:ExportAnimation
Export the view animation to a specified file. The type is determined by the Animation.Type
property.
Parameters:

• filename: The file name of the animation file without its extension. (string)
• fileformat: The animation file format specified by the AnimationFormatEnum, e.g. AVI,
MOV or GIF. (AnimationFormatEnum)
• quality: The export animation quality specified by the AnimationQualityEnum, e.g.
High, Normal or Low. (AnimationQualityEnum)
• width: The export width in pixels of the animation. (number)
• height: The export height in pixels of the animation. (number)
• framerate: The frames per second the animation will be exported at. (number)

See the example below:


app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farField = app.Models["startup"].Configurations[1].FarFields[1]
view = app.Views[1]
view.Plots:Add(farField)

-- Configure the animation type and speed for the view

animation = view.Animation
animation.Type = pf.Enums.AnimationTypeEnum.PhiRotate
animation.PhiStepSize = 25 -- deg/s

-- Export the animation to the current working directory

view:ExportAnimation([[startupAnimation]],
pf.Enums.AnimationFormatEnum.AVI,
pf.Enums.AnimationQualityEnum.Normal,
800,
600,
25)

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-577

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:Maximise
Maximise the window.

:Minimise
Minimise the window.

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

:SetViewDirection
Specifies the direction from which the model is viewed, e.g., Isometric, Top, Bottom, Left,
etc.
Parameters:

• direction: The direction specified by ViewDirectionEnum. (ViewDirectionEnum)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-578

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-579

10.3.218 View3DAnimationFormat

The animation properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
view = app.Views[1]

-- Configure the animation type and speed using ’View3DAnimationFormat’

view.Animation.Type = pf.Enums.AnimationTypeEnum.PhiRotate
view.Animation.PhiStepSize = 25 -- deg/s
view.Animation.RealTimeDuration = 5 -- seconds

-- Export the animation to the current working directory

view:ExportAnimation([[startupAnimation]],
pf.Enums.AnimationFormatEnum.AVI,
pf.Enums.AnimationQualityEnum.Normal,
800,
600,
25)

Property list

Name Description
.ContinuousFrequencySamples Number of continuous frequency samples.
(Read/Write number)
.FrequencyRate Number of frequency points to step per second
(points/s).
(Read/Write number)
.PhaseStepSize Phase step size per second (wt/s).
(Read/Write number)
.PhiStepSize Phi angle step size per second (deg/s).
(Read/Write number)
.RealTimeDuration Real time duration of the time animation in seconds
(s).
(Read/Write number)
.ThetaStepSize Theta angle step size per second (deg/s).
(Read/Write number)
.Type The animation type specified by the AnimationType-
Enum, e.g. Phase, Frequency, etc.
(Read/Write AnimationTypeEnum)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-580

.ContinuousFrequencySamples
Number of continuous frequency samples.
Type: number
Access: Read/Write

.FrequencyRate
Number of frequency points to step per second (points/s).
Type: number
Access: Read/Write

.PhaseStepSize
Phase step size per second (wt/s).
Type: number
Access: Read/Write

.PhiStepSize
Phi angle step size per second (deg/s).
Type: number
Access: Read/Write

.RealTimeDuration
Real time duration of the time animation in seconds (s).
Type: number
Access: Read/Write

.ThetaStepSize
Theta angle step size per second (deg/s).
Type: number
Access: Read/Write

.Type
The animation type specified by the AnimationTypeEnum, e.g. Phase, Frequency, etc.
Type: AnimationTypeEnum
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-581

10.3.219 View3DAxesFormat

The view 3D axes properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
view = app.Views[1]

-- Configure the axes tick marks using using ’View3DAxesFormat’

view.Axes.TickMarksVisible = true
view.Axes.TickMarkSpacingOption = pf.Enums.AxesTickMarkSpacingEnum.Count
view.Axes.TickMarkCount = 10

Property list

Name Description
.Length The length of the main axes when the SizeOption is
set to “SpecifyLength”.
(Read/Write number)
.MainVisible Displays the main axes for the 3D view.
(Read/Write boolean)
.MiniVisible Displays the mini axes for the 3D view.
(Read/Write boolean)
.SizeOption The axis size option for the main axis, specified by
the AxesScaleEnum, e.g. ScaleWithWindow, Scale-
WithModel or SpecifyLength.
(Read/Write AxesScaleEnum)
.TickMarkCount The number of tick marks used when the Tick-
MarkSpacingOption is set to “Count”.
(Read/Write number)
.TickMarkSpacing The tick mark spacing used when the Tick-
MarkSpacingOption is set to “Spacing”.
(Read/Write number)
.TickMarkSpacingOption The tick mark spacing option for the main axis, spec-
ified by the AxesTickMarkSpacingEnum, e.g. Auto,
Count, Spacing.
(Read/Write AxesTickMarkSpacingEnum)
.TickMarksVisible Displays the main axes tick marks for the 3D view.
(Read/Write boolean)

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-582

.Length
The length of the main axes when the SizeOption is set to “SpecifyLength”.
Type: number
Access: Read/Write

.MainVisible
Displays the main axes for the 3D view.
Type: boolean
Access: Read/Write

.MiniVisible
Displays the mini axes for the 3D view.
Type: boolean
Access: Read/Write

.SizeOption
The axis size option for the main axis, specified by the AxesScaleEnum, e.g. ScaleWithWin-
dow, ScaleWithModel or SpecifyLength.
Type: AxesScaleEnum
Access: Read/Write

.TickMarkCount
The number of tick marks used when the TickMarkSpacingOption is set to “Count”.
Type: number
Access: Read/Write

.TickMarkSpacing
The tick mark spacing used when the TickMarkSpacingOption is set to “Spacing”.
Type: number
Access: Read/Write

.TickMarkSpacingOption
The tick mark spacing option for the main axis, specified by the AxesTickMarkSpacingEnum,
e.g. Auto, Count, Spacing.
Type: AxesTickMarkSpacingEnum
Access: Read/Write

.TickMarksVisible
Displays the main axes tick marks for the 3D view.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-583

10.3.220 View3DFormat

The view 3D format properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
view = app.Views[1]

-- Configure the 3d view using ’View3DFormat’

view.Format.DepthLightingEnabled = true
view.Format.PhiDirection = 270
view.Format.Origin = pf.Point.New(0.02, 0.01, 0)

Property list

Name Description
.DepthLightingEnabled Displays the 3D view using depth lighting.
(Read/Write boolean)
.GreyScaleEnabled Displays the 3D view in grey scale.
(Read/Write boolean)
.Origin The view focus point origin.
(Read/Write Point)
.PhiDirection Phi view direction.
(Read/Write number)
.ThetaDirection Theta view direction.
(Read/Write number)
.ZLocked Applies Z lock to 3D view manipulations.
(Read/Write boolean)
.ZoomDistance The view zoom distance.
(Read/Write number)

Properties (details)

.DepthLightingEnabled
Displays the 3D view using depth lighting.
Type: boolean
Access: Read/Write

.GreyScaleEnabled
Displays the 3D view in grey scale.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-584

.Origin
The view focus point origin.
Type: Point
Access: Read/Write

.PhiDirection
Phi view direction.
Type: number
Access: Read/Write

.ThetaDirection
Theta view direction.
Type: number
Access: Read/Write

.ZLocked
Applies Z lock to 3D view manipulations.
Type: boolean
Access: Read/Write

.ZoomDistance
The view zoom distance.
Type: number
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-585

10.3.221 View3DLegendRangeFormat

The view 3D legend range properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farField = app.Models["startup"].Configurations[1].FarFields[1]
resultView = app.Views[1]
resultView.Plots:Add(farField)

-- Modify the view’s legend range properties using ’View3DLegendRangeFormat’

resultView.Legend.Rounded = false

Property list

Name Description
.Rounded Round off legend range and step size.
(Read/Write boolean)
.ScaledToCommonQuantity Scale legend range to visible results of the same
quantity.
(Read/Write boolean)
.ScaledToPeakInstantaneousValues Scale legend range to peak instantaneous values.
(Read/Write boolean)
.ScaledToSelectedDimensions Scale legend range to request slice dimensions.
(Read/Write boolean)
.ScaledToSelectedFrequency Scale legend range to selected frequency.
(Read/Write boolean)
.ScaledToSelectedTimeStep Scale legend range to selected time step.
(Read/Write boolean)
.ScaledToVectorMagnitude Scale legend range to vector magnitude.
(Read/Write boolean)

Properties (details)

.Rounded
Round off legend range and step size.
Type: boolean
Access: Read/Write

.ScaledToCommonQuantity
Scale legend range to visible results of the same quantity.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-586

.ScaledToPeakInstantaneousValues
Scale legend range to peak instantaneous values.
Type: boolean
Access: Read/Write

.ScaledToSelectedDimensions
Scale legend range to request slice dimensions.
Type: boolean
Access: Read/Write

.ScaledToSelectedFrequency
Scale legend range to selected frequency.
Type: boolean
Access: Read/Write

.ScaledToSelectedTimeStep
Scale legend range to selected time step.
Type: boolean
Access: Read/Write

.ScaledToVectorMagnitude
Scale legend range to vector magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-587

10.3.222 View3DSolutionEntityFormat

The view 3D solution entity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
farField = app.Models["startup"].Configurations[1].FarFields[1]
resultView = app.Views[1]
resultView.Plots:Add(farField)

-- Modify source visibility using ’View3DSolutionEntityFormat’

resultView.SolutionEntities.SourcesVisible = false

Property list

Name Description
.CablesVisible Enables/disables the visibility of cable paths.
(Read/Write boolean)
.FiniteAntennaArraysVisible Enables/disables the visibility of finite antenna ar-
rays.
(Read/Write boolean)
.InfinitePlanesOpacity Infinite planes opacity as a percentage.
(Read/Write number)
.InfinitePlanesVisible Enables/disables the visibility of infinite planes.
(Read/Write boolean)
.LoadsVisible Enables/disables the visibility of loads.
(Read/Write boolean)
.NamedPointsVisible Enables/disables the visibility of named points.
(Read/Write boolean)
.NetworksVisible Enables/disables the visibility of general networks.
(Read/Write boolean)
.PBCVisible Enables/disables the visibility of periodic boundary
conditions.
(Read/Write boolean)
.ProbesVisible Enables/disables the visibility of SPICE probes.
(Read/Write boolean)
.ReceivingAntennasVisible Enables/disables the visibility of receiving antennas.
(Read/Write boolean)
.SourceFormat The source options properties.
(Read/Write View3DSourceFormat)
.SourcesVisible Enables/disables the visibility of sources.
(Read/Write boolean)
.SymmetryVisible Enables/disables the visibility of symmetry.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-588

.TransmissionLinesVisible Enables/disables the visibility of transmission lines.


(Read/Write boolean)

Properties (details)

.CablesVisible
Enables/disables the visibility of cable paths.
Type: boolean
Access: Read/Write

.FiniteAntennaArraysVisible
Enables/disables the visibility of finite antenna arrays.
Type: boolean
Access: Read/Write

.InfinitePlanesOpacity
Infinite planes opacity as a percentage.
Type: number
Access: Read/Write

.InfinitePlanesVisible
Enables/disables the visibility of infinite planes.
Type: boolean
Access: Read/Write

.LoadsVisible
Enables/disables the visibility of loads.
Type: boolean
Access: Read/Write

.NamedPointsVisible
Enables/disables the visibility of named points.
Type: boolean
Access: Read/Write

.NetworksVisible
Enables/disables the visibility of general networks.
Type: boolean
Access: Read/Write

.PBCVisible
Enables/disables the visibility of periodic boundary conditions.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-589

.ProbesVisible
Enables/disables the visibility of SPICE probes.
Type: boolean
Access: Read/Write

.ReceivingAntennasVisible
Enables/disables the visibility of receiving antennas.
Type: boolean
Access: Read/Write

.SourceFormat
The source options properties.
Type: View3DSourceFormat
Access: Read/Write

.SourcesVisible
Enables/disables the visibility of sources.
Type: boolean
Access: Read/Write

.SymmetryVisible
Enables/disables the visibility of symmetry.
Type: boolean
Access: Read/Write

.TransmissionLinesVisible
Enables/disables the visibility of transmission lines.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-590

10.3.223 View3DSourceFormat

The view 3D source properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/LEPO_Reflector_and_Aperture_source.fek]])
resultView = app.Views[1]

-- Modify source rendering properties using ’View3DSourceFormat’

resultView.SolutionEntities.SourceFormat.ColouredByMagnitude = true
resultView.SolutionEntities.SourceFormat.ScaledByMagnitude = true

Property list

Name Description
.ColouredByMagnitude Colours the sources according to their magnitude.
(Read/Write boolean)
.ScaleType The type of source scaling specified by the SourcesS-
caleTypeEnum, e.g. Decibel or Linear.
(Read/Write SourcesScaleTypeEnum)
.ScaledByMagnitude Scales the sources according to their magnitude.
(Read/Write boolean)

Properties (details)

.ColouredByMagnitude
Colours the sources according to their magnitude.
Type: boolean
Access: Read/Write

.ScaleType
The type of source scaling specified by the SourcesScaleTypeEnum, e.g. Decibel or Linear.
Type: SourcesScaleTypeEnum
Access: Read/Write

.ScaledByMagnitude
Scales the sources according to their magnitude.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-591

10.3.224 Window

A view where results can be plotted.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Obtain the 3D view window

windowView3D = app.Views[1]

-- Resize the window and put it at a convenient location

windowView3D:SetSize(512, 512)
windowView3D:SetPosition(25, 25)

-- Change the title

windowView3D.WindowTitle = "3D View for the Example Project"

-- Export the contents of the window as a PNG to a file

windowView3D:ExportImage("Example3DViewImage", "png")

Inheritance

The following objects are derived (specialisations) from the Window object:

/ Graph

/ View

Property list

Name Description
.Height The height of the window.
(Read only number)
.Width The width of the window.
(Read only number)
.WindowTitle The title of the window.
(Read/Write string)
.XPosition The X position of the window.
(Read only number)
.YPosition The Y position of the window.
(Read only number)

Method list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-592

Name Description
:Close () Close the window.
:ExportImage (filename, fileformat) Export the window image at its same size to a spec-
ified file.
:ExportImage (filename, fileformat, Export the window image at the given size to a spec-
imagewidth, imageheight) ified file.
:Maximise () Maximise the window.
:Minimise () Minimise the window.
:Restore () Restore the window.
:SetPosition (xposition, yposition) Sets the view position.
:SetSize (imagewidth, imageheight) Sets the view size.
:Show () Shows the view.
:ZoomToExtents () Zoom the content of the window to its extent.

Properties (details)

.Height
The height of the window.
Type: number
Access: Read only

.Width
The width of the window.
Type: number
Access: Read only

.WindowTitle
The title of the window.
Type: string
Access: Read/Write

.XPosition
The X position of the window.
Type: number
Access: Read only

.YPosition
The Y position of the window.
Type: number
Access: Read only

Methods (details)

:Close
Close the window.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-593

:ExportImage
Export the window image at its same size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)

:ExportImage
Export the window image at the given size to a specified file.
Parameters:

• filename: The name of the image file without its extension. (string)
• fileformat: The image file format, e.g. jpg, png, pdf, etc. (string)
• imagewidth: The export width in pixels. (number)
• imageheight: The export height in pixels. (number)

:Maximise
Maximise the window.

:Minimise
Minimise the window.

:Restore
Restore the window.

:SetPosition
Sets the view position.
Parameters:

• xposition: The view x position. (number)


• yposition: The view y position. (number)

:SetSize
Sets the view size.
Parameters:

• imagewidth: The view width in pixels. (number)


• imageheight: The view height in pixels. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-594

:Show
Shows the view.

:ZoomToExtents
Zoom the content of the window to its extent.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-595

10.3.225 WireCurrents3DPlot

A far field 3D result.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Create a new 3D View for the model configuration

model = app.Models["Dipole_Example"]
conf = model.Configurations["StandardConfiguration1"]
view = app.Views:Add(conf)

-- Add the wire currents 3D plot to the view

wireCurrents = conf.WireCurrents[1]
plot = view.Plots:Add(wireCurrents)

-- Give the 3D plot a convenient label and change the shading

plot.Label = "Wire_Currents_3D_Plot"
plot.Visualisation.FlatShaded = true

-- Specify the frequency to display the currents of

print("Available fixed axes:")


printlist(plot.FixedAxes)
available = plot:GetFixedAxisAvailableValues("Frequency")
print("\nAvailable frequency axis values:")
printlist(available)
plot:SetFixedAxisValue("Frequency", tonumber(available[4]), "")

Inheritance

The object WireCurrents3DPlot is derived from the Result3DPlot object.

Property list

Name Description
.Arrows The wire currents and charges plot arrows proper-
ties.
(Read/Write Arrows3DFormat)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The object that is the data source for this plot.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes
depend on the chosen PlotType as well as the con-
tents of the ResultData object. The value for a spe-
cific fixed axis can be queried and set with the Get-
FixedAxisValue() and SetFixedAxisValue() methods.
(Read only table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-596

.Label The object label.


(Read/Write string)
.Legend The 3D plot legend properties.
(Read/Write Plot3DLegendFormat)
.Quantity The wire currents and charges 3D plot quantity
properties.
(Read/Write WireCurrentsQuantity)
.Type The object type string.
(Read only string)
.Visible Specifies whether the plot must be shown or hidden.
(Read/Write boolean)
.Visualisation The wire currents and charges visualisation proper-
ties.
(Read/Write Currents3DFormat)

Method list

Name Description
:Delete () Delete the plot.
:GetAxisUnit (axis) Returns the SI unit for the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
fixed axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.

Properties (details)

.Arrows
The wire currents and charges plot arrows properties.
Type: Arrows3DFormat
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The object that is the data source for this plot.
Type: ResultData
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-597

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen PlotType as well as
the contents of the ResultData object. The value for a specific fixed axis can be queried and
set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The 3D plot legend properties.
Type: Plot3DLegendFormat
Access: Read/Write

.Quantity
The wire currents and charges 3D plot quantity properties.
Type: WireCurrentsQuantity
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the plot must be shown or hidden.
Type: boolean
Access: Read/Write

.Visualisation
The wire currents and charges visualisation properties.
Type: Currents3DFormat
Access: Read/Write

Methods (details)

:Delete
Delete the plot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-598

:GetAxisUnit
Returns the SI unit for the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-599

10.3.226 WireCurrentsData

Wire currents generated by the FEKO kernel.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Obtain the wire current data from the model solution configuration

currentData = app.Models[1].Configurations[1].WireCurrents[1]

-- Export the currents and charges to a file

currentData:ExportData(currentData.Label, pf.Enums.CurrentsExportTypeEnum.Both, 1)

Inheritance

The object WireCurrentsData is derived from the ResultData object.

Parent collection list

The following collections contain the WireCurrentsData object:

/ WireCurrentsCollection

Property list

Name Description
.Configuration The result data’s solution configuration in the
model.
(Read only SolutionConfiguration)
.Label The object label.
(Read/Write string)
.Type The object type string.
(Read only string)

Method list

Name Description
:ExportData (filename, components, Export the result wire currents and charges data to
samples) the specified *.os / *.ol file.

Properties (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-600

.Configuration
The result data’s solution configuration in the model.
Type: SolutionConfiguration
Access: Read only

.Label
The object label.
Type: string
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

Methods (details)

:ExportData
Export the result wire currents and charges data to the specified *.os / *.ol file.
Parameters:

• filename: The name of the exported data file without its extension. (string)
• components: The components to export specified by the CurrentsExportTypeEnum, e.g.
Both (*.os and *.ol), Currents (*.os) or Charges (*.ol). (CurrentsExportTypeEnum)
• samples: The number of samples for continuous data. This value will be ignored if the
data is discrete. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-601

10.3.227 WireCurrentsQuantity

The wire currents and charges quantity properties.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Obtain the 3D view and add a wire current plot

view = app.Views[1]
plot = view.Plots:Add(app.Models[1].Configurations[1].WireCurrents[1])

-- Normalise the values on the graph and scale to dB

quantity = plot.Quantity
quantity.ValuesNormalised = true
quantity.ValuesScaledToDB = true

Property list

Name Description
.ComplexComponent The complex component of the wire currents value
to plot, specified by the ComplexComponentEnum,
e.g. Magnitude, Instantaneous.
(Read/Write ComplexComponentEnum)
.InstantaneousPhase The phase value (wt) to use when ComplexCom-
ponent is Instantaneous. The value is in degrees
[0,360].
(Read/Write number)
.QuantityType The type of wire currents quantity to be plotted,
specified by the WireCurrentsQuantityTypeEnum,
e.g. Currents or Charges.
(Read/Write WireCurrentsQuantityTypeEnum)
.SortBy The wire currents sorting dimension, specified by
the WireCurrentsSortEnum, e.g. ByIndex, ByX, ByY
or ByZ. This property is only valid when the Inde-
pendentAxis is set to “Segments”.
(Read/Write WireCurrentsSortEnum)
.ValuesNormalised Specifies whether the wire currents quantity values
must be normalised to the range [0,1] before plot-
ting. This property can be used together with dB
scaling.
(Read/Write boolean)
.ValuesScaledToDB Specifies whether the wire currents quantity values
are scaled to dB before plotting.
(Read/Write boolean)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-602

Properties (details)

.ComplexComponent
The complex component of the wire currents value to plot, specified by the ComplexCompo-
nentEnum, e.g. Magnitude, Instantaneous.
Type: ComplexComponentEnum
Access: Read/Write

.InstantaneousPhase
The phase value (wt) to use when ComplexComponent is Instantaneous. The value is in
degrees [0,360].
Type: number
Access: Read/Write

.QuantityType
The type of wire currents quantity to be plotted, specified by the WireCurrentsQuantityType-
Enum, e.g. Currents or Charges.
Type: WireCurrentsQuantityTypeEnum
Access: Read/Write

.SortBy
The wire currents sorting dimension, specified by the WireCurrentsSortEnum, e.g. ByIndex,
ByX, ByY or ByZ. This property is only valid when the IndependentAxis is set to “Segments”.
Type: WireCurrentsSortEnum
Access: Read/Write

.ValuesNormalised
Specifies whether the wire currents quantity values must be normalised to the range [0,1]
before plotting. This property can be used together with dB scaling.
Type: boolean
Access: Read/Write

.ValuesScaledToDB
Specifies whether the wire currents quantity values are scaled to dB before plotting.
Type: boolean
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-603

10.3.228 WireCurrentsTrace

A wire currents 2D trace.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

-- Add a cartesian graph to plot the traces on

cartGraph = app.CartesianGraphs:Add()

-- Add the wire currents to the Traces collection of the Cartesian graph

wcTrace = cartGraph.Traces:Add(app.Models[1].Configurations[1].WireCurrents[1])

-- Set the independent axis to "Segments"

wcTrace.IndependentAxis = "Segments"

-- Change the value of the fixed axis (to the highest frequency)

freqValueOptions = wcTrace:GetFixedAxisAvailableValues("Frequency")
unit = wcTrace:GetAxisUnit("Frequency")
wcTrace:SetFixedAxisValue("Frequency", tonumber(freqValueOptions[#freqValueOptions]), unit)

-- Set the fixed Segment axis to "Line1.Wire1"

wcTrace:SetFixedAxisValue("Segments", "Line1.Wire1")

-- Ensure the entire graph is visible

cartGraph:ZoomToExtents()

Inheritance

The object WireCurrentsTrace is derived from the ResultTrace object.

Property list

Name Description
.Axes The trace axes properties.
(Read/Write TraceAxes)
.AxisNames The names of all the axes on the GraphData.
(Read only table)
.DataSource The source of the trace.
(Read/Write ResultData)
.FixedAxes The list of fixed axes for this plot. The fixed axes de-
pend on the chosen IndependentAxis as well as the
contents of the ResultData object. The value for a
specific fixed axis can be queried and set with the
GetFixedAxisValue() and SetFixedAxisValue() meth-
ods.
(Read only table)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-604

.IndependentAxesAvailable The list of available independent axes.


(Read only table)
.IndependentAxis The independent axis of the plot to be displayed,
e.g., Frequency, X, Y, Z, etc.
(Read/Write string)
.Label The object label.
(Read/Write string)
.Legend The trace legend properties.
(Read/Write TraceLegendFormat)
.Line The trace line format properties.
(Read/Write TraceLineFormat)
.Markers The trace marker format properties.
(Read/Write TraceMarkersFormat)
.Math The wire currents and charges trace math expression
properties.
(Read/Write TraceMathExpression)
.Quantity The wire currents and charges trace quantity prop-
erties.
(Read/Write WireCurrentsQuantity)
.Sampling The continuous trace sampling settings. These set-
tings only apply to traces when the independent axis
is continuously sampled.
(Read/Write TraceSamplingFormat)
.Type The object type string.
(Read only string)
.Visible Specifies whether the trace must be shown or hid-
den.
(Read/Write boolean)

Method list

Name Description
:Delete () Delete the trace.
:Duplicate () Duplicate the trace.
(Returns a ResultTrace object.)
:GetAxisUnit (axis) Returns the SI unit of the specified axis.
(Returns a string object.)
:GetFixedAxisAvailableValues (axis) Returns the list of available values for the specified
axis.
(Returns a table object.)
:GetFixedAxisValue (axis) Returns the current value for the specified fixed axis.
(Returns a string object.)
:Lower () Lower the trace.
:Raise () Raise the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-605

:SetFixedAxisValue (axis, value, unit) Set the fixed axis to the specified value.
:SetFixedAxisValue (axis, value) Set the fixed axis to the specified value.
:Store () Store a copy of the trace.
(Returns a ResultTrace object.)

Properties (details)

.Axes
The trace axes properties.
Type: TraceAxes
Access: Read/Write

.AxisNames
The names of all the axes on the GraphData.
Type: table
Access: Read only

.DataSource
The source of the trace.
Type: ResultData
Access: Read/Write

.FixedAxes
The list of fixed axes for this plot. The fixed axes depend on the chosen IndependentAxis
as well as the contents of the ResultData object. The value for a specific fixed axis can be
queried and set with the GetFixedAxisValue() and SetFixedAxisValue() methods.
Type: table
Access: Read only

.IndependentAxesAvailable
The list of available independent axes.
Type: table
Access: Read only

.IndependentAxis
The independent axis of the plot to be displayed, e.g., Frequency, X, Y, Z, etc.
Type: string
Access: Read/Write

.Label
The object label.
Type: string
Access: Read/Write

.Legend
The trace legend properties.
Type: TraceLegendFormat
Access: Read/Write

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-606

.Line
The trace line format properties.
Type: TraceLineFormat
Access: Read/Write

.Markers
The trace marker format properties.
Type: TraceMarkersFormat
Access: Read/Write

.Math
The wire currents and charges trace math expression properties.
Type: TraceMathExpression
Access: Read/Write

.Quantity
The wire currents and charges trace quantity properties.
Type: WireCurrentsQuantity
Access: Read/Write

.Sampling
The continuous trace sampling settings. These settings only apply to traces when the inde-
pendent axis is continuously sampled.
Type: TraceSamplingFormat
Access: Read/Write

.Type
The object type string.
Type: string
Access: Read only

.Visible
Specifies whether the trace must be shown or hidden.
Type: boolean
Access: Read/Write

Methods (details)

:Delete
Delete the trace.

:Duplicate
Duplicate the trace.
Returns:

• ResultTrace: The duplicated trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-607

:GetAxisUnit
Returns the SI unit of the specified axis.
Parameters:

• axis: The axis. (string)

Returns:

• string: The SI unit string.

:GetFixedAxisAvailableValues
Returns the list of available values for the specified axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• table: The axis values.

:GetFixedAxisValue
Returns the current value for the specified fixed axis.
Parameters:

• axis: The fixed axis. (string)

Returns:

• string: The axis value.

:Lower
Lower the trace.

:Raise
Raise the trace.

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (number)
• unit: The given value’s unit. Provide an empty string if it has no unit. (string)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-608

:SetFixedAxisValue
Set the fixed axis to the specified value.
Parameters:

• axis: The fixed axis. (string)


• value: The axis value. (string)

:Store
Store a copy of the trace.
Returns:

• ResultTrace: A copy of the trace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-609

10.4 Collection reference (API)

A collection is a special type of object that always contains the same basic methods, index op-
erators and properties. The are containers of other objects and users to access the objects that
the contain using the object names or the object index (position in the list). A collection also
provides an easy way to determine the number of objects that they currently contain. When a
collection is editable, it also provides methods to add objects to the collection or remove objects
from the collection.
The following list of collection objects are available as part of the POSTFEKO API.

/ CartesianGraphCollection

/ ConfigurationCollection

/ DataSetAxisCollection

/ DataSetQuantityCollection

/ ErrorEstimateCollection

/ ExcitationCollection

/ FarFieldCollection

/ FarFieldPowerIntegralCollection

/ FormGroupBoxItemCollection

/ FormItemCollection

/ ImportedDataCollection

/ ImportedDataSetCollection

/ LoadCollection

/ MathScriptCollection

/ MeshCubeRegionCollection

/ MeshCurvilinearTriangleFaceCollection

/ MeshSegmentWireCollection

/ MeshTetrahedronRegionCollection

/ MeshTriangleFaceCollection

/ MeshUnmeshedCylinderRegionCollection

/ MeshUnmeshedPolygonFaceCollection

/ ModelCollection

/ NearFieldCollection

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-610

/ NearFieldPowerIntegralCollection

/ NetworkCollection

/ PolarGraphCollection

/ PowerCollection

/ RayCollection

/ ReceivingAntennaCollection

/ ReportsCollection

/ Result3DPlotCollection

/ ResultTraceCollection

/ SARCollection

/ SParameterCollection

/ SmithChartCollection

/ SpiceProbeCollection

/ StoredDataCollection

/ SurfaceCurrentsCollection

/ TRCoefficientCollection

/ TransmissionLineCollection

/ ViewCollection

/ WireCurrentsCollection

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-611

10.4.1 CartesianGraphCollection

A collection of Cartesian graphs.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create graphs

farFieldgraph = app.CartesianGraphs:Add()
farFieldgraph.Traces:Add(app.Models[1].Configurations[1].FarFields[1])
nearFieldgraph = app.CartesianGraphs:Add()
nearFieldgraph.Traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Export all graphs in the ’CartesianGraphCollection’

for index, graph in pairs(app.CartesianGraphs) do


graph:Maximise()
graph:ExportImage("Graph"..index, "pdf")
end

Property list

Name Description
.Count The number of CartesianGraph items in the collec-
tion.
(Read only number)

Method list

Name Description
:Add () Adds a new Cartesian graph to the collection.
(Returns a CartesianGraph object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the CartesianGraph at the given index.
(Returns a CartesianGraph object.)
:Item (label) Returns the CartesianGraph with the given label.
(Returns a CartesianGraph object.)
:Items () Returns a table of CartesianGraph.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-612

Index list

[number] Returns the CartesianGraph at the given index in the col-


lection. (Read CartesianGraph)
[string] Returns the CartesianGraph with the given name in the
collection. (Read CartesianGraph)

Properties (details)

.Count
The number of CartesianGraph items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new Cartesian graph to the collection.
Returns:

• CartesianGraph: The new Cartesian graph.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the CartesianGraph. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the CartesianGraph at the given index.
Parameters:

• index: The index of the CartesianGraph. (number)

Returns:

• CartesianGraph: The CartesianGraph at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-613

:Item
Returns the CartesianGraph with the given label.
Parameters:

• label: The label of the CartesianGraph. (string)

Returns:

• CartesianGraph: The CartesianGraph with the given label.

:Items
Returns a table of CartesianGraph.
Returns:

• table: A table of CartesianGraph.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-614

10.4.2 ConfigurationCollection

A collection of configurations within a model.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/mulitple_configurations.fek]])

-- Get the first configuration in the configuration collection

standardLoadConfiguration = app.Models[1].Configurations[1]

-- Get the other configuration in the configuration collection by name

largeLoadConfiguration = app.Models[1].Configurations["LargeLoad"]

-- Compare the two configurations’ far fields

graph = app.CartesianGraphs:Add()
standardLoadFarFieldTrace = graph.Traces:Add(standardLoadConfiguration.FarFields[1])
largeLoadFarFieldTrace = graph.Traces:Add(largeLoadConfiguration.FarFields[1])

Property list

Name Description
.Count The number of SolutionConfiguration items in the
collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SolutionConfiguration at the given in-
dex.
(Returns a SolutionConfiguration object.)
:Item (label) Returns the SolutionConfiguration with the given la-
bel.
(Returns a SolutionConfiguration object.)
:Items () Returns a table of SolutionConfiguration.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-615

Index list

[number] Returns the SolutionConfiguration at the given index in


the collection. (Read SolutionConfiguration)
[string] Returns the SolutionConfiguration with the given name in
the collection. (Read SolutionConfiguration)

Properties (details)

.Count
The number of SolutionConfiguration items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SolutionConfiguration. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SolutionConfiguration at the given index.
Parameters:

• index: The index of the SolutionConfiguration. (number)

Returns:

• SolutionConfiguration: The SolutionConfiguration at the given index.

:Item
Returns the SolutionConfiguration with the given label.
Parameters:

• label: The label of the SolutionConfiguration. (string)

Returns:

• SolutionConfiguration: The SolutionConfiguration with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-616

:Items
Returns a table of SolutionConfiguration.
Returns:

• table: A table of SolutionConfiguration.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-617

10.4.3 DataSetAxisCollection

A data set contains a collection of axes. A handle can be obtained on an individual axis, or new
axes can be added to the collection by using the DataSetAxisCollection.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the far field data set

farFieldDataSet = app.Models[1].Configurations[1].FarFields["farfields"]:GetDataSet(51)

-- Print a list of the far field axes

printlist( farFieldDataSet.Axes:Items() )

-- Access the axes

frequencyAxis = farFieldDataSet.Axes[1] -- Index method


frequencyAxis = farFieldDataSet.Axes["Frequency"] -- Name method
numberAxes = #farFieldDataSet.Axes

Property list

Name Description
.Count The number of DataSetAxis items in the collection.
(Read only number)

Method list

Name Description
:Add (type) Adds an empty axis to the data set. Only the type is
known, the other properties (i.e. the unit and val-
ues) must still be provided.
(Returns a DataSetAxis object.)
:Add (type, start, end, count) Adds a standard axis to the data set with a range of
values.
(Returns a DataSetAxis object.)
:Add (type, values) Adds a standard axis to the data set with a given set
of values.
(Returns a DataSetAxis object.)
:Add (name, unit) Adds an empty axis to the data set. The values must
still be provided.
(Returns a DataSetAxis object.)
:Add (name, unit, value) Adds a new axis to the data set with a single value.
(Returns a DataSetAxis object.)
:Add (name, unit, start, end, count) Adds a new axis to the data set with a range of val-
ues.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-618

(Returns a DataSetAxis object.)


:Add (name, unit, values) Adds a new axis to the data set with a given set of
values.
(Returns a DataSetAxis object.)
:Add (axis) Adds a copy of the given axis to the data set.
(Returns a DataSetAxis object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the DataSetAxis at the given index.
(Returns a DataSetAxis object.)
:Item (label) Returns the DataSetAxis with the given label.
(Returns a DataSetAxis object.)
:Items () Returns a table of DataSetAxis.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the DataSetAxis at the given index in the collec-


tion. (Read DataSetAxis)
[string] Returns the DataSetAxis with the given name in the col-
lection. (Read DataSetAxis)

Properties (details)

.Count
The number of DataSetAxis items in the collection.
Type: number
Access: Read only

Methods (details)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-619

:Add
Adds an empty axis to the data set. Only the type is known, the other properties (i.e. the unit
and values) must still be provided.
Parameters:

• type: The built-in axis type to add. (DataSetAxisEnum)

Returns:

• DataSetAxis: The new axis.

:Add
Adds a standard axis to the data set with a range of values.
Parameters:

• type: The built-in axis type to add. (DataSetAxisEnum)


• start: The first value of the axis. (number)
• end: The last value of the axis. (number)
• count: The number of points on the axis. (number)

Returns:

• DataSetAxis: An axis defined over a range of values.

:Add
Adds a standard axis to the data set with a given set of values.
Parameters:

• type: The built-in axis type to add. (DataSetAxisEnum)


• values: The values of the axis in a table. (table)

Returns:

• DataSetAxis: A new axis with no unit.

:Add
Adds an empty axis to the data set. The values must still be provided.
Parameters:

• name: The name of the axis. (string)


• unit: The unit of the axis. (Unit)

Returns:

• DataSetAxis: A new axis containing no values.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-620

:Add
Adds a new axis to the data set with a single value.
Parameters:

• name: The name of the axis. (string)


• unit: The unit of the axis. (Unit)
• value: The value. (Variant)

Returns:

• DataSetAxis: A new axis containing a single value.

:Add
Adds a new axis to the data set with a range of values.
Parameters:

• name: The name of the axis. (string)


• unit: The unit of the axis. (Unit)
• start: The first value of the axis. (number)
• end: The last value of the axis. (number)
• count: The number of points on the axis. (number)

Returns:

• DataSetAxis: A new axis defined over a range of values.

:Add
Adds a new axis to the data set with a given set of values.
Parameters:

• name: The name of the axis. (string)


• unit: The unit of the axis. (Unit)
• values: The values of the axis in a table. (table)

Returns:

• DataSetAxis: The new axis.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-621

:Add
Adds a copy of the given axis to the data set.
Parameters:

• axis: The axis to add. (DataSetAxis)

Returns:

• DataSetAxis: The new axis.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the DataSetAxis. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the DataSetAxis at the given index.
Parameters:

• index: The index of the DataSetAxis. (number)

Returns:

• DataSetAxis: The DataSetAxis at the given index.

:Item
Returns the DataSetAxis with the given label.
Parameters:

• label: The label of the DataSetAxis. (string)

Returns:

• DataSetAxis: The DataSetAxis with the given label.

:Items
Returns a table of DataSetAxis.
Returns:

• table: A table of DataSetAxis.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-622

10.4.4 DataSetQuantityCollection

A data set contains a collection of quantities. A handle can be obtained on an individual quantity,
or new quantity can be added to the collection by using the DataSetQuantityCollection.
See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Retrieve the far field data set

farFieldDataSet = app.Models[1].Configurations[1].FarFields["farfields"]:GetDataSet(51)

-- Print a list of the far field quantities

printlist( farFieldDataSet.Quantities:Items() )

-- Access information about the "EFieldTheta" quantity

EFieldThetaQuantity = farFieldDataSet.Quantities["EFieldTheta"]
quantityName = EFieldThetaQuantity.Name
quantityType = EFieldThetaQuantity.QuantityType
quantityUnit = EFieldThetaQuantity.Unit

-- Add a new quantity to the collection

farFieldDataSet.Quantities:Add("Threshold", pf.Enums.DataSetQuantityTypeEnum.Scalar, "")

-- Access the ’EFieldTheta’ value at the first frequency, theta and phi point

EFieldThetaValue = farFieldDataSet[1][1][1].EFieldTheta

-- Set the value of the new ’Threshold’ quantity at the first frequency, theta and phi point

farFieldDataSet[1][1][1].Threshold = 2

Property list

Name Description
.Count The number of DataSetQuantity items in the collec-
tion.
(Read only number)

Method list

Name Description
:Add (name, type, unit) Adds a new quantity to the data set.
(Returns a DataSetQuantity object.)
:Add (quantity) Adds a copy of the quantity.
(Returns a DataSetQuantity object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the DataSetQuantity at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-623

(Returns a DataSetQuantity object.)


:Item (label) Returns the DataSetQuantity with the given label.
(Returns a DataSetQuantity object.)
:Items () Returns a table of DataSetQuantity.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the DataSetQuantity at the given index in the col-


lection. (Read DataSetQuantity)
[string] Returns the DataSetQuantity with the given name in the
collection. (Read DataSetQuantity)

Properties (details)

.Count
The number of DataSetQuantity items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new quantity to the data set.
Parameters:

• name: The name of the quantity. (string)


• type: The type of the quantity (e.g. “Complex” or “Scalar”).
(DataSetQuantityTypeEnum)
• unit: The SI unit of the quantity. (Unit)

Returns:

• DataSetQuantity: The new quantity.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-624

:Add
Adds a copy of the quantity.
Parameters:

• quantity: The quantity to add a copy of. This is used when copying quantities of
existing DataSets. (DataSetQuantity)

Returns:

• DataSetQuantity: A replica of the provided quantity.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the DataSetQuantity. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the DataSetQuantity at the given index.
Parameters:

• index: The index of the DataSetQuantity. (number)

Returns:

• DataSetQuantity: The DataSetQuantity at the given index.

:Item
Returns the DataSetQuantity with the given label.
Parameters:

• label: The label of the DataSetQuantity. (string)

Returns:

• DataSetQuantity: The DataSetQuantity with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-625

:Items
Returns a table of DataSetQuantity.
Returns:

• table: A table of DataSetQuantity.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-626

10.4.5 ErrorEstimateCollection

A collection of error estimates.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Horn_error_estimates.fek]])

errorEstimatesCollection = app.Models[1].Configurations[1].ErrorEstimates

-- Access the error estimates

errorEstimate1 = errorEstimatesCollection[1] -- Index method


errorEstimate2 = errorEstimatesCollection["ErrorEstimation1"] -- Name method

Property list

Name Description
.Count The number of ErrorEstimateData items in the col-
lection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ErrorEstimateData at the given index.
(Returns a ErrorEstimateData object.)
:Item (label) Returns the ErrorEstimateData with the given label.
(Returns a ErrorEstimateData object.)
:Items () Returns a table of ErrorEstimateData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the ErrorEstimateData at the given index in the


collection. (Read ErrorEstimateData)
[string] Returns the ErrorEstimateData with the given name in the
collection. (Read ErrorEstimateData)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-627

Properties (details)

.Count
The number of ErrorEstimateData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ErrorEstimateData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ErrorEstimateData at the given index.
Parameters:

• index: The index of the ErrorEstimateData. (number)

Returns:

• ErrorEstimateData: The ErrorEstimateData at the given index.

:Item
Returns the ErrorEstimateData with the given label.
Parameters:

• label: The label of the ErrorEstimateData. (string)

Returns:

• ErrorEstimateData: The ErrorEstimateData with the given label.

:Items
Returns a table of ErrorEstimateData.
Returns:

• table: A table of ErrorEstimateData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-628

10.4.6 ExcitationCollection

A collection of excitation results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

excitationCollection = app.Models[1].Configurations[1].Excitations

-- Add the first excitation to a Cartesian graph

graph = app.CartesianGraphs:Add()
excitationTrace1 = graph.Traces:Add(excitationCollection[1]) -- Index method
excitationTrace2 = graph.Traces:Add(excitationCollection["VoltageSource"]) -- Name method

-- Add all the excitations in the collection to the graph

for index, excitationData in pairs(excitationCollection) do


excitationTrace = graph.Traces:Add(excitationData)
end

Property list

Name Description
.Count The number of ExcitationData items in the collec-
tion.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ExcitationData at the given index.
(Returns a ExcitationData object.)
:Item (label) Returns the ExcitationData with the given label.
(Returns a ExcitationData object.)
:Items () Returns a table of ExcitationData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-629

[number] Returns the ExcitationData at the given index in the col-


lection. (Read ExcitationData)
[string] Returns the ExcitationData with the given name in the col-
lection. (Read ExcitationData)

Properties (details)

.Count
The number of ExcitationData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ExcitationData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ExcitationData at the given index.
Parameters:

• index: The index of the ExcitationData. (number)

Returns:

• ExcitationData: The ExcitationData at the given index.

:Item
Returns the ExcitationData with the given label.
Parameters:

• label: The label of the ExcitationData. (string)

Returns:

• ExcitationData: The ExcitationData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-630

:Items
Returns a table of ExcitationData.
Returns:

• table: A table of ExcitationData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-631

10.4.7 FarFieldCollection

A collection of far field results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

farFieldCollection = app.Models[1].Configurations[1].FarFields

-- Add the first far field to a Cartesian graph

graph = app.CartesianGraphs:Add()
farFieldTrace1 = graph.Traces:Add(farFieldCollection[1]) -- Index method
farFieldTrace2 = graph.Traces:Add(farFieldCollection["FarFields"]) -- Name method

-- Add all the far fields in the collection to the 3D view

for index, farFieldData in pairs(farFieldCollection) do


farFieldPlot = app.Views[1].Plots:Add(farFieldData)
end

Property list

Name Description
.Count The number of FarFieldData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FarFieldData at the given index.
(Returns a FarFieldData object.)
:Item (label) Returns the FarFieldData with the given label.
(Returns a FarFieldData object.)
:Items () Returns a table of FarFieldData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-632

[number] Returns the FarFieldData at the given index in the collec-


tion. (Read FarFieldData)
[string] Returns the FarFieldData with the given name in the col-
lection. (Read FarFieldData)

Properties (details)

.Count
The number of FarFieldData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FarFieldData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FarFieldData at the given index.
Parameters:

• index: The index of the FarFieldData. (number)

Returns:

• FarFieldData: The FarFieldData at the given index.

:Item
Returns the FarFieldData with the given label.
Parameters:

• label: The label of the FarFieldData. (string)

Returns:

• FarFieldData: The FarFieldData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-633

:Items
Returns a table of FarFieldData.
Returns:

• table: A table of FarFieldData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-634

10.4.8 FarFieldPowerIntegralCollection

A collection of far field power integral results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

farFieldPowerCollection = app.Models[1].Configurations[1].FarFieldPowerIntegrals

-- Add the first far field power to a Cartesian graph

graph = app.CartesianGraphs:Add()
farFieldTrace1 = graph.Traces:Add(farFieldPowerCollection[1]) -- Index method
farFieldTrace2 = graph.Traces:Add(farFieldPowerCollection["FarFields"]) -- Name method

-- Add all the far fields in the collection to the Cartesian graph

for index, farFieldData in pairs(farFieldPowerCollection) do


farFieldTrace = graph.Traces:Add(farFieldData)
end

Property list

Name Description
.Count The number of FarFieldPowerIntegralData items in
the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FarFieldPowerIntegralData at the given
index.
(Returns a FarFieldPowerIntegralData object.)
:Item (label) Returns the FarFieldPowerIntegralData with the
given label.
(Returns a FarFieldPowerIntegralData object.)
:Items () Returns a table of FarFieldPowerIntegralData.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-635

Index list

[number] Returns the FarFieldPowerIntegralData at the given index


in the collection. (Read FarFieldPowerIntegralData)
[string] Returns the FarFieldPowerIntegralData with the given
name in the collection. (Read FarFieldPowerIntegralData)

Properties (details)

.Count
The number of FarFieldPowerIntegralData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FarFieldPowerIntegralData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FarFieldPowerIntegralData at the given index.
Parameters:

• index: The index of the FarFieldPowerIntegralData. (number)

Returns:

• FarFieldPowerIntegralData: The FarFieldPowerIntegralData at the given index.

:Item
Returns the FarFieldPowerIntegralData with the given label.
Parameters:

• label: The label of the FarFieldPowerIntegralData. (string)

Returns:

• FarFieldPowerIntegralData: The FarFieldPowerIntegralData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-636

:Items
Returns a table of FarFieldPowerIntegralData.
Returns:

• table: A table of FarFieldPowerIntegralData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-637

10.4.9 FormGroupBoxItemCollection

A collection of all of the items contained in a form group box.


See the example below:
form = pf.Form.New()
group = pf.FormGroupBox.New("Items")
item1 = pf.FormLabel.New("Item 1")
item2 = pf.FormLabel.New("Item 2")

-- Assemble the form objecs into a layout

group:Add(item1);
group:Add(item2)
form:Add(group);

-- Modify items using the collection

group.FormGroupBoxItems["Item 1"].Visible = false

form:Run()

Property list

Name Description
.Count The number of FormItem items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FormItem at the given index.
(Returns a FormItem object.)
:Item (label) Returns the FormItem with the given label.
(Returns a FormItem object.)
:Items () Returns a table of FormItem.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-638

[number] Returns the FormItem at the given index in the collection.


(Read FormItem)
[string] Returns the FormItem with the given name in the collec-
tion. (Read FormItem)

Properties (details)

.Count
The number of FormItem items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FormItem at the given index.
Parameters:

• index: The index of the FormItem. (number)

Returns:

• FormItem: The FormItem at the given index.

:Item
Returns the FormItem with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• FormItem: The FormItem with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-639

:Items
Returns a table of FormItem.
Returns:

• table: A table of FormItem.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-640

10.4.10 FormItemCollection

A collection of all of the items contained in a form.


See the example below:
form = pf.Form.New()

-- Create a variety of form items

checkbox = pf.FormCheckBox.New("Export electric near fields.")


label = pf.FormLabel.New("Item 1")
dirBrowser = pf.FormDirectoryBrowser.New("Output directory:")

form:Add(checkbox)
form:Add(label)
form:Add(dirBrowser)

-- All form items share the Enabled and Visible properties

for i = 1,#form.FormItems do
form.FormItems[i].Enabled = false
end

form:Run()

Property list

Name Description
.Count The number of FormItem items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the FormItem at the given index.
(Returns a FormItem object.)
:Item (label) Returns the FormItem with the given label.
(Returns a FormItem object.)
:Items () Returns a table of FormItem.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-641

[number] Returns the FormItem at the given index in the collection.


(Read FormItem)
[string] Returns the FormItem with the given name in the collec-
tion. (Read FormItem)

Properties (details)

.Count
The number of FormItem items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the FormItem at the given index.
Parameters:

• index: The index of the FormItem. (number)

Returns:

• FormItem: The FormItem at the given index.

:Item
Returns the FormItem with the given label.
Parameters:

• label: The label of the FormItem. (string)

Returns:

• FormItem: The FormItem with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-642

:Items
Returns a table of FormItem.
Returns:

• table: A table of FormItem.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-643

10.4.11 ImportedDataCollection

A collection of imported data.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

app:ImportResults(FEKO_HOME..[[/examples/Resources/Automation/SParameters.s2p]],
pf.Enums.ImportFileTypeEnum.Touchstone)

-- Retrieve the newly imported data collection from the first import set

importedDataCollection = app.ImportedDataSets[1].ImportedData

-- Retrieve the label of the first imported data in the collection

label = importedDataCollection[1].Label

-- Add the first imported data in the collection to the cartesian graph

graph.Traces:Add(importedDataCollection[1])

Property list

Name Description
.Count The number of ResultData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ResultData at the given index.
(Returns a ResultData object.)
:Item (label) Returns the ResultData with the given label.
(Returns a ResultData object.)
:Items () Returns a table of ResultData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-644

[number] Returns the ResultData at the given index in the collec-


tion. (Read ResultData)
[string] Returns the ResultData with the given name in the collec-
tion. (Read ResultData)

Properties (details)

.Count
The number of ResultData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ResultData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ResultData at the given index.
Parameters:

• index: The index of the ResultData. (number)

Returns:

• ResultData: The ResultData at the given index.

:Item
Returns the ResultData with the given label.
Parameters:

• label: The label of the ResultData. (string)

Returns:

• ResultData: The ResultData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-645

:Items
Returns a table of ResultData.
Returns:

• table: A table of ResultData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-646

10.4.12 ImportedDataSetCollection

A collection of imported data sets.


See the example below:
app = pf.GetApplication()
app:NewProject()
graph = app.CartesianGraphs:Add()

app:ImportResults(FEKO_HOME..[[/examples/Resources/Automation/SParameters.s2p]],
pf.Enums.ImportFileTypeEnum.Touchstone)

-- Retrieve the newly imported import set from the import set collection

importSetCollection = app.ImportedDataSets
numberOfImportSets = importSetCollection.Count

-- Retrieve the label and source file of the first import set

label = importSetCollection[1].Label
sourceFile = importSetCollection[1].SourceFile

-- Duplicate the newly imported import set and then delete the original

importSetCopy = importSetCollection[1]:Duplicate()
importSetCollection[1]:Delete()

-- Add the first imported data in the copied import set to the cartesian graph

graph.Traces:Add(importSetCopy.ImportedData[1])

Property list

Name Description
.Count The number of ImportSet items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ImportSet at the given index.
(Returns a ImportSet object.)
:Item (label) Returns the ImportSet with the given label.
(Returns a ImportSet object.)
:Items () Returns a table of ImportSet.
(Returns a table object.)

Operator list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-647

# The number of items in the collection.

Index list

[number] Returns the ImportSet at the given index in the collection.


(Read ImportSet)
[string] Returns the ImportSet with the given name in the collec-
tion. (Read ImportSet)

Properties (details)

.Count
The number of ImportSet items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ImportSet. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ImportSet at the given index.
Parameters:

• index: The index of the ImportSet. (number)

Returns:

• ImportSet: The ImportSet at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-648

:Item
Returns the ImportSet with the given label.
Parameters:

• label: The label of the ImportSet. (string)

Returns:

• ImportSet: The ImportSet with the given label.

:Items
Returns a table of ImportSet.
Returns:

• table: A table of ImportSet.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-649

10.4.13 LoadCollection

A collection of load results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])

loadCollection = app.Models[1].Configurations[1].Loads

-- Add the first load to a Cartesian graph

graph = app.CartesianGraphs:Add()
loadTrace1 = graph.Traces:Add(loadCollection[1]) -- Index method
loadTrace2 = graph.Traces:Add(loadCollection["ComplexLoad"]) -- Name method

-- Add all the loads in the collection to the graph

for index, loadData in pairs(loadCollection) do


loadTrace = graph.Traces:Add(loadData)
end

Property list

Name Description
.Count The number of LoadData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the LoadData at the given index.
(Returns a LoadData object.)
:Item (label) Returns the LoadData with the given label.
(Returns a LoadData object.)
:Items () Returns a table of LoadData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-650

[number] Returns the LoadData at the given index in the collection.


(Read LoadData)
[string] Returns the LoadData with the given name in the collec-
tion. (Read LoadData)

Properties (details)

.Count
The number of LoadData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the LoadData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the LoadData at the given index.
Parameters:

• index: The index of the LoadData. (number)

Returns:

• LoadData: The LoadData at the given index.

:Item
Returns the LoadData with the given label.
Parameters:

• label: The label of the LoadData. (string)

Returns:

• LoadData: The LoadData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-651

:Items
Returns a table of LoadData.
Returns:

• table: A table of LoadData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-652

10.4.14 MathScriptCollection

A collection of math scripts.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/CustomDataSession.pfs]])

-- Add the first math script to a Cartesian graph

graph = app.CartesianGraphs:Add()
mathScriptTrace1 = graph.Traces:Add(app.MathScripts[1]) -- Index method
mathScriptTrace2 = graph.Traces:Add(app.MathScripts["CustomMath1"]) -- Name method

-- Add all the far fields in the collection to the 3D view

for index, mathScriptData in pairs(app.MathScripts) do


mathScriptPlot = app.Views[1].Plots:Add(mathScriptData)
end

Property list

Name Description
.Count The number of MathScript items in the collection.
(Read only number)

Method list

Name Description
:Add (type) Adds a new math script to the collection.
(Returns a MathScript object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MathScript at the given index.
(Returns a MathScript object.)
:Item (label) Returns the MathScript with the given label.
(Returns a MathScript object.)
:Items () Returns a table of MathScript.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-653

[number] Returns the MathScript at the given index in the collec-


tion. (Read MathScript)
[string] Returns the MathScript with the given name in the collec-
tion. (Read MathScript)

Properties (details)

.Count
The number of MathScript items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new math script to the collection.
Parameters:

• type: The type of math script specified by MathScriptTypeEnum, e.g. FarField,


NearField, Custom, etc. (MathScriptTypeEnum)

Returns:

• MathScript: The new math script.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MathScript. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MathScript at the given index.
Parameters:

• index: The index of the MathScript. (number)

Returns:

• MathScript: The MathScript at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-654

:Item
Returns the MathScript with the given label.
Parameters:

• label: The label of the MathScript. (string)

Returns:

• MathScript: The MathScript with the given label.

:Items
Returns a table of MathScript.
Returns:

• table: A table of MathScript.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-655

10.4.15 MeshCubeRegionCollection

A collection of regions meshed with cubes.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Cube_example1.fek]])
sConf = app.Models["Cube_example1"].Configurations[1]
mesh = sConf.Mesh

-- Get a ’MeshCubeRegionCollection’ of a specified mesh entity

meshCubeRegion = mesh.CubeRegions

-- Get the ’Cubes’ contained in a ’MeshCubeRegion’ and the number of ’MeshCubeRegion’


-- items contained the ’MeshCubeRegionCollection’.

cubes = meshCubeRegion[1].Cubes
count = meshCubeRegion.Count

Property list

Name Description
.Count The number of MeshCubeRegion items in the collec-
tion.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshCubeRegion at the given index.
(Returns a MeshCubeRegion object.)
:Item (label) Returns the MeshCubeRegion with the given label.
(Returns a MeshCubeRegion object.)
:Items () Returns a table of MeshCubeRegion.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-656

[number] Returns the MeshCubeRegion at the given index in the


collection. (Read MeshCubeRegion)
[string] Returns the MeshCubeRegion with the given name in the
collection. (Read MeshCubeRegion)

Properties (details)

.Count
The number of MeshCubeRegion items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshCubeRegion. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshCubeRegion at the given index.
Parameters:

• index: The index of the MeshCubeRegion. (number)

Returns:

• MeshCubeRegion: The MeshCubeRegion at the given index.

:Item
Returns the MeshCubeRegion with the given label.
Parameters:

• label: The label of the MeshCubeRegion. (string)

Returns:

• MeshCubeRegion: The MeshCubeRegion with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-657

:Items
Returns a table of MeshCubeRegion.
Returns:

• table: A table of MeshCubeRegion.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-658

10.4.16 MeshCurvilinearTriangleFaceCollection

A collection of faces meshed with curvilinear triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/RCS_of_a_Curvilinear_Dielectric_Sphere.fek]])
sConf = app.Models["RCS_of_a_Curvilinear_Dielectric_Sphere"].Configurations[1]
mesh = sConf.Mesh

-- Get ’MeshCurvilinearTriangleFaceCollection’ of the specified mesh entity


-- and the number of curvilinear faces in the collection

curvilinearTriangleFaceCollection = mesh.CurvilinearTriangleFaces
count = #curvilinearTriangleFaceCollection

-- Get the number of curvilinear triangles of the specified mesh entity

count = curvilinearTriangleFaceCollection[1].CurvilinearTriangles.Count

Property list

Name Description
.Count The number of MeshCurvilinearTriangleFace items
in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshCurvilinearTriangleFace at the
given index.
(Returns a MeshCurvilinearTriangleFace object.)
:Item (label) Returns the MeshCurvilinearTriangleFace with the
given label.
(Returns a MeshCurvilinearTriangleFace object.)
:Items () Returns a table of MeshCurvilinearTriangleFace.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-659

Index list

[number] Returns the MeshCurvilinearTriangleFace at the given in-


dex in the collection. (Read MeshCurvilinearTriangle-
Face)
[string] Returns the MeshCurvilinearTriangleFace with the given
name in the collection. (Read MeshCurvilinearTriangle-
Face)

Properties (details)

.Count
The number of MeshCurvilinearTriangleFace items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshCurvilinearTriangleFace. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshCurvilinearTriangleFace at the given index.
Parameters:

• index: The index of the MeshCurvilinearTriangleFace. (number)

Returns:

• MeshCurvilinearTriangleFace: The MeshCurvilinearTriangleFace at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-660

:Item
Returns the MeshCurvilinearTriangleFace with the given label.
Parameters:

• label: The label of the MeshCurvilinearTriangleFace. (string)

Returns:

• MeshCurvilinearTriangleFace: The MeshCurvilinearTriangleFace with the given label.

:Items
Returns a table of MeshCurvilinearTriangleFace.
Returns:

• table: A table of MeshCurvilinearTriangleFace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-661

10.4.17 MeshSegmentWireCollection

A collection of wires meshed with segments.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example.fek]])
sConf = app.Models["Dipole_Example"].Configurations[1]
mesh = sConf.Mesh

-- Get the label of the specified mesh entity

label = mesh.SegmentWires[1].Label

-- Get the number of SegmentWires in ’SegmentWires’ Collection

MoMWireCount = #mesh.SegmentWires

Property list

Name Description
.Count The number of MeshSegmentWire items in the col-
lection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshSegmentWire at the given index.
(Returns a MeshSegmentWire object.)
:Item (label) Returns the MeshSegmentWire with the given label.
(Returns a MeshSegmentWire object.)
:Items () Returns a table of MeshSegmentWire.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the MeshSegmentWire at the given index in the


collection. (Read MeshSegmentWire)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-662

[string] Returns the MeshSegmentWire with the given name in the


collection. (Read MeshSegmentWire)

Properties (details)

.Count
The number of MeshSegmentWire items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshSegmentWire. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshSegmentWire at the given index.
Parameters:

• index: The index of the MeshSegmentWire. (number)

Returns:

• MeshSegmentWire: The MeshSegmentWire at the given index.

:Item
Returns the MeshSegmentWire with the given label.
Parameters:

• label: The label of the MeshSegmentWire. (string)

Returns:

• MeshSegmentWire: The MeshSegmentWire with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-663

:Items
Returns a table of MeshSegmentWire.
Returns:

• table: A table of MeshSegmentWire.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-664

10.4.18 MeshTetrahedronRegionCollection

A collection of regions meshed with tetrahedra.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Shielding_Factor_of_Thin_Metal_Sphere_FEM.fek]])
sConf = app.Models["Shielding_Factor_of_Thin_Metal_Sphere_FEM"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’MeshTetrahedronRegionCollection’ of the specified mesh entity and


-- the number of items in the collection

meshTetrahedronRegionCollection = mesh.TetrahedronRegions
count = meshTetrahedronRegionCollection.Count

-- Get the lable of first tetrahedra region

label = meshTetrahedronRegionCollection[1].Label

Property list

Name Description
.Count The number of MeshTetrahedronRegion items in the
collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshTetrahedronRegion at the given in-
dex.
(Returns a MeshTetrahedronRegion object.)
:Item (label) Returns the MeshTetrahedronRegion with the given
label.
(Returns a MeshTetrahedronRegion object.)
:Items () Returns a table of MeshTetrahedronRegion.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-665

[number] Returns the MeshTetrahedronRegion at the given index in


the collection. (Read MeshTetrahedronRegion)
[string] Returns the MeshTetrahedronRegion with the given name
in the collection. (Read MeshTetrahedronRegion)

Properties (details)

.Count
The number of MeshTetrahedronRegion items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshTetrahedronRegion. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshTetrahedronRegion at the given index.
Parameters:

• index: The index of the MeshTetrahedronRegion. (number)

Returns:

• MeshTetrahedronRegion: The MeshTetrahedronRegion at the given index.

:Item
Returns the MeshTetrahedronRegion with the given label.
Parameters:

• label: The label of the MeshTetrahedronRegion. (string)

Returns:

• MeshTetrahedronRegion: The MeshTetrahedronRegion with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-666

:Items
Returns a table of MeshTetrahedronRegion.
Returns:

• table: A table of MeshTetrahedronRegion.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-667

10.4.19 MeshTriangleFaceCollection

A collection of faces meshed with triangles.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
sConf = app.Models["startup"].Configurations[1]
mesh = sConf.Mesh

-- Get the number of triangle faces in ’MeshTriangleFaceCollection’

count = mesh.TriangleFaces.Count

-- Get the label of the specified mesh entity

label = mesh.TriangleFaces[1].Label

Property list

Name Description
.Count The number of MeshTriangleFace items in the col-
lection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshTriangleFace at the given index.
(Returns a MeshTriangleFace object.)
:Item (label) Returns the MeshTriangleFace with the given label.
(Returns a MeshTriangleFace object.)
:Items () Returns a table of MeshTriangleFace.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the MeshTriangleFace at the given index in the


collection. (Read MeshTriangleFace)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-668

[string] Returns the MeshTriangleFace with the given name in the


collection. (Read MeshTriangleFace)

Properties (details)

.Count
The number of MeshTriangleFace items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshTriangleFace. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshTriangleFace at the given index.
Parameters:

• index: The index of the MeshTriangleFace. (number)

Returns:

• MeshTriangleFace: The MeshTriangleFace at the given index.

:Item
Returns the MeshTriangleFace with the given label.
Parameters:

• label: The label of the MeshTriangleFace. (string)

Returns:

• MeshTriangleFace: The MeshTriangleFace with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-669

:Items
Returns a table of MeshTriangleFace.
Returns:

• table: A table of MeshTriangleFace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-670

10.4.20 MeshUnmeshedCylinderRegionCollection

A collection of unmeshed cylinders that are part of a mesh model.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Infinite_Cylinder_a.fek]])
sConf = app.Models["Infinite_Cylinder_a"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’MeshUnmeshedCylinderRegionCollection’ for the specified mesh

MeshUnmeshedCylinderRegionCollection = mesh.UnmeshedCylinderRegions

-- Get the unmeshed cylinder region count of the specified mesh entity and
-- the label of the first unmeshed cylinder region

count = #MeshUnmeshedCylinderRegionCollection
label = MeshUnmeshedCylinderRegionCollection[1].Label

Property list

Name Description
.Count The number of MeshUnmeshedCylinderRegion
items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshUnmeshedCylinderRegion at the
given index.
(Returns a MeshUnmeshedCylinderRegion object.)
:Item (label) Returns the MeshUnmeshedCylinderRegion with the
given label.
(Returns a MeshUnmeshedCylinderRegion object.)
:Items () Returns a table of MeshUnmeshedCylinderRegion.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-671

Index list

[number] Returns the MeshUnmeshedCylinderRegion at the given


index in the collection. (Read MeshUnmeshedCylinder-
Region)
[string] Returns the MeshUnmeshedCylinderRegion with the
given name in the collection. (Read MeshUnmeshedCylin-
derRegion)

Properties (details)

.Count
The number of MeshUnmeshedCylinderRegion items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshUnmeshedCylinderRegion. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshUnmeshedCylinderRegion at the given index.
Parameters:

• index: The index of the MeshUnmeshedCylinderRegion. (number)

Returns:

• MeshUnmeshedCylinderRegion: The MeshUnmeshedCylinderRegion at the given in-


dex.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-672

:Item
Returns the MeshUnmeshedCylinderRegion with the given label.
Parameters:

• label: The label of the MeshUnmeshedCylinderRegion. (string)

Returns:

• MeshUnmeshedCylinderRegion: The MeshUnmeshedCylinderRegion with the given


label.

:Items
Returns a table of MeshUnmeshedCylinderRegion.
Returns:

• table: A table of MeshUnmeshedCylinderRegion.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-673

10.4.21 MeshUnmeshedPolygonFaceCollection

A collection of unmeshed faces that are part of a mesh model.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])
sConf = app.Models["Dipole_Antenna_and_UTD_Plate"].Configurations[1]
mesh = sConf.Mesh

-- Get the ’UnmeshedPolygonFaces’ for the specified mesh

unmeshedPolygonFaces = mesh.UnmeshedPolygonFaces

-- Get the unmeshed polygon face count of the specified mesh entity and
-- the label of the first ’MeshUnmeshedPolygonFace’

UTDFaceCount = #unmeshedPolygonFaces
label = unmeshedPolygonFaces[1].Label

Property list

Name Description
.Count The number of MeshUnmeshedPolygonFace items in
the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the MeshUnmeshedPolygonFace at the
given index.
(Returns a MeshUnmeshedPolygonFace object.)
:Item (label) Returns the MeshUnmeshedPolygonFace with the
given label.
(Returns a MeshUnmeshedPolygonFace object.)
:Items () Returns a table of MeshUnmeshedPolygonFace.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-674

Index list

[number] Returns the MeshUnmeshedPolygonFace at the given in-


dex in the collection. (Read MeshUnmeshedPolygonFace)
[string] Returns the MeshUnmeshedPolygonFace with the given
name in the collection. (Read MeshUnmeshedPolygon-
Face)

Properties (details)

.Count
The number of MeshUnmeshedPolygonFace items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the MeshUnmeshedPolygonFace. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the MeshUnmeshedPolygonFace at the given index.
Parameters:

• index: The index of the MeshUnmeshedPolygonFace. (number)

Returns:

• MeshUnmeshedPolygonFace: The MeshUnmeshedPolygonFace at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-675

:Item
Returns the MeshUnmeshedPolygonFace with the given label.
Parameters:

• label: The label of the MeshUnmeshedPolygonFace. (string)

Returns:

• MeshUnmeshedPolygonFace: The MeshUnmeshedPolygonFace with the given label.

:Items
Returns a table of MeshUnmeshedPolygonFace.
Returns:

• table: A table of MeshUnmeshedPolygonFace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-676

10.4.22 ModelCollection

A collection of FEKO models.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Get the model count and access the ’Model’

modelCount = #app.Models
startupModel = app.Models["startup"]

Property list

Name Description
.Count The number of Model items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Model at the given index.
(Returns a Model object.)
:Item (label) Returns the Model with the given label.
(Returns a Model object.)
:Items () Returns a table of Model.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the Model at the given index in the collection.


(Read Model)
[string] Returns the Model with the given name in the collection.
(Read Model)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-677

Properties (details)

.Count
The number of Model items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Model. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the Model at the given index.
Parameters:

• index: The index of the Model. (number)

Returns:

• Model: The Model at the given index.

:Item
Returns the Model with the given label.
Parameters:

• label: The label of the Model. (string)

Returns:

• Model: The Model with the given label.

:Items
Returns a table of Model.
Returns:

• table: A table of Model.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-678

10.4.23 NearFieldCollection

A collection of near field results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

nearFieldCollection = app.Models[1].Configurations[1].NearFields

-- Add the first near field to a Cartesian graph

graph = app.CartesianGraphs:Add()
nearFieldTrace1 = graph.Traces:Add(nearFieldCollection[1]) -- Index method
nearFieldTrace2 = graph.Traces:Add(nearFieldCollection["NearFields"]) -- Name method

-- Add all the near fields in the collection to the 3D view

for index, nearFieldData in pairs(nearFieldCollection) do


nearFieldPlot = app.Views[1].Plots:Add(nearFieldData)
end

Property list

Name Description
.Count The number of NearFieldData items in the collec-
tion.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the NearFieldData at the given index.
(Returns a NearFieldData object.)
:Item (label) Returns the NearFieldData with the given label.
(Returns a NearFieldData object.)
:Items () Returns a table of NearFieldData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-679

[number] Returns the NearFieldData at the given index in the col-


lection. (Read NearFieldData)
[string] Returns the NearFieldData with the given name in the col-
lection. (Read NearFieldData)

Properties (details)

.Count
The number of NearFieldData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the NearFieldData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the NearFieldData at the given index.
Parameters:

• index: The index of the NearFieldData. (number)

Returns:

• NearFieldData: The NearFieldData at the given index.

:Item
Returns the NearFieldData with the given label.
Parameters:

• label: The label of the NearFieldData. (string)

Returns:

• NearFieldData: The NearFieldData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-680

:Items
Returns a table of NearFieldData.
Returns:

• table: A table of NearFieldData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-681

10.4.24 NearFieldPowerIntegralCollection

A collection of near field power integral results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Example_Expanded.fek]])

-- Get the near field power integral collection

nearFieldPowerIntegralCollection = app.Models[1].Configurations[1].NearFieldPowerIntegrals
printlist(nearFieldPowerIntegralCollection)

-- Add items from the collection to a graph

graph = app.CartesianGraphs:Add()
nearFieldPower1 = graph.Traces:Add(nearFieldPowerIntegralCollection[1]) -- Index method
nearFieldPower2 = graph.Traces:Add(nearFieldPowerIntegralCollection["NearFields"]) -- Name method

Property list

Name Description
.Count The number of NearFieldPowerIntegralData items in
the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the NearFieldPowerIntegralData at the
given index.
(Returns a NearFieldPowerIntegralData object.)
:Item (label) Returns the NearFieldPowerIntegralData with the
given label.
(Returns a NearFieldPowerIntegralData object.)
:Items () Returns a table of NearFieldPowerIntegralData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-682

[number] Returns the NearFieldPowerIntegralData at the given in-


dex in the collection. (Read NearFieldPowerIntegralData)
[string] Returns the NearFieldPowerIntegralData with the given
name in the collection. (Read NearFieldPowerIntegral-
Data)

Properties (details)

.Count
The number of NearFieldPowerIntegralData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the NearFieldPowerIntegralData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the NearFieldPowerIntegralData at the given index.
Parameters:

• index: The index of the NearFieldPowerIntegralData. (number)

Returns:

• NearFieldPowerIntegralData: The NearFieldPowerIntegralData at the given index.

:Item
Returns the NearFieldPowerIntegralData with the given label.
Parameters:

• label: The label of the NearFieldPowerIntegralData. (string)

Returns:

• NearFieldPowerIntegralData: The NearFieldPowerIntegralData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-683

:Items
Returns a table of NearFieldPowerIntegralData.
Returns:

• table: A table of NearFieldPowerIntegralData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-684

10.4.25 NetworkCollection

A collection of network results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Matching_SPICE.fek]])

networkCollection = app.Models[1].Configurations[1].Networks

-- Add the first network to a Cartesian graph

graph = app.CartesianGraphs:Add()
networkTrace1 = graph.Traces:Add(networkCollection[1]) -- Index method
networkTrace2 = graph.Traces:Add(networkCollection["MatchingNetwork"]) -- Name method

-- Add all the networks in the collection to the graph

for index, networkData in pairs(networkCollection) do


networkTrace = graph.Traces:Add(networkData)
end

Property list

Name Description
.Count The number of NetworkData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the NetworkData at the given index.
(Returns a NetworkData object.)
:Item (label) Returns the NetworkData with the given label.
(Returns a NetworkData object.)
:Items () Returns a table of NetworkData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-685

[number] Returns the NetworkData at the given index in the collec-


tion. (Read NetworkData)
[string] Returns the NetworkData with the given name in the col-
lection. (Read NetworkData)

Properties (details)

.Count
The number of NetworkData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the NetworkData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the NetworkData at the given index.
Parameters:

• index: The index of the NetworkData. (number)

Returns:

• NetworkData: The NetworkData at the given index.

:Item
Returns the NetworkData with the given label.
Parameters:

• label: The label of the NetworkData. (string)

Returns:

• NetworkData: The NetworkData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-686

:Items
Returns a table of NetworkData.
Returns:

• table: A table of NetworkData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-687

10.4.26 PolarGraphCollection

A collection of Polar graphs.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create graphs

graph1 = app.PolarGraphs:Add()
graph1.Traces:Add(app.Models[1].Configurations[1].FarFields[1])
graph2 = graph1:Duplicate()

-- Export all graphs in the ’PolarGraphCollection’

for index, graph in pairs(app.PolarGraphs) do


graph:Maximise()
graph:ExportImage("Graph"..index, "pdf")
end

Property list

Name Description
.Count The number of PolarGraph items in the collection.
(Read only number)

Method list

Name Description
:Add () Adds a new Polar graph to the collection.
(Returns a PolarGraph object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the PolarGraph at the given index.
(Returns a PolarGraph object.)
:Item (label) Returns the PolarGraph with the given label.
(Returns a PolarGraph object.)
:Items () Returns a table of PolarGraph.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-688

[number] Returns the PolarGraph at the given index in the collec-


tion. (Read PolarGraph)
[string] Returns the PolarGraph with the given name in the collec-
tion. (Read PolarGraph)

Properties (details)

.Count
The number of PolarGraph items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new Polar graph to the collection.
Returns:

• PolarGraph: The new Polar graph.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the PolarGraph. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the PolarGraph at the given index.
Parameters:

• index: The index of the PolarGraph. (number)

Returns:

• PolarGraph: The PolarGraph at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-689

:Item
Returns the PolarGraph with the given label.
Parameters:

• label: The label of the PolarGraph. (string)

Returns:

• PolarGraph: The PolarGraph with the given label.

:Items
Returns a table of PolarGraph.
Returns:

• table: A table of PolarGraph.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-690

10.4.27 PowerCollection

A collection of power results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

powerCollection = app.Models[1].Configurations[1].Power

-- Add the first power to a Cartesian graph

graph = app.CartesianGraphs:Add()
powerTrace1 = graph.Traces:Add(powerCollection[1]) -- Index method
powerTrace2 = graph.Traces:Add(powerCollection["Power"]) -- Name method

-- Add all the powers in the collection to the graph

for index, powerData in pairs(powerCollection) do


powerTrace = graph.Traces:Add(powerData)
end

Property list

Name Description
.Count The number of PowerData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the PowerData at the given index.
(Returns a PowerData object.)
:Item (label) Returns the PowerData with the given label.
(Returns a PowerData object.)
:Items () Returns a table of PowerData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-691

[number] Returns the PowerData at the given index in the collec-


tion. (Read PowerData)
[string] Returns the PowerData with the given name in the collec-
tion. (Read PowerData)

Properties (details)

.Count
The number of PowerData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the PowerData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the PowerData at the given index.
Parameters:

• index: The index of the PowerData. (number)

Returns:

• PowerData: The PowerData at the given index.

:Item
Returns the PowerData with the given label.
Parameters:

• label: The label of the PowerData. (string)

Returns:

• PowerData: The PowerData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-692

:Items
Returns a table of PowerData.
Returns:

• table: A table of PowerData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-693

10.4.28 RayCollection

A collection of ray results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Antenna_and_UTD_Plate.fek]])

RayCollection = app.Models[1].Configurations[1].Rays

-- Add the first ray to the 3D view

RayTrace1 = app.Views[1].Plots:Add(RayCollection[1]) -- Index method


RayTrace2 = app.Views[1].Plots:Add(RayCollection["UTDRays1"]) -- Name method

-- Add all the ray in the collection to the 3D view

for index, RayData in pairs(RayCollection) do


RayPlot = app.Views[1].Plots:Add(RayData)
end

Property list

Name Description
.Count The number of RayData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the RayData at the given index.
(Returns a RayData object.)
:Item (label) Returns the RayData with the given label.
(Returns a RayData object.)
:Items () Returns a table of RayData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-694

[number] Returns the RayData at the given index in the collection.


(Read RayData)
[string] Returns the RayData with the given name in the collec-
tion. (Read RayData)

Properties (details)

.Count
The number of RayData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the RayData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the RayData at the given index.
Parameters:

• index: The index of the RayData. (number)

Returns:

• RayData: The RayData at the given index.

:Item
Returns the RayData with the given label.
Parameters:

• label: The label of the RayData. (string)

Returns:

• RayData: The RayData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-695

:Items
Returns a table of RayData.
Returns:

• table: A table of RayData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-696

10.4.29 ReceivingAntennaCollection

A collection of receiving antenna results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

receivingAntennaCollection = app.Models[1].Configurations[1].ReceivingAntennas

-- Add the first receiving antenna request to a Cartesian graph

graph = app.CartesianGraphs:Add()
receivingAntennaTrace1 = graph.Traces:Add(receivingAntennaCollection[1]) -- Index method
receivingAntennaTrace2 = graph.Traces:Add(receivingAntennaCollection["ReceivingAntenna1"]) -- Name method

Property list

Name Description
.Count The number of ReceivingAntennaData items in the
collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ReceivingAntennaData at the given in-
dex.
(Returns a ReceivingAntennaData object.)
:Item (label) Returns the ReceivingAntennaData with the given
label.
(Returns a ReceivingAntennaData object.)
:Items () Returns a table of ReceivingAntennaData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-697

[number] Returns the ReceivingAntennaData at the given index in


the collection. (Read ReceivingAntennaData)
[string] Returns the ReceivingAntennaData with the given name
in the collection. (Read ReceivingAntennaData)

Properties (details)

.Count
The number of ReceivingAntennaData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ReceivingAntennaData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ReceivingAntennaData at the given index.
Parameters:

• index: The index of the ReceivingAntennaData. (number)

Returns:

• ReceivingAntennaData: The ReceivingAntennaData at the given index.

:Item
Returns the ReceivingAntennaData with the given label.
Parameters:

• label: The label of the ReceivingAntennaData. (string)

Returns:

• ReceivingAntennaData: The ReceivingAntennaData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-698

:Items
Returns a table of ReceivingAntennaData.
Returns:

• table: A table of ReceivingAntennaData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-699

10.4.30 ReportsCollection

A collection of template reports.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.pfs]])

-- Only generate reports if Microsoft Word is installed

if ( app.MSWordInstalled ) then

-- Add three Word 2007 report templates to the POSTFEKO session

templateName = FEKO_HOME..[[/examples/Resources/Automation/StartupModel.dotx]]
app.Reports:Add(templateName, pf.Enums.ReportDocumentTypeEnum.MSWord)
app.Reports:Add(templateName, pf.Enums.ReportDocumentTypeEnum.MSWord)
app.Reports:Add(templateName, pf.Enums.ReportDocumentTypeEnum.MSWord)

-- Now obtain a list of the report templates

reportList = app.Reports
print("Available template reports that can be generated:")
printlist(reportList)

end

Property list

Name Description
.Count The number of TemplateReport items in the collec-
tion.
(Read only number)

Method list

Name Description
:Add (filename, type) Adds a new template report to the collection.
(Returns a TemplateReport object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the TemplateReport at the given index.
(Returns a TemplateReport object.)
:Item (label) Returns the TemplateReport with the given label.
(Returns a TemplateReport object.)
:Items () Returns a table of TemplateReport.
(Returns a table object.)

Operator list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-700

# The number of items in the collection.

Index list

[number] Returns the TemplateReport at the given index in the col-


lection. (Read TemplateReport)
[string] Returns the TemplateReport with the given name in the
collection. (Read TemplateReport)

Properties (details)

.Count
The number of TemplateReport items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new template report to the collection.
Parameters:

• filename: The name of the template document to generate the report from. (string)
• type: The document type specified by the ReportDocumentTypeEnum, e.g. PDF,
MSWord or MSPowerPoint. (ReportDocumentTypeEnum)

Returns:

• TemplateReport: The template report to generate.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the TemplateReport. (string)

Returns:

• boolean: The success of the check.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-701

:Item
Returns the TemplateReport at the given index.
Parameters:

• index: The index of the TemplateReport. (number)

Returns:

• TemplateReport: The TemplateReport at the given index.

:Item
Returns the TemplateReport with the given label.
Parameters:

• label: The label of the TemplateReport. (string)

Returns:

• TemplateReport: The TemplateReport with the given label.

:Items
Returns a table of TemplateReport.
Returns:

• table: A table of TemplateReport.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-702

10.4.31 Result3DPlotCollection

A collection of results available for the 3D view.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Get the plots collection for the first 3D View

plots = app.Views[1].Plots

-- Add farfield, nearfield and surface current 3D plots

plots:Add(app.Models[1].Configurations[1].FarFields[1])
plots:Add(app.Models[1].Configurations[1].NearFields[1])
plots:Add(app.Models[1].Configurations[1].SurfaceCurrents[1])

-- Modify the label of each of the plots in the collection

for plotNum, plot in pairs(plots) do


plot.Label = "3D_Plot_" .. plotNum
end

-- Print the list of all the plots in the collection

printlist(plots)

Property list

Name Description
.Count The number of Result3DPlot items in the collection.
(Read only number)

Method list

Name Description
:Add (result) Adds a result to a view.
(Returns a ResultPlot object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the Result3DPlot at the given index.
(Returns a Result3DPlot object.)
:Item (label) Returns the Result3DPlot with the given label.
(Returns a Result3DPlot object.)
:Items () Returns a table of Result3DPlot.
(Returns a table object.)

Operator list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-703

# The number of items in the collection.

Index list

[number] Returns the Result3DPlot at the given index in the collec-


tion. (Read Result3DPlot)
[string] Returns the Result3DPlot with the given name in the col-
lection. (Read Result3DPlot)

Properties (details)

.Count
The number of Result3DPlot items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a result to a view.
Parameters:

• result: The result to add to the view. (ResultData)

Returns:

• ResultPlot: The 3D result of the plot on the graph.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the Result3DPlot. (string)

Returns:

• boolean: The success of the check.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-704

:Item
Returns the Result3DPlot at the given index.
Parameters:

• index: The index of the Result3DPlot. (number)

Returns:

• Result3DPlot: The Result3DPlot at the given index.

:Item
Returns the Result3DPlot with the given label.
Parameters:

• label: The label of the Result3DPlot. (string)

Returns:

• Result3DPlot: The Result3DPlot with the given label.

:Items
Returns a table of Result3DPlot.
Returns:

• table: A table of Result3DPlot.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-705

10.4.32 ResultTraceCollection

A collection of 2D graph traces.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])
app.Views[1]:Close()

-- Add a Cartesian graph to the application’s collection and obtain


-- the trace collection

graph = app.CartesianGraphs:Add()
traces = graph.Traces

-- Add multiple traces to the graph

traces:Add(app.Models[1].Configurations[1].FarFields[1])
traces:Add(app.Models[1].Configurations[1].FarFieldPowerIntegrals[1])
traces:Add(app.Models[1].Configurations[1].Power[1])
traces:Add(app.Models[1].Configurations[1].NearFields[1])

-- Print a list of all the traces

print("Traces on the graph:")


printlist(traces)

-- Remove two of the graphs, by name and index

traces["FarFields_1"]:Delete()
traces[1]:Delete()

Property list

Name Description
.Count The number of ResultTrace items in the collection.
(Read only number)

Method list

Name Description
:Add (result) Adds a result to a graph.
(Returns a ResultPlot object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ResultTrace at the given index.
(Returns a ResultTrace object.)
:Item (label) Returns the ResultTrace with the given label.
(Returns a ResultTrace object.)
:Items () Returns a table of ResultTrace.
(Returns a table object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-706

Operator list

# The number of items in the collection.

Index list

[number] Returns the ResultTrace at the given index in the collec-


tion. (Read ResultTrace)
[string] Returns the ResultTrace with the given name in the collec-
tion. (Read ResultTrace)

Properties (details)

.Count
The number of ResultTrace items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a result to a graph.
Parameters:

• result: The result to add to the graph. (ResultData)

Returns:

• ResultPlot: The trace on the graph.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ResultTrace. (string)

Returns:

• boolean: The success of the check.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-707

:Item
Returns the ResultTrace at the given index.
Parameters:

• index: The index of the ResultTrace. (number)

Returns:

• ResultTrace: The ResultTrace at the given index.

:Item
Returns the ResultTrace with the given label.
Parameters:

• label: The label of the ResultTrace. (string)

Returns:

• ResultTrace: The ResultTrace with the given label.

:Items
Returns a table of ResultTrace.
Returns:

• table: A table of ResultTrace.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-708

10.4.33 SARCollection

A collection of SAR results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/MoM_PO_Misc_Example.fek]])

SARCollection = app.Models[1].Configurations[1].SAR

-- Add the first SAR request to a Cartesian graph

graph = app.CartesianGraphs:Add()
SARTrace1 = graph.Traces:Add(SARCollection[1]) -- Index method
SARTrace2 = graph.Traces:Add(SARCollection["SAR1"]) -- Name method

-- Add all other SAR requests in the collection to the 3D view

for index, SARData in pairs(SARCollection) do


if (index > 1) then
SARPlot = app.Views[1].Plots:Add(SARData)
end
end

Property list

Name Description
.Count The number of SARData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SARData at the given index.
(Returns a SARData object.)
:Item (label) Returns the SARData with the given label.
(Returns a SARData object.)
:Items () Returns a table of SARData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-709

[number] Returns the SARData at the given index in the collection.


(Read SARData)
[string] Returns the SARData with the given name in the collec-
tion. (Read SARData)

Properties (details)

.Count
The number of SARData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SARData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SARData at the given index.
Parameters:

• index: The index of the SARData. (number)

Returns:

• SARData: The SARData at the given index.

:Item
Returns the SARData with the given label.
Parameters:

• label: The label of the SARData. (string)

Returns:

• SARData: The SARData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-710

:Items
Returns a table of SARData.
Returns:

• table: A table of SARData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-711

10.4.34 SParameterCollection

A collection of S-parameter results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Waveguide_Divider.fek]])

sparameterCollection = app.Models[1].Configurations["SParameterConfiguration1"].SParameters

-- Add the first sparameter to a Cartesian graph

graph = app.CartesianGraphs:Add()
sparameterTrace1 = graph.Traces:Add(sparameterCollection[1]) -- Index method
sparameterTrace2 = graph.Traces:Add(sparameterCollection["SParameter1"]) -- Name method

-- Add all the sparameters in the collection to the graph

for index, sparameterData in pairs(sparameterCollection) do


sparameterTrace = graph.Traces:Add(sparameterData)
end

Property list

Name Description
.Count The number of SParameterData items in the collec-
tion.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SParameterData at the given index.
(Returns a SParameterData object.)
:Item (label) Returns the SParameterData with the given label.
(Returns a SParameterData object.)
:Items () Returns a table of SParameterData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-712

[number] Returns the SParameterData at the given index in the col-


lection. (Read SParameterData)
[string] Returns the SParameterData with the given name in the
collection. (Read SParameterData)

Properties (details)

.Count
The number of SParameterData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SParameterData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SParameterData at the given index.
Parameters:

• index: The index of the SParameterData. (number)

Returns:

• SParameterData: The SParameterData at the given index.

:Item
Returns the SParameterData with the given label.
Parameters:

• label: The label of the SParameterData. (string)

Returns:

• SParameterData: The SParameterData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-713

:Items
Returns a table of SParameterData.
Returns:

• table: A table of SParameterData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-714

10.4.35 SmithChartCollection

A collection of Smith charts.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Create graphs

graph1 = app.SmithCharts:Add()
graph1.Traces:Add(app.Models[1].Configurations[1].Excitations[1])
graph2 = graph1:Duplicate()

-- Export all graphs in the ’SmithChartCollection’

for index, graph in pairs(app.SmithCharts) do


graph:Maximise()
graph:ExportImage("Graph"..index, "pdf")
end

Property list

Name Description
.Count The number of SmithChart items in the collection.
(Read only number)

Method list

Name Description
:Add () Adds a new Smith chart to the collection.
(Returns a SmithChart object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SmithChart at the given index.
(Returns a SmithChart object.)
:Item (label) Returns the SmithChart with the given label.
(Returns a SmithChart object.)
:Items () Returns a table of SmithChart.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-715

[number] Returns the SmithChart at the given index in the collec-


tion. (Read SmithChart)
[string] Returns the SmithChart with the given name in the collec-
tion. (Read SmithChart)

Properties (details)

.Count
The number of SmithChart items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new Smith chart to the collection.
Returns:

• SmithChart: The new Smith chart.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SmithChart. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SmithChart at the given index.
Parameters:

• index: The index of the SmithChart. (number)

Returns:

• SmithChart: The SmithChart at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-716

:Item
Returns the SmithChart with the given label.
Parameters:

• label: The label of the SmithChart. (string)

Returns:

• SmithChart: The SmithChart with the given label.

:Items
Returns a table of SmithChart.
Returns:

• table: A table of SmithChart.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-717

10.4.36 SpiceProbeCollection

A collection of SPICE probe results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/SpiceProbeTest.fek]])

-- Obtain the collection of SPICE probes in the model

spiceProbes = app.Models[1].Configurations[1].SpiceProbes

-- Display the list of SPICE probe requests

print("The following SPICE probe requests are available:")


printlist(spiceProbes)

-- Retrieve the label of each SPICE probe request

for i, spiceProbeData in pairs(spiceProbes) do


label = spiceProbeData.Label
end

Property list

Name Description
.Count The number of SpiceProbeData items in the collec-
tion.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SpiceProbeData at the given index.
(Returns a SpiceProbeData object.)
:Item (label) Returns the SpiceProbeData with the given label.
(Returns a SpiceProbeData object.)
:Items () Returns a table of SpiceProbeData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-718

[number] Returns the SpiceProbeData at the given index in the col-


lection. (Read SpiceProbeData)
[string] Returns the SpiceProbeData with the given name in the
collection. (Read SpiceProbeData)

Properties (details)

.Count
The number of SpiceProbeData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SpiceProbeData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SpiceProbeData at the given index.
Parameters:

• index: The index of the SpiceProbeData. (number)

Returns:

• SpiceProbeData: The SpiceProbeData at the given index.

:Item
Returns the SpiceProbeData with the given label.
Parameters:

• label: The label of the SpiceProbeData. (string)

Returns:

• SpiceProbeData: The SpiceProbeData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-719

:Items
Returns a table of SpiceProbeData.
Returns:

• table: A table of SpiceProbeData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-720

10.4.37 StoredDataCollection

A collection of stored data results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Stored_Data.pfs]])

-- Display the list of stored data entities

print("The following stored data entities are available:")


printlist(app.StoredData)

-- Obtain the collection of stored data in the model

storedData = app.StoredData

-- Retrieve the label of each stored data entity

for i, storedDataData in pairs(storedData) do


label = storedDataData.Label
end

Property list

Name Description
.Count The number of ResultData items in the collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the ResultData at the given index.
(Returns a ResultData object.)
:Item (label) Returns the ResultData with the given label.
(Returns a ResultData object.)
:Items () Returns a table of ResultData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-721

[number] Returns the ResultData at the given index in the collec-


tion. (Read ResultData)
[string] Returns the ResultData with the given name in the collec-
tion. (Read ResultData)

Properties (details)

.Count
The number of ResultData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the ResultData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the ResultData at the given index.
Parameters:

• index: The index of the ResultData. (number)

Returns:

• ResultData: The ResultData at the given index.

:Item
Returns the ResultData with the given label.
Parameters:

• label: The label of the ResultData. (string)

Returns:

• ResultData: The ResultData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-722

:Items
Returns a table of ResultData.
Returns:

• table: A table of ResultData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-723

10.4.38 SurfaceCurrentsCollection

A collection of surface currents results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/startup.fek]])

-- Obtain the collection of surface currents in the model

surfaceCurrents = app.Models[1].Configurations[1].SurfaceCurrents

-- Display the list of current requests

print("The following current requests are available:")


printlist(surfaceCurrents)

-- Export each of the currents to a file

for i, currentData in pairs(surfaceCurrents) do


print("Exporting " .. currentData.Label)
filename = "CurrentsFor" .. currentData.Label
currentData:ExportData(filename, pf.Enums.CurrentsExportTypeEnum.Currents, 1)
end

Property list

Name Description
.Count The number of SurfaceCurrentsData items in the
collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the SurfaceCurrentsData at the given index.
(Returns a SurfaceCurrentsData object.)
:Item (label) Returns the SurfaceCurrentsData with the given la-
bel.
(Returns a SurfaceCurrentsData object.)
:Items () Returns a table of SurfaceCurrentsData.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-724

Index list

[number] Returns the SurfaceCurrentsData at the given index in the


collection. (Read SurfaceCurrentsData)
[string] Returns the SurfaceCurrentsData with the given name in
the collection. (Read SurfaceCurrentsData)

Properties (details)

.Count
The number of SurfaceCurrentsData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the SurfaceCurrentsData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the SurfaceCurrentsData at the given index.
Parameters:

• index: The index of the SurfaceCurrentsData. (number)

Returns:

• SurfaceCurrentsData: The SurfaceCurrentsData at the given index.

:Item
Returns the SurfaceCurrentsData with the given label.
Parameters:

• label: The label of the SurfaceCurrentsData. (string)

Returns:

• SurfaceCurrentsData: The SurfaceCurrentsData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-725

:Items
Returns a table of SurfaceCurrentsData.
Returns:

• table: A table of SurfaceCurrentsData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-726

10.4.39 TRCoefficientCollection

A collection of transmission reflection coefficient results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Wire_Cross_tht45_eta0.fek]])

transmissionReflectionCollection = app.Models[1].Configurations[1].TRCoefficients

-- Add the first transmission reflection request to a Cartesian graph

graph = app.CartesianGraphs:Add()
transmissionReflectionTrace1 = graph.Traces:Add(transmissionReflectionCollection[1]) -- Index method
transmissionReflectionTrace2 = graph.Traces:Add(transmissionReflectionCollection["TRCoefficients1"]) -- Name method

Property list

Name Description
.Count The number of TRCoefficientData items in the col-
lection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the TRCoefficientData at the given index.
(Returns a TRCoefficientData object.)
:Item (label) Returns the TRCoefficientData with the given label.
(Returns a TRCoefficientData object.)
:Items () Returns a table of TRCoefficientData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

[number] Returns the TRCoefficientData at the given index in the


collection. (Read TRCoefficientData)
[string] Returns the TRCoefficientData with the given name in the
collection. (Read TRCoefficientData)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-727

Properties (details)

.Count
The number of TRCoefficientData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the TRCoefficientData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the TRCoefficientData at the given index.
Parameters:

• index: The index of the TRCoefficientData. (number)

Returns:

• TRCoefficientData: The TRCoefficientData at the given index.

:Item
Returns the TRCoefficientData with the given label.
Parameters:

• label: The label of the TRCoefficientData. (string)

Returns:

• TRCoefficientData: The TRCoefficientData with the given label.

:Items
Returns a table of TRCoefficientData.
Returns:

• table: A table of TRCoefficientData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-728

10.4.40 TransmissionLineCollection

A collection of transmission line results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Log_Periodic_Network_Load.fek]])

transmissionLineCollection = app.Models[1].Configurations[1].TransmissionLines

-- Add traces for all transmission lines in the ’TransmissionLineCollection’

graph = app.CartesianGraphs:Add()
for index, data in pairs(transmissionLineCollection) do
graph.Traces:Add(data)
end

Property list

Name Description
.Count The number of TransmissionLineData items in the
collection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the TransmissionLineData at the given in-
dex.
(Returns a TransmissionLineData object.)
:Item (label) Returns the TransmissionLineData with the given la-
bel.
(Returns a TransmissionLineData object.)
:Items () Returns a table of TransmissionLineData.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-729

[number] Returns the TransmissionLineData at the given index in


the collection. (Read TransmissionLineData)
[string] Returns the TransmissionLineData with the given name in
the collection. (Read TransmissionLineData)

Properties (details)

.Count
The number of TransmissionLineData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the TransmissionLineData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the TransmissionLineData at the given index.
Parameters:

• index: The index of the TransmissionLineData. (number)

Returns:

• TransmissionLineData: The TransmissionLineData at the given index.

:Item
Returns the TransmissionLineData with the given label.
Parameters:

• label: The label of the TransmissionLineData. (string)

Returns:

• TransmissionLineData: The TransmissionLineData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-730

:Items
Returns a table of TransmissionLineData.
Returns:

• table: A table of TransmissionLineData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-731

10.4.41 ViewCollection

A collection of 3D model views.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/mulitple_configurations.fek]])

-- Add a far field to the first 3D view (which gets created from the first configuration by default)

defaultView = app.Views[1]
defaultView.Plots:Add(app.Models[1].Configurations[1].FarFields[1])

-- Add a new view for the second configuration to the ’ViewCollection’. Add its far field.

secondConfiguraitonView = app.Views:Add(app.Models[1].Configurations[2])
secondConfiguraitonView.Plots:Add(app.Models[1].Configurations[2].FarFields[1])

Property list

Name Description
.Count The number of View items in the collection.
(Read only number)

Method list

Name Description
:Add (configuration) Adds a new 3D model view to the collection.
(Returns a View object.)
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the View at the given index.
(Returns a View object.)
:Item (label) Returns the View with the given label.
(Returns a View object.)
:Items () Returns a table of View.
(Returns a table object.)

Operator list

# The number of items in the collection.

Index list

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-732

[number] Returns the View at the given index in the collection.


(Read View)
[string] Returns the View with the given name in the collection.
(Read View)

Properties (details)

.Count
The number of View items in the collection.
Type: number
Access: Read only

Methods (details)

:Add
Adds a new 3D model view to the collection.
Parameters:

• configuration: The Configuration that must be displayed.


(SolutionConfiguration)

Returns:

• View: The new 3D model view.

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the View. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the View at the given index.
Parameters:

• index: The index of the View. (number)

Returns:

• View: The View at the given index.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-733

:Item
Returns the View with the given label.
Parameters:

• label: The label of the View. (string)

Returns:

• View: The View with the given label.

:Items
Returns a table of View.
Returns:

• table: A table of View.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-734

10.4.42 WireCurrentsCollection

A collection of wire currents results.


See the example below:
app = pf.GetApplication()
app:NewProject()
app:OpenFile(FEKO_HOME..[[/examples/Resources/Automation/Dipole_Example_MultipleCurrents.fek]])

-- Obtain the collection of wire currents in the model

currents = app.Models[1].Configurations[1].WireCurrents

-- Display the list of current requests

print("The following current requests are available:")


printlist(currents)

-- Export each of the currents to a file

for i, currentData in pairs(currents) do


print("Exporting " .. currentData.Label)
filename = "CurrentsFor" .. currentData.Label
currentData:ExportData(filename, pf.Enums.CurrentsExportTypeEnum.Currents, 1)
end

Property list

Name Description
.Count The number of WireCurrentsData items in the col-
lection.
(Read only number)

Method list

Name Description
:Contains (label) Checks if the collection contains an item with the
given label.
(Returns a boolean object.)
:Item (index) Returns the WireCurrentsData at the given index.
(Returns a WireCurrentsData object.)
:Item (label) Returns the WireCurrentsData with the given label.
(Returns a WireCurrentsData object.)
:Items () Returns a table of WireCurrentsData.
(Returns a table object.)

Operator list

# The number of items in the collection.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-735

Index list

[number] Returns the WireCurrentsData at the given index in the


collection. (Read WireCurrentsData)
[string] Returns the WireCurrentsData with the given name in the
collection. (Read WireCurrentsData)

Properties (details)

.Count
The number of WireCurrentsData items in the collection.
Type: number
Access: Read only

Methods (details)

:Contains
Checks if the collection contains an item with the given label.
Parameters:

• label: The label of the WireCurrentsData. (string)

Returns:

• boolean: The success of the check.

:Item
Returns the WireCurrentsData at the given index.
Parameters:

• index: The index of the WireCurrentsData. (number)

Returns:

• WireCurrentsData: The WireCurrentsData at the given index.

:Item
Returns the WireCurrentsData with the given label.
Parameters:

• label: The label of the WireCurrentsData. (string)

Returns:

• WireCurrentsData: The WireCurrentsData with the given label.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-736

:Items
Returns a table of WireCurrentsData.
Returns:

• table: A table of WireCurrentsData.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-737

10.5 Function reference (API)

Static functions are similar to methods, but they are accessed using a full stop (“.”), while meth-
ods are accessed using a colon (“:”). Many objects have static functions, but only a limited
number of functions are available directly in the pf name space.
The most important, and currently the only, function is used very often in order to get hold of
the POSTFEKO application object. The example below illustrates how the application object is
accessed and a model is loaded. It is important to remember to use the pf name space.

Function list

Name Description
GetApplication () Returns an instance of the POSTFEKO application object.
(Returns a Application object.)

Name spaces (list)

Name Description
CharacteristicModes Characteristic mode data set functions.
CustomData Custom data data set functions.
Excitation Excitation data set functions.
FarField Far field data set functions.
Load Load data set functions.
NearField Near field data set functions.
Network Network data set functions.
Power Power data set functions.
SAR SAR data set functions.
SParameter S-parameter data set functions.
TRCoefficients Transmission/reflection coefficient data set functions.

Functions (details)

:GetApplication ()
Returns an instance of the POSTFEKO application object.

Returns:

• Application: An instance of the POSTFEKO application object.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-738

10.5.1 CharacteristicModes

Characteristic mode data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given characteristic mode.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given characteristic mode.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given characteristic mode.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the characteristic modes.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given characteristic mode.

Parameters:

• name: The full name of the characteristic mode. (string)

Returns:

• DataSet: A characteristic mode data set.

:GetDataSet (string name, number sample)


Returns the data set for the given characteristic mode.

Parameters:

• name: The full name of the characteristic mode. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A characteristic mode data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-739

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given characteristic mode.

Parameters:

• name: The full name of the characteristic mode. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A characteristic mode data set.

:GetNames ()
Returns a list containing the names of the characteristic modes.

Returns:

• table: A list of characteristic mode names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-740

10.5.2 CustomData

Custom data data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given custom data.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given custom data.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given custom data.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the custom data entities.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given custom data.

Parameters:

• name: The full name of the custom data. (string)

Returns:

• DataSet: A custom data data set.

:GetDataSet (string name, number sample)


Returns the data set for the given custom data.

Parameters:

• name: The full name of the custom data. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A custom data data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-741

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given custom data.

Parameters:

• name: The full name of the custom data. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A custom data data set.

:GetNames ()
Returns a list containing the names of the custom data entities.

Returns:

• table: A list of custom data names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-742

10.5.3 Excitation

Excitation data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given excitation.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given excitation.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given excitation.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the excitations.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given excitation.

Parameters:

• name: The full name of the excitation. (string)

Returns:

• DataSet: A excitation data set.

:GetDataSet (string name, number sample)


Returns the data set for the given excitation.

Parameters:

• name: The full name of the excitation. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A excitation data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-743

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given excitation.

Parameters:

• name: The full name of the excitation. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A excitation data set.

:GetNames ()
Returns a list containing the names of the excitations.

Returns:

• table: A list of excitation names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-744

10.5.4 FarField

Far field data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given far field.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given far field.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given far field.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the far fields.
(Returns a table object.)
GetSampledDataSet Returns the data set for the continuous far field sampled using
(string name, number the given theta and phi sample densities.
theta, number phi)
(Returns a DataSet object.)
GetSampledDataSet Returns the data set for the continuous far field sampled using
(string name, num- the given theta and phi sample densities.
ber thetaStart, number
thetaEnd, number theta-
Count, number phiStart,
number phiEnd, number
phiCount)
(Returns a DataSet object.)
GetSampledDataSet Returns the data set for the continuous far field sampled using
(string name, number the given theta and phi sample densities.
freq, number theta, num-
ber phi)
(Returns a DataSet object.)
GetSampledDataSet Returns the data set for the continuous far field sampled using
(string name, number the given theta and phi sample densities.
freqStart, number fre-
qEnd, number freqCount,
number thetaStart, num-
ber thetaEnd, number
thetaCount, number phiS-
tart, number phiEnd,
number phiCount)
(Returns a DataSet object.)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-745

Functions (details)

:GetDataSet (string name)


Returns the data set for the given far field.

Parameters:

• name: The full name of the far field. (string)

Returns:

• DataSet: A far field data set.

:GetDataSet (string name, number sample)


Returns the data set for the given far field.

Parameters:

• name: The full name of the far field. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A far field data set.

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given far field.

Parameters:

• name: The full name of the far field. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A far field data set.

:GetNames ()
Returns a list containing the names of the far fields.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-746

Returns:

• table: A list of far field names.

:GetSampledDataSet (string name, number theta, number phi)


Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.

Parameters:

• name: The full name of the far field. (string)


• theta: The theta sample density. (number)
• phi: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

:GetSampledDataSet (string name, number thetaStart, number thetaEnd, number thetaCount, numb
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.

Parameters:

• name: The full name of the far field. (string)


• thetaStart: The start of the theta range to sample. (number)
• thetaEnd: The end of the theta range to sample. (number)
• thetaCount: The theta sample density. (number)
• phiStart: The start of the phi range to sample. (number)
• phiEnd: The end of the phi range to sample. (number)
• phiCount: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

:GetSampledDataSet (string name, number freq, number theta, number phi)


Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-747

Parameters:

• name: The full name of the far field. (string)


• freq: The frequency sample density. (number)
• theta: The theta sample density. (number)
• phi: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

:GetSampledDataSet (string name, number freqStart, number freqEnd, number freqCount, number t
Returns the data set for the continuous far field sampled using the given theta and phi sample
densities.

Parameters:

• name: The full name of the far field. (string)


• freqStart: The start of the frequency range to sample. (number)
• freqEnd: The end of the frequency range to sample. (number)
• freqCount: The frequency sample density. (number)
• thetaStart: The start of the theta range to sample. (number)
• thetaEnd: The end of the theta range to sample. (number)
• thetaCount: The theta sample density. (number)
• phiStart: The start of the phi range to sample. (number)
• phiEnd: The end of the phi range to sample. (number)
• phiCount: The phi sample density. (number)

Returns:

• DataSet: A far field data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-748

10.5.5 Load

Load data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given load.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given load.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given load.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the loads.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given load.

Parameters:

• name: The full name of the load. (string)

Returns:

• DataSet: A load data set.

:GetDataSet (string name, number sample)


Returns the data set for the given load.

Parameters:

• name: The full name of the load. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A load data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-749

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given load.

Parameters:

• name: The full name of the load. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A load data set.

:GetNames ()
Returns a list containing the names of the loads.

Returns:

• table: A list of load names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-750

10.5.6 NearField

Near field data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given near field.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given near field.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given near field.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetMediaDataSet (string Returns the data set containing the media information for the
name) given near field.
(Returns a DataSet object.)
GetMediaDataSet (string Returns the data set containing the media information for the
name, number sample) given near field.
(Returns a DataSet object.)
GetMediaDataSet (string Returns the data set containing the media information for the
name, number startFreq, given near field.
number endFreq, number
sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the near fields.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given near field.

Parameters:

• name: The full name of the near field. (string)

Returns:

• DataSet: A near field data set.

:GetDataSet (string name, number sample)


Returns the data set for the given near field.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-751

Parameters:

• name: The full name of the near field. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A near field data set.

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given near field.

Parameters:

• name: The full name of the near field. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A near field data set.

:GetMediaDataSet (string name)


Returns the data set containing the media information for the given near field.

Parameters:

• name: The full name of the near field. (string)

Returns:

• DataSet: A near field media data set.

:GetMediaDataSet (string name, number sample)


Returns the data set containing the media information for the given near field.

Parameters:

• name: The full name of the near field. (string)


• sample: The sample density for the continuous frequency axis. (number)

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-752

Returns:

• DataSet: A near field media data set.

:GetMediaDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set containing the media information for the given near field.

Parameters:

• name: The full name of the near field. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A near field media data set.

:GetNames ()
Returns a list containing the names of the near fields.

Returns:

• table: A list of near field names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-753

10.5.7 Network

Network data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given network.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given network.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given network.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the networks.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given network.

Parameters:

• name: The full name of the network. (string)

Returns:

• DataSet: A network data set.

:GetDataSet (string name, number sample)


Returns the data set for the given network.

Parameters:

• name: The full name of the network. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A network data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-754

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given network.

Parameters:

• name: The full name of the network. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A network data set.

:GetNames ()
Returns a list containing the names of the networks.

Returns:

• table: A list of network names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-755

10.5.8 Power

Power data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given power.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given power.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given power.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the power entities.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given power.

Parameters:

• name: The full name of the power. (string)

Returns:

• DataSet: A power data set.

:GetDataSet (string name, number sample)


Returns the data set for the given power.

Parameters:

• name: The full name of the power. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A power data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-756

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given power.

Parameters:

• name: The full name of the power. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A power data set.

:GetNames ()
Returns a list containing the names of the power entities.

Returns:

• table: A list of power names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-757

10.5.9 SAR

SAR data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given SAR.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given SAR.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given SAR.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the SAR entities.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given SAR.

Parameters:

• name: The full name of the SAR. (string)

Returns:

• DataSet: A SAR data set.

:GetDataSet (string name, number sample)


Returns the data set for the given SAR.

Parameters:

• name: The full name of the SAR. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A SAR data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-758

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given SAR.

Parameters:

• name: The full name of the SAR. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A SAR data set.

:GetNames ()
Returns a list containing the names of the SAR entities.

Returns:

• table: A list of SAR names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-759

10.5.10 SParameter

S-parameter data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given S-parameter.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given S-parameter.
number sample)
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given S-parameter.
number startFreq, number
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the S-parameters.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given S-parameter.

Parameters:

• name: The full name of the S-parameter. (string)

Returns:

• DataSet: A S-parameter data set.

:GetDataSet (string name, number sample)


Returns the data set for the given S-parameter.

Parameters:

• name: The full name of the S-parameter. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A S-parameter data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-760

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given S-parameter.

Parameters:

• name: The full name of the S-parameter. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A S-parameter data set.

:GetNames ()
Returns a list containing the names of the S-parameters.

Returns:

• table: A list of S-parameter names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-761

10.5.11 TRCoefficients

Transmission/reflection coefficient data set functions.

Function list

Name Description
GetDataSet (string name) Returns the data set for the given transmission/reflection coef-
ficient.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given transmission/reflection coef-
number sample) ficient.
(Returns a DataSet object.)
GetDataSet (string name, Returns the data set for the given transmission/reflection coef-
number startFreq, number ficient.
endFreq, number sample)
(Returns a DataSet object.)
GetNames () Returns a list containing the names of the transmission/reflec-
tion coefficient entities.
(Returns a table object.)

Functions (details)

:GetDataSet (string name)


Returns the data set for the given transmission/reflection coefficient.

Parameters:

• name: The full name of the transmission/reflection coefficient. (string)

Returns:

• DataSet: A transmission/reflection coefficient data set.

:GetDataSet (string name, number sample)


Returns the data set for the given transmission/reflection coefficient.

Parameters:

• name: The full name of the transmission/reflection coefficient. (string)


• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A transmission/reflection coefficient data set.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-762

:GetDataSet (string name, number startFreq, number endFreq, number sample)


Returns the data set for the given transmission/reflection coefficient.

Parameters:

• name: The full name of the transmission/reflection coefficient. (string)


• startFreq: The start frequency to use when sampling the continuous frequency axis.
(number)
• endFreq: The end frequency to use when sampling the continuous frequency axis.
(number)
• sample: The sample density for the continuous frequency axis. (number)

Returns:

• DataSet: A transmission/reflection coefficient data set.

:GetNames ()
Returns a list containing the names of the transmission/reflection coefficient entities.

Returns:

• table: A list of transmission/reflection coefficient names.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-763

10.6 Enumeration type reference (API)

Enumerations are pre-defined values that can be used. It is not required to use the enumerations
since they are equivalent to using the string or number value directly, but using the enumer-
ations makes a script easier to read and ensures compatibility in the future. An example of
enumeration being used is given in the following example. Note how enumerations are accessed
using “pf.Enums” and that these enumerations are also part of the auto complete feature in the
POSTFEKO script editor.
The following list of enumerations are available in POSTFEKO.

/ AnimationFormatEnum

/ AnimationQualityEnum

/ AnimationTypeEnum

/ AxesScaleEnum

/ AxesTickMarkSpacingEnum

/ ColourEnum

/ ComplexComponentEnum

/ ContourTypeEnum

/ ContourValueTypeEnum

/ CurrentsExportTypeEnum

/ DataSetAxisEnum

/ DataSetQuantityTypeEnum

/ ErrorEstimateQuantityTypeEnum

/ FarFieldQuantityComponentEnum

/ FarFieldQuantityTypeEnum

/ FarFieldsExportTypeEnum

/ FormDataSelectorType

/ FormLayoutEnum

/ FormSeparatorEnum

/ FrequencyUnitEnum

/ GraphLegendPositionEnum

/ GridTypeEnum

/ ImpedanceQuantityTypeEnum

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-764

/ ImportFileTypeEnum

/ LineStyleEnum

/ LinearScaleRangeTypeEnum

/ LoadingTypeEnum

/ LogScaleRangeTypeEnum

/ MarkerPlacementEnum

/ MarkerSymbolEnum

/ MathScriptTypeEnum

/ MeshColouringOptionsEnum

/ MeshEntityTypeEnum

/ MeshHighlightingOptionsEnum

/ NearFieldQuantityTypeEnum

/ NearFieldsExportTypeEnum

/ NetworkParameterFormatEnum

/ NetworkParameterTypeEnum

/ NetworkQuantityTypeEnum

/ NormalisationMethodEnum

/ NumberFormatEnum

/ PlotSamplingMethodEnum

/ PolarGraphDirectionEnum

/ PolarGraphOrientationEnum

/ PolarisationTypeEnum

/ PowerQuantityTypeEnum

/ RayFieldTypeEnum

/ RayTypeEnum

/ ReportDocumentTypeEnum

/ ReportOrientationEnum

/ RequestPointsDisplayTypeEnum

/ RequestsVisualisationTypeEnum

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-765

/ SARQuantityTypeEnum

/ SamplingMethodEnum

/ SourcesScaleTypeEnum

/ SpiceProbeValueTypeEnum

/ StoredDataTypeEnum

/ SurfaceCurrentsQuantityTypeEnum

/ TRCoefficientQuantityTypeEnum

/ ViewDirectionEnum

/ ViewLegendPositionEnum

/ WireCurrentsQuantityTypeEnum

/ WireCurrentsSortEnum

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-766

10.6.1 AnimationFormatEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the AnimationFor-
matEnum enumeration is accessed as illustrated below.
pf.Enums.AnimationFormatEnum.<enum option>

Enumeration option Value


AVI “AVI”
MOV “MOV”
GIF “GIF”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-767

10.6.2 AnimationQualityEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Animation-
QualityEnum enumeration is accessed as illustrated below.
pf.Enums.AnimationQualityEnum.<enum option>

Enumeration option Value


Low “Low”
Normal “Normal”
High “High”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-768

10.6.3 AnimationTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Animation-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.AnimationTypeEnum.<enum option>

Enumeration option Value


Phase “Phase”
Frequency “Frequency”
PhiRotate “PhiRotate”
ThetaRotate “ThetaRotate”
ThetaAndPhiRotate “ThetaAndPhiRotate”
TimeStep “TimeStep”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-769

10.6.4 AxesScaleEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are avail-
able under the pf namespace and grouped together under enums. This means that the AxesS-
caleEnum enumeration is accessed as illustrated below.
pf.Enums.AxesScaleEnum.<enum option>

Enumeration option Value


ScaleWithWindow “ScaleWithWindow”
ScaleWithModel “ScaleWithModel”
SpecifyLength “SpecifyLength”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-770

10.6.5 AxesTickMarkSpacingEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the AxesTick-
MarkSpacingEnum enumeration is accessed as illustrated below.
pf.Enums.AxesTickMarkSpacingEnum.<enum option>

Enumeration option Value


Auto “Auto”
Count “Count”
Spacing “Spacing”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-771

10.6.6 ColourEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ColourEnum
enumeration is accessed as illustrated below.
pf.Enums.ColourEnum.<enum option>

Enumeration option Value


Black “Black”
White “White”
DarkGrey “DarkGrey”
Grey “Grey”
LightGrey “LightGrey”
Red “Red”
Green “Green”
Blue “Blue”
Cyan “Cyan”
Magenta “Magenta”
Yellow “Yellow”
DarkRed “DarkRed”
DarkGreen “DarkGreen”
DarkBlue “DarkBlue”
DarkCyan “DarkCyan”
DarkMagenta “DarkMagenta”
DarkYellow “DarkYellow”
Transparent “Transparent”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-772

10.6.7 ComplexComponentEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ComplexCom-
ponentEnum enumeration is accessed as illustrated below.
pf.Enums.ComplexComponentEnum.<enum option>

Enumeration option Value


Magnitude “Magnitude”
Phase “Phase”
Real “Real”
Imaginary “Imaginary”
Instantaneous “Instantaneous”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-773

10.6.8 ContourTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ContourType-
Enum enumeration is accessed as illustrated below.
pf.Enums.ContourTypeEnum.<enum option>

Enumeration option Value


SpecifyByCount “SpecifyByCount”
SpecifyByValue “SpecifyByValue”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-774

10.6.9 ContourValueTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ContourVal-
ueTypeEnum enumeration is accessed as illustrated below.
pf.Enums.ContourValueTypeEnum.<enum option>

Enumeration option Value


ByValue “ByValue”
ByPercentage “ByPercentage”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-775

10.6.10 CurrentsExportTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the CurrentsEx-
portTypeEnum enumeration is accessed as illustrated below.
pf.Enums.CurrentsExportTypeEnum.<enum option>

Enumeration option Value


Currents “Currents”
Charges “Charges”
Both “Both”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-776

10.6.11 DataSetAxisEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are avail-
able under the pf namespace and grouped together under enums. This means that the DataSe-
tAxisEnum enumeration is accessed as illustrated below.
pf.Enums.DataSetAxisEnum.<enum option>

Enumeration option Value


Phi “Phi”
Theta “Theta”
IncidentPhi “IncidentPhi”
IncidentTheta “IncidentTheta”
X “X”
Y “Y”
Z “Z”
Rho “Rho”
R “R”
Frequency “Frequency”
Index “Index”
Solution “Solution”
Time “Time”
Mode “Mode”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-777

10.6.12 DataSetQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the DataSetQuan-
tityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.DataSetQuantityTypeEnum.<enum option>

Enumeration option Value


Scalar “Scalar”
Complex “Complex”
Boolean “Boolean”
String “String”
Enum “Enum”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-778

10.6.13 ErrorEstimateQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ErrorEstimate-
QuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.ErrorEstimateQuantityTypeEnum.<enum option>

Enumeration option Value


AllElements “AllElements”
Triangles “Triangles”
Segments “Segments”
Tetrahedra “Tetrahedra”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-779

10.6.14 FarFieldQuantityComponentEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FarFieldQuan-
tityComponentEnum enumeration is accessed as illustrated below.
pf.Enums.FarFieldQuantityComponentEnum.<enum option>

Enumeration option Value


Total “Total”
Theta “Theta”
Phi “Phi”
LHC “LHC”
RHC “RHC”
ZComp “ZComp”
SComp “SComp”
MajorMinor “MajorMinor”
MinorMajor “MinorMajor”
Ludwig3Co “Ludwig3Co”
Ludwig3Cross “Ludwig3Cross”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-780

10.6.15 FarFieldQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FarFieldQuan-
tityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.FarFieldQuantityTypeEnum.<enum option>

Enumeration option Value


Directivity “Directivity”
Gain “Gain”
EField “EField”
RCS “RCS”
AxialRatio “AxialRatio”
AxialRatioHanded “AxialRatioHanded”
Handedness “Handedness”
TotalRadiatedPower “TotalRadiatedPower”
RealisedGain “RealisedGain”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-781

10.6.16 FarFieldsExportTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FarFieldsEx-
portTypeEnum enumeration is accessed as illustrated below.
pf.Enums.FarFieldsExportTypeEnum.<enum option>

Enumeration option Value


Gain “Gain”
Directivity “Directivity”
RealisedGain “RealisedGain”
RCS “RCS”
Unknown “Unknown”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-782

10.6.17 FormDataSelectorType

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FormDataSe-
lectorType enumeration is accessed as illustrated below.
pf.Enums.FormDataSelectorType.<enum option>

Enumeration option Value


NearField “NearField”
FarField “FarField”
Excitation “Excitation”
Load “Load”
Network “Network”
SParameter “SParameter”
Power “Power”
TRCoefficient “TRCoefficient”
SAR “SAR”
CharacteristicMode “CharacteristicMode”
CustomData “CustomData”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-783

10.6.18 FormLayoutEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FormLay-
outEnum enumeration is accessed as illustrated below.
pf.Enums.FormLayoutEnum.<enum option>

Enumeration option Value


Horizontal “Horizontal”
Vertical “Vertical”
Grid “Grid”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-784

10.6.19 FormSeparatorEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FormSepara-
torEnum enumeration is accessed as illustrated below.
pf.Enums.FormSeparatorEnum.<enum option>

Enumeration option Value


Horizontal “Horizontal”
Vertical “Vertical”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-785

10.6.20 FrequencyUnitEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the FrequencyU-
nitEnum enumeration is accessed as illustrated below.
pf.Enums.FrequencyUnitEnum.<enum option>

Enumeration option Value


GHz “GHz”
MHz “MHz”
kHz “kHz”
Hz “Hz”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-786

10.6.21 GraphLegendPositionEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the GraphLegend-
PositionEnum enumeration is accessed as illustrated below.
pf.Enums.GraphLegendPositionEnum.<enum option>

Enumeration option Value


None “None”
Top “Top”
Right “Right”
Bottom “Bottom”
Left “Left”
OverlayTopLeft “OverlayTopLeft”
OverlayTopRight “OverlayTopRight”
OverlayBottomLeft “OverlayBottomLeft”
OverlatBottomRight “OverlatBottomRight”
CustomPosition “CustomPosition”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-787

10.6.22 GridTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the GridTypeEnum
enumeration is accessed as illustrated below.
pf.Enums.GridTypeEnum.<enum option>

Enumeration option Value


Impedance “Impedance”
Admittance “Admittance”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-788

10.6.23 ImpedanceQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Impedance-
QuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.ImpedanceQuantityTypeEnum.<enum option>

Enumeration option Value


Impedance “Impedance”
Admittance “Admittance”
Voltage “Voltage”
Current “Current”
ReflectionCoefficient “ReflectionCoefficient”
VSWR “VSWR”
SourcePower “SourcePower”
MismatchPowerLoss “MismatchPowerLoss”
MismatchLoss “MismatchLoss”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-789

10.6.24 ImportFileTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ImportFile-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.ImportFileTypeEnum.<enum option>

Enumeration option Value


FEKOFarField “FEKOFarField”
FEKONearField “FEKONearField”
FEKOElectricNearField “FEKOElectricNearField”
FEKOMagneticNearField “FEKOMagneticNearField”
Touchstone “Touchstone”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-790

10.6.25 LineStyleEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the LineStyleEnum
enumeration is accessed as illustrated below.
pf.Enums.LineStyleEnum.<enum option>

Enumeration option Value


NoPen “NoPen”
SolidLine “SolidLine”
DashLine “DashLine”
DotLine “DotLine”
DashDotLine “DashDotLine”
DashDotDotLine “DashDotDotLine”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-791

10.6.26 LinearScaleRangeTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are avail-
able under the pf namespace and grouped together under enums. This means that the Lin-
earScaleRangeTypeEnum enumeration is accessed as illustrated below.
pf.Enums.LinearScaleRangeTypeEnum.<enum option>

Enumeration option Value


Auto “Auto”
Fixed “Fixed”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-792

10.6.27 LoadingTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the LoadingType-
Enum enumeration is accessed as illustrated below.
pf.Enums.LoadingTypeEnum.<enum option>

Enumeration option Value


Impedance “Impedance”
Admittance “Admittance”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-793

10.6.28 LogScaleRangeTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the LogScaleRangeType-
Enum enumeration is accessed as illustrated below.
pf.Enums.LogScaleRangeTypeEnum.<enum option>

Enumeration option Value


Auto “Auto”
Max “Max”
Fixed “Fixed”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-794

10.6.29 MarkerPlacementEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the MarkerPlace-
mentEnum enumeration is accessed as illustrated below.
pf.Enums.MarkerPlacementEnum.<enum option>

Enumeration option Value


CalculatedPoints “CalculatedPoints”
DenselySpaced “DenselySpaced”
SparselySpaced “SparselySpaced”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-795

10.6.30 MarkerSymbolEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the MarkerSym-
bolEnum enumeration is accessed as illustrated below.
pf.Enums.MarkerSymbolEnum.<enum option>

Enumeration option Value


None “None”
Cross “Cross”
Circle “Circle”
Triangle “Triangle”
Square “Square”
Diamond “Diamond”
FilledCircle “FilledCircle”
FilledTriangle “FilledTriangle”
FilledSquare “FilledSquare”
FilledDiamond “FilledDiamond”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-796

10.6.31 MathScriptTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the MathScript-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.MathScriptTypeEnum.<enum option>

Enumeration option Value


Custom “Custom”
NearField “NearField”
TimeNearField “TimeNearField”
FarField “FarField”
Source “Source”
Load “Load”
Network “Network”
SParameter “SParameter”
Power “Power”
TRCoefficient “TRCoefficient”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-797

10.6.32 MeshColouringOptionsEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are avail-
able under the pf namespace and grouped together under enums. This means that the Mesh-
ColouringOptionsEnum enumeration is accessed as illustrated below.
pf.Enums.MeshColouringOptionsEnum.<enum option>

Enumeration option Value


FaceMedia “FaceMedia”
RegionMedia “RegionMedia”
Label “Label”
ElementNormal “ElementNormal”
ElementType “ElementType”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-798

10.6.33 MeshEntityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the MeshEntity-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.MeshEntityTypeEnum.<enum option>

Enumeration option Value


MoMFace “MoMFace”
MoMWire “MoMWire”
FEMRegion “FEMRegion”
UTDFace “UTDFace”
VEPRegion “VEPRegion”
UTDCylinder “UTDCylinder”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-799

10.6.34 MeshHighlightingOptionsEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the MeshHigh-
lightingOptionsEnum enumeration is accessed as illustrated below.
pf.Enums.MeshHighlightingOptionsEnum.<enum option>

Enumeration option Value


None “None”
LossyMetal “LossyMetal”
Coating “Coating”
CFIE_MFIE “CFIE_MFIE”
EFIE “EFIE”
ImpedanceSheet “ImpedanceSheet”
PhysicalOptics “PhysicalOptics”
PhysicalOpticsFockRegions “PhysicalOpticsFockRegions”
GeometricalOptics “GeometricalOptics”
UTD “UTD”
FEM “FEM”
WindscreenActiveElements “WindscreenActiveElements”
Aperture “Aperture”
VEP “VEP”
NumericalGreensFunction “NumericalGreensFunction”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-800

10.6.35 NearFieldQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NearField-
QuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.NearFieldQuantityTypeEnum.<enum option>

Enumeration option Value


EField “EField”
HField “HField”
Poynting “Poynting”
SAR “SAR”
EVectorPotential “EVectorPotential”
HVectorPotential “HVectorPotential”
ScalarEPotential “ScalarEPotential”
ScalarHPotential “ScalarHPotential”
ScalarEPotentialGradient “ScalarEPotentialGradient”
ScalarHPotentialGradient “ScalarHPotentialGradient”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-801

10.6.36 NearFieldsExportTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NearFieldsEx-
portTypeEnum enumeration is accessed as illustrated below.
pf.Enums.NearFieldsExportTypeEnum.<enum option>

Enumeration option Value


Electric “Electric”
Magnetic “Magnetic”
Both “Both”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-802

10.6.37 NetworkParameterFormatEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NetworkPa-
rameterFormatEnum enumeration is accessed as illustrated below.
pf.Enums.NetworkParameterFormatEnum.<enum option>

Enumeration option Value


DB “DB”
MA “MA”
RI “RI”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-803

10.6.38 NetworkParameterTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NetworkPa-
rameterTypeEnum enumeration is accessed as illustrated below.
pf.Enums.NetworkParameterTypeEnum.<enum option>

Enumeration option Value


Scattering “Scattering”
Admittance “Admittance”
Impedance “Impedance”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-804

10.6.39 NetworkQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NetworkQuan-
tityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.NetworkQuantityTypeEnum.<enum option>

Enumeration option Value


Impedance “Impedance”
Voltage “Voltage”
Current “Current”
Power “Power”
InPower “InPower”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-805

10.6.40 NormalisationMethodEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Normalisa-
tionMethodEnum enumeration is accessed as illustrated below.
pf.Enums.NormalisationMethodEnum.<enum option>

Enumeration option Value


AllTraces “AllTraces”
IndividualTraces “IndividualTraces”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-806

10.6.41 NumberFormatEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the NumberFor-
matEnum enumeration is accessed as illustrated below.
pf.Enums.NumberFormatEnum.<enum option>

Enumeration option Value


Scientific “Scientific”
Decimal “Decimal”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-807

10.6.42 PlotSamplingMethodEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the PlotSampling-
MethodEnum enumeration is accessed as illustrated below.
pf.Enums.PlotSamplingMethodEnum.<enum option>

Enumeration option Value


Auto “Auto”
RequestPoints “RequestPoints”
SpecifiedResolution “SpecifiedResolution”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-808

10.6.43 PolarGraphDirectionEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the PolarGraphDi-
rectionEnum enumeration is accessed as illustrated below.
pf.Enums.PolarGraphDirectionEnum.<enum option>

Enumeration option Value


Clockwise “Clockwise”
Anticlockwise “Anticlockwise”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-809

10.6.44 PolarGraphOrientationEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the PolarGraphOri-
entationEnum enumeration is accessed as illustrated below.
pf.Enums.PolarGraphOrientationEnum.<enum option>

Enumeration option Value


Auto “Auto”
ZeroAtTop “ZeroAtTop”
ZeroAtRight “ZeroAtRight”
ZeroAtLeft “ZeroAtLeft”
ZeroAtBottom “ZeroAtBottom”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-810

10.6.45 PolarisationTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Polarisation-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.PolarisationTypeEnum.<enum option>

Enumeration option Value


Total “Total”
CoPolarisation “CoPolarisation”
CrossPolarisation “CrossPolarisation”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-811

10.6.46 PowerQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the PowerQuanti-
tyTypeEnum enumeration is accessed as illustrated below.
pf.Enums.PowerQuantityTypeEnum.<enum option>

Enumeration option Value


ActivePower “ActivePower”
LossPower “LossPower”
Efficiency “Efficiency”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-812

10.6.47 RayFieldTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the RayFieldType-
Enum enumeration is accessed as illustrated below.
pf.Enums.RayFieldTypeEnum.<enum option>

Enumeration option Value


AllFields “AllFields”
NearElectricRequest “NearElectricRequest”
NearMagneticRequest “NearMagneticRequest”
FarFieldRequest “FarFieldRequest”
NearElectricMoM “NearElectricMoM”
NearMagneticMoM “NearMagneticMoM”
NearElectricCoupling “NearElectricCoupling”
NearMagneticCoupling “NearMagneticCoupling”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-813

10.6.48 RayTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the RayTypeEnum
enumeration is accessed as illustrated below.
pf.Enums.RayTypeEnum.<enum option>

Enumeration option Value


AllRays “AllRays”
ReflectionRay “ReflectionRay”
CreepingWaveRay “CreepingWaveRay”
EdgeWedgeDiffractionRay “EdgeWedgeDiffractionRay”
CornerDiffractionRay “CornerDiffractionRay”
TransmissionRay “TransmissionRay”
DirectRay “DirectRay”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-814

10.6.49 ReportDocumentTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ReportDocu-
mentTypeEnum enumeration is accessed as illustrated below.
pf.Enums.ReportDocumentTypeEnum.<enum option>

Enumeration option Value


PDF “PDF”
MSWord “MSWord”
MSPowerPoint “MSPowerPoint”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-815

10.6.50 ReportOrientationEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ReportOrien-
tationEnum enumeration is accessed as illustrated below.
pf.Enums.ReportOrientationEnum.<enum option>

Enumeration option Value


Portrait “Portrait”
Landscape “Landscape”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-816

10.6.51 RequestPointsDisplayTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the RequestPoints-
DisplayTypeEnum enumeration is accessed as illustrated below.
pf.Enums.RequestPointsDisplayTypeEnum.<enum option>

Enumeration option Value


Auto “Auto”
On “On”
Off “Off”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-817

10.6.52 RequestsVisualisationTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the RequestsVisu-
alisationTypeEnum enumeration is accessed as illustrated below.
pf.Enums.RequestsVisualisationTypeEnum.<enum option>

Enumeration option Value


Points “Points”
Lines “Lines”
Surface “Surface”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-818

10.6.53 SARQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the SARQuantity-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.SARQuantityTypeEnum.<enum option>

Enumeration option Value


AverageOverTotalDomain “AverageOverTotalDomain”
AverageOverRequestedDomain “AverageOverRequestedDomain”
PeakSAR “PeakSAR”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-819

10.6.54 SamplingMethodEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the Sampling-
MethodEnum enumeration is accessed as illustrated below.
pf.Enums.SamplingMethodEnum.<enum option>

Enumeration option Value


AutoSample “AutoSample”
SpecifiedSamples “SpecifiedSamples”
DiscreteSamples “DiscreteSamples”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-820

10.6.55 SourcesScaleTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the SourcesScale-
TypeEnum enumeration is accessed as illustrated below.
pf.Enums.SourcesScaleTypeEnum.<enum option>

Enumeration option Value


Linear “Linear”
Decibel “Decibel”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-821

10.6.56 SpiceProbeValueTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the SpiceProbe-
ValueTypeEnum enumeration is accessed as illustrated below.
pf.Enums.SpiceProbeValueTypeEnum.<enum option>

Enumeration option Value


Current “Current”
Voltage “Voltage”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-822

10.6.57 StoredDataTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are avail-
able under the pf namespace and grouped together under enums. This means that the Stored-
DataTypeEnum enumeration is accessed as illustrated below.
pf.Enums.StoredDataTypeEnum.<enum option>

Enumeration option Value


NearField “NearField”
FarField “FarField”
Source “Source”
Load “Load”
Network “Network”
SParameter “SParameter”
Power “Power”
CharacteristicMode “CharacteristicMode”
TRCoefficient “TRCoefficient”
Custom “Custom”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-823

10.6.58 SurfaceCurrentsQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the SurfaceCur-
rentsQuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.SurfaceCurrentsQuantityTypeEnum.<enum option>

Enumeration option Value


ElectricCurrents “ElectricCurrents”
MagneticCurrents “MagneticCurrents”
Charges “Charges”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-824

10.6.59 TRCoefficientQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the TRCoefficien-
tQuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.TRCoefficientQuantityTypeEnum.<enum option>

Enumeration option Value


Reflection “Reflection”
Transmission “Transmission”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-825

10.6.60 ViewDirectionEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ViewDirectio-
nEnum enumeration is accessed as illustrated below.
pf.Enums.ViewDirectionEnum.<enum option>

Enumeration option Value


Isometric “Isometric”
Top “Top”
Bottom “Bottom”
Front “Front”
Back “Back”
Left “Left”
Right “Right”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-826

10.6.61 ViewLegendPositionEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the ViewLegend-
PositionEnum enumeration is accessed as illustrated below.
pf.Enums.ViewLegendPositionEnum.<enum option>

Enumeration option Value


TopLeft “TopLeft”
TopRight “TopRight”
BottomLeft “BottomLeft”
BottomRight “BottomRight”
None “None”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-827

10.6.62 WireCurrentsQuantityTypeEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the WireCur-
rentsQuantityTypeEnum enumeration is accessed as illustrated below.
pf.Enums.WireCurrentsQuantityTypeEnum.<enum option>

Enumeration option Value


Currents “Currents”
Charges “Charges”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-828

10.6.63 WireCurrentsSortEnum

Enumerations are lists of values that can be used. The enumerations for POSTFEKO are available
under the pf namespace and grouped together under enums. This means that the WireCur-
rentsSortEnum enumeration is accessed as illustrated below.
pf.Enums.WireCurrentsSortEnum.<enum option>

Enumeration option Value


ByIndex “ByIndex”
ByX “ByX”
ByY “ByY”
ByZ “ByZ”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-829

10.7 Data type reference (API)

The data types that are available as part of Lua and the POSTFEKO API are briefly described in
the sections that follow.

Name Description
Colour A colour specified in string format.
Expression An expression is a Lua string containing variables and numbers.
Eg: “(1+5)*10”.
MagnitudeColour A colour with an additional option of being specified “ByMagni-
tude”.
Unit A string containing a unit. Eg: “m/sˆ2”.
Variant A value which can be a number, string, boolean, Complex or
Point.
boolean A standard Lua boolean. See Lua documentation for more de-
tails.
function A standard Lua function. See Lua documentation for more de-
tails.
number A standard Lua number. See Lua documentation for more de-
tails.
string A standard Lua string. See Lua documentation for more details.
table A standard Lua table. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-830

10.7.1 Colour

A colour specified in string format.

Format Desription
#RRGGBB “A colour specified in HTML format eg: “#FF00FF”.”
ColourEnum “A colour specified by the ColourEnum eg:
pf.Enums.ColourEnum.Yellow.”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-831

10.7.2 Expression

An expression is a Lua string containing variables and numbers. Eg: “(1+5)*10”.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-832

10.7.3 MagnitudeColour

A colour with an additional option of being specified “ByMagnitude”.

Format Desription
#RRGGBB “A colour specified in HTML format eg: “#FF00FF”.”
ByMagnitude “The colour specified by magnitude.”
ColourEnum “A colour specified by the ColourEnum eg:
pf.Enums.ColourEnum.Yellow.”

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-833

10.7.4 Unit

A string containing a unit. Eg: “m/sˆ2”.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-834

10.7.5 Variant

A value which can be a number, string, boolean, Complex or Point.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-835

10.7.6 boolean

A standard Lua boolean. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-836

10.7.7 function

A standard Lua function. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-837

10.7.8 number

A standard Lua number. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-838

10.7.9 string

A standard Lua string. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-839

10.7.10 table

A standard Lua table. See Lua documentation for more details.

October 2013 FEKO User’s Manual


SCRIPTS AND APPLICATION PROGRAMMING INTERFACE (API) 10-840

10.8 Constant value reference (API)

The constant values that are available as part of Lua and the POSTFEKO API are listed below.
The constants are available under the pf.Const namespace as shown in the example extract.
pf.Const.<constant>

Name Description
c0 299792458.000176
Speed of light in free space in m/sec.
eps0 8.854187817609999e-012
Permittivity of free space in F/m.
mu0 1.25663706143592e-006
Permeability of free space in H/m.
pi 3.141592653589793
Mathematical constant pi (Ludolph’s number).
zf0 376.730313461992
Characteristic impedance of free space in Ohm.

October 2013 FEKO User’s Manual


Part IV

Working with EDITFEKO


INTRODUCTION TO EDITFEKO 11-1

11 Introduction to EDITFEKO

EDITFEKO is the FEKO component that facilitates the creation and editing of *.pre files. It is
a text editor with customised functionality to edit and modify the model geometry and solution
requests. The model geometry and calculation requests are entered on separate lines in the
*.pre file and are referred to as cards. Each card may have a number of parameters which must
be specified in a specific order/position. The order of the cards in the *.pre file is important as
it controls the order of the steps during the simulation.
Cards used to create geometry are called geometry cards (see Section 13). Cards used to request
and control calculation requests are called control cards (see Section 14).
For more information regarding the general structure of the *.pre file, refer to the advanced
modelling and solution control (see Section 12.2).

Contents
11.1 Typical EDITFEKO workflow when scripting . . . . . . . . . . . . . . . . . . . 11-1
11.2 Files generated and used by EDITFEKO . . . . . . . . . . . . . . . . . . . . . . 11-2
11.3 FEKO startpages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.4 The graphical user interface (GUI) of EDITFEKO . . . . . . . . . . . . . . . . 11-3
11.5 Launching EDITFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
11.6 Application menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.7 Script editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.8 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
11.9 Shortcut keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

11.1 Typical EDITFEKO workflow when scripting

The first step in constructing an EDITFEKO scripting example is to specify the segmentation
(meshing) by means of the IP card (see Section 13.24). Next the geometry is defined by means
of geometry cards. The end of the geometry is indicated by an EG card (see Section 13.13).
Next the control cards are specified which includes the FR card (see Section 14.39) to define
the frequency and the output requests. The end of the file is indicated by the EN card (see
Section 14.36). Comments may be added to the scripting model by means of the ** characters.
After the scripting model has been created in EDITFEKO, the FEKO solver is run. In the back-
ground, FEKO runs PREFEKO to create a *.fek file which is the input file for the FEKO solver. It
is however recommended to first verify the text of the *.pre file created in EDITFEKO by running
PREFEKO - PREFEKO can be executed on partial *.pre files as long as the input file contains the
EG (end of geometry) and EN (end of *.pre file) cards. If no error is given, POSTFEKO can be
run to view the (partial) model in 3D. After verifying the model in POSTFEKO, the FEKO solver
can be run either from within POSTFEKO or from EDITFEKO.

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-2

IP Segmentation parameters

… Cards to define geometry


EG End of geometry
… Specify excitations
FR Set frequency

… Output requests

Use EDITFEKO EN End of file


Create and edit
*.pre file

Run PREFEKO
Create/modify View geometry
geometry (for validation)
Run FEKO solver

View geometry
Create *.bof file
Use POSTFEKO and results

Figure 11-1: Illustration of the EDITFEKO workflow.

11.2 Files generated and used by EDITFEKO

The following file type is generated by EDITFEKO.

Files Description
*.pre A *.pre file is created when the EDITFEKO model is saved.

11.3 FEKO startpages

When starting a blank instance of CADFEKO, POSTFEKO or EDITFEKO (i.e. no models are
loaded), the start page will be displayed, giving quick access to a list of recently opened models.
Links to the PDF’s for the FEKO suite are also available here along with FEKO introduction videos.
It is recommended that these videos be watched by first time users.

Figure 11-2: The EDITFEKO and POSTFEKO startpages.

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-3

11.4 The graphical user interface (GUI) of EDITFEKO

11.4.1 The window

The various main elements and terminology of the EDITFEKO window will be briefly described.

1 8
7
2

3 6

1. Quick access toolbar These items give the user quick access to controls such as New model,
Save model, Undo and Redo actions (grouped at the left side of the toolbar) as well as
launching the FEKO solver, CADFEKO, POSTFEKO (for the display of the results obtained
by the FEKO solver) and PREFEKO (grouped at the right side of the toolbar, next to the
help button [7] and called Application Launcher).

2. Ribbon The ribbon contains the application menu, default tabs, contextual tabs and contex-
tual commands.

3. Editor area The scripting editor area contains the opened *.pre files - each file in its own
window. The path to the open file (with focus) can be viewed by hovering with mouse
over window tab. The window tabs may be re-ordered by simply dragging it to the desired
location.
Each *.pre file consists of geometry and control cards to specify the model geometry and
calculation requests. The *.pre files can also be added to the editor by means of drag and
drop.

4. Edit card Pressing <F1> on a card will highlight the card in the scripting editor area and
display its definition panel to the right, see No. [6]. It allows for quick viewing of the
parameters and for editing purposes.

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-4

5. Active status bar The active status bar gives the user quick access to the overwrite indicator
(INS) and the line and column numbers at the current cursor position.

6. Card panel The card definition panel contains the card definition. Selecting an action on the
ribbon or pressing <F1> on a card in the editor area (see No. 4) will display the card
definition panel. Pressing the OK button adds the card to the scripting editor area and
closes the card definition panel. Pressing the Add button adds the card but does not close
the card definition panel.

7. Help The Help button gives the user quick access to the FEKO manuals. Context sensitive
help is available in all FEKO Suite GUI components by pressing <F1> at any time.
1 bar The search bar enables the search 3
2 for specific card, action or keyword in EDIT-
8. Search
FEKO. Entering a keyword in the search bar will populate a dropdown list of actions as well
as the location of the respective action on the ribbon or context menu. Clicking on any of
the items in the list will execute the respective action.

4 5
11.4.2 The ribbon

The ribbon consists of several elements.

1 2

3 4

1. Application menu The application menu contains the following commands: New, Open,
Save as..., Save all, Print, Check for updates, Settings and About.

2. Default tabs The default tabs are always visible and contain general commands.

3. Group of commands Similar actions or commands are contained in a group.

4. Dialog launcher Clicking on the dialog launcher will launch a dialog with additional settings
that relate to that group.

11.5 Launching EDITFEKO

EDITFEKO can be launched (i) from the command line in a console environment, (ii) by double
clicking on the EDITFEKO icon, or (iii) by launching EDITFEKO from other suite components
such as CADFEKO or POSTFEKO. If the application icon is used to launch EDITFEKO, then no
model will be loaded and the start page will be shown. Launching EDITFEKO from other suite
applications will automatically load the model into the editor.
The command line method give users a choice as to how they would like to launch EDITFEKO.
If a model (or set of models) is specified, then it will be added to the editor; otherwise a blank

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-5

editor will be given. Command line arguments can be used to specify additional parameters
when launching EDITFEKO. Arguments that may be used are listed in Table 11-1.
Launching EDITFEKO from a console with no command line arguments is the same as launching
it from the desktop. No models will be loaded and a blank project will be presented.

Table 11-1: Command line arguments for launching EDITFEKO

Argument Description
−−version Displays the current version of EDITFEKO.
−−feko-lite Execute as FEKO LITE.

11.6 Application menu

The application menu (see Section 11.4.2) on the ribbon contains actions such as New, Open,
Save, Save as..., Save all, Print, Check for updates and Settings

11.6.1 Checking for updates to the FEKO Suite

Select Check for updates on the application menu and click Check for updates on the
FEKO update dialog to connect to the FEKO website and retrieve information regarding
the latest updates. This operation checks if any updates are available (see Section 23) compared
to the installed components. It does not send any information to the website.
If automatic updates have been enabled on the Settings tab, EDITFEKO polls the website each
time a GUI component is launched if the specified interval between update checks has elapsed.
Updates can also be downloaded from a local repository for cluster machines or where internet
access is not possible.

11.6.2 Preferences

The settings anchor on the application menu allows the user to customise CADFEKO by
setting default preferences.
Figure 11-3 shows the Default settings dialog. A variety of options can be set, from setting the
font, preferred card formats, enabling auto save and creating backups.

11.7 Script editor

Advanced models containing both geometry and solution requirements is constructed in the EDIT-
FEKO editor. The editor also boasts syntax highlighting and complete !!for and !!if environments
with !!next and !!endif on creation via dialogs.
The following actions are available to edit the *.pre files:

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-6

Figure 11-3: The Default settings dialog.

Copy: Copy the selected text from the active script in the Script editor and places it on
the clipboard. Shortcut: <Ctrl><C>

Cut: Cut the selected text from the active script in the Script editor and places it on the
clipboard. Shortcut: <Ctr><X>

Paste: Paste the text from clipboard to the active script in the Script editor. Shortcut:
<Ctrl><V>

Comment: Block comment the selected comments from the active script in the Script
editor. Shortcut: <ALT><C>

Uncomment: Uncomment the selected comments from the active script in the Script
editor. Shortcut: <ALT><U>

Find/replace text in the script: A Find and Replace tool with the following text search
functionality: Find next, Find previous, Replace, Replace all, Close. Shortcut: <Ctrl><F>

Goto line: A tool which allows a user to find a specific line in the script. This is useful
when PREFEKO reports an error with a corresponding line number.

11.8 Comments

Comment can be added to the script by inserting ** followed by a space, for example:
** Comment

11.8.1 Variable editor

The # card is useful as it presents a list of functions (see Section 12.6) and operations understood
by FEKO. It calculates the value of the variable as it would be evaluated by PREFEKO at this point.
The functions, variables or operations may be selected from the three dropdown lists and an ad-
ditional group for the “FILEREAD” function (see Section 12.6). The selected item is automatically
placed at the current cursor position.

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-7

Figure 11-4: The # - Define a variable card.

11.9 Shortcut keys

In EDITFEKO, the arrow keys as well as <Page Up> and <Page Down> behave in the normal
fashion. The following keys may be different to other applications. A block may be selected using

Table 11-2: EDITFEKO cursor movements

Key combination Description


<Ctrl><Left Arrow> Move a word left.
<Ctrl><Right Arrow> Move a word right.
<Ctrl><Page Up> Move to top of visible page.
<Ctrl><Page Down> Move to bottom of visible page.
<Home> Move to beginning of line.
<End> Move to end of line.
<Ctrl><Home> Move to beginning of file.
<Ctrl><End> Move to end of file.

the mouse, or pressing <Shift> and using the normal movement keys. If a block is selected, it
will be overwritten when a key is pressed. The following list of shortcut keys are often used:

October 2013 FEKO User’s Manual


INTRODUCTION TO EDITFEKO 11-8

Table 11-3: EDITFEKO shortcut keys

Shortcut key Description


<Ctrl><C> or <Ctrl><Ins> Copy to clipboard.
<Ctrl><X> or <Shift><Del> Cut (delete) to clipboard.
<Ctrl><V> or <Shift><Ins> Paste (insert) from clipboard.
<Ctrl><S> Save.
<Ctrl><A> Save all files.
<F1> Edit line.
<Alt><C> Comment line(s).
<Alt><U> Uncomment line(s).
<Ctrl><F> Find.
<F3> Find next.
<Ctrl><R> Find and replace.
<Alt><2> Run PREFEKO.
<Alt><3> Run POSTFEKO.
<Alt><4> Run FEKO.
<Alt><6> Run OPTFEKO.

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-1

12 PREFEKO language and concepts

12.1 PREFEKO

PREFEKO is the FEKO Suite preprocessor. It is responsible for the creation of the *.fek input
file used by the solution kernel. The input file for PREFEKO is the (*.pre) file that is edited using
EDITFEKO (*.pre files can be edited in any text editor). For more information about launching
PREFEKO from a command line see chapter 18.
This chapter presents the language and concepts required to create *.pre input files. The dif-
ferent input cards (geometry and solution control) are discussed in the section dealing with
EDITFEKO geometry cards (see Section 13) and section dealing with EDITFEKO control cards
(see Section 14) respectively.

Contents
12.1 PREFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2 Structure of the *.pre input file . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.3 Guidelines for creating geometry in EDITFEKO . . . . . . . . . . . . . . . . . 12-3
12.4 Usage and concept of labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5
12.5 Symbolic variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7
12.6 Built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.7 FOR/NEXT loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.8 IF/ELSE/ENDIF constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
12.9 EXIT command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
12.10 PRINT commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15
12.11 Symbolic node names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15

12.2 Structure of the *.pre input file

The *.pre file is a text file that contains a list of high level commands. These commands are
translated by the FEKO preprocessor (PREFEKO) to generate the input for the FEKO solver. The
*.pre file commands are referred to as cards, and each card performs a specific function.

12.2.1 Order of the cards in the *.pre file

The cards can be categorised into geometry cards, control cards (which define the field param-
eters to calculate) and execution flow cards. PREFEKO processes these cards to generate the
*.fek file.
When a model is saved in CADFEKO, CADFEKO writes a *.pre file that includes a card that
indicates that the meshed CADFEKO model (stored in a *.cfm file) should be imported. The
user may modify this card if required to change the import process. For example, the card may

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-2

be changed so that structures on a symmetry plane are not imported — the symmetry plane can
then be defined and an additional import card used to import the rest of the geometry. Applying
symmetry in this way may provide a more efficient simulation approach for certain advanced
cases.
Users are advised to use EDITFEKO to add and edit cards in the *.pre file. This will ensure
that each card is formatted correctly and that the required parameters are limited to the correct
values.

12.2.2 Format of cards in the *.pre file

The card format is described here mainly for users would like to generate FEKO input files auto-
matically. FEKO supports two different formats for cards - a colon-separated and a column-based
format. These formats may be mixed in a single input file. After the last column of a card (irre-
spective of the format) a comment may be added after the comment indicator (‘**’). For control
cards that define solution requests, this comment is used as a label for that card. The label of
a card is used by OPTFEKO to uniquely identify specific results, and is indicated in POSTFEKO
to aid the identification of the solutions and blocks of interest when postprocessing simulation
results.

Column based format The basic form of this card format is shown below. The upper numbers
indicate the columns. The name field (shown as ‘xx’) in columns 1 and 2 specifies the type
of the card. This is followed by five integer parameters I1 to I5 (these input fields may
also contain strings such as node names) containing five digits each, and eight real-value
parameters R1 to R8 containing ten digits each.

1 6 10 15 20 25 30 40 50 60 70 80 90 100 110
xx I1 I2 I3 I4 I5 R1 R2 R3 R4 R5 R6 R7 R8

INT INT INT INT INT


STR STR STR STR STR REAL REAL REAL REAL REAL REAL REAL REAL

Colon separated format This is a less restrictive input format than the column-based format,
where the individual integer and real parameters are separated by a colon character. Unlike
the column-based format, when using this format, integer and real input fields are not
restricted to 5 or 10 characters respectively. In this card format, the card name is still
located in columns 1 and 2. The name is followed immediately in column 3 by a colon.
The rest of the card has no spacing limitations. The lines shown below demonstrate valid
syntax in this format.
DP: S1 : : : : : #x : #y : #z
BP: S2 : S2 : S3 : S4

All input and output parameters of FEKO are in SI units (e.g. lengths are in metres, potential in
volts, etc.) All angles are in degrees. FEKO includes various scaling options (see the SF, TG and
IN cards) so that dimensions may be entered in different units and scaled to metres.
The principal structure of the input file is shown below:

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-3

** Comments at the start of the input file


. . . Cards that define the geometry ** Comments
EG End of the geometry
... Control cards that define excitation, special solution op-
tions and indicate which quantities should be calculated **
Card labels/Comments
EN End of the input file
The description in the section dealing with EDITFEKO geometry cards (see Section 13) gives
an overview of the cards related to the creation of geometry with detailed descriptions of the
individual cards (these cards include the IN card, which is used to control the import of external
meshes or CADFEKO models).
The description in the section dealing with EDITFEKO control cards (see Section 14) gives an
overview and description of the control cards used to define materials, solution methods, excita-
tions and calculation requests for the model.

12.3 Guidelines for creating geometry in EDITFEKO

12.3.1 Meshing guidelines regarding connectivity

As discussed in Section 15.2.3, elements must be connected at edges or vertices to ensure electri-
cal connectivity. Most of these rules are automatically complied with when creating FEKO models
in CADFEKO. However, users must take care to conform to these rules when combining CADFEKO
models with EDITFEKO scripting (e.g. attaching an antenna modelled with geometry cards on an
aircraft meshed in CADFEKO), when creating the geometry solely in EDITFEKO, or when working
with imported meshes.
Note that cuboidal volume elements (used to model volume dielectrics — the DK card (see Sec-
tion 13.10), the DZ card (see Section 13.12) and the QU card (see Section 13.42)) do not need
to be connected in this way.
When creating structures with scripting commands, wires are divided into segments that are
equal to or shorter than the specified segment length. For surfaces, the triangle edges along the
boundary of the surface are always equal to or shorter than the specified edge length. Thus,
meshing the same line with the same mesh size will always give the same number of exactly
equal divisions. The internal edges may, however, be longer than the specified edge length. This
is not necessarily the case with CADFEKO meshes where the specified mesh size is the average
size and the internal structure influences the placement of vertices along the surface boundaries.
When creating wire junctions as shown in Figure 12-1, it is important to ensure that the wire AB
have a vertex at point C. The best option is to construct this as two wires, one from A to C and
the other from C to B.
D
A B
C
Figure 12-1: Example of a wire structure

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-4

Similarly, where two surfaces touch the common edge must be part of both surfaces. For example,
the surface in Figure 12-2 should not be created as two rectangles ABFG and CDEF. If this is done,
it is highly unlikely that there will be ohmic connection along the line BF. There are a number of
ways to correctly create this structure. It can be created from the rectangles ABFG, CDHB and
BHEF or the quadrangles ABEG and BCDE. In both cases the contacting edges are common and
will be meshed correctly. The simplest way to mesh this structure is to create a single polygon
ABCD(H)E(F)G.

G F E

H
A B

C D
Figure 12-2: Example for a surface

A connection point between a segment and one or more triangles is only recognised when the
beginning or the end of the segment lies on the vertex or vertices of the triangles. In Figure 12-3
the left side is an incorrect and the right side a correct connection (here the segment is connected
to six triangles).
When curved structures (circles, cylinders, spheres) are modelled, a finer mesh may be used
along the curved edges to get a more accurate representation of the geometry. In this case the
same edge length should be used on both edges and the reference points should be identical. See
the example in Figure 12-4.

12.3.2 Reducing GUI mesh sizes

For very large models (or at very high frequencies) it is possible that the user interface compo-
nents cannot create and/or display the required mesh. This problem can be reduced by creating
a mesh of larger elements in CADFEKO and using the RM card in EDITFEKO to subdivide this fur-
ther. The only restriction here is that the original mesh should use much larger elements than the
desired mesh. If this is not the case, the subdivision may result in an unnecessary large number
of elements.

Figure 12-3: Incorrect (left) and correct (right) connection between a segment and triangles

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-5

Figure 12-4: Incorrect (left) and correct (right) connection between curved edges

12.4 Usage and concept of labels

In the scripting language, items are identified by their labels. These are then used to do opera-
tions or set electromagnetic properties on geometry. For instance in Figure 12-5 the label Feed
can be used to define the feed segment (voltage source), or the label MainRefl can be used to
instruct FEKO to use physical optics for the main reflector.
Labels are set either directly in CADFEKO (see Section 3.14.3), or by preceding geometry cards in
EDITFEKO with the LA card (see Section 13.30). When importing certain mesh formats by means
of the IN card (see Section 13.23) then labels can also be imported (for instance the NASTRAN
property gets converted into a FEKO label). In principle, FEKO labels can be:

• A positive integer number (including zero).

• Any valid expression, like 3*#i+2, can be used. These expressions are evaluated, and the
resultant numerical value is used as or in the label.

• A string of characters (valid are ‘a’-‘z’, ‘A’-‘Z’, ‘0’-‘9’ and the underscore ‘_’), optionally fol-
lowed by a variable (which starts with the ‘#’ sign (see Section 12.5)). Such variables at
the end are evaluated and replaced by the corresponding numerical value (rounded to in-
teger). Note that string labels are case insensitive in FEKO, i.e. labels Roof and ROOF are
treated identically inside FEKO.

So for instance these labels are valid


23
5*#k+#j/2
LeftWing
Front_Door
Part#i

while these labels are not valid


Left+Wing (invalid character ’+’)
-23 (negative integer)
Part_#i_#k (two variables)

With the CB card (see Section 13.6), FEKO allows the user to change labels (e.g. after having
imported geometry). A powerful wild card globbing (expanding a non-specific label name con-
taining a wildcard character into a set of specific labels) is supported. At certain FEKO cards the
user can specify label ranges and at other cards labels for created geometry can be derived from

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-6

Figure 12-5: Example demonstrating the usage of labels (display of labels in colour with legend in POST-
FEKO)

other labels (eg. when using symmetry - SY card), and thus it is important for users to understand
how the label algorithm works. The algorithm for this is that after having evaluated expressions
or having replaced variables, a label is split into the associated number and the remaining base
string. The associated number is split off from the back of the label, and if there are no digits,
this is set to zero. See Table 12-1 for examples of labels are split into the base string and the
associated number.
Table 12-1: Examples of splitting a label into its base string and associated number.

Label name Base string Associated number


1 1
Roof Roof 0
Part_17 Part_ 17

When incrementing labels, the base string is kept and the associated number is incremented.
There is just one exception — the label zero will always remain zero. See Table 12-2 for an
example when incrementing a label by two.

Table 12-2: Label incrementing example (increment by two).

Label name Incremented label


1 3
Roof Roof
Part_17 Part_19

When using ranges of labels, then for the range specification to be valid the base strings must
match, and the associated number must be in the correct range between the associated numbers
of start and end label. So for instance the label Part_12 is in the range of the labels Part_10
. . . Part_20, but the label Part_5 is outside this range. Using a range like Front . . . Back is
not valid (different base strings).

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-7

12.5 Symbolic variables

Instead of using numerical values in all the different cards, it is possible to use predefined vari-
ables. The name of a variable always consists of a #-sign followed by a string consisting of the
characters a-z, A-Z, 0-9 and the special character _. The following are valid variable names:
#height, #a, #STARTINGFREQUENCY, #a_1 or #P5_7f; while the following are not valid: #a?1
or #value2.1. There is no distinction between upper and lower case characters. For example,
#a and #A are interpreted as the same variable.

Variables

It is important to note that in CADFEKO variables are used without the #-sign whereas PREFEKO
requires the #-sign to distinguish between variables and functions (such as sin). When CADFEKO
writes the variables to the *.cfm file, it prepends the #-sign so that the variables can be used after
the IN card in the *.pre file. When using OPTFEKO in a model that has no CADFEKO geometry
defined, the *.cfm mesh import command must be removed, or variables that are defined in the
*.cfm file must be excluded from the import, as these variable values will override the values
assigned by OPTFEKO if they are included.
Expressions and functions may be used when defining variables, so that direct calculations can be
carried out. The variables have to be defined before they can be used in the respective cards. It is
possible to use expressions like 2*#radius in the input fields subject to the maximum allowed
length (10 characters for real values, 5 characters for integer values). For larger expressions
additional variables have to be defined.
A variable is defined in the following way:
#2pi = 2*#pi
#vara = 1 + sqrt(2)
#varb = #vara * 2.3e-2 * (sin(#pi/6) + sin(rad(40)) + #vara^2)
#sum = #vara+#varb

Note that the # sign has to appear in the first column. Variables may also be defined from the
command line as described in the previous section.

Arrays

In addition to plain variables, arrays with integer indices like #a[5] or, more complex,
#am_0[3*#i+ceil(#r[2])]

are also supported. The expression between the square brackets must evaluate to an integer
number, which can also be negative. The implementation of using arrays is so that they do not
need to be allocated, however they need to be initialised. So for instance after having used the
instructions
!!for #i = 10 to 20
#array_a[#i] = 3*#i-10
#array_b[-#i] = 0
!!next

one will be able to use #array_a[10] or #array_a[17] or also #array_b[-12] in other


expressions. But trying to use for instance #array_a[5] or #array_b[0] will result in an error
message that an undefined variable is used.

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-8

12.6 Built-in functions

Any predefined expression or variable as discussed above, can be used in conjunction with any
of the following trigonometric-, Bessel-, miscellaneous-, coordinate- or data functions.
The following trigonometric functions as given in Table 12-3, are supported.

Table 12-3: Trigonometric functions

SIN sine (argument in radians)


COS cosine (argument in radians)
TAN tangent (argument in radians)
COT cotangent (argument in radians)
ARCSIN arcsine (in radians)
ARCCOS arccosine (in radians)
ARCTAN arctangent (in radians)
ATAN2 this function has two arguments atan2(#y,#x)
it yields arctan(#y/#x) in the range -π. . .π
ARCCOT arccotangent
SINH hyperbolic sine
COSH hyperbolic cosine
TANH hyperbolic tangent

Table 12-4: Bessel functions

BESJ(n,x) Bessel function Jn (x) of integer order n ≥ 0 and real argument x


BESY(n,x) Neumann function Yn (x) of integer order n ≥ 0 and real argument x
BESI(n,x) Modified Bessel function of the first kind I n (x) of integer order n ≥ 0
and real argument x
BESK(n,x) Modified Bessel function of the second kind Kn (x) of integer order
n ≥ 0 and real argument x

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-9

Table 12-5: Miscellaneous functions

SQRT square root


LOG logarithm to the base 10
LN natural logarithm
EXP exponential function
ABS absolute value
DEG convert radians into degrees
RAD convert degrees into radians
STEP step function, STEP(x) = 0 for x ≤ 0 and STEP(x) = 1 for x > 0
CEIL smallest integer value that is equal to or greater than the argument
FLOOR largest integer value that is equal to or smaller than the argument
MAX returns the largest of the two arguments — called as max(#a,#b)
MIN returns the smallest of the two arguments — called as min(#a,#b)
FMOD this function also has two arguments fmod(#a,#b) and returns the remainder
of the division #a/#b
RANDOM This function returns a random value in the range 0 . . . 1. If the argument X of
RANDOM() is -1, then a random number is returned. For any other argument
X in the range 0 . . . 1 this value is used to set the seed, and then a random
number is created using this seed. (Using the same seed allows one to create a
deterministic and reproducible random number series). If “RANDOM(-1)” is
called before any seed is set in the *.pre file, then the returned values are
random and not reproducible. (The internal seed is used based on the time
when PREFEKO is executed).

Table 12-6: Coordinate functions

X_COORD This function returns the x coordinate of a point previously defined by a DP


card, as discussed below.
Y_COORD Returns the y coordinate of a previously defined point similar to the function
X_COORD discussed below.
Z_COORD Returns the z coordinate of a previously defined point similar to the function
X_COORD discussed below.

The X_COORD, Y_COORD and Z_COORD, are used as follow: The name of the point, in quotation
marks, is passed as an argument to the function, for example
DP PNT01 1.234 0.4567 #z
#x = x_coord("PNT01")

will set the parameter #x equal to 1.234.

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-10

Data functions

The FILEREAD function reads a numerical value from an arbitrary ASCII file. The general syntax
is
fileread("Filename", Line, Column)

and contains the file name, the line number to read from and the column to read. (The data
in the respective columns of any line are separated by one or more spaces or tab characters.)
For example, consider a data file containing a list of frequencies and a load impedance for each
frequency:
Frequency in MHz Re(load) in Ohm Im(load in Ohm)
100 22.54 -12.56
150 25.07 -6.54
200 27.42 0.23

The frequency and loading can be imported directly from this file
#numfreq = 3 ** Number of frequencies
!!for #i = 1 to #numfreq

** Define the frequency (conversion from MHz to Hz)


#freq = 1.0e6*fileread("datafile.dat", #i+1, 1)
FR 1 0 #freq

** Define the load


#Zr = fileread("datafile.dat", #i+1, 2)
#Zi = fileread("datafile.dat", #i+1, 3)
LZ 0 #Zr #Zi

** Computations ...

!!next ** End of frequency loop

Logical & mathematical operators

The following mathematical operators can be used in conjunction with any predefined expression
or variable:

() brackets
+ addition
- subtraction
* multiplication
/ division
ˆ powers, for example 2ˆ3=8

In addition to these functions, PREFEKO allows the use of logical operations. It supports the
function NOT() — which returns TRUE if the argument is FALSE and FALSE when the argument
is TRUE — and the delimiters >, <, >=, <=, =, <>, AND and OR. When boolean operations are
applied to variables, a value of 0 is taken as FALSE and everything else is interpreted as TRUE.
Similarly, in the result of a logical operation, FALSE is mapped to 0 and TRUE to 1.
PREFEKO also supports a logical function DEFINED(#variable) which returns TRUE if a the
variable #variable has been defined, and FALSE if not. This is useful in *.pre files used

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-11

for OPTFEKO or ADAPTFEKO runs. These insert variables at the top of the file, but it may be
required to define the variable in the file for preview purposes. For example, if a *.pre file will
be optimised with respect to the variable #a, one may use
!!if (not(defined(#a))) then
#a = 200.0e-3
!!endif

The order of precedence is (evaluated first in the order listed) is:

1. single number, expressions in brackets

2. function calls

3. + and - (when used as sign)

4. ˆ

5. * and /

6. + and -

7. >, <, >= and <=

8. = and <>

9. AND

10. OR

Some variables are predefined in PREFEKO, but may be overwritten by re-assignments. These
are shown in Table 12-7.
Table 12-7: Predefined variable list.

Name Value Description


#pi 3.14159265358979. . . The constant π
#eps0 8.85418781761·10−12 Dielectric constant "0 of free space
#mu0 4π·10−7 Permeability µ0 of free space
1
#c0 p
µ0 "0
The speed of light in free space
Ƶ
#zf0 0
"0
The intrinsic impedance of free space
#true 1 Used for logical true
#false 0 Used for logical false

There are three other special variables #!x, #!y and #!z which are very useful for the connection
of complex wire structures. The three variables specify the Cartesian coordinates of the end point
of the wire segment most recently defined. This enables the correct and easy connection of a
straight wire to a curved length of wire, as the next extract from an input file demonstrates:
CL .....
DP A #!x #!y #!z
#z = #!z + 0.5
DP B #!x #!y #z
BL A B

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-12

The following example demonstrates the use of variables.


** A dielectric sphere in the field of an incident wave

** Define the variables


#r = 1 ** Radius of the sphere
#betrad = 1 ** Electrical size of the sphere
#epsr = 15 ** The relative dielectric constant
#maxlen = 0.7 ** The maximum edge length

** Define segmentation parameters


IP #maxlen

** The corner points


DP A 0 0 0
DP B 0 0 #r
DP C #r 0 0

** Select the medium


ME 1 0

** Generate an eighth of the sphere


KU A B C 0 0 90 90 #maxlen

** Use symmetry in all three coordinate planes


** yz-plane: ideal electrically conducting plane
** xz-plane: ideal magnetically conducting plane
** xy-plane: only geometrically symmetric
SY 1 2 3 1

** End of the geometry


EG 1 0 0 0 0

** Assigning the dielectric’s properties


DI #epsr 1.0

** Incident plane wave excitation


#freq = #betrad * #c0/(2*#pi*#r)
FR 1 0 #freq
A0 0 1 1 1.0 0.0 -180.0

** Near fields along the z axis


FE 1 1 1 25 0 0.0 0.0 -1.98 0.0 0.0 0.04
FE 4 1 1 50 0 0.0 0.0 -0.98 0.0 0.0 0.04
FE 1 1 1 25 0 0.0 0.0 1.02 0.0 0.0 0.04

** End
EN

The use of variables makes the investigation of structures with varying geometry (e.g. variable
distance of the antenna in front of a reflector) an easy process, because only one variable needs
to be changed. It also allows FOR loops and IF conditions.

12.7 FOR/NEXT loops

Some cards in FEKO implicitly use loops (such as when an FR card with multiple frequencies is
used). This, however, does not always offer the flexibility which one may require, for example,
to change the material parameters inside the loop. Another example would be the use of a loop
to create a complex geometry.

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-13

For completely general loops, PREFEKO allows the construct


!!for #var = #start to #end step #delta

!!next

where a simple example would be


** Loop for the relative permittivity
!!for #eps_r = 1 to 5 step 0.5

** Set material parameters


GF 0 #eps_r 1

** Compute fields etc.


FE

** End of loop
!!next

The syntax requirements of FOR/NEXT loops are:

• The !! characters must be located in the first two columns of the line. This is followed by
a number of optional spaces and the keyword for (it is not case sensitive, so also FOR or
For are accepted).
• The keyword for is followed by the name of the loop variable (starting with #).

• Next follows an expression for the initial value of the loop (a constant, variable or formula,
see the example below).

• This is followed by the keyword to and the terminating value of the loop variable (again a
constant, variable or formula).

• The default increment of the loop variable is 1, but it can be changed by using the keyword
step followed from an expression. Negative increments are allowed.
• The loop is terminated by a line of the form !!next (spaces are allowed between !! and
next but not before the !!). All instructions and input cards between !!for and !!next
are evaluated repeatedly inside the loop.

• Several loops can be nested as shown in the example below.

A more complicated example, illustrating the points above, is as follows


#end = 3+sin(4)
!!for #x1 = sqrt(5) + 2*3 to 2*#end step -#end/10
!! for #x2 = 1.23 to 2*#x1 ** this is the inner loop

#x3 = #x1 + #x2


DP ....
.... (more commands)

!! next
!!next

For more information, see FILEREAD (see Section 12.6) and Built-in functions (see Section 12.6).

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-14

12.8 IF/ELSE/ENDIF constructs

This construct is used to allow different control cards under different conditions. The syntax
requirements of IF/ELSE/ENDIF constructs are:

• The !! characters must be located in the first two columns of the line. This is followed by
an arbitrary number of spaces, the expression to be evaluated and the keyword then (it is
not case sensitive, THEN or Then are also accepted).

• The block is terminated by a line of the form !!endif (again spaces are allowed between
!! and endif but not before the !!).
• An optional line of the form !!else (again, the !! must be in the first two columns and
spaces are allowed before the keyword which is not case sensitive).

• All instructions and input cards between !!if and !!endif (or !!else if it is present) are
processed if the expression is TRUE. If it is present, all lines between !!else and !!endif
are processed if the expression is FALSE.

Examples, illustrating the points above, are as follows


!!if #a > 5 then

...

!!endif

or
#l = (#a+5 > 21) and (#a < 100)
!!if ( (3*#a+5 >= #x/2) and not(#l) ) then

...

!!else
!! if (sin(#x/10) > 0.5) then

...

!! else

...

!! endif
!!endif

For more information, see FILEREAD (see Section 12.6) and Built-in functions (see Section 12.6).

12.9 EXIT command

PREFEKO also supports the command !!exit to stop execution. This can be useful for checks
like
!!if #a < 2*#b then
!! exit
!!endif

(see the various PRINT commands below to make this more informative).

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-15

12.10 PRINT commands

There are various commands to print strings (enclosed in double quotes) and floating point
numbers to the screen and *.out file respectively:

• !!print will print text to the screen.

• !!print_warning will also print text to the screen, but will indicate that the given text is
a warning, i.e. for console runs the string WARNING will be prepended, while for GUI runs
the colour of the output will change according to a warning.

• !!print_error is similar to !!print_warning, but will handle an error message. Note


that processing continues so that multi-line error messages can also be printed. To stop
execution use the !!exit statement.

• !!print_to_out will write text to the *.out file while the FEKO kernel is run.

These commands accept multiple arguments separated by commas. For example,


!!print "2*#b = ", 2*#b
!!if #a < 2*#b then
!! print_error "The value of #a is too small:", #a, " (exiting now)"
!! exit
!!endif

will print an error text and exit if the variable #a is smaller than two times variable #b. The line
!!print_to_out "This run was done with #b = ", #b

will print the value of #b to the *.out file at the position where it appears in the *.pre file.

12.11 Symbolic node names

Symbolic node names or named points can be constructed as either single points or as an array
of points. Arrays of points can then be referenced by only specifying the array name. This is
particularly handy when a large number of points are required.

Single node names

When defining or using node names, simple variable names of the form A#i can be used to define
the node. If a hash sign is found in a node point name, this hash sign and everything that follows
is interpreted as a variable string, evaluated and rounded to the nearest integer. Thus if we have
#k=15 and use or define a point P#k then this is equivalent to using P15 as point name. The
length of the node name string (before and after expansion) is still limited to 5 characters.
For instance, it would now be possible to define the points P1 to P20 inside a loop
!!for #k = 1 to 20
DP P#k
!!next

and use these either individually or inside another loop.

October 2013 FEKO User’s Manual


PREFEKO LANGUAGE AND CONCEPTS 12-16

Node name arrays

Symbolic node name arrays can also be defined. These node arrays are particularly useful when
creating polygonal surfaces (PY card and PM card) with many points since only the node name
has to be specified instead of each individual point. Node name arrays allow expression of the
form A[2*#i+3] to be used to index the array.
A symbolic node name array can be defined in a loop
!!for #k = 1 to 20
DP P[2*#k+3]
!!next

and then later referenced only as P. Single node names can be referenced by indexing the array.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-1

13 Geometry cards

The following table lists all input cards that are used to create the geometry (i.e. the cards that
appear before the EG card in the *.pre file28 ). Most of these cards are processed by PREFEKO.
For example, PREFEKO processes the BP card and writes the triangle elements to the *.fek file
as input to FEKO.

Card Type of Excitation


BL creates a line
BP creates a parallelogram
BQ creates a quadrangle
BT creates a triangle
CB changes already assigned labels
CL creates a circular line using segments
CN changes the direction of the normal vector
DD utilises domain decomposition to solve a MoM model more effi-
ciently
DK creates a dielectric or magnetic eighth of a sphere
DP defines a node point
DZ creates a cylindrical dielectric shell
EG defines the end of the geometry
EL creates a segment of an ellipsoid
FA defines an antenna array analysis
FM set parameters related to the MLFMM
FO defines a Fock region
FP set parameters related to the FEM
HC creates a cylinder with a hyperbolic border
HE creates a coil from wire segments
HP creates a plate with a hyperbolic border
HY creates a hyperboloid section
IN reads an external include file containing mesh information
IP sets the parameter that defines the degree of meshing
KA defines the border of the PO area
KK creates a elliptical conical segment
KL sets the wedges in the PO area
KR creates a planar elliptical element
KU creates a spherical element
LA specifies the label for segments, triangles, polygonal plates, etc.
ME defines the medium
MB defines a modal port boundary condition
NC defines the name for the next configuration
NU creates a NURBS surface from specified control points

28
In general all the geometry cards must appear before the EG card. Exceptions are the IN card (when including
*.pre files with control commands) and the DP and TP cards (when defining points for the AP card).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-2

PB creates a paraboloid
PE specifies the unit cell that will be used in periodic boundary condi-
tion calculations
PH creates a flat plate with an elliptic hole
PM creates a polygonal shape that is meshed into triangles
PO applies the physical optics approximation
PY creates a polygonal plate for use with UTD
QT creates a dielectric or magnetic cuboid (meshed into tetrahedral el-
ements)
QU creates a dielectric or magnetic cuboid (meshed into cuboidal ele-
ments)
RM remeshing and adaptive mesh refinement
SF enters a scaling factor, with which all dimensions are multiplied
SY utilises symmetry in the construction of the geometry
TG transformation (i.e. translation and rotation) of the geometric struc-
tures
TO creates a toroid
TP transforms a point
UT parameters for the uniform theory of diffraction (UTD)
UZ creates a cylinder for use in the UTD region
VS specifies known visibility information (required when using physical
optics with multiple reflections)
WA define all active windscreen antenna elements
WG creates a parallelogram consisting of a wire grid
WR defines the dielectric windscreen reference plane
ZY creates a cylindrical element

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-3

13.1 ** card

The ** card is not a command, but defines a comment line. Everything that is found in this line
is ignored by PREFEKO.
It is possible to add a comment to the end of an existing line or card. For example,
** Definition of parameters
#lambda = 1.0 ** Wavelength
#radius = #lambda/2 ** Cylinder radius
#height = 2*#lambda ** Cylinder height

More information on the usage of comment lines and comments as card names may be found in
the comment card description under the control cards (see Section 14.1).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-4

13.2 BL card

This card is used to connect two points to form a line, which is then subdivided into wire seg-
ments.

Parameters:

Start point of wire: The start point of the wire, previously defined with the DP card.

End point of wire: The end point of the wire, previously defined with the DP card.

Set wire radius: If checked, the radius set at the previous IP card is overridden for the current
wire. This setting does not affect segments created after this card. Both radius
values are in m and are affected by the SF card scaling factor. If only the start
radius is specified, the wire will have a constant radius.

Radius at start . . .: The radius of the wire at the start point.

Radius at end . . .: The radius of the wire at the end point.

The points have to be defined by a DP card, prior to using this card. The wire radius is set by an
IP card preceding the BL card, but can be set locally. Note that by using different radius values
for the start and end points of the wire, a tapered wire can be created.

Figure 13-1: Sketch illustrating the use of the BL card

Examples of BL card usage:


The BL card can be used to create segmented wires as shown in Figures 13-2 and 13-3. In the
first example the radius is specified with an IP card and in the second an exaggerated taper is
specified at the BL card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-5

Figure 13-2: Example of a BL card from demo_BL1.pre

Figure 13-3: Example of a BL card with a tapered radius from demo_BL2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-6

13.3 BP card

A mesh of surface triangles in the shape of a flat parallelogram can be created with this card. In
general, this card is replaced by the PM card. This card should only be used when the user wants
to force the very regular meshing that this card produces.

Parameters:

S1, S2, S3, S4: The points S1 to S4 are the four corner points of the parallelogram. These
points should have been defined previously with DP cards.

Specify non-uniform . . .: Normally a parallelogram is segmented according to the edge length specified
with the IP card. Wwhen creating small microstrip lines, it may be desirable to
use a finer segmentation in one direction. Check this item if a finer segmenta-
tion is required in one direction. The mesh sizes are in m and are scaled by the
SF card.

Mesh size along sides a and c: Edges S1–S2 and S3–S4.

Mesh size along sides b and d: Edges S2–S3 and S4–S1.

The points are connected in the order that they appear in the BP card. Thus the user has to
ensure that the points describe a parallelogram. If this is not the case, then PREFEKO will abort
with the appropriate error message.
The direction of the normal vector (n̂) of the subdivided triangles is determined by the right hand
rule, through all the corners. This direction is only important when used with the Physical Optics
— PO card (see Section 13.39) — or with dielectrics — ME card (see Section 13.32) or with the
CFIE — CF card (see Section 14.26).
Example of BP card usage:
Figures 13-4 and 13-5 show a plate with uniform meshing and a strip with non-uniform meshing
respectively, both created using the BP card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-7

Figure 13-4: Example for the BP card from demo_BP1.pre

Figure 13-5: Example of a BP card with non-uniform meshing from demo_BP2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-8

13.4 BQ card

A mesh of surface triangles in the shape of a flat quadrangle can be created with this card. Models
constructed using the BQ card can generally be simplified by using the PM card.

Parameters:

S1, S2, S3, S4: The points S1 to S4 are the four corner points of the quadrangle. These points
should have been defined previously with the DP card.

Specify non-uniform . . .: Normally a quadrangle is segmented according to the edge length specified
with the IP card. When creating small microstrip lines, it may be desirable to
use a finer segmentation in one direction. Check this item if finer segmentation
is required along any edge. The mesh sizes are in m and are scaled by the SF
card.

Mesh size along side a: Edge S1–S2.

Mesh size along side b: Edge S2–S3.

Mesh size along side c: Edge S3–S4.

Mesh size along side d: Edge S4–S1.

The points have to be predefined using DP cards prior to the BQ card and are connected in the
order that they appear in the BQ card.
In principal the BQ card can create all types of quadrangles, including parallelograms. The
difference is that the BP card creates a regular subdivision.
The direction of the normal vector (n̂) of the subdivided triangles is determined by the right hand
rule through all the corners. This direction is only important when used with the Physical Optics
(PO card) or with dielectrics (ME card) or for the CFIE (CF card).
Examples of BQ card usage:
The BQ card can be used to create the mesh shown in Figure 13-6, or also for inhomogeneous
meshing as shown in Figure 13-7.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-9

Figure 13-6: Example of a BQ card from demo_BQ1.pre

Figure 13-7: Example of a BQ card with an inhomogeneous segmentation from demo_BQ3.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-10

13.5 BT card

A mesh of surface triangles in the shape of a flat triangle can be created with this card. In general,
this card is replaced by the PM card.

Parameters:

S1, S2, S3: The points S1 to S3 are the three corner points of the triangle. These points
should have been defined previously with the DP card.

Specify non-uniform . . .: Normally a triangle is segmented according to the edge length specified with
the IP card. It may be desirable to use a finer segmentation in one direction.
Check this item if finer segmentation is required along any edge. The mesh
sizes are in m and are scaled by the SF card.

Mesh size along side b: Edge S2–S3.

Mesh size along side c: Edge S3–S1.

Mesh size along side a: Edge S1–S2.

The direction of the normal vector (n̂) of the subdivided triangles is determined by the right hand
rule through all the corners. This direction is only important when used with the Physical Optics
(PO card) or with dielectrics (ME card) or for the CFIE (CF card).
Examples of BT card usage:
The meshes shown in Figures 13-8 and 13-9 were created with BT cards using uniform meshing
and non-uniform meshing respectively.

Figure 13-8: Example of a BT card from demo_BT1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-11

Figure 13-9: Example of a BT card with non-uniform meshing from demo_BT2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-12

13.6 CB card

This card is used to change or reassign the labels assigned to points, segments, triangles, cuboids,
polygonal plates, tetrahedral elements, etc.

Parameters:

Specify old/new label here: This selection allows to specify an old label and a new label in the corre-
sponding input fields.

Read list of old/new labels from file: This selection allows to read a list of old/new label pairs from an
external data file. See further details below.

Old label: All the structures with this label are relabelled.

New label: The new label for all the structures with the old label.

File name: The name of the file used when reading the label list from an external data file.

Renaming labels is especially useful when more labels are created by using symmetry (SY card)
or transformations (TG card) or an imported geometry from CADFEKO, and for example, edges
or wedges in the PO area are considered or any other properties shall be set by label (e.g. Skin
effect). Structures created after the CB card are not affected.
In order to make the renaming of a whole set of different labels simpler, the Old label field in the
CB card is also supporting wild cards ‘*’ (an arbitrary sequence of characters) and ‘?’ (a single
arbitrary character). So for instance to rename all these labels
Cube.Face1
Cube.Face2
Cube.Face3
Cube.Face4
Cube.Face5
Cube.Face6

to a new label CubeSurface one could use six CB cards, but with the wild cards this is much
simpler to use just one CB card and specify the old label as
Cube.Face?

or also as
Cube.*

(depending on what other labels are also in the model).


Note that such wild cards are only supported in the Old label field of the CB card. The New label
must be unique.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-13

Another possibility to do a bulk renaming of labels is to read a label mapping table from an
external file, which follows the syntax of the ANSA package. In ANSA version 11, this file consists
of an arbitrary number of lines
old_label | new_label

(i.e. the old and new label entries separated by the | character). Alternatively, the ANSA version
12 format is also supported, where there is no | character to separate the old and new label,
but just white space (i.e. a space or tab character). Comments line are allowed in these files and
these are indicated using ‘**’ as the first characters of the line.
Some external meshing programs can for instance export a NASTRAN file along with such a
mapping table, and then by using the two commands
IN 3 3 "geometry.nas"
CB "geometry.txt"

one can get the model into FEKO with the proper names of the parts (i.e. the file geometry.txt
would then do a proper mapping of the NASTRAN property to the part name in the original CAD
program).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-14

13.7 CL card

This card is used to create an arc consisting of wire segments.


Parameters:

S1: The centre point of the circle.

S2: A point perpendicular to the plane in which the circle lies and above its centre.

S3: The start point of the arc.

Subtended angle ϕ: The direction of the subtended angle, φ, is in the positive sense around the
axis S1–S3. A negative value will create the arc in the opposite direction.

Maximum length of . . .: The maximum length of the segments that make up the arc. If this field is left
empty, the value specified with the IP card is used. This length is in m and is
scaled by the SF card.

Set wire radius: If checked, the radius set at the previous IP card is overridden for the current
arc. This setting does not affect segments created after this card. Both radius
values are in m and are affected by the SF card scaling factor. If only the start
radius is specified, the arc will have a constant wire radius.

Radius at start . . .: The radius of the wire at the start point.

Radius at end . . .: The radius of the wire at the end point.

Scale second half axis: If this parameter is empty or is set to 1, a circular arc is created. If set to
b
a
, an elliptical arc is created. Here ab gives the ratio of the two half axes,
where a is the distance S1–S3. It is not recommended to generate elliptical
arcs with extremely small or extremely large axial ratios with a CAD system as
the distortion formulation used in PREFEKO may fail in these cases.

Quite often modelling the geometry of an arc requires shorter segments than those used for
straight wires. Thus the maximum segment length specified with the IP card can be overridden
along the arc by specifying a value in the field Maximum length of segments.
The radius of the arc is given by the distance between the points S1 and S3.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-15

Examples of CL card usage:


The meshes shown in Figures 13-10 and 13-11 are created with the CL card. The first figure
shows the result of a wire arc with a uniform radius, and the second figure shows the result with
an exaggerated taper specified.

Figure 13-10: Example of a CL card from demo_CL1.pre

Figure 13-11: Example of a CL card with tapered wire radius from demo_CL2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-16

13.8 CN card

This card is used to reverse the normal direction of previously created triangles or polygonal
plates, for example after importing CAD data.

Parameters:

Reverse normal of . . .: In this group, the user selects to reverse the normals of either Triangles or
Polygonal plates.

Selection by: Here the user specifies whether the triangles/polygonal plates are identified by
their Label or absolute element Number.

Selection: The label/element number of the triangles / polygonal plates that must have
their normals reversed.

The normal direction can be important, such as when defining dielectric surfaces. For triangles,
the normal vector is reversed by interchanging corners 1 and 3. For polygonal plates the first
point remains as is, but the corner points are listed in the opposite direction.
The CN card changes the normal of the affected triangles, but it does not change the settings
of the ME card (which medium is on which side of the triangle as determined by the normal
vector). For example, if the ME card is used to specify that the normal vectors of the triangles
point from medium 5 to medium 2 then the application of the CN card will effectively change
which medium lies on which physical side of the triangle.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-17

13.9 DD card

With this card a MoM model consisting of a dominant fixed static part and a smaller dynamic
part, may be solved more efficient. The factorisation of the static interaction matrix is written to
a *.ngf file and may then be reused to solve the MoM problem when a smaller dynamic part is
modified.

Parameters:

No data files (normal execution): When this option is selected, no data files are read or saved to a
*.ngf file.

Save *.ngf file: The results are saved to a *.ngf file.

Read the *.ngf file: The results are read from a *.ngf file.

Read *.ngf file if it exists, else create it: The *.ngf file is read if it exists, else a *.ngf file is created con-
taining the results.

Number of triangle labels: The number of element labels to be included in the fixed static part.

Labels of the elements: The labels of the elements which are to be defined as the fixed static part in
the model.

Note that only a single DD card is allowed in a model.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-18

13.10 DK card

This card is used to create an eighth of a sphere, meshed into cuboidal elements, for solutions
using the volume equivalence principle in the MoM. The meshing parameters as set at the IP card
are used, and the medium as set at the ME card is assigned to all created cuboidal elements.

Parameters:

S1: The centre of the sphere.

S2, S3, S4: Specify the three directions S1–S2, S1–S3 and S1–S4, that form the border of
the eighth of the sphere. They must be perpendicular to each other and all
three must have the same length (the sphere’s radius).

Maximum cuboid edge length: The maximum side length of cuboids along the curved edge (in m)
can be specified. This value is scaled by the SF card. If left empty, the value
specified with the IP card is used.

Choose the medium: Select here whether the sphere is dielectric or magnetic or both (this is always
with respect to the environment, e.g. if the relative permittivity " r of the cuboid
material differs from the environment, then this is a dielectric sphere).

Old format (with medium parameters): For a detailed description of this parameter please see the QU
card (see Section 13.42).

Dielectric bodies treated with the volume equivalence principle (using cuboids) cannot be used
simultaneously with dielectric bodies treated with the surface equivalence principle or the FEM
or with special Green’s functions.
Example of DK card usage:
The DK card can be used to create a mesh of the eighth of a sphere as shown in Figure 13-12.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-19

Figure 13-12: Example for the DK card from demo_DK1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-20

13.11 DP card

With this card points in space are defined. These points are used to define the extent and orien-
tation of other geometric entities and to locate excitations.

To avoid ambiguity each point is assigned a name (a 5 character string if column based format is
used). In the other cards (e.g. BL card) the points are referred to by their names.
Parameters:

Point name: Name of the point.

X, Y, Z coordinate: Cartesian coordinates of the point in m (is scaled by the SF card).

Nurb control point weight: The weight of the control point when this point is used with the NU card
(NURBS surfaces). If the field is empty, it defaults to 1.

In addition to its coordinates, each point is also assigned the current label (see LA card), so that
a group of points can be selected by label, for example when moving points with the TP card.
Point names may use the characters a-z, A-Z, 0-9 and the special character _ and no distinction
is made between upper and lower case characters. Thus P1a and p1A refers to the same point.
In addition, when defining or using node names, simple variable names of the form A#i are
allowed. The algorithm is that if a hash sign is found in a node point name, this hash sign and
everything that follows is interpreted as a variable string, evaluated and rounded to the nearest
integer. Thus if we have #k=15 and use or define a point P#k then this is equivalent to using P15
as point name.
For instance, it would now be possible to define the points P1 to P20 inside a loop.
!!for #k = 1 to 20
DP P#k .....
!!next

Unlike most other geometry cards, the DP card (as well as the TP card) may also be used in the
control section (after the EG card) of the *.pre file. This allows defining the points required by
the AP card in this part of the file.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-21

13.12 DZ card

This card is used to create a cylindrical shell, meshed into cuboidal elements, for solutions using
the volume equivalence principle in the MoM. The meshing parameters as set at the IP card are
used, and the medium as set at the ME card is assigned to all created cuboidal elements.

Parameters:

S1, S2: The start and end points, respectively, of the cylinder axis.

S3, S4: Points on the inside and outside, respectively, of the shell.

The angle ϕ: The angle of the cylindrical segment in degrees.

Maximum cuboid edge length on arc: Maximum edge length of the cuboids along the arc in m (is
scaled by the SF card). If this parameter is left empty, the value specified
with the IP card is used.

Choose the medium: Select here whether the cylindrical shell is dielectric or magnetic or both (this
is always with respect to the environment, e.g. if the relative permittivity " r
of the cuboid material differs from the environment, then this is a dielectric
cylinder).

Old format (with medium parameters): For a detailed description of this parameter please see the QU
card (see Section 13.42).

Dielectric bodies treated with the volume equivalence principle (using cuboids) cannot be used
simultaneously with dielectric bodies treated with the surface equivalence principle or the FEM
or with special Green’s functions.
Example of DZ card usage:
Figure 13-13 is an example of a cylindrical shell created with the DZ card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-22

C D

Figure 13-13: Example for the DZ card from demo_DZ1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-23

13.13 EG card

This card indicates the end of the geometrical input. It is essential that this card is used.

Parameters:

Write geometrical output to: The geometry data of the segments and surface elements can be written
to the FEKO output file, a NASTRAN format file, an STL file, or any combination
thereof. The name of the NASTRAN or STL file will be the same as the FEKO
model, but with a *.nas or *.stl extension. Writing the geometry data to
the output file may lead to huge output files.

Send to standard output: If the field Nothing is selected, no messages are sent to the standard output
device (usually the screen). If the item Warnings, errors, progress messages is
selected, warnings, errors and messages that indicate the program’s progress
are sent to the standard output device.

Switch normal geometry checking off: If this item is checked, the verification of the geometry elements
will be switched off (see the discussion below this table).

Switch mesh element size checking off: If this item is checked, the verification of the mesh elements
size in relation to the frequency will be switched off.

Solution accuracy: This parameter can be set to force FEKO to use single precision for the storage
of the memory critical arrays. Single precision storage is the default behaviour,
and as compared to double precision the memory requirement is then half.
Using double precision is recommended when the FEKO kernel gives a warning
to switch to double precision (this might happen for instance at low frequencies
where an increased accuracy is required).

Activate low frequency stabilisation for MoM: If this item is checked, low frequency stabilisation for
MoM is activated.

The following should be noted regarding the export of the FEKO geometry to NASTRAN or STL:

• The STL export just dumps the data of all triangular patches of the FEKO model to an ASCII
formatted STL file. Any other geometry (wires, tetrahedra etc.) is not exported since the
STL format does not make provision for this. It should also be noted that the FEKO mesh

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-24

does not contain any information about the geometry that the triangle mesh elements were
created from. Thus there is no special grouping of elements based on regions or solid parts
in the STL file — this implies that the exported STL file does not represent a valid STL file
in the strict sense. However, the exported information is still useful in most cases.

• For the NASTRAN export, the wide column format is used to ensure that all significant
digits are exported. Unlike the STL export, in NASTRAN all the various mesh elements
used in FEKO are present. However, information is lost, for instance for wire elements the
thickness (wire radius) cannot be exported simply because the NASTRAN file format does
not make provision for this. Also the NASTRAN property is used to represent the FEKO
label. But since NASTRAN properties are just integer values and the FEKO label can be an
arbitrary string, a mapping is done so that from each FEKO label (see Section 12.4) just the
associated number is used and exported as the NASTRAN property.

The Maximum identical distance is used to set the tolerance in the mesh. The mesh information
is created by the program PREFEKO, and stored in a *.fek file, in which all the triangles and
segments are described by their corner points. Due to rounding errors it is possible that, for
example, end points of connecting segments do not coincide. When searching for nodes, an
ohmic connection is made when the difference is smaller than the Maximum identical distance.
FEKO automatically checks for typical user errors that have been observed in the past. Examples
of errors are connecting a wire segment to the middle of another wire, where the connection
points do not coincide, or connecting surfaces that have different segmentation along the com-
mon edge (see Section 15.2.3). Such errors are detected if the parameter Switch normal geome-
try checking off is unchecked. The error detection routine should always be used. However, if the
same geometry is to be used a number of times, the error detection can be disabled by checking
this item.
If the surrounding medium is not vacuum, one can set the material parameters with the EG card
as shown above. Alternatively the parameters of the surrounding medium can be set with the
GF card which offers greater flexibility. For example, the GF card can be used to set the material
parameters (as an arbitrary function of frequency) inside a frequency loop which is not possible
with the EG card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-25

13.14 EL card

A mesh of surface triangles in the shape of an ellipsoidal section can be created with this card.

Parameters:
S1: The centre point of the ellipsoid.

S2: A point, in the direction ϑ=0◦ in elliptical coordinates. The distance of the two
points S1 and S2 determines the half-axis of the ellipsoid in this direction.

S3: A point in the direction ϑ = 90◦ , ϕ = 0◦ in elliptical coordinates. The distance


of the two points S1 and S3 determines half of the axis of the ellipsoid in this
direction.

S4: A point in the direction of the third coordinate, i.e. the axes S4–S1, S3–S1
and S2–S1 must be perpendicular. The distance of the two points S1 and S4
determines half of the axis of the ellipsoid in this direction.

Begin angle ϑa : Start angle of the ellipsoid in degrees.

Begin angle ϕa : Start angle of the ellipsoid in degrees.

End angle ϑe : End angle of the ellipsoid in degrees.

End angle ϕe : End angle of the ellipsoid in degrees.

Maximum triangle edge length: Maximum length of the triangles along the curved edge in m (is scaled
by the SF card). If this parameter is left empty, the value specified with the IP
card is used.

Note that the angles ϑ and ϕ are defined in an elliptical, rather than in a spherical coordinate
system. For a Cartesian coordinate system with origin S1, x axis in direction of S3, y axis in the
direction of S4 and z axis in the direction of S2, a point on the surface of the ellipsoid is given as

x a sin ϑ cos ϕ
   

~r =  y  =  b sin ϑ sin ϕ  (13-1)


   
z c cos ϑ

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-26

where the lengths a, b and c are the lengths of the ellipsoid’s three half-axes. (For example the
length a is the distance between the points S3 and S1).
The normal vector of the generated triangles always points outwards. The algorithm used for
the segmentation can fail if the ratio of the half-axis is too extreme, for example if the longest
half-axis is a factor 100 longer than the shortest. It is strongly advised to check the geometry
with POSTFEKO.
Example of EL card usage:
The mesh shown in Figure 13-14 is generated by using the EL card.

Figure 13-14: Example for the EL card from demo_EL.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-27

13.15 FA card

This card is used to define a finite antenna array which includes mutual coupling and edge-effects
in the analysis.
Parameters:

Solve model using the domain Green’s function method (DGFM): If this option is selected, the DGFM
will be used in the analysis of the finite antenna array. Unselecting this option
will result in the creation of the geometry and excitations only.

Deactivate coupling between domains: If this option is selected, mutual coupling will not be considered
in the DGFM.

Import array layout from Antenna Magus file *.xml

The finite antenna array is imported from a Antenna Magus file (*.xml). Parameters:

File name: The file name of the Antenna Magus file from which the antenna array is to be
imported.

Distribution follows in *.pre file

A custom finite antenna array is defined by specifying the distribution and excitation for each
individual element.
Parameters:

Number of elements: The number of antenna array elements specified in the antenna array.

X, Y, Z coordinate: Cartesian coordinates for the location of the respective antenna array elements.

Rotation around x axis (degrees): Angle of rotation around the x axis in degrees.

Rotation around y axis (degrees): Angle of rotation around the y axis in degrees.

Rotation around z axis (degrees): Angle of rotation around the z axis in degrees.

Element excitation: If the Uniform distribution or calculated from plane wave option is selected,
the array elements will either have an uniform distribution or the distribution
be calculated from the plane wave if a plane wave is present in the model. If
the Specify amplitude and phase for each element option is selected, the user
can specify the excitation for each element.

Magnitude scaling: The excitation magnitude for the respective element is scaled relative to the
base element.

Phase offset (degrees): The phase offset in degrees for the respective element relative to the base ele-
ment.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-28

Planar/linear layout

A finite antenna array with a planar or linear distribution is specified.


Parameters:

Number of elements along x axis: The number of finite antenna array elements along the x axis.

Number of elements along y axis: The number of finite antenna array elements along the y axis.

Offset along x axis: The distance between the finite antenna array elements along the x axis.

Offset along y axis: The distance between the finite antenna array elements along the y axis.

Element excitation: If the Uniform distribution or calculated from plane wave option is selected,
the array elements will either have an uniform distribution or the distribution
be calculated from the plane wave if a plane wave is present in the model. If
the Specify amplitude and phase for each element option is selected, the user
can specify the excitation for each element.

Magnitude scaling: The excitation magnitude for the respective element is scaled relative to the
base element.

Phase offset (degrees): The phase offset in degrees for the respective element relative to the base ele-
ment.

Circular/cylindrical layout

A finite antenna array with a circular or cylindrical distribution is specified.


Parameters:

Radius: The radius of the circular/cylindrical antenna array.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-29

Number of elements along Np: The number of finite antenna array elements along the Np/φ direction.

Number of elements along z axis: The number of finite antenna array elements along the z axis.

Angle between elements (Np): The angle between the respective finite antenna array elements.

Offset along z axis: The distance between the finite antenna array elements along the z axis.

Element excitation: If the Uniform distribution or calculated from plane wave option is selected,
the array elements will either have an uniform distribution or the distribution
be calculated from the plane wave if a plane wave is present in the model. If
the Specify amplitude and phase for each element option is selected, the user
can specify the excitation for each element.

Magnitude scaling: The excitation magnitude for the respective element is scaled relative to the
base element.

Phase offset (degrees): The phase offset in degrees for the respective element relative to the base ele-
ment.

The DGFM is supported for MoM examples containing metallic triangles, wires and connections
between the two. Skin effect and dielectric/magnetic coating are supported for metallic surfaces.
Coatings and discrete loads are supported for wires.
No SEP, VEP and FEM are allowed in conjunction with the DGFM.
Note that interconnected or very closely coupled domains less than a λ/10 spacing between array
elements, are not allowed. Only one FA card is allowed in the model.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-30

13.16 FM card

This card is used to instruct the FEKO solver to calculate the solution using the multilevel fast
multipole method (MLFMM) instead of the MoM on all structures in the simulation. A second
method, the adaptive cross approximation method is also available and is applicable to low fre-
quency problems or when using a special Green’s function.

Parameters:

Use MLFMM: The multilevel fast multipole method method is used to calculate the solution.

Use adaptive cross-approximation (ACA): The ACA method is used to calculate the solution. This
method approximates the impedance matrix by constructing a sparse H-matrix
(only a few selected elements are computed).

Box size at fines level: The MLFMM is based on a hierarchical tree-based grouping algorithm, and
depending on the frequency and the model dimensions FEKO automatically
determines the number of levels in this tree and the size of the boxes at the
finest level. It is also recommended that this default box size of 0.23λ is kept.
When there is no convergence in the MLFMM, then advanced users might try
to slightly increase or decrease this box size by setting it manually (the input
is in terms of the wavelength).

Near field calculation method: The MLFMM method can use a fast near field calculation method (this
is the default), but under certain circumstances it is preferred to use the tradi-
tional integration method. The method to use can be selected here.

Far field calculation method: The MLFMM method can use a fast far field calculation method (this is
the default), but under certain circumstances it is preferred to use the tradi-
tional integration method. The method to use can be selected here.

Multilevel fast multipole method (MLFMM)

Currently, the MLFMM may not be used in conjunction with the multilayer Green’s function.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-31

Advantages of adaptive cross approximation (ACA)

• ACA is done on the matrix level.

• No frequency breakdown like MLFMM.

• Not restricted to free space Green’s function like MLFMM.

• Iterative solution, each matrix-vector multiplication is very fast.

Note that the ACA can currently only be used sequentially.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-32

13.17 FO card

With this card an area is defined in which the surface current density is an approximation ac-
cording to the Fock theory.

Parameters:

Perfectly conducting cylinder: Select this option if the Fock area is/resembles a cylinder.

Perfectly conducting sphere: Select this option if the Fock area is/resembles a sphere.

Triangle labels: The label of the metallic triangles that form the surface of the Fock area (e.g.
the surface of the cylinder).

Axis start/Axis end point: These dialogs are only visible for Fock cylinders and should correspond to
the start and end points of the cylinder axis.

Sphere centre point: This dialog is only visible for Fock spheres and should correspond to the centre
of the sphere.

Formulation of the Fock currents: The type of process for the Fock currents, either the Method by
Daniel Bouche or the Method by Louis N. Medgyesi–Mitschang.

Decouple with moment method: Check this item to force FEKO to neglect the coupling between the
MoM and Fock regions, so that there is no feedback by which the Fock currents
may influence the current distribution in the MoM region. This option, which
is particularly applicable when the MoM and Fock regions are not in close
proximity, should result in a considerable reduction in computational effort
and storage space.

The radius of the cylinder or sphere does not have to be defined. It is determined by the distance
to the metallic triangles, with the label specified in Triangle labels.
The cylinder Fock currents can also be applied to cones (KK card, approximated by a staircase
construction of cylinders) and sections of a torus that resembles a cylinder (TO card). Although
the FO card is strictly only applicable to spherical and cylindrical surfaces, it is often a good
approximation on conical and toroidal surfaces.
It must be noted that the search for creeping rays on the Fock surface does not take into account
multiple Fock regions, i.e. one creeping ray can only exist in one Fock region. Therefore, when
for instance modelling a sphere and using symmetry, it is highly advisable to create part of the
sphere, then use the SY card to mirror it, and only then use one FO card which applies to the

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-33

whole sphere. When using SY or TG cards, they do operate on already existing Fock regions
defined above these cards and thus mirror or move them, but with the SY card the problem is
that after applying symmetry there exist multiple Fock regions. The creeping rays along geodesic
lines stop at the boundary of each Fock region.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-34

13.18 FP card

Options related to the FEKO solution parameters can be set using the FP card. The basis functions
to be used when using FEM or MoM can be set globally or on specific labels.

Parameters:

Label name (empty = all): Label of elements on which the basis function settings will be applicable.
When this field is empty, the setting will be applied globally on all elements.

Range selection: Specify the preferred range that should be used for the higher order basis func-
tion selection when the order is set to Auto. This setting is used by the FEKO
kernel to influence the order that will be used for a particular triangle size.
Selecting higher orders will result in computation time and memory usage to
increase if the mesh remains unchanged. Lower orders will reduce computa-
tion time and memory usage.

FEM parameters: The FEM parameters are applied globally and cannot be applied only to a
subset of the mesh elements. The value of the label field will be ignored for FEM settings.

Decouple from MoM (use FEM absorbing boundary condition): The MoM/FEM hybrid method fully cou-
ples the FEM and MoM techniques and also the surface of the FEM region is
treated by the MoM. For certain applications when there is a larger separation
between the MoM and the FEM regions (e.g. human body with a GSM base
station antenna) this decoupling checkbox can be checked. When the FEM and
MoM are decoupled, similar to switching off the coupling for the MoM/PO or
MoM/UTD hybrid methods, first the MoM region is solved for while neglecting
the FEM domain, and the MoM solution is used as an impressed excitation for
the FEM solution. The MoM is also not used on the FEM surface when they
are decoupled, but rather an absorbing boundary condition is applied on the
FEM surface. The advantage of this decoupling is a saving of memory and
computation time.

Element order: Three options are available for the order of the FEM solution. The Auto option
allows the FEKO kernel to select the order automatically. Second order will be
used by default. However, when having a fine mesh (like modelling details of
a biological structure), then one might consider switching to first order only to
reduce the number of unknowns.
When first order is selected, then CT/LN basis functions are used everywhere,
on the boundary and inside the FEM region. When switching to first order,
normally a finer mesh is required to get the same solution accuracy compared
to second order basis functions.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-35

When second order is selected, FEKO uses hierarchal tetrahedral elements with
LT/QN (linear tangential/quadratic normal) vector basis functions for the elec-
tric field inside the FEM region. On the boundary surface of the FEM region
CT/LN (constant tangential/linear normal) vector basis functions are used for
the equivalent electric and magnetic surface currents.

MoM parameters:

Element order: The order of the basis functions used for the MoM is determined by this setting.
The Default option selects the default order used in FEKO. The default is cur-
rently set to use RWG (Rao-Wilton-Glisson) basis functions.
The Auto option allows FEKO to determine the best order to use. The order of
the basis function is determined by the size of the triangle and influenced by
the Range selection setting.
Hierarchical basis functions can be used by selecting any of the orders in the
list (0.5, 1.5, 2.5 or 3.5). Higher order basis functions have more unknowns,
but they allow the triangle size to be increased considerably.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-36

13.19 HC card

This card creates a cylinder with a hyperbolic border.

Parameters:

S1: The origin (where the asymptotes intersect) of the hyperbolic border.

S2: The pole of the hyperbolic border.

S3: The point where the hyperbolic arc and the straight edge intersect.

S4: The pole of the hyperbolic border at the opposite edge of the cylinder.

Normal vector directed: The normal vectors can be directed inward or outward.

Max. triangle edge length (at hyperbolic border): The maximum edge length on the hyperbolic border.

The hyperbolic border may require shorter mesh edges than those used for straight edges. Thus
the maximum segment length specified in the IP card may be overridden along the arc by setting
Max. triangle edge length (at hyperbolic border).
Example of HC card usage:
The cylinder with a hyperbolic border shown in Figure 13-15 is created using the HC card.

Figure 13-15: HC card examples — These examples are found in demo_HC1.pre.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-37

13.20 HE card

With this card a helical coil, consisting of wire segments, can be created.

Parameters:

S1: The start point of the coil’s axis.

S2: The end point of the coil’s axis.

S3: The start point of the windings.

Connect helix . . .: Create connections from the two ends of the coil to the axis (at points S1 and
S2). See also left side of Figure 13-16. If the connections are not generated,
point S3 is a connection point. See also the right side of Figure 13-16.

Coil orientation: Indicate whether a right- or left handed coil should be created.

Number of turns: In this field the number of turns for the helix is entered. It need not be an
integer number.

Maximum segment length: Maximum length of the segments, that are used for the windings in m (is
scaled by the SF card). If this parameter is left empty, the value specified with
the IP card is used.

Set (tapered) radius . . .: If this item is checked, a tapered wire radius can be set. Normally the wire
radius is set with the IP card. Checking this item overrides this radius for the
current helix without affecting the default for later segments (The radius is in
m and is affected by the SF card scaling factor.) The segments connecting to
the axis are not tapered and have radii corresponding to the start point and
end point respectively.

Radius at start . . .: The radius of the wire at the start of the coil.

Radius at end . . .: The radius of the wire at the end point of the coil.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-38

Scale second half axis: If this parameter is empty or is set to 1, a helix with a circular cross section
is created. If set to ab , a helix with an elliptical cross section is created. Here
b
a
gives the ratio of the two half axes, where a is the distance S1–S3. It is
not recommended to generate elliptical helices with extremely small or ex-
tremely large axial ratios with a CAD system as the distortion formulation used
in PREFEKO may fail in these cases.

.
Quite often modelling the geometry of the coil requires shorter segments than those used for
straight wires. Thus the maximum segment length specified by the IP card can be overridden
along the arc by setting Maximum segment length.
The windings are generated between the two points S1 and S2, that lie on the axis. The radius
of the coil is defined by the distance between the points S1 and S3. For elliptical cross sections
this is the length of one half axis and the other one is Scale second half axis times this length.
Example of HE card usage:
The two coils shown in Figure 13-16 are created using the HE card.

B1 B2

A1 A2
C1 C2

Figure 13-16: HE card examples — the coil on the right is coiled in the left handed direction. These
examples are found in demo_HE1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-39

13.21 HP card

This card creates a plate with a hyperbolic border.

Parameters:

S1: The origin (point at which the asymptotes intersect) of the hyperbolic border.

S2: The pole of the hyperbolic border.

S3: The point where the hyperbolic arc and straight edge intersect.

Max. triangle edge length (at hyperbolic border): The maximum edge length on the hyperbolic border.

The hyperbolic border may require shorter mesh edges than those used for straight edges. The
maximum edge length specified in the IP card can be overridden on the hyperbolic arc by setting
Max. triangle edge length (at hyperbolic border).
Example of HP card usage:
The plate with a hyperbolic border shown in Figure 13-17 is created using the HP card.

Figure 13-17: HP card example. This example is found in demo_HP1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-40

13.22 HY card

This card creates a hyperboloid section.

Parameters:

S1: The origin (point at which the asymptotes intersect) of the hyperboloid section.

S2: The pole of the hyperbolic border.

S3: A point that defines the outer border of the hyperboloid section.

Normal vector directed: The normal vectors can be directed inward or outward.

Subtended angle ϕ (in degrees): The subtended angle measured from S3.

Max. triangle edge length (at circular border): The maximum edge length on the circular border of the
hyperboloid section.

The hyperbolic border may require shorter mesh edges than those used for straight edges. Thus
the maximum segment length specified in the IP card may be overridden along the circular arc
by setting Max. triangle edge length (at circular border).
Example of HY card usage:
The hyperboloid section shown in Figure 13-18 is created using the HY card.

Figure 13-18: HY card example. This example is found in demo_HY1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-41

13.23 IN card

This card is used to include external files. These files may be other *.pre files (which are
included as if they were part of the master file) or mesh data files containing wire segments, tri-
angles, quadrangles, tetrahedral volume elements and/or polygonal plates (in FEMAP neutral, an
ASCII format, NASTRAN, meshed AutoCAD (*.dxf), NEC model, Concept model, STL, PATRAN
neutral, ANSYS (*.cdb), ABAQUS (*.inp) or GiD (*.msh) mesh files).
These fields are common to more than one option:

File name: The name of the file. This parameter is required for all import options. The file
name may contain directory names as well, for example,
../myfiles/include.inc
and will have different extensions for the various import options. Both \ and /
are allowed on Windows and UNIX systems.

Include segments: Check this item to include all wire segments that match the label selection.
(See below.)
Include triangles: Check this item to include surface triangles.
Include quadrangles: Check this item to include quadrangles. The quadrangles are subdivided into
triangles (along the shortest diagonal) during importation.
Include tetrahedral elements: Check this item to include tetrahedral elements (for FEM).

Include polygons: Check this item to include polygonal plates (for UTD).
Include node points: Check this item to include node points.
Include only node points for imported triangles and/or wires: If this item is checked, only the node points
which are used by the imported elements, are imported. This is useful if one
imports, for example, a few segments from a file containing a large number
of triangles. With this option one may then only import the points associated
with the segments — even if they have the same label as the ones associated
with triangles only.

Label selection: Most options allow label selective importing. (How the various layers/prop-
erties / names are converted to FEKO labels is discussed separately for each
import option.) One may Include all items, Include items with only a single
label or Include items with range of labels. If the first option is selected all ele-
ments are imported, irrespective of label. If the single label option is selected,
the Include structures with. . . field becomes active. Specify the label (as it will
be after conversion) in this field. If the range option is selected, the Up to. . .
field also becomes active. All elements with the label larger or equal to the
first and smaller or equal to the second field, are included. If the import option
does not support label selection, all elements are imported.

Scale factor: An optional constant scaling factor can be applied to the imported geometry.
This is necessary, for example, if separate CAD files with different units must be
imported, or if the *.pre is, for example, created using mm while the CAD file
is constructed using inches as unit. It should be noted that the scaling factor
specified here is applied in addition to any scaling factor that may be set with
the SF or TG cards.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-42

PREFEKO file

This option is used to include cards and commands (such as variable definitions etc.) from a
separate file. One may, for example, create a single file with an antenna which is then imported
into different environment models.

For this option, the file name is the only parameter. This file is included as if it was part of
the master *.pre file. These include files usually have the extension *.inc, but can have any
extension. The cards and instructions in the included files are processed as if they were part
of the main file. Therefore, points and labels defined in the included file remain valid in the
remainder of the main file. Note that it is also possible to use such an IN card in the control
section of the *.pre file (for instance to import a feed model).
When reading a PREFEKO file it is not possible to add a scaling factor to the IN card. In this case
the TG card must be used if the global (SF card) scaling option is not sufficient.
It is possible to use multiple nested levels of include files (i.e. one include file can include another
one and so on). It is also possible to specify together with the file name an absolute or relative
path like in
IN 0 "..\subdir\file.inc"

In such a case — if multiple levels of include files are used — it is first tried to find the include
file using the path relative to the location of the file where the IN card is used. If the include file
is not found there, then PREFEKO also tries to find the include file using the path relative to the
location of the main *.pre file which is processed.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-43

FEMAP neutral file

This option is used to import models generated by the commercial CAD meshing program FEMAP.
The models must be exported from FEMAP in the FEMAP neutral file format (*.neu).

This card supports all the parameters described in the general section of the IN card above.
The label selection uses the FEMAP layer numbers which are converted to FEKO labels. Wires
must be meshed into elements which are imported as segments, surfaces into triangles or quad-
rangles which are imported as FEKO triangles, and boundary surfaces are imported as polygonal
plates. The boundary surface must be bordered with line curves rather than edge curves.
The user can also elect to import points from the *.neu file. All points defined as such in
FEMAP are then available in PREFEKO as points (as if they were defined by DP cards) of the
form Pxxx where xxx is the point ID in FEMAP. This may be used, for example, when attaching
additional structures to a geometry partly created in FEMAP. In addition, the coordinate values of
the point are available as variables in PREFEKO. For example, the variables #p1234x, #p1234y
and #p1234z give the coordinates of the FEMAP point with ID 1234. Note that points are not
included by default.
It should be remembered that it is not possible to specify a wire radius in FEMAP. Thus the
wire radius must be specified by an IP card preceding the IN card. Similarly, when specifying
the surface of a dielectric, the IN card must be preceded with the correct ME card (completely
analogous to the case without FEMAP).
POSTFEKO should be used to verify the included geometry.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-44

Import special ASCII data file

This option is used to import meshes stored in the geometry data file as specified below.

The ASCII format supports segments, triangles, tetrahedra and polygonal plates, but all other
(non-selection) parameters discussed in the general section of the IN card above apply. In this
case the label is specified directly in the file and no conversion is required.
Dielectric triangles or metallic triangles which form the surface of a dielectric, are created by
preceding the IN card with the appropriate ME card. (In exactly the same way as is the case
without the IN card.)
The data of the segments, triangles and polygonal plates are given in an ASCII file, formatted as
shown below. There is no need to adhere to specific columns, the data fields merely have to be
separated by one or more spaces.
nk nd ns np nt
x(1) y(1) z(1) (String_name)
x(2) y(2) z(2) (String_name)
...
x(nk) y(nk) z(nk) (String_name)

d1(1) d2(1) d3(1) 0 (Label)


d1(2) d2(2) d3(2) 0 (Label)
...
d1(nd) d2(nd) d3(nd) 0 (Label)

s1(1) s2(1) 0 0 (Label)


s1(2) s2(2) 0 0 (Label)
...
s1(ns) s2(ns) 0 0 (Label)

nnp(1) p1(1) p2(1) p3(1) ... (Label)


nnp(2) p1(2) p2(2) p3(2) ... (Label)
...
nnp(np) p1(np) p2(np) p3(np) ... (Label)

t1(1) t2(1) t3(1) t4(1) (Label)


t1(2) t2(2) t3(2) t4(2) (Label)
...
t1(nt) t2(nt) t3(nt) t4(nt) (Label)

The meaning of the above is:

nk Number of nodes

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-45

nd Number of triangles

ns Number of segments

np Number of polygonal plates

nt Number of tetrahedral volume elements (defaults to 0 if not specified)

x(i) x coordinates of node i in m (is scaled by the SF card)

y(i) y coordinates of node i in m (is scaled by the SF card)

z(i) z coordinates of node i in m (is scaled by the SF card)

d1(j) Number (index) of the first vertex of triangle j

d2(j) Number (index) of the second vertex of triangle j

d3(j) Number (index) of the third vertex of triangle j

s1(k) Number (index) of the starting point of segment k

s2(k) Number (index) of the end point of segment k

nnp(m) Number of corner points in polygon m

p1(m) Number (index) of the first corner of polygon m

p2(m) Number (index) of the second corner of polygon m

p3(m) Number (index) of the third corner of polygon m

t1(m) Number (index) of the first corner of tetrahedron m

t2(m) Number (index) of the second corner of tetrahedron m

t3(m) Number (index) of the third corner of tetrahedron m

t4(m) Number (index) of the third corner of tetrahedron m

... Number (index) of the additional corners of polygon m

String_name Optional string name of the point. It must be a string of up to five characters, similar to
the point name of the DP card. If a point is named, it can be used in any card following
the IN card.

Label Specifying the label as the last parameter of any structure is optional. If no label is
specified, the value defined at the last LA card will be used. Note that if a label or range
of labels is specified (with parameters after the file name), this LA card label will be
used to determine if a structure is included or not.

The radius of segments must be specified by an IP card before the IN card. It is recommended to
check the geometry with POSTFEKO.
Example:
The structure in Figure 13-19, consisting of 5 node points and 3 triangles with label 7 (no seg-
ments or polygonal plates), may be imported from the following data file

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-46

5 3 0 0
3.0 0.0 1.0
4.0 2.0 1.0
2.5 3.0 2.5
0.0 3.0 4.0
1.0 0.0 3.0
1 2 3 0 7
1 3 5 0 7
3 4 5 0 7

P1 = (3, 0, 1) P4
P2 = (4, 2, 1) y
P3 = (2.5, 3, 2.5)
P4 = (0, 3, 4)
P5 = (1, 0, 3)
P5 P3

P2
P1

Figure 13-19: Example for IN card

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-47

Import NASTRAN file

With this option, PREFEKO can import a model from a NASTRAN file. It supports both 8-character
and 16-character wide column based files as well as comma separated files. NASTRAN files in
cylindrical, spherical coordinate systems, as well as files in Cartesian coordinate systems are
supported. Only the keywords GRID, CTRIA3, CQUAD4, CTETRA, CBAR and CROD for nodes,
triangles, quadrangles (divided into two triangles along the shortest diagonal), tetrahedral ele-
ments, and segments are processed.

NASTRAN does not support polygonal plates, but all other parameters in the general section of
the IN card above apply. The label selection uses the NASTRAN properties which are converted
to FEKO labels.
As when importing FEMAP neutral files, the wire radius must be set with the IP card preceding
the IN card, and an ME card must be used when specifying dielectric surfaces in the same way as
when the IN card is not present.
The user can also import points from the NASTRAN file. The points defined in the NASTRAN
file will then be available in PREFEKO as points (as if they were defined by DP cards) of the
form Nxxx where xxx is the index of the grid point. This may be used, for example, to attach
additional structures to the geometry. In addition, the coordinate values of the point are available
as variables in PREFEKO. For example, the variables #n1234x, #n1234y and #n1234z give the
coordinates of the NASTRAN grid point with index 1234. Note that points are not included by
default.
Since grid points do not have an associated property, points are imported irrespective of their
label, but they may be limited to those used for the imported geometry.
Each line in the 8-character column based format consists of one keyword such as “GRID” starting
in column 1. From column 9 onwards follow 9 input fields with widths of 8 characters each. Thus
input field 1 uses columns 9 to 16, input field 2 uses columns 17 to 24 etc. The ninth (and last)
input field ends at column 80. Below is a very simple NASTRAN example file consisting of a
plate (property 1; subdivided into eight triangles) and a rod (property 2; subdivided into two
segments).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-48

|1 |9 |17 |25 |33 |41 |49

ID XXXXXXXX,YYYYYYYY
CEND
BEGIN BULK
GRID 1 0.0 0.0 0.0
GRID 2 0.50000 0.0 0.0
GRID 3 1.00000 0.0 0.0
GRID 4 0.0 0.50000 0.0
GRID 5 0.50000 0.50000 0.0
GRID 6 1.00000 0.50000 0.0
GRID 7 0.0 1.00000 0.0
GRID 8 0.50000 1.00000 0.0
GRID 9 1.00000 1.00000 0.0
GRID 10 0.50000 0.50000 2.00000
GRID 11 0.50000 0.50000 1.00000
CROD 9 2 5 11
CROD 10 2 11 10
CTRIA3 1 1 4 5 8
CTRIA3 2 1 4 8 7
CTRIA3 3 1 5 6 9
CTRIA3 4 1 5 9 8
CTRIA3 5 1 1 2 5
CTRIA3 6 1 1 5 4
CTRIA3 7 1 2 3 6
CTRIA3 8 1 2 6 5
ENDDATA

For the node points FEKO also supports 16 character wide input fields. The keyword GRID in
columns 1 to 4 is followed by a star and three spaces. The node ID is then in columns 9 to 24,
the x coordinate in columns 43 to 56, y in columns 57 to 72 and z in columns 9 to 24 of the next
line.
For example
|1 |9 |25... |43 |57 |73 |81

GRID* 1 50.000000000 -18.480176926 1


* 1 23.222875595
GRID* 2 50.000000000 -18.480176926 2
* 2 -13.410394669

For the comma separated format, the individual entries are separated by commas
GRID,1,0,-238.533,186.7983,0.000000,0
GRID,2,0,-244.777,214.3057,172.9991,0
GRID,3,0,288.0060,115.1831,339.8281,0
GRID,4,0,356.2201,50.15516,0.000000,0
CTRIA3,1,1,1,2,3,,0.0,,
CTRIA3,2,1,1,2,4,,0.0,,

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-49

Import AutoCAD DXF file

This card allows importing *.dxf models. The *.dxf file must comply with the release 12 DXF
format specifications. It should contain meshed- or closed- polyline surfaces (see the discussion
below) and lines (that will be segmented by PREFEKO as discussed below).

In addition to the file name, label selection and scale factor discussed in the general section of
the IN card above, the DXF import option supports the following element selection:

Include segments: Same as above.

Include meshed polylines (triangles and quadrangles): Check this item to include meshed polylines (tri-
angles and quadrangles) from the DXF file into the model.

Include node points: Check this item to include node points from the DXF file into the model.

Include closed polylines (meshed into triangles): Check this item to include closed polylines from the
DXF file into the model. These structures will be meshed by PREFEKO.

Layers named n or LAYER_n (where n is an integer number) in the *.dxf model are converted to
label n in FEKO. For all structures for which no label is defined in this format, the label specified
with the last LA card preceding the IN card is used. (If no such LA card is in effect, the default is
label 0.) This label is used in the label selection.
As for the other meshed CAD formats, dielectric triangles or metallic triangles which form the
surface of a dielectric, are created by preceding the IN card with the appropriate ME card.
PREFEKO only processes the geometry information in the section of the file between the keywords
ENTITIES and ENDSEC.
The user can import points (i.e. vertices of polylines and start/end points of lines) from the DXF
file. The points defined in the DXF file will then be available in PREFEKO as points of the form
Qxxx where xxx is a consecutive point index. In addition, the coordinate values of the point are
available as variables in PREFEKO. For example, the variables #q1234x, #q1234y and #q1234z
give the coordinates of point 1234. Note that points are not included by default. The imported
node points will have the label (i.e. converted layer) of the corresponding LINE or POLYLINE
structure (the layer of the VERTEX block for polylines is not used). A label range selection at the
IN card may be applied so that only the points with a correct layer will be imported.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-50

Segments are imported from blocks defined by the keyword LINE.


0
LINE
8
LAYER_01
.
.
10
-0.0538
20
0.0
30
8.134
11
5.110
21
2.857
31
0.0
0
... (next keyword)

The group code 8 at a point below LINE indicates that the next line contains the layer name. In
this case, the layer will be converted to label 1. The line will be imported and segmented if this
label lies in the required range. (If not, PREFEKO will search for the next occurrence of LINE.)
Next the x, y and z components of the start point follow the group codes 10, 20 and 30; and
those of the end point follow the codes 11, 21 and 31.
Here the start and end points are (x, y, z) = (-0.0538, 0.0, 8.134) and (5.110, 2.857, 0.0)
respectively. If any of the coordinate group codes are absent (such as in a 2D model), the related
coordinate is set to zero. The block is terminated by the group code 0. The wire is segmented
according to the maximum segment length specified by the IP card, and the segments also have
the radius specified by this card.
Meshed surfaces are imported from blocks denoted with the keyword POLYLINE. This block
contains the layer name (following the group code 8 as before; if there is no group code 8 before
the first VERTEX, the label specified with the last LA card will be used) and a number of VERTEX
structures. There can be an arbitrary number of VERTEX structures, but there should be at least
four.
The POLYLINE structure is terminated by the keyword SEQEND.
0
POLYLINE
8
LAYER_02
.
.
VERTEX
.
.
VERTEX
.
.
VERTEX
.
.
0
SEQEND

There are two types of vertices. The first type defines points in space

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-51

0
VERTEX
8
LAYER_02
.
.
10
7.919192
20
3.393939
30
0.0
.
.
0
... (next keyword)

where the x, y and z components of the point follow the group codes 10, 20 and 30. The layer
information is ignored.
The second type of vertex is a “linker”.
0
VERTEX
8
LAYER_02
.
.
70
128
71
4
72
2
73
1
74
3
.
.
0
... (next keyword)

which defines a triangle or quadrangle by specifying the indices (starting from 1 in the order
the non-linker vertices are specified) of the vertices which form its corner points. Vertices are
defined as linkers by setting a value of 128 in the group code 70 field. For linker vertices the
coordinates are ignored. Note that old *.dxf versions do not contain linker vertices — they
cannot be imported. (Usually they do not contain mesh information.)
The four integer numbers after the group codes 71, 72, 73 and 74 give the indices of corners of
the triangle or quadrangle. (In the case of a triangle one of these is absent.) PREFEKO divides
each quadrangle into two triangles along the shortest diagonal.
In addition to being able to import meshed polylines, closed polylines can also be imported. These
will be meshed into triangular patches during the import according to the meshing parameters
set at the IP card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-52

Import NEC model file

PREFEKO also supports importing wire geometry from NEC29 models. Note that NEC models
usually consist of wire grid surfaces and it would be more efficient to convert the models to
FEKO surfaces, but this cannot be done automatically.

For this option only the file name, label selection and Include segments are supported.
The label selection uses the NEC tags which are converted to FEKO labels. This applies to the
tag when the element is defined. If the tag is modified after the inclusion (for example with the
GM card) the elements with the modified tag are also included. The type selection parameter x
is also supported, but it may only have the value 1 for wire segments.
The NEC import filter considers only the geometry cards CM, CE, GA, GW, GM, GR, GS, GX and
GE. A warning is given if other cards are encountered. If the model contains multiple geometries
only the first one is read.

29
G.J. Burke and A.J. Poggio, “Numerical Electromagnetics Code (NEC) — Method of Moments,”
Lawrence Livermore Laboratory, January 1981.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-53

Import Concept geometry file

With this option one may import CONCEPT30 geometry files.

Since CONCEPT uses two different files for wires and surface elements, the type of element
selection is obligatory and determines the type of geometry file to be read. The only other
parameters supported here are the file name and scale factor. (The CONCEPT file does not
contain labels.) If the concept model contains quadrangles, they are divided into triangles.
Since wires don’t have a radius in the model files, the radius is specified with a preceding IP card.
Likewise, the elements don’t have labels, and the label as specified at the last LA card before the
IN card is used. If there is no LA card, the label defaults to zero.
As for the CAD models, dielectric triangles or metallic triangles which form the surface of a
dielectric, are created by preceding the IN card with the appropriate ME card.
The CONCEPT files for wires are as follows
number_of_wires
x_start y_start z_start x_end y_end z_end [number_of_wires times]

where the first integer specifies the number of wires followed by the coordinates of the start and
end point of each wire. The file is completely free format — the values are just separated by
white space. The surface file is
number_of_nodes number_of_patches
x y z [number_of_nodes times]
p1 p2 p3 p4 [number_of_patches times]

again using free format. The values x, y and z specify the node coordinates and p1, p2, p3 and
p4 specify the corner nodes of the triangles (in this case p4 is 0) and quadrangles.

30
A MoM code developed at the University of Hamburg-Harburg, Germany.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-54

Import STL file

PREFEKO can also import STL — both ASCII and binary — files. STL files supports only triangular
patches and these are all imported. Also, since the STL file makes no provision for any labels,
label selection is not supported. The scale factor is supported.

An example of an ASCII STL file is


SOLID CATIA STL PRODUCT
FACET NORMAL -4.602166E-01 -1.858978E-01 -8.681260E-01
OUTER LOOP
VERTEX 4.789964E-01 -8.440244E-01 2.878882E-01
VERTEX 4.764872E-01 -8.439470E-01 2.892018E-01
VERTEX 4.783065E-01 -8.414296E-01 2.876983E-01
ENDLOOP
ENDFACET
FACET NORMAL -4.601843E-01 -1.859276E-01 -8.681367E-01
OUTER LOOP
VERTEX 4.764872E-01 -8.439470E-01 2.892018E-01
VERTEX 4.761175E-01 -8.425569E-01 2.891001E-01
VERTEX 4.783065E-01 -8.414296E-01 2.876983E-01
ENDLOOP
ENDFACET
ENDSOLID

For the description of binary STL files, please see: http://www.ennex.com/~fabbers/StL.asp

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-55

Import CADFEKO mesh file

CADFEKO exports the mesh to a *.cfm file which is imported by an IN card in the default *.pre
file created by CADFEKO. The options are similar to those of the other formats that PREFEKO
can import. For the import of *.cfm-files (in addition to the mesh element inclusion/exclusion
options provided) provision is made for the inclusion/exclusion of the variables that are defined
in the *.cfm-file during the import process. Imported variables can then be refered to in other
PREFEKO cards.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-56

Import PATRAN neutral file

PREFEKO also supports importing PATRAN files.

PATRAN does not support polygonal plates, but all other parameters in the general section of the
IN card above apply. The label selection uses the PATRAN material ID’s which are converted to
FEKO labels. Only the following PATRAN neutral packet types are imported:

01: Node data (all coordinates are interpreted in the global rectangular frame, local coordinate
frames are not supported).

02: Element data. The shapes 2(bar), 3(tri), 4(quad) and 5(tet) are allowed. Quadrangles are
automatically subdivided into triangles along the shortest diagonal.

99: End of file flag.

Other packet types are ignored.


As when importing *.neu files, the wire radius must be set with the IP card preceding the IN
card, and an ME card must be used when specifying dielectric surfaces in the same way as when
the IN card is not present.
The user can also import points from the PATRAN file similar to importing points from FEMAP
or NASTRAN files. The points defined in the PATRAN file will then be available in PREFEKO as
points (as if they were defined by DP cards) of the form Txxx where xxx is the index of the
grid point. This may be used, for example, to attach additional structures to the geometry. In
addition, the coordinate values of the point are available as variables in PREFEKO. For example,
the variables #t1234x, #t1234y and #t1234z are set to the coordinates of the point with index
1234. Note that points are not included by default. Since points do not have an associated
property ID, points are imported irrespective of their label.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-57

Import ANSYS CDB file

PREFEKO also supports importing geometry from ANSYS *.cdb files. By default, when exporting
such files from ANSYS, the BLOCKED option is used. PREFEKO only understands this BLOCKED
syntax, the UNBLOCKED version is not supported. Also regarding the element type, only the
ANSYS element types 200 (filaments, triangles, tetrahedral elements, and brick elements) as
well as element type 16 (pipe16, wire with a finite radius) are supported.

The selection of polygonal plates and quadrangles are not supported, but all other (non-selection)
options discussed in the general section of the IN card is supported. It also supports an additional
selection option:

Include cuboidal volume elements: Check this item to include cuboidal elements to be used with the
volume equivalence principle in FEKO.

The component name from the CMBLOCK is converted to the FEKO label. Since the FEKO label
must be an integer value, only component names which are integer strings (for example, 15) or
end with an underscore followed by an integer string (for example, FEED_7) will be converted to
FEKO labels (15 and 7 in the examples above). In all other cases (for example, for a component
name PATCH) the FEKO label will be set to zero.
Note unlike most of the other CAD import formats supported by the IN card, the ANSYS CDB
file makes provision for a wire radius of the segments of type pipe16 (real constant from the
associated RLBLOCK). This is then used during the import and any setting at the IP card is
ignored (the IP card radius is still used for filaments of element type 200). For dielectric bodies,
one must use an ME card to specify the element type and medium indices. The ANSYS field for
the material number cannot be used, since for triangles FEKO requires two such material indices
(medium on each side).
The user can also import points from the ANSYS CDB file similar to importing points from FEMAP
or NASTRAN files. The points defined in the ANSYS CDB file will then be available in PREFEKO
as points (as if they were defined by DP cards) of the form Cxxx where xxx is the index of the
grid point. This may be used, for example, to attach additional structures to the geometry. In

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-58

addition, the coordinate values of the points are available as variables in PREFEKO. For example,
the variables #c1234x, #c1234y and #c1234z are set to the coordinates of the point with index
1234. Note that points are not included by default.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-59

Import ABAQUS mesh file

PREFEKO also supports importing mesh files from ABAQUS *.inp files. The various options for
the card panel are as described globally or at the other import options:

Here for ABAQUS mesh files, the ABAQUS element set (ELSET command) is converted to the
FEKO label.
Points are imported similar to the case for NASTRAN files, i.e. they are available in PREFEKO
as points (as if defined by DP cards) of the form Nxxx where xxx is the index of the grid point.
The coordinate values of the point are available as variables of the form #n1234x, #n1234y and
#n1234z. Note that points are not included by default.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-60

Import GiD mesh

PREFEKO also supports importing mesh files from GiD *.msh files.

For GiD mesh files, the material type or layer property is converted to the FEKO label during the
import.
The import options are similar to the options for NASTRAN and ABAQUS mesh imports. The
following should be noted regarding the support of special elements in the GiD mesh.

• Hexahedral elements are not supported in the FEKO import of GiD meshes.

• Nodes that only contain 2 coordinates are interpreted as x and y coordinates on the z=0
plane.

• Quadrilateral elements are divided into triangle elements along the shortest diagonal dur-
ing import.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-61

13.24 IP card

With this card a number of parameters that define the meshing parameters or also the wire radius
are set.

Parameters:

Radius of wire segment: Segment radius in m (it is scaled by the SF card if used).

Maximum triangle edge length: Maximum edge length of triangular elements in m (it is scaled by the
SF card).

Maximum wire segment length: Maximum segment length for wire segments in m (it is scaled by the
SF card).

Maximum cuboid edge length: Maximum edge length of cuboidal volume elements for dielectrics (vol-
ume equivalence principle of the MoM) in m (it is scaled by the SF card).

Maximum tetrahedral edge length: Maximum edge length of tetrahedral volume elements (FEM) in m
(it is scaled by the SF card).

The IP card only affects the commands following it, i.e. it has to be declared prior to the cards
that define segments, triangles or cuboids.
It is possible to use more than one IP card in a file. This is necessary when a finer mesh is
required in certain parts or when different radii occur in the geometry. For any command (e.g.
the BL card) the previous IP card is applicable.
Regarding the meshing, certain rules apply relating the element size (see Section 15.2.2) to the
wavelength etc.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-62

13.25 KA card

With this card two points are joined, which form the border of the PO area. On this edge, fringe
wave currents are taken into account.

Parameters:

Start point of edge: Start point of the edge.

End point of edge: End point. The direction of an edge is arbitrary, i.e. it does not matter which
edge point is chosen as the end or start point of the edge.

Label of triangles . . .: Label of the PO triangles adjacent to the PO border, i.e. the edge correction
current from this edge is applied to all triangles with this label.

Note that the surface must be flat, i.e. all triangles with the label specified here must lie in the
same plane.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-63

13.26 KK card

A mesh of surface triangles in the shape of a conical section can be created with this card. The
cone can also be distorted to have an elliptical cross section. Cones or conical sections with
included angles that vary from the top to the bottom, or that do not start in a specified plane,
can also be created.

Parameters:

S1: The start point of the axis of the cone (the centre of the base).

S2: The end point of the axis (the tip of the cone, or the centre point of the circle
when creating a conical section.

S3: A point on the radius of the base.

S4: If this parameter is defined, the cone is cut off at the top; if not the cone has a
sharp tip. This point must be in the plane given by S1, S2 and S3.

Start angle at the bottom: The angle ϕ from the plane S2–S1–S3 at which the bottom of the cone
should start.

End angle at the bottom: The angle ϕ from the plane S2–S1–S3 at which the bottom of the cone
should end.

Start angle at the top: The angle ϕ from the plane S2–S1–S3 at which the top of the cone should
start.

End angle at the top: The angle ϕ from the plane S2–S1–S3 at which the top of the cone should end.

Maximum edge length (bottom): The maximum edge length of the triangles along the base arc — in
the plane containing S1 — of the cone. (This value is in m and is scaled by the
SF card). If this parameter is left empty, the value specified with the IP card is
used.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-64

Maximum edge length (top): This value only applies if S4 is specified and gives the maximum edge
length of the triangles along the top arc — in the plane containing S2 — of the
cone. (This value is in m and is scaled by the SF card). If this parameter is left
empty, the value specified with the IP card is used.

Normal vector directed: The triangles can be created so that the normal vector points Outward (away
from the axis) or Inward (to the inside of the cone).

Scale second half axis: If this parameter is empty or is set to 1, a cone with a circular cross section is
created. If set to ab , a cone with an elliptical cross section is created. Here ab
gives the ratio of the two half axes, where a is the distance S1–S3. It is recom-
mended to generate elliptical cones with extremely small or extremely large
axial ratios with a CAD system as the distortion formulation used in PREFEKO
may fail in these cases.

The fineness of the mesh on the shell’s surface is determined by the maximum edge length spec-
ified by the last IP card prior to the KK card. Along the arcs, accurate modelling of the geometry
may require finer segmentation and the values Maximum edge length (bottom) and Maximum
edge length (top) specify the maximum edge length along the corresponding arcs. Maximum
edge length (top) is only used when a truncated cone is created. If either of these values is not
specified the length specified with the IP card will be used on the corresponding arc.
Examples of KK card usage:
All of the following meshes are created using the KK card. These examples show a sharp cone, an
oblique elliptical cone, a conical section with different angles at the top and bottom and a conical
section where the start angle is not in the plane S2–S1–S3.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-65

Figure 13-20: Example for the KK card from demo_KK1.pre

Figure 13-21: Example of a cone with an elliptical cross section from demo_KK2.pre

Figure 13-22: Example of a cone with different subtended angles at the top and at the bottom from
demo_KK3.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-66

Figure 13-23: Example of a conical section where the start angle is not in the plane defined by S1, S1 and
S3 (demo_KK4.pre)

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-67

13.27 KL card

This card defines a wedge for which correction terms are added to the PO currents on the two
surfaces connected to it.

Parameters:

K1 : The start point of the edge of the wedge.

K2 : The end point of the edge of the wedge.

P0 : A point on the O side of the wedge.

PN : A point on the N side of the wedge.

Label of the O side triangles: The label of the PO triangles that are adjacent to the wedge on the O side.
This means that the corresponding correction term for the O side is assigned
to the PO triangles that have this label.

Label of the N side triangles: The label of the PO triangles that are adjacent to the wedge on the N side.
This means that the corresponding correction term for the N side is assigned
to the PO triangles that have this label.

Note that the wedge must be between flat surfaces, and that all triangles with the label specified
here must lie in the same plane.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-68

13.28 KR card

This card creates a mesh of surface triangles in the shape of circular region with or without a
hole. It is also possible to distort it to an elliptical region.

Parameters:

S1: The centre point of the circle.

S2: A point that is situated at any distance perpendicular to and above the plane
of the circle.

S3: A point on the outer arc.

S4: If there is a value present for this parameter, then a circular ring is created. S4
must lie between S1 and S3.

The angle ϕ: The angle subtended by the arc in degrees.

Maximum edge length (outer): The maximum edge length of the triangles along the outer edge of the
arc in m (is scaled by the SF card). If this parameter is left empty, the value
specified with the IP card is used.

Maximum edge length (inner): When a disk with a hole is created, the maximum edge length for the
triangles along the inner edge of the arc in m (is scaled by the SF card). If this
parameter is left empty, the value specified with the IP card is used.

Scale second half axis: If this parameter is empty or is set to 1, a circular disk is created. If set to
b
a
, an elliptical disk is created. Here ab gives the ratio of the two half axes,
where a is the distance S1–S3. It is recommended to generate elliptical disks
with extremely small or extremely large axial ratios with a CAD system as the
distortion formulation used in PREFEKO may fail in these cases.

The circle’s plane is perpendicular to the line S1–S2. This length is arbitrary. The radius of the
disc is given by the length between the points S3 and S1. The area that is to be subdivided (the
shaded region in the figure) is generated by sweeping the edge S3–S1 around the axis S1–S2
through ϕ degrees in the mathematically positive sense. For ϕ = 360◦ a circle is obtained.
The fineness of the mesh is determined by the maximum edge length specified by the last IP
card prior to the KR card. Along the arcs, accurate modelling of the geometry may require finer

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-69

segmentation and the maximum edge length values specify the maximum edge length along the
outer and inner (if applicable) arcs respectively. If any of these values are not specified the length
specified with the IP card will be used on the corresponding arc.
The normal vectors of the triangles on the disk all point in the direction from S1 to S2.
Examples of KR card usage:
The following example meshes are all created using the KR card. Shown is a circular plate, a flat
circular ring and a flat elliptical ring.

Figure 13-24: First example for the KR card from demo_KR1.pre

Figure 13-25: Second example for the KR card from demo_KR2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-70

Figure 13-26: Example of an elliptical disk with a hole from demo_KR3.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-71

13.29 KU card

This card creates a mesh of surface triangles in the shape of a spherical section.

Parameters:

S1: The centre of the sphere.

S2: A point that indicates the ϑ = 0◦ direction in a spherical coordinate system.


The distance between S1 and S2 is the radius of the sphere.

S3: A point that indicates the ϑ = 90◦ , ϕ = 0◦ direction in a spherical coordinate


system. The distance S1–S3 must be equal to the distance S1–S2.

Normal direction: The triangles can be created so that the normal vectors point Outward (away
from the centre of the sphere) or Inward (towards it).

Begin angle ϑa : The start angle ϑa in degrees of the spherical segment.

Begin angle ϕa : The start angle ϕa in degrees of the spherical segment.

Begin angle ϑe : The end angle ϑe in degrees of the spherical segment.

Begin angle ϕe : The end angle ϕe in degrees of the spherical segment.

Maximum triangle edge length: The maximum length of the triangles along the curved edges in m (is
scaled by the SF card). If this parameter is left empty, the value specified with
the IP card is used.

A complete sphere may be created with ϑa = ϕa = 0, ϑe = 180◦ and ϕe = 360◦ .

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-72

An example of KU card usage:


The spherical segment shown in Figure 13-27 is generated using the KU card.

Figure 13-27: Example for the KU card from demo_KU1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-73

13.30 LA card

With this card, labels are assigned to segments, triangles, polygonal plates, cuboids, UTD cylin-
ders and points.

Parameters:

Label for following geometry: The label assigned to all segments, triangles, etc. defined in cards fol-
lowing this one.

In order to select the position of the feed (Ax cards)31 , the location of impedance loading (LD, LS,
LP and LZ cards) or structures on which to apply the skin effect (SK cards), each segment, trian-
gle, etc. is assigned a label. Other applications include the selective transformation or copying of
parts of geometry (TG card), and outputting of currents on selected elements (OS card). Labels
are also used to define triangles on which to apply physical optics (PO card (see Section 13.39)).
All elements, etc. that are created after the LA card (e.g. by a BP card), are assigned the value
specified in the dialog as label. A different label is only assigned by a new LA card. All structures
created before the first LA card (or if no LA card is present), is assigned the default label which
is 0 (number zero).
Label names (see Section 12.4) can be an arbitrary string using the characters A-Z, the digits 0-9
or also the underscore _. Labels may be manipulated using label increments (see Section 12.4)
and referenced using label ranges (see Section 12.4).

31
The definition Ax stands for any of the control cards A0, A1, A2, . . ..

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-74

13.31 MB card

With this card, a modal port boundary condition may be applied on the boundary of a finite
element method (FEM) region. A modal port essentially represents an infinitely long guided
wave structure (transmission line) connected to a dielectric volume modelled with FEM.

Parameters:

Name of the modal port: The label of the modal port.

S1: Point S1 situated on the FEM modal boundary.

S2: Point S2 situated on the FEM modal boundary.

S3: Point S3 situated on the FEM modal boundary.

Note that the modal port is only available in conjunction with FEM applied to dielectrics. A FEM
modal port can only be applied on the boundary of a FEM region, situated on a planar surface.
The technology behind a modal port is a two dimensional FEM eigensolver which computes the
eigenvalues (modal propagation constants) and eigenvectors (modal electric field distribution)
for the associated infinitely long guided wave structure.
The memory requirement can, for a modal port, be estimated from the number of tetrahedral
faces on the modal port and the order of the solution. The eigensolver by default uses second
order basis functions. Changing the solver settings to use first order basis functions for the FEM
(FP card) will also apply to the modal port analysis. The number of unknowns for a first order
solution is roughly double the number of modal port triangles, and for a second order solution,
7 times. The memory requirement scales with N 2 , where N is the number of unknowns.
The user should take note that memory and time scaling may become an issue with finely meshed
modal port geometries. Note that when meshing modal ports, the default is to use second order
basis functions on modal ports. Hence, a coarser mesh can be used than on the FEM/MoM
boundary (where first order basis functions are always used).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-75

13.32 ME card

When solving the fields in dielectric objects by means of the MoM/MLFMM surface, volume
current methods or by means of the FEM or VEP, this card must be used to distinguish the different
media or to create segments and metallic triangles within the dielectric. Furthermore, this card
is used to switch between the generation of metallic triangles and triangles that represent the
surface of the dielectric. Another special case is when metallic triangles represent the surface of
a dielectric object (e.g. a dielectric that has been coated with metal).

Parameters:

Metallic triangles in a homogeneous medium: If this option is selected, then all the surface structures
between this card and the next ME card are assumed to be fully contained
inside the medium specified in the Medium for triangles/segments dialog.

Triangles representing the surface of a dielectric body: If this option is selected, then all the surface struc-
tures created between this card and the next ME card are assumed to define
the boundary between two media. Note that the user needs to provide the
names of the medium on both sides of the triangles. The normal vector points
from medium A to medium B. Thus if we have a dielectric body of medium
DIELECTRIC, constructed so that all the triangle normals point outward, we
set medium A to for instance DIELECTRIC and B to 0 (the number zero always
represents the outer free space region).

Metallic triangles representing the surface of a dielectric body: If this option is selected, then all the sur-
face structures created between this card and the next ME card are assumed
to define a metallic boundary between two media. The selection of the sides is
the same as for the non-metallic case discussed above.

Planar Green’s function aperture triangles in a homogeneous medium: If this option is selected, then all
the surface structures between this card and the next ME card are assumed to
be fully contained inside the medium specified in the Medium for triangles/seg-
ments dialog.

Finite element method (FEM): If this option is selected, the tetrahedral mesh elements will be solved
with the FEM.

Volume equivalence principle - dielectric: If this option is selected, dielectric tetrahedral mesh elements
will be solved with the VEP.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-76

Volume equivalence principle - magnetic: If this option is selected, magnetic tetrahedral mesh elements
will be solved with the VEP.

Volume equivalence principle - dielectric and magnetic: If this option is selected, dielectric and mag-
netic mesh elements will be solved with the VEP.

All the wire segments that follow this card are assigned the properties of the medium in which
they are found. Triangles are treated differently — it depends upon whether they are metallic
triangles or triangles on the boundary of a dielectric object. Here the properties of the media are
assigned to the respective sides.
All triangles and segments before a ME card represent metallic structures in free space. This is
also the case when an input file does not have a ME card.
When using the FEM and meshing structures into tetrahedral elements or when using the volume
equivalence principle (VEP) in connection with the MoM/MLFMM and meshing into cuboidal
volume elements, then the selection for type of triangle is not relevant. The specified medium
will be used (medium A if there are multiple media input fields).
The medium name can be an arbitrary string using the characters A-Z, the digits 0-9 or also the
underscore ‘_’. See the discussion of labels (see Section 12.4) for details, also with respect to
ranges etc. Note that the outer medium must always be medium 0 (the number zero).
The use of the ME card to create a simple dielectric sphere is shown in example_04 (see the
Script Examples, note that the normal vectors of the sphere point outwards from medium 1 —
the dielectric — to medium 0 — free space). In addition example_23 shows the more com-
plex example of a dielectric cone (medium 1) mounted on top of a metallic cylinder shown in
Figure 13-28. There are three types of triangles involved:

• Metallic triangles in free space (Medium 0) on the bottom and side of the cylinder

• Metallic triangles also forming the border surface of the dielectric body on the lid of the
cylinder (which is also the basis of the dielectric cone)

• Dielectric triangles forming the surface of the dielectric body (the boundary between medium
1 — the inner dielectric region — and medium 0 — the free space outer region) on the top
surface of the cone

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-77

Figure 13-28: Example of a dielectric cone on top of a metallic cylinder, to demonstrate the use of the ME
card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-78

13.33 NC card

This card defines the name to be used for the next configuration.

Parameters:

Name: The name assigned to the configuration following this one.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-79

13.34 NU card

Surface triangles representing a NURBS surface are created using this card.

Parameters:

Degree (p) of Bezier curve in u-direction: The degree of the Bézier curve in the û-direction.

Degree (q) of Bezier curve in v-direction: The degree of the Bézier curve in the v̂-direction.

Both p and q must be in the range from 1 to 4 where 1 is linear, 2 quadratic, and so on. The
control points are entered in the table, more or less representing their physical relation. There
are p+1 rows and q+1 columns.
It is possible to create a triangular Nurbs surface. In this case all control points on one side must
be identical (use the same point). The weights of the control points are specified at the DP card.
Note that for higher order Bézier curves, the surface does not pass through the control points
except those on the corners.
Examples of NU card usage:
The “saddle point” shape in Figure 13-29 and the linear-quadratic shape in Figure 13-30 are
generated with NU cards using 4 and 6 control points respectively.
NURBS may also be used to generate flat surfaces with curved edges. The section of a circular
plate with a square hole in Figure 13-31 is generated using a NU cards.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-80

AB
BA
AA

BB

Figure 13-29: “Saddle point” example using the NU card from demo_NU1.pre

AB

AA

BA
AC

BC

BB

Figure 13-30: Linear-quadratic example using the NU card from demo_NU2.pre

Figure 13-31: A flat surface with curved edges created with an NU card in demo_NU3.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-81

13.35 PB card

This card can be used to generate a section of a parabolic reflector as shown in the figure on the
card.

Parameters:

S1: The centre of the paraboloid.

S2: A point perpendicular to the base plane and at any distance above the centre
point.

S3: A point on the outer edge of the paraboloid, but on the base plane.

S4: A point in the plane S2–S1–S3, directly above S3 on the edge of the paraboloid.

Subtended angle ϕ: The angle subtended by the arc of the parabolic reflector in degrees.

Maximum triangle edge length: Maximal edge length of the triangles along the outer edge of the arc in
m (is scaled by the SF card). If this parameter is left empty, the value specified
with the IP card is used.

The radius R of the paraboloid is derived from the distance between the points S1 and S3, as can
be seen in the figure in the card. The height is determined by the distance between points S3 and
S4. The focal point f is determined by:
R2
f = . (13-2)
4h

Example of PB card usage:


The parabolic reflector as shown in Figure 13-32 can be generated by using the PB card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-82

Figure 13-32: Example for the PB card from demo_PB1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-83

13.36 PE card

This card defines the unit cell for a periodic boundary condition (PBC) calculation. The phase
change between the cells are specified using the PP card.

Parameters:

One dimension: One dimensional periodicity is used when the unit cell is repeated along a line
(one dimension). See the image for a definition of the unit cell.

Two dimensions: Two dimensional periodicity is used when the unit cell is repeated to form a
surface. See the image for a definition of the unit cell.

S1 : Name of the point S1.

S2 : Name of the point S2.

S3 : Name of the point S3. (Only required for two dimensional periodicity.)

The lattice vectors (û1 and û2 ) do not have to be orthogonal. Geometry may also cross the
periodic boundary as long as it lines up with the geometry edge on the opposite side of the unit
cell. These features allow a large number of problems to be solved.
There are restrictions on the current implementation of periodic boundary conditions. These are
listed below:

• PBC is not available in conjunction with volume equivalence dielectrics (VEP).

• Triangles and wires are not allowed to cross, but are allowed to touch the cell boundary.

• PBC can only be used with the free space Green’s function.

• PBC can only be used with MoM (both sequential and parallel), but not with the MLFMM,
PO, UTD or FEM techniques.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-84

13.37 PH card

This card creates a triangular or quadrangular plate with a circular or elliptical hole as shown in
the card.

The hole can be used, for example, to attach a cylinder (ZY card) to the plate and it can be filled
with the KR card.
Parameters:

S1: The corner where the hole is located (also the hole’s centre).

S2: The second corner of the plate.

S3: The third corner of the plate. If this field is left empty, a triangular plate is
created.

S4: The fourth corner of the plate.

S5: A point on the line S1–S2 that forms the starting point of the circle or ellipse
bordering the hole. The special case where S5 is identical to S2 is supported,
but due to the resulting geometry yields triangles with very small angles

Max. edge length on curve: The maximum edge length of the triangles along the edge of the hole in m
(is scaled by the SF card). If this parameter is left empty, the value specified
with the IP card is used.

Scale second half axis: If this parameter is empty or is set to 1, a circular hole is created. If set to ab , an
elliptical hole is created. Here ab gives the ratio of the two half axes, where a
is the distance S1–S3. It is not recommended to generate the plate with a CAD
system if the elliptical hole has an extremely small or extremely large axial
ratio as the distortion formulation used in PREFEKO may fail for such cases.

Examples of PH card usage:


The PH card can be used to create the rectangular plate shown in Figure 13-33. Note the ex-
tremely narrow triangles at the corners as mentioned above. Figures 13-34 and 13-35 show,
respectively a quadrangular and a rectangular plate with the same elliptical hole. The triangular
plate is obtained by leaving the field S3 empty.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-85

Figure 13-33: Example using the PH card from demo_PH1.pre

A E B

Figure 13-34: Example of a quadrangular plate with an elliptical hole (demo_PH2.pre)

A E B

Figure 13-35: Example of a triangular plate with an elliptical hole (demo_PH3.pre)

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-86

13.38 PM card

A surface mesh of triangles in the shape of a polygon is created by using this card. This card also
allows the specification of interior mesh points. This card should generally be used in favour of
other cards that create flat surface meshes with straight edges.

Parameters:

Specify points table/s: This option allows data entry in a table with a maximum of 13 points.

Use point/variable arrays: This option allows data entry using arrays without a limit on the number
of corner points.

Specify non-uniform . . .: Check this item to enable the table in which edge lengths for each edge can
be entered.

Specify internal points: Check this item to enable the table in which internal points can be specified.

Corner points: Enter the points, previously defined with the DP card. The points can be en-
tered in the rows or as point (node name) arrays.

Internal points: Any points internal to the structure where mesh points are required can be
entered here. This is particularly useful for the connection points between
surfaces and wires. The points can be entered in the rows or as point (node
name) arrays.

Edge length: The mesh length on each edge can be set separately in this table. The edge
lengths can be entered in the rows or as variable arrays. When using the table

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-87

entry, any blank entries in this table will be meshed with the parameters set
in the IP card. There may not be more entries in this table than in the first
one. When using the array entry method, the variable array has to be the same
length as the corner point array.

The polygon is defined by entering the points (previously defined with the DP card) on the corners
of the polygon. A maximum of 13 corner points are allowed using the table entry method, but
there is no restriction on the number of points when using the array entry method. The points
are connected in the order that they are entered in the PM card. The array entry method allows
specifying the number of elements, say n, in the array that should be used. Only the first n
elements of the array is then used. Concave corners are allowed. The user can also specify a
smaller or larger mesh size along certain edges.
Examples of PM card usage:
Shown in Figure 13-36 is a plate with a concave corner created with the PM card — note the
finer mesh along the edges from B to C and C to D.
A plate with three internal points, generated using a PM card is shown in Figure 13-37. Note that
there are node points at Q1, Q2 and Q3.

A F

B
C

D E

Figure 13-36: Example for the PM card from demo_PM1.pre

P3

P4
Q3

P5 Q1 Q2

P1
P2

Figure 13-37: Example for the PM card with internal mesh points from demo_PM2.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-88

13.39 PO card

With this card the application of the physical optics approximation is possible.

Parameters:
Use PO on all surfaces with label: together with (optionally) up to label are used to specify the label
or range of labels of all metallic/dielectric triangles that are treated with the
physical optics approximation. If the second field is left blank, only the label
specified in the first field is considered. See also LA and CB cards and also
general discussion of label ranges (see Section 12.4).

Do full ray tracing: Normal, complete ray tracing is carried out.

Assume all surfaces to be illuminated: The ray tracing is switched off to save computational time. The
assumption is made that all triangles on which the PO approximation is made
are illuminated by the source and the moment method area. The side in rela-
tion to the normal vector is automatically determined.

Full ray tracing, illumination only from outside: Full ray tracing is done, but metallic triangles can only
be lit from the side to which the normal vector is pointing. See note below.

Use symmetry in ray tracing: If full ray tracing is done, then symmetry can be used to reduce the com-
putational time required to determine the shading. For electric and magnetic
symmetry, this speedup is always used. If geometrical symmetry is used, then
this item should be checked to utilise symmetry. It is possible to e.g. define half
a plate and create the other half through geometric symmetry. An asymmetric
object may then be placed in front of the plate. In this case symmetry should
not be used in the ray tracing.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-89

Decouple with moment method: When this item is checked, the coupling between the MoM region
and the PO region is neglected. The implication is that the currents in the
PO region has no effect on the current distribution in the MoM region. This
option should lead to a saving in computational time and storage space and is
especially useful when the PO region and the MoM is not directly adjacent.

Use large element PO formulation: When this item is checked, electrically large triangular patches for
PO are allowed.

Use multi-level boxing to speed up ray tracing: The ray tracing required for the physical optics is accel-
erated by recursively subdividing the problem domain, a so called “multilevel
tree”. It must balance memory requirement against speedup — both increase
as the number of levels increases. The number of levels is determined by spec-
ifying the number of triangles at the lowest level. The user can specify not to
use this algorithm, for the program to determine maximum triangles/box or to
specify this number manually. When a number is specified manually, it should
be greater than 2 and at least a factor 10 less than the number of triangles in
the problem. In general these options should only be set by advanced users.

Save/read PO shadowing information: For the PO formulation the information which triangles are il-
luminated and which are shadowed from the sources is required. Normally
FEKO computes this each time, but there is an option to store this to a file and
load again to save time when the geometry stays constant (say for multiple
runs using different frequencies). The options are:

• No *.sha files (normal execution): Shadowing information is not stored


or read — the default behaviour.
• Save shadowing to a *.sha file: The PO shadowing information is written
to a *.sha file for later reuse.
• Read shadowing from a *.sha file: The PO shadowing information is read
from the *.sha file, i.e. the ray-tracing part is skipped. For large models
this can result in considerable time saving.
• Read *.sha file if it exists, else create it: If a *.sha file exists, the PO
shadowing information is read from this file. Otherwise the information
is calculated and saved in a *.sha file for later use.

Use multiple reflections: When this item is checked, multiple reflections are considered for the ray
tracing. The number of reflections that must be considered is set in the Num-
ber of reflections dialog. This parameter determines the number of reflections
to be taken into account for triangles with labels in the specified range. (For
example, the Number of reflections must be at least 2 to calculate the scatter-
ing from a dihedral and at least 3 for a trihedral.) Increasing the number of
reflections that must be considered significantly increases computation time,
and this should only be done based on physical considerations.

Visibility information: The visibility information related to multiple reflections can be saved to re-
duce the computation time for future runs. There are four options that can be
selected with respect to saving the multiple reflection visibility information:

• No *.vis files (normal execution): Visibility information is not used or


stored — the default behaviour.
• Save visibility to a *.vis file: The PO visibility information is stored in a
*.vis file for later reuse.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-90

• Read visibility from a *.vis file: The PO visibility information is read from
the *.vis file, i.e. the calculation of the visibility information is skipped.
For large models this can result in considerable time saving.
• Read *.vis file if it exists, else create it: If a *.vis file exists, the PO
visibility information is read from this file. Otherwise the information is
calculated and saved in a *.vis file for later use.

The physical optics (PO) approximation can only be used for certain structures. Structures where
the antenna is situated in front of a reflector are well suited. Then PO can be used for the triangles
that form the reflector. This results in a large reduction in computational time and memory for
electrically large objects.
Note that the ray tracing options and the number of reflections can be specified on a per label
basis, by using multiple PO cards. All other parameters can only be specified once. For the global
parameters, the values of the last PO card will be used.
Using Full ray tracing, illumination only from outside has two main applications:

• Acceleration of the PO ray tracing with closed bodies (the normal vector must then point
outward), since the dot product of the normal and propagation vectors can be used to
quickly determine if a triangle is to be used in the ray tracing. In this case the closed model
must be constructed with the normals pointing outward.

• In, for example the MoM/PO hybrid method on a closed body, the MoM region (such as an
antenna) can be prevented from illuminating the PO region from inside.

A basis function that has been assigned to an edge between two triangles will only be solved with
the PO, if the PO approximation has been declared for the labels of both triangles.
The metallic PO region must be perfectly conducting, i.e. no losses are allowed. Dielectric coat-
ings (see CO card) and thin dielectric sheets (see SK card) can, however, be treated with the PO
approximation.

Large element PO

The following needs to be considered when regarding mesh size for large element PO:

• The triangular patch must be a large smooth area with no discontinuities of incident field
(e.g. close to a point source). The surface containing the triangular patch should also not
contain any sharp corners.

• The shadowing is done on the triangular patch level, i.e. smaller mesh elements are re-
quired close to the shadow boundaries.

• For near field calculations (electric or magnetic) or potentials, the maximum triangle mesh
size is limited to 2λ.

• If only far field calculations are requested, the size of the mesh elements is not limited.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-91

• If near fields calculations are requested, a warning will be given if the mesh size is set equal
to or greater than 2λ2 . An error will be given if the mesh size is set equal or greater than
6λ2 .

When using large element PO, the following limitations apply:

• As in the case of normal PO, large element PO may not be used in conjunction with UTD or
MLFMM.

• The PO solution only or the MoM/PO hybrid solution is supported, but it is then required
that the MoM and PO regions are decoupled.

• In order to get one wave propagation factor kn in the PO region, sources (e.g. MoM basis
functions) must be “close” together.

• Large element PO triangles must be PEC. Note that large element PO may be used in con-
junction with normal PO. Connections between normal PO and large element PO are al-
lowed.

• No edge/wedge correction terms are allowed for labels where large element PO is used.

• No extraction of singular terms for near field computations, i.e. near fields are inaccurate
closer than λ/20 . . .λ/10 from surfaces.

• The export of surface currents and visualisation in POSTFEKO are not supported for large
element PO regions.

• Multiple reflections are not allowed in the model if a large PO region is present. When
multiple reflections are present, ray-launching GO should be the preferred method.

• Periodic boundary conditions are not allowed to be used in conjunction with large element
PO.

The following are supported for large element PO:

• A BO ground for example a PEC plate or a real ground.

• Symmetry may be used (also for ray-tracing).

• Shadowing effects but not when located inside of individual large triangles.

• Parallel processing (i.e. parallel ray tracing, parallel field computations etc.)

• Near field (E, H and potentials) computations as well as far field computations including
RCS are allowed.

• All impressed sources my be used in conjuction with the large element PO.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-92

13.40 PY card

This card defines (by specifying the corner points) a polygonal plate surface to which the UTD
formulation is applied.

Parameters:

Specify points table: This option allows data entry in a table with a maximum of 26 points.

A: The first corner point of the polygon.


B: The second corner point of the polygon, etc.

Use points array: This option allows data entry using arrays without any limit on the number of
corner points.

Array name: The name of the point (node name) array.


Number of points in the array: The number of elements, say n, of the point
(node name) array to use. Only the first n elements of the array will be
used.

A maximum of 26 corner points are allowed using the table entry method, but there is no re-
striction on the number of points using the array entry method. The points are connected in the
order that they are entered in the PY card. The corner points have to be defined prior to the PY
card by a DP card.
Example of PY card usage:
This card can be used to generate the polygon (in this case a triangle) shown in Figure 13-38.
Note that this triangle is not meshed, as the result would be if the BT or PM cards had been used.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-93

Figure 13-38: Example for the PY card from demo_PY1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-94

13.41 QT card

This card is used to create a dielectric or magnetic cuboid, meshed into smaller tetrahedral
volume elements (for solutions using the FEM or VEP). The meshing parameters as set at the
IP card are used, and the medium as set at the ME card is assigned to all created tetrahedral
elements.

Parameters:

S1: First corner of the cuboid.

S2: Opposite corner of the cuboid if aligned with the principal planes, otherwise
one of the corners adjacent to the first corner.

S3: Optional third corner of the cuboid, adjacent to the first.

S4: Optional fourth corner of the cuboid, adjacent to the first.

Note that when using the FEM, in the same model metallic structures are allowed (metallic
surfaces also inside the FEM region or on the FEM boundary, wires only outside). But using
dielectric bodies inside the MoM region at the same time is not supported.
Example of QT card usage:
The dielectric cuboid shown in Figure 13-39 is generated using a QT card.

Figure 13-39: Example for the QT card from demo_QT1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-95

13.42 QU card

This card is used to create a dielectric or magnetic cuboid, meshed into smaller cuboidal vol-
ume elements, for solutions using the volume equivalence principle in the MoM. The meshing
parameters as set at the IP card are used, and the medium as set at the ME card is assigned to all
created cuboidal elements.

Parameters:

S1: First corner of the cuboid.

S2: Opposite corner of the cuboid if aligned with the principal planes, otherwise
one of the corners adjacent to the first corner.

S3: Optional third corner of the cuboid, adjacent to the first.

S4: Optional fourth corner of the cuboid, adjacent to the first.

Choose the medium: Select here whether the cuboid is dielectric or magnetic or both (this is always
with respect to the environment, e.g. if the relative permittivity " r of the cuboid
material differs from the environment, then this is a dielectric cuboid).

Old format (with medium parameters): Up to and including FEKO Suite 4.3 for cuboids the material
parameters were specified directly at the QU card. This is the old card format.
From FEKO Suite 5.0 onwards the concept of ME/DI cards is used to define
the material by name and to set the material parameters. When checking this
option, the panel layout will change to the old format so that the material pa-
rameters can be entered (depending then on the selection whether dielectric
or magnetic cuboid). FEKO then uses a compatibility mode and creates artifi-
cial media with names QU_MED_xx (xx is an index). It is not recommended
to use the old card format for new models. When working on old models and
pressing F1 in EDITFEKO on an existing QU card, the old format panel will be
opened automatically.

Dielectric bodies treated with the volume equivalence principle (using cuboids) cannot be used
simultaneously with dielectric bodies treated with the surface equivalence principle or the FEM
or with special Green’s functions.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-96

Figure 13-40: Example for the QU card from demo_QU1.pre

Example of QU card usage:


The dielectric cuboid, shown in Figure 13-40 is generated using a QU card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-97

13.43 RM card

The RM card provides a sophisticated remeshing and adaptive mesh refinement facility. Most
types of meshes (surface mesh with triangular patches, wire segment mesh, cuboidal volume
elements) created by any option supported in FEKO (e.g. direct creation in PREFEKO with cards,
but also import from NASTRAN, FEMAP, PATRAN etc.) can be used as a basis, and one can then
apply either a local or a global mesh refinement. Unfortunately in FEKO Suite 5.4 there is still a
restriction that tetrahedral volume elements as used for the FEM cannot be refined with the RM
card.
A local mesh refinement refers to a point or a line as reference, or also to a complex cable harness
geometry, which is defined directly by importing the corresponding *.rsd file from CableMod or
CRIPTE.
Note that similar to other FEKO cards, the RM card applies only to what follows in the *.pre file
after the line where the RM card has been read. So for instance if one wants to import a mesh
from a NASTRAN file via the IN card and do a mesh refinement during the import, then one first
has to use the RM card, then followed by the IN card.
Multiple RM cards can be used, for instance if there are multiple areas in a model where the
mesh shall be refined locally. Or also if we use a mesh refinement with respect to one point, the
mesh size increases linearly with distance, and by adding another RM card with a global mesh
refinement option, a threshold can be set.

Parameters:
Remove all existing . . .: Clear all previously defined remeshing rules (i.e. the behaviour is as if no
RM card was read). This option is useful if after having imported a structure
using mesh refinement, one wants to import another structure or create objects
directly in PREFEKO, and for these new structures no mesh refinement shall be
used. If this option is checked, all the other parameters are ignored.

Start a new remeshing rule: Set a new remeshing option (previously read RM cards will be discarded).

Add a remeshing rule: Add a remeshing rule to the already defined ones (i.e. existing RM card rules
will be kept, the new rule will be added to these).

Global mesh refinement: Global mesh refinement using the specified finer mesh size.

Local mesh refinement for a point: Here an adaptive mesh refinement is performed to obtain a finer
mesh close to a point. The point must have been defined before with a DP
card, and its name is passed in the input field for the reference point. Note
that this point can be located arbitrarily in space, there is no need for this to
be on the meshed structure.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-98

Local mesh refinement for a line: Here an adaptive mesh refinement is performed to obtain a finer
mesh close to a line. The line is defined by its start and end point. These two
points must have been created before with DP cards. Multiple simultaneously
active RM cards can be used to perform a mesh refinement with respect to an
arbitrary polygonal shaped line, composed by multiple straight line segments.

Local mesh refinement for a cable harness: With this option one can perform a local mesh refinement
close to a cable harness. The cable harness geometry is specified by a Ca-
bleMod/CRIPTE *.rsd file. The file name of this must be entered into the
respective input field (visible only when this option has been selected).

Mesh polygonal plates: As a special feature, the RM card also allows to mesh unmeshed polygonal
plates (which are used in FEKO for the UTD) during the import. This can be
very useful if e.g. a UTD model is imported from FEMAP using then boundary
surfaces, and instead of the UTD a MoM or MLFMM or PO solution shall be
conducted (where a mesh is required).

Reference point: When using local mesh refinement with respect to a point, then here the name
of this point is entered (the point must have been specified before at a DP
card).

Start point of line: When using local mesh refinement with respect to a line, then here the name of
the start point of the line is entered (the point must have been specified before
at a DP card).

End point of line: When using local mesh refinement with respect to a line, then here the name of
the end point of the line is entered (the point must have been specified before
at a DP card).

CableMod/CRIPTE *.rsd file: When using local mesh refinement with respect to a cable harness, then
here the file name of the CableMod/CRIPTE *.rsd file is specified.

Global finer mesh size: When a global mesh refinement is used, then this is the new mesh size which
shall be applied. Mesh coarsening is not supported, only mesh refinement. So
when the new mesh size is larger than the existing mesh size, simply no mesh
refinement will be done.

Distance D1: Reference distance d1 for the mesh refinement, discussed below.

Mesh size at D1: Mesh size s1 at the reference distance d1 , discussed below.

Distance D2: Reference distance d2 for the mesh refinement, discussed below.

Mesh size at D2: Mesh size s2 at the reference distance d2 , discussed below.

The mesh sizes specified for the global or local mesh refinement apply to all types of geometry
(i.e. triangles, wires, cuboidal volume elements etc.) in the same manner. This is not a principal
restriction. If different refinement options are desired say for wires and triangles, one can use
one RM card, create or import say just triangles, and then use another RM card and after this
create or import just wires etc.
When the actual remeshing is done, then for each created or imported mesh element (e.g. a tri-
angular surface patch element) PREFEKO internally loops over all the RM cards which are active
at this time, and determines the local mesh length for each RM card, and the smallest of these is
then used for the actual mesh refinement of the specific mesh element under consideration.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-99

If one RM card specifies a global mesh refinement, then the local mesh size is readily given by the
global finer mesh size. If one does local mesh refinement with respect to a point, then first the
distance of the mesh element to this point is determined. Similarly for a line or a cable harness,
the shortest distance from the mesh element to this line or cable is determined. If we assume
that this distance is d, then the local mesh size s is given by the equation
s2 − s1
s = s1 + (d − d1 ) . (13-3)
d2 − d1

This means that for a distance d=d1 we get the mesh size s=s1 , and for the distance d=d2 the
mesh size is s=s2 . For any other distances (smaller than d1 , in between d1 and d2 , or also larger
than d2 ) a linear interpolation is used by means of the formula above. Thus the linear increase of
the mesh size also continues for larger distances, but one should keep in mind that the RM card
can only do a mesh refinement and no mesh coarsening, i.e. as soon as for larger distances the
remeshing option exceeds the already used mesh size of the original model, simply nothing will
happen. Although not required, it is often useful to set the mesh size s2 identical to the global
already existing mesh size, then the parameter d2 readily controls the region where a local mesh
refinement is desired (i.e. for distances d larger than d2 the original mesh will be kept).
It shall also be mentioned here that if a CableMod or CRIPTE *.rsd file is imported, in order to
evaluate distance d between each mesh element and the cable harness in the right base unit (if
an SF card scaling factor is set this can be for instance mm), the cable harness coordinates have
to be scaled accordingly. Thus the SF scaling factor must be known before the RM card can be
used. PREFEKO will give an error if an SF card is read and a RM card was processed before. The
user must then just move the SF card in front of the RM card in the *.pre file.
Examples of RM card usage:
A first example is shown in Figure 13-41 with the original mesh on the left hand side and on
the right hand side the result of a local mesh refinement with respect to a point is given. For
the example in Figure 13-42 a local mesh refinement with respect to two lines is used (i.e. two
simultaneously active RM cards).

Figure 13-41: Example of local mesh refinement with respect to a point from demo_RM3.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-100

Figure 13-42: Example of local mesh refinement with respect to lines demo_RM5.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-101

13.44 SF card

With this card the scaling of the geometric data is possible. This is useful for specifying models
in a convenient unit (e.g. cm) and specifying a scaling factor once, since internally FEKO uses all
dimension related values in metres.

Parameters:

Modify all dimension related values: If this item is checked all geometrical dimensions are scaled. If
unchecked, not all coordinate values are scaled (for example the positions of
near field calculations, see the list below). This should only be unchecked for
backwards compatibility with old input files.

Multiply dimensions with: The scale factor. For example, if this is set to 0.001, all dimensions are
entered in mm.

Only one SF card is allowed in the input file. This is global and can be positioned anywhere.
(However, since it is a geometry card it must be before the EG card.)
If Modify all dimension related values is unchecked, the following is scaled:

• Coordinates of the corner points of the triangular surface elements

• Coordinates of the corner points of the segments

• Radii of the segments

• Coordinates of the corner points of the cuboids

• Radii of the all the layers when the Green’s function for a homogeneous or layered dielectric
sphere is used (see Section 14.40)

• Thickness of the layers when the Green’s function for a planar, multilayered substrate is
used (see Section 14.40)

• Coordinates of the corner points of the polygonal plates

• Coordinates, radii and dimensions of UTD cylinders

• Coordinates of the corner points of tetrahedral volume elements

• Thickness of dielectric surface elements (see Section 14.64)

• Radius and thickness of a wire coating (see Section 14.29)

• Coordinates of wedges and edges in the PO region

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-102

• Coordinates of the Fock region

• Transmission line length and end point coordinates (see Section 14.66)

• The dimensions of the aperture used in the AP card and the amplitudes of the A5 and A6
dipoles which depend on the incremental areas.

• The variable Maximum identical distance, specified with the EG card (see Section 13.13),
which controls whether two points are considered to lie at the same point in space

If it is checked all geometrical dimensions and coordinates are scaled. This includes, in addition
to the parameters listed above, the following:

• Named points defined by the DP card.

• The coordinates of the source point specified in the excitation cards A1, A2, A3, A4, A5,
A6, A7 (if the selection is not made by label).

• Coordinates of the origin of the radiation pattern specified with the AR card.

• Coordinates of the start and end points of the impressed currents for the AI and AV source
cards, as well as the wire radius specified with these cards.

• Radii of the coaxial feed in the A3 card.

• Radius of the approximated connecting segment in the A4 and L4 cards.

• Positions where the near field is calculated with the FE card.

• Offset in the near field calculation (see Section 14.54).

Note that if, for example, all data is specified in mm with the scaling set to 0.001, all input
values are interpreted as mm. This also applies to the segmentation parameters (IP card) (see
Section 13.24) and possible translations (TG card) (see Section 13.46).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-103

13.45 SY card

Here symmetry can be used to generate the geometry and to reduce computation time.

Parameters:

Select symmetry for the plane x = 0: The type of symmetry, if any, in the yz-plane.

Select symmetry for the plane y = 0: The type of symmetry, if any, in the xz-plane.

Select symmetry for the plane z = 0: The type of symmetry, if any, in the x y-plane.

Label increment for the new structures: After they are mirrored, the labels of the new elements are
incremented with the value specified in this field. Label 0 is, however, not
incremented. The corresponding new elements will also have label 0. If this
field is empty or set to 0, the labels are not incremented, i.e. the new elements
will have the same label as the one they were created from.

All the conducting and/or dielectric triangles, segments, cuboids, tetrahedral volume elements,
wedges, edges, Fock regions and polygonal plates that have been declared before the SY card,
are mirrored. Furthermore, the second and third corners of the triangles are swapped, so that
the direction of the normal vector is retained. Likewise the corners of image polygonal plates are
rearranged to retain the normal direction. (The first corner point of the original polygon becomes
the last corner of the mirror image.)
Sources are not mirrored. If, for example, a Hertzian dipole is placed on one side of the symmetry
plane, the user must also place the correct image on the opposite side of the symmetry plane.
Multiple SY cards can be used and it is possible to mirror around more than one plane at once. A
detailed overview of the different types of symmetry is given (geometric, electric and magnetic
symmetry) (see Section 26.1).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-104

13.46 TG card

With this command the already entered geometric elements (triangles, segments, etc.) can be
translated, rotated, mirrored and/or scaled. It is also possible to duplicate structures.

Parameters:

Number of copies: The number of copies to make, for example if set to 3 the selected elements
will be rotated, translated, mirrored and scaled 3 times such that there will be
a total of 4 structures. If set to 0, the existing elements, are rotated, translated,
mirrored, scaled and the number of elements remains the same.

Use label selection: If this option is not checked, then the TG card applies to all the previously
defined geometry. If this option is checked, then a label selective processing is
possible.

Copy structures starting from: together with ending at label can be used to apply the TG card only to
a selected part of the structure. The TG card is applied only to those elements
whose label lies within the range set here (see also LA and CB cards and also
the general discussion of label ranges (see Section 12.4)). If the second field
is left empty, only structures with the label set in the first field are considered.
Note that certain element types on the specified label(s) can be excluded from
the selection lower in the card.

Label increment for the new structures: Each newly generated structure will be assigned a label that is
incremented by this value from that of the original structure. An exception is
the label 0 which is retained.

Include: This group can be used to specify which element types (provided they satisfy
the label criterion) are rotated/translated.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-105

Rotation around the x-axis: Angle of rotation α x around the x axis in degrees.

Rotation around the y-axis: Angle of rotation α y around the y axis in degrees.

Rotation around the z-axis: Angle of rotation αz around the z axis in degrees.

Translation along the x-axis: Translation ∆ x in the x direction in m (scaled by SF card).

Translation along the y-axis: Translation ∆ y in the y direction in m (scaled by SF card).

Translation along the z-axis: Translation ∆z in the z direction in m (scaled by SF card).

Mirror about plane at x equal to: The geometry is mirrored around a plane at x equal to a constant
specified. If no value is specified, no mirroring around the plane is performed.

Mirror about plane at y equal to: The geometry is mirrored around a plane at y equal to a constant
specified. If no value is specified, no mirroring around the plane is performed

Mirror about plane at z equal to: The geometry is mirrored around a plane at z equal to a constant
specified. If no value is specified, no mirroring around the plane is performed.

Scale factor: The scaling factor γ, with which the structures must be scaled. (If left empty,
it defaults to 1.)

• For wire segments the wire radius is scaled as well as the coordinates of
the start and end points.
• The scaling factor γ is applied after the translations/rotations have been
conducted, i.e. the new coordinates after the translation/rotation will be
scaled. This means that the effective translation is the value specified at
the TG card multiplied by the scaling factor. (If this is not desired, then
two different TG cards may be used - the first applying only a scaling and
the second performing the translation only).

When an SY card (symmetry) is used before the TG card, the TG card resets the symmetry if
the new structures invalidates the symmetry. Cases where the symmetry is not reset is when, for
example, the plane z = 0 is a symmetry plane and the TG card specifies rotation about the z axis
for a symmetrical selection of elements. In this case the symmetry is retained.
Translation, rotation, mirroring and scaling are performed as a single transformation. The order
is rotate, translate, scale and then mirror.
If more than one copy is made, successive points are generated from the previous point using the
same relation.
With a TG card the simultaneous rotation around multiple axes as well as translation in multiple
directions is possible. A point (x, y, z), for example the corner point of a triangle, is transformed
to a new point
xT x ∆x
     

 yT  = γ M ·  y  + γ  ∆ y  (13-4)
     
zT z ∆z
with the rotation matrix
 
 cos α y cos αz − cos α y sin αz sin α y 
M =
 cos α x sin αz + sin α x sin α y cos αz cos α x cos αz − sin α x sin α y sin αz − sin α x cos α y 
 (13-5)
sin α x sin αz − cos α x sin α y cos αz sin α x cos αz + cos α x sin α y sin αz cos α x cos α y

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-106

Multiplication by the rotation matrix M effectively rotates a point first by an angle αz around
the z axis, then by an angle α y around the y axis and finally by an angle α x around x axis. It is
important to note that the second rotation around the y axis represents the global y axis. This
is also equivalent to rotating α x around the x axis, then rotating α y around the new y 0 axis and
finally rotating αz around the new z 00 axis.
The transformation angles as used by FEKO in this order are generally referred to as Kardan
angles as opposed to the also commonly used Euler angles. If the rotation shall be performed in
the other order (i.e. first around the x axis, then around the y axis and finally around the z axis),
then one can simply use multiple consecutive TG cards. But since the same rotation algorithm
is also used at other FEKO cards (for instance AC or AR) where one cannot use multiple cards,
a short PREFEKO code segment shall be given here which illustrates how the angles can be
converted:
** Desired rotation angles so that we rotate first around x, then y, and
** then around z
#a1 = 30 ** Angle in deg. around x axis
#b1 = 60 ** Angle in deg. around y axis
#c1 = 90 ** Angle in deg. around z axis

** Precompute sin() and cos() terms


#ca1 = cos(rad(#a1))
#cb1 = cos(rad(#b1))
#cc1 = cos(rad(#c1))
#sa1 = sin(rad(#a1))
#sb1 = sin(rad(#b1))
#sc1 = sin(rad(#c1))

** Auxiliary terms resulting from equating the transformation matrices


#cc2 = #cb1*#cc1/(sqrt((#cb1*#cc1)^2+(#ca1*#sc1-#sa1*#sb1*#cc1)^2))
#cb2 = #cb1*#cc1/#cc2
#ca2 = #ca1*#cc2/#cc1
#sa2 = #cc2*(#sa1*#cc1-#ca1*#sb1*#sc1)/(#cb1*#cc1)
#sb2 = #sa1*#sc1+#ca1*#sb1*#cc1
#sc2 = #cc2*(#ca1*#sc1-#sa1*#sb1*#cc1)/(#cb1*#cc1)

** Finally compute the angles which must be used in FEKO in the TG card
** for the rotation order first around z, then around y, and then around x
#a2 = deg(atan2(#sa2,#ca2))
#b2 = deg(atan2(#sb2,#cb2))
#c2 = deg(atan2(#sc2,#cc2))

The file card based version of example_18.pre (see the Script Examples) gives an example of
an application of the TG card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-107

13.47 TO card

Using this card a surface mesh in the form of a toroidal segment can be generated.

Parameters:

S1: The centre of the toroid.

S2: A point that is perpendicular and is situated an arbitrary distance above the
plane of the toroid.

S3: The start point of the axis of the toroid.

S4: A point on the surface of the toroidal segment. It must be in the plane S2–S1–
S3.

The angle ϕ: The angle of rotation around the axis S1–S2.

The angle α: The angle of rotation around the axis of the toroid, see the figure displayed in
the card.

Max edge length, ϕ direction: The maximum edge length along the curved edge in the ϕ direction in
m (is scaled by the SF card). If this parameter is left empty, the value specified
with the IP card is used.

Max edge length, α direction: The maximum edge length along the curved edge in the α direction in
m (is scaled by the SF card). If this parameter is left empty, the value specified
with the IP card is used.

Normal vector directed: The triangles can be created so that the normal vectors point Outward (out-
ward, away the ring axis of the toroid) or Inward.

Scale second half axis: If this parameter is empty or is set to 1, a toroid with a circular cross section
is created. If set to ab , an elliptical toroid is created by distorting the entire
geometry along the second half axis (orthogonal to the axis S1–S3) with the
factor ab where a is the distance S1–S3. It is not recommended to generate
toroids where the elliptical cross section has extremely small or extremely large

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-108

axial ratios with a CAD system (such as FEMAP) as the distortion formulation
used in PREFEKO may fail in these cases.

A complete toroid is obtained by using the parameters ϕ = 360◦ and α = 360◦ .


Examples of TO card usage
The toroidal segment, which is shown in Figure 13-43, is generated using a TO card. This card
can also be used to generate the toroidal segment with an elliptical cross section as shown in
Figure 13-44.

Figure 13-43: Example for the TO card from demo_TO1.pre

Y D
C

Figure 13-44: Example for the TO card with an elliptical cross section from demo_TO2.pre. Note that it
is stretched in the direction of the y axis, i.e. it is elliptical in the ϕ-plane. It is also elliptical
in the α-plane when ϕ=90◦ , but it is circular in the α-plane when ϕ=0◦ .

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-109

13.48 TP card

With this card points (previously defined with the DP card) can be translated, rotated and/or
scaled (relative to the origin).

Parameters:

Use label selection: If this option is not checked, then the TP card applies to all the previously
defined points. If this option is checked, then a label selective processing is
possible.

Move all points starting from label: together with ending at label specify the label range of points that
must be translated, rotated or scaled. See the general discussion of label ranges
(see Section 12.4). If the second field is left empty, only structures with the
label set in the first field are considered.

Label increment for moved points: Each transformed point will be assigned a label that is the label of
the original point incremented by this value. The exception are points with
label 0 — their label is not incremented, it remains 0.

Rotation around the x-axis: Angle of rotation α x around the x axis in degrees.

Rotation around the y-axis: Angle of rotation α y around the y axis in degrees.

Rotation around the z-axis: Angle of rotation αz around the z axis in degrees.

Translation along the x-axis: Translation ∆ x in the x direction. (All three translation distances are
affected by the scaling factor set with the SF card.)

Translation along the y-axis: Translation ∆ y in the y direction.

Translation along the z-axis: Translation ∆z in the z direction.

Scaling in: In this group the user may choose whether scaling is in the x-direction, y-
direction or z-direction or a combination of these.

Scale factor: The scaling factor γ, with which the point is scaled after rotation and transla-
tion (if the parameter R7 is not specified, it defaults to γ=1).

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-110

If a point is rotated around more than one axis with a single card, it is rotated first by an angle
αz around z axis, then by α y around the y axis and finally by α x around the x axis. A more
detailed description of the transformation can be found in the description of the TG card (see
Section 13.46).
In an exception to the rule that all geometry cards must appear before the EG card, this card (as
well as the DP card) can be used after the EG to define points for use in the AP card.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-111

13.49 UT card

With this command the parameters for the Uniform geometric theory of diffraction (UTD) for
polygonal plates and Geometrical optics (ray launching) (GO) are defined.

Uniform geometric theory of diffraction (UTD)

Parameters:

Type: The method (UTD/GO) that is to be applied can be chosen.

Max no. of ray interactions: This parameter gives the maximal number of ray-interactions (i.e. reflec-
tion and diffraction combined). If, for example, the parameter is set to 3, a ray
can have 3 reflections, or 2 reflections and a diffraction. If set to 0, only direct
rays are taken into account.

Write debug information to *.dbg: If this item is checked a debug file (extension *.dbg) is generated.
This file contains large amounts of information and should only be used when
debugging.

Export ray data for later viewing: When this item is checked the ray information is exported to the
*.bof and to a special *.ray file, so that the ray paths can be displayed in
POSTFEKO. The ray information can become very large, and thus it should
only be exported if specific ray paths are to be examined.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-112

The following abbreviations are used in the *.ray file and POSTFEKO:

B: Diffraction at an edge
D: Diffraction at a corner (of a wedge)
E: Diffraction at a corner (of an edge)
K: Diffraction at a wedge
Q: Source point
R: Reflection
S: Observation point
C: Creeping wave
T: Tip diffraction

Select ray contributions: Determines which ray contributions to take into account:

• GO (direct and reflected rays, shadowing): Geometrical optics (ray launch-


ing) (GO), i.e. direct and reflected rays and shadow regions are taken into
account.
• Edge and wedge diffracted rays: Diffraction on edges and wedges are
taken into account. The ray may include an arbitrary number of reflec-
tions, but only one diffraction. (The total number of interactions — the
number of reflections plus one for the diffraction — must not be larger
than specified in the Max no. of ray interactions field.)
• Corner diffraction terms: Corner diffraction.
• Double diffractions and diffraction/reflection: Double diffraction on edges
and wedges and combinations of reflections are taken into account. Sin-
gle diffraction rays are not included in this item.
• Creeping waves: Creeping waves on curved surfaces.
• Cone tip diffraction: Tip diffraction at the tip of a cone.

Uncoupled with moment method: This item specifies whether the coupling from the UTD region to the
MoM region should be considered. This option should only be used when the
UTD and MoM regions are not close together.

Increasing the type and number of ray interactions increases accuracy but computation time as
well. The user should therefore make a compromise between the number of ray interactions and
the ray contributions. Choices made in this card should be made on physical considerations to
get optimal use from the UTD formulation.
The following restrictions apply for the hybrid MoM/UTD:

• No dielectric bodies or dielectric ground.

• Only perfectly conducting flat polygonal plates or a single cylinder allowed in the UTD
region.

• No UTD and PO at the same time.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-113

Geometrical optics (ray launching)(GO)

Parameters:
Type: The method (UTD/GO) that is to be applied can be chosen

Use geometrical optics (ray launching) on all surfaces with label: The label to which the geometrical op-
tics (ray launching) should be applied

(optionally) up to label: The label up to which the GO should be applied. GO will not be applied to
labels outside of the range between this field and the label in the previous field.

Max no. of ray interactions: This parameter gives the maximum number of ray-interactions (i.e. re-
flection and diffraction combined). If, for example, the parameter is set to 3,
a ray can have 3 reflections, or 2 reflections and a diffraction. If set to 0, only
direct rays are taken into account.

Write debug information to *.dbg: If this item is checked a debug file (extension *.dbg) is generated.
This file contains large amounts of information and should only be used when
debugging.

Export ray data for later viewing: When this item is checked the ray information is exported to the
*.bof and to a special *.ray file, so that the ray paths can be displayed in
POSTFEKO. The ray information can become very large, and thus it should
only be exported if specific ray paths are to be examined.

Select ray contributions: Determines which ray contributions to take into account:

• GO (direct and refl. rays, shadowing, diel. trans): direct, reflected and
transmitted rays are taken into account.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-114

Ray launching settings: The specific settings for the ray launching used in the geometrical optics (ray
launching) can be set here.

• Automatic determination: The ray launching parameters will automati-


cally be determined during the solution process
• Manually set angular/spatial increments The angular/spatial increment
angles for the ray launching are manually specified by the user.

Manually set angular/spatial increments


Angular increment (spherical ray launching): Theta-direction (degrees): Specific Theta increment
angles can be specified for the ray launching proce-
dure in the geometrical optics (ray launching) so-
lution.
Phi-direction (degrees): Specific Phi increment angles can be specified fro
the ray launching procedure in the geometrical op-
tics (ray launching) solution.
Spatial increment (parallel ray front): u-direction (metres): This parameter sets the distance be-
tween the individual rays in the parallel ray front
in the u-direction.
v-direction (metres): This parameter sets the distance between the indi-
vidual rays in the parallel ray front in the v-direction.

Uncoupled with moment method: This item specifies whether the coupling from the UTD region to the
MoM region should be considered. This option should only be used when the
UTD and MoM regions are not close together.

The main advantages of ray-launching GO:

• Suitable for large arbitrarily shaped objects (also curved).

• Dielectrics may be modelled with the ray-launching GO method.

• Support of a plane wave as a excitation (required for the calculation of far field RCS).

• Multiple reflections more efficient than UTD or PO.

When no UT card is used, the following default values apply:

• Max no. of ray interactions: 3.

• Write debug information to *.dbg: unchecked.

• Export UTD ray data for later viewing: unchecked.

• Select ray contributions includes.

– GO (direct and reflected rays, shadowing).


– Edge and wedge diffracted rays.
– Corner diffraction terms.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-115

13.50 UZ card

With this card a cylinder is created for the UTD region.

Parameters:

S1: The start point of the cylinder axis.

S2: The end point of the cylinder axis.

S3: A point on the radius of the cylinder, the angle S2–S1–S3 must be 90◦ .

S1 side end-cap: Select a flat end cap or a semi-infinite end on the side of S1.

S2 side end-cap: Select a flat end cap or a semi-infinite end on the side of S2.

The cylinder in Figure 13-45 was created using a UZ card. Note the absence of discretisation.

Figure 13-45: Example for UZ card from demo_UZ1.pre

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-116

13.51 VS card

This card specifies known visibility information (required when using physical optics with multi-
ple reflections) to reduce the time required to calculate it.

To accurately compute multiple reflections the code needs to determine which basis functions are
visible to each other. Since this applies to all the PO triangles it may be very time consuming for
large problems. The time required to determine the visibility may be greatly reduced if the user
can inform the code that certain triangles are hidden from each other and others are visible to
each other.
Parameters:

Triangles labelled: The label of the source triangles.

are visible from: All triangles with the label specified in the field Triangles labelled are visible
from all triangles with label(s) indicated in the fields below.

are not visible from: All triangles with the label specified in the field Triangles labelled are not visible
from all triangles with label(s) indicated in the fields below.

(specify range of labels): If this item is unchecked, only a single label is specified (in the field triangles
with label). If checked, the card applies to all triangles with labels in the
range from the value specified in the triangles with label field to that in the to
triangles with label field.

Note that visibility is reciprocal, i.e. if all triangles with label n are visible from all triangles with
label m, all triangles with label m are visible from all triangles with label n as well.
Basis functions cannot illuminate each other if all the triangles they are attached to lie in the
same plane.
The VS card should only be used if the user can specify the visibility beyond any doubt and if it
applies to all triangles of that label. If no information is specified for a specific combination of
labels/triangles, full ray tracing will be executed.
Consider the structure shown in Figure 13-46 consisting of four flat plates and a cylindrical
section. The two plates lying at 45 degrees to the coordinate system (labelled 1 and 3), are half
as wide as the plates with labels 0 and 2. Thus a subset of the triangles with label 2 are visible to
triangles with label 0, but not all.
We have to specify which triangles are visible/hidden from all triangles with label 0 first, then
those visible from label 1 and so on. The VS cards for this example would be as follows:

• Triangles labelled 0 are not visible from triangles with label 0.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-117

Z
0
1
2
3
4

0 1
X

Figure 13-46: Structure used to demonstrate the use of VS cards from demo_VS1.pre

• Triangles labelled 0 are visible from triangles with label 1.

• Triangles labelled 0 are not visible from triangles with labels 3 to 4.

• Triangles labelled 1 are not visible from triangles with label 1.

• Triangles labelled 1 are visible from triangles with label 2.

• Triangles labelled 1 are not visible from triangles with labels 3 to 4.

• Triangles labelled 2 are not visible from triangles with label 2.

• Triangles labelled 2 are visible from triangles with label 3.

• Triangles labelled 3 are not visible from triangles with label 3.

• Triangles labelled 3 are visible from triangles with label 4.

Since all the triangles with label 0 lie in the same plane, they cannot illuminate each other. Thus
the first card states that label 0 is hidden from label 0.
All triangles with label 1 are visible from all triangles with label 0. This is specified by the second
VS card. Since a subset of triangles with label 2 are visible from triangles with label 0 while
others are hidden, we cannot specify any information for this combination of layers. However,
the plate with label 2 shadows all triangles with labels 3 and 4 and we may specify that these
are hidden. This is done with the third VS card. Note that this card specifies a range of hidden
labels.
Next we must specify which triangles are visible (or hidden) from all triangles with label 1. As
for label 0, triangles with label 1 are not visible to each other — specified by the fourth VS card.
All triangles with labels 0 and 2 are visible from all triangles with label 1. Since we have already
specified the visibility between labels 0 and 1, we do not specify it again. The fifth VS card then
specifies that label 2 is completely visible from label 1. As for label 0, both labels 3 and 4 are
hidden completely which completes the first six VS cards,

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-118

Next we look at label 2. As before we need not consider labels lower than 2. Also the label is
hidden from itself as indicated by VS card number seven. Next we state that label 3 is visible, but
we cannot specify anything about label 4 as not all of these triangles will be visible.
Similarly VS cards 9 and 10 states that label 3 is not visible to itself and fully visible to label 4.
Finally we must consider the case for triangles with label 4. All visibility with layers 0 to 3 has
been specified and may not be specified again. Unlike the previous flat plates, layer 4 is curved
and triangles may indeed illuminate other triangles with the same layer. However, not all other
triangles will be illuminated (this is only possible for a doubly concave surface), so that we cannot
specify any information for label 4.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-119

13.52 WA card

Use this card to define all windscreen antenna solution elements. This would include all elements
in close proximity to the finite glass structure and can consist of either segments or triangles (all
defined by labels).

Note that the three cards WR (see Section 13.54), WA (see Section 13.52) and WD (see Sec-
tion 14.68) should be used together to create windscreen antenna models. These three cards
respectively define the windscreen reference surface, windscreen solution elements (antenna)
and the windscreen layered media definition.
Parameters:

Windscreen name: Name of the windscreen.

Use windscreen modelling for label: Start of the label range.

(optionally) up to label: End of the label range (optionally).

Offset from reference (Offset A): Offset of the specified label geometry w.r.t. the reference windscreen
triangles.

The antenna elements will be limited to laying tangentially w.r.t. the windscreen surface. Using
a defined offset from the reference plane (in the direction of the reference plane normal), these
elements can then be positioned at the exact required location. This offset is specifically needed
because of the limitations of a finite mesh (compared to a smooth surface) in combination with
curvature in the model.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-120

13.53 WG card

With this card a wire grid in the shape of a parallelogram can be generated.

Parameters:

S1, S2, S3, S4: The four corners of the parallelogram in consecutive order.

Generate wires on the outside edges: If the No item is selected, only the wires inside the parallelogram
are generated whereas if the Yes item is selected all the wires are generated.
This option is important when two adjacent parallelograms are generated, as
the segments along the sides must not be generated twice.

Length of the grid gaps: The maximum segment length is given by the IP card. This parameter is an
integer number and specifies the density of the grid. If, for example, this is set
to 2 the wires only cross at every second segment.

Example of WG card usage:


The wire grid seen in Figure 13-47 is generated using the WG card.

Figure 13-47: Examples of the WG card from demo_WG1.pre — the one on the right has a value of 2 in
Length of the grid gaps.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-121

13.54 WR card

Use this card to define the dielectric windscreen reference plane. Geometrically this surface is
not part of the EM model and is used simply to determine the curvature factor between the two
elements on the windscreen.

Note that the three cards WR (see Section 13.54), WA (see Section 13.52) and WD (see Sec-
tion 14.68) should be used together to create windscreen antenna models. These three cards
respectively define the windscreen reference surface, windscreen solution elements (antenna)
and the windscreen layered media definition.
Parameters:

Windscreen name: The name of the windscreen.

Use as reference all surfaces with label: The start of the label range.

(optionally) up to label: The end of the label range (optionally).

The windscreen reference triangles are defined by label and since this plane also forms the zero
reference w.r.t. the defined windscreen antenna elements and glass layers, it should be noted
that they should all have their normals pointing in the same direction.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-122

13.55 ZY card

With this card a surface mesh in the form of a cylindrical segment can be generated.

Parameters:

S1: The start point of the axis.

S2: The end point of the axis.

S3: A point on the corner of the cylindrical segment.

Normal vector directed: The triangles can be created so that the normal vector is points Outward or
Inward.

The angle ϕ: The angle in degrees, which is subtended by the cylindrical arc.

Maximum edge length on arc: Maximum edge length of the triangles along the curved side in m (is
scaled by the SF card). If this parameter is left empty, the value specified with
the IP card is used.

Scale second half axis: If this parameter is empty or is set to 1, a circular cylinder is created. If set to
b
a
, an elliptical cylinder is created. Here ab gives the ratio of the two half axes,
where a is the distance S1–S3. It is not recommended to generate elliptical
cylinder with extremely small or extremely large axial ratios with a CAD system
as the distortion formulation used in PREFEKO may fail in these cases.

For an orthogonal cylinder (i.e. the lines S1–S2 and S1–S3 are perpendicular), the segmented
area (shaded in the figure of the cylinder) is obtained by rotating the point S3 around the axis
S1–S2 through ϕ. For ϕ=360◦ a full cylinder is obtained.
An oblique cylinder (i.e. the circular or elliptical rim is not perpendicular to the axis) can also
be created. Then S1–S2 still represents the axis, but the top and bottom planes of the rims are
defined by planes perpendicular to the plane defined by the three points S1, S2, S3, and parallel
to the line S1–S3.
Examples of ZY card usage:
The cylindrical section (Figure 13-48), elliptical cylinder (Figure 13-49) and non-orthogonal
cylinder (Figure 13-50) below were all created with ZY cards.

October 2013 FEKO User’s Manual


GEOMETRY CARDS 13-123

Figure 13-48: Example for the ZY card from demo_ZY1.pre

Figure 13-49: Example of an elliptical cylinder from demo_ZY2.pre

Figure 13-50: Example of a non-orthogonal elliptical cylinder from demo_ZY3.pre

October 2013 FEKO User’s Manual


CONTROL CARDS 14-1

14 Control cards

The following table summarises all the PREFEKO and FEKO control cards. These cards should
not be used in the geometry section of the *.pre input file, i.e. they should only be used below
the EG card. The control cards are used to specify, for example, the frequency and the type of
excitation. They also determine the required calculations (such as the locations for near field
calculations and the directions for far field calculations, etc.).

Card Description
** characters used to indicate a comment line
Ax type of excitation (e.g. an incident plane wave or a voltage source)
AB creates a modal port excitation
BO through the use of the reflection factor coefficient a ground plane
can be inserted
CA defines a cable path section for the cable irradiation computation.
CD defines a specific cable cross section (single, coaxial, ribbon and
bundle/multi-cable)
CF set the type of integral equation for perfectly conducting metallic
surfaces
CG the algorithm used to solve the matrix equation is selected
CI defines a cable interconnect and termination
CM field calculation for CableMod and CRIPTE (coupling into transmis-
sion lines) or PCBMod (coupling into a PCB)
CO inserts a dielectric and/or magnetic surface on the elements
CS defines a cable path section and the centre/reference location to
which a cable cross section is applied
DA creates additional files for the results
DI enters the properties of the dielectric medium
DL defines a layered medium
EE calculates the error estimates
EN indicates the end of the input file
FE calculates the near fields
FF calculates the far fields
FR sets the frequencies at which the calculations are to be carried out
GF sets the Green’s functions
KC transfer the signal names in CADFEKO to POSTFEKO
KS transfer the connector names in CADFEKO to POSTFEKO
L2 defines a complex load on a vertex
L4 adds a load between a metallic triangle and the ground plane for the
planar multilayer Green’s function
LC defines a cable load
LD defines a distributed load, consisting of resistance, inductance and
capacitance
LE defines a load on the edge between surface triangles

October 2013 FEKO User’s Manual


CONTROL CARDS 14-2

LF impress a complex impedance between two points inside a FEM


mesh
LN defines a complex load to any non-radiating network port that is not
connected to geometry
LP defines a parallel circuit (resistance, inductance and capacitance)
load
LS defines a series circuit (resistance, inductance and capacitance) load
LZ defines a complex load on a segment
NW define a linear non-radiating network
OF offset i.e. displacement of the origin when calculating the near fields
OM calculates the weighted set of orthogonal current-modes that are
supported on a conducting surface.
OS saves the surface currents in a file
PP defines the phase for periodic boundary condition calculation
PR defines a current/voltage probe
PS sets general control parameters
PW defines the radiating power of a transmitting antenna
RA defines an ideal receiving antenna
SA used to calculate SAR in dielectric media
SH used to define solid and braided cable shields
SK takes a finite conductivity into account through the skin effect of
ohmic losses; also for thin dielectric layers
SP calculates the S-parameters for the active sources
TL specifies a non-radiating transmission line
TR calculate reflection and transmission coefficients for an incident
plane wave on a planar structure
WD defines the dielectric properties of the windscreen glass layers

As mentioned above the control cards form the second part of the input file (see Section 12.2).
Control cards are processed line by line and only affect other cards and calculations specified
below them in the input file. (Information specified in a control card is not available before that
line is processed.) Any number of control cards can be used, but they should adhere to a basic
sequence. Thus, for example, the frequency (FR card) and the type of excitation (Ax card) must
be defined before the near fields can be calculated with an FE card.
In addition, a sensible order for the control cards can result in a considerable reduction in the
computation time. For example, for an SK card the whole matrix has to be recalculated, while an
Ax card only redefines the right hand side of the matrix. A summary of the dependencies is given
in the table below: There are also other dependencies. If the matrix elements are recomputed

Action For the cards


recalculates matrix elements BO, CF, CO, DI, FR, GF, L4, LD, LE, LP, LS,
LZ, SK, SP, TL
recalculates the right hand side Ax, BO, DI, FR, GF
resolves the matrix equation CG

October 2013 FEKO User’s Manual


CONTROL CARDS 14-3

then the matrix equation has to be solved again. The actual calculation is started by the CM, FE,
FF, OS, RA, SA and SP cards. All other cards are read and the data stored.
When solving for a number of frequencies all the control cards following the FR card (up to, but
excluding, the next FR card or EN card) are read into a buffer. For each frequency all these cards
are read and processed. The computation time can be reduced significantly by using the cards
in the correct order. If, for example, a structure needs to be investigated at two frequencies and
with two different excitations then the control cards can be organised in either of the following
ways:

...

FR FR card for the two frequencies


Ax first excitation
...

Ax second excitation
...

EN end of the input file

or

...

FR FR card for the two frequencies


Ax first excitation
...

FR FR card for the two frequencies


Ax second excitation
...

EN end of the input file

In the first format, the two excitations are processed one after the other for each frequency.
(The cards are executed in the order FR Ax . . . Ax . . . FR Ax . . . Ax . . . EN, where the second
FR indicates execution of the frequency loop for the second specified frequency.) In the second
format the first excitation is treated for both frequencies before treating the second excitation for
both frequencies. (Here the cards are executed as FR Ax . . . FR Ax . . . FR Ax . . . FR Ax . . . EN.)
For the computational requirements, one finds that in the first case the matrix elements have to
be calculated twice (it has to be completely recalculated each time the frequency is changed) and
in the second case four times.
The computation time is not only influenced by the control cards, but also by what has to be
solved for. In the following example, the structure has to be solved at a number of frequencies
and for the ideal (conducting) and non-ideal (conduction with losses) cases:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-4
...

FR FR card for multiple frequencies


FE calculation of the near fields
SK include skin effect
FE calculation of the near fields
EN end of the input file

The three control cards FE, SK and FE are written to the buffer and are worked through in the
loop for the different frequencies. At the first frequency the FE card initiates the field calculation.
Because a SK card has not yet been read, ideal conductivity is assumed. Then the SK card is read
and losses are taken into account when the second FE card is run. Thus the first frequency pass is
finished. At the next frequency pass the cards FE, SK, and FE are read again, but the losses from
the SK card are still active from the first pass. The SK card is thus useless and the two FE cards
calculate the same things twice.
The correct input order is:

...

FR FR card for multiple frequencies


SK skin effect switched off
FE calculation of the near fields
SK skin effect switched on
FE calculation of the near fields
EN end of the input file

Then the four cards SK, FE, SK and FE are calculated for all the frequencies.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-5

14.1 ** card

The comment lines (see Section 13.1) can be used to add comment lines before or after the EG
card.
The ‘**’ indicator may also be used to name the sources, loads, cables, transmission lines and a
number of solution requests (e.g. near fields, far fields, currents, SAR, receiving antennas) after
the EG card.
These names are then used by the FEKO kernel during the solution (e.g. for the screen process
output or in the *.out file), but are also used for postprocessing purposes.
Such names are also critical for any solution entities that are to be used or referred to in the
optimisation setup (see Section 6), as these labels are used to uniquely identify specific data
in the output of the FEKO solution for consideration during the optimisation goal evaluation
process.
The names of specific cards are set by adding a ** comment at the end of the line in which the
card is defined (for multi-line cards, this comment should be added at the end of the first line of
the card).
For example, with the card sequence
...
A1 0 Feed 1 0 ** Top right array element

FE .... ** Cut plane 1 (through left mast)


FE .... ** Cut plane 2 (vertical through ground)

A voltage source is defined with the name Top right array element and two near field
computation requests with the names Cut plane 1 (through left mast) and Cut plane
2 (vertical through ground). These names can then be referred to in the optimisation
goal definitions (see Section 6.1.3) and are used in POSTFEKO and in the FEKO *.out file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-6

14.2 Ax Cards

This card defines the type of excitation as well as other parameters regarding the excitation. The
following possibilities are available:

Card Type of Excitation


A0 A linear polarised plane wave incident on the structure.
A1 Excitation by means of a voltage gap on a segment (i.e. impressed
electric field strength along a segment).
A2 Excitation by means of a voltage gap at a node i.e. between two
segments.
A3 Excitation by means of a magnetic ring current (TEM-frill) on a seg-
ment. Thus a coaxial feed can be modelled.
A4 Special vertical pin excitation, e.g. for a patch antenna on a planar
substrate with a ground plane (coaxial probe excitation mode).
A5 An electric Hertzian dipole is used as excitation. The position and
orientation in the space are arbitrary.
A6 A magnetic Hertzian dipole is used as excitation. The position and
orientation in the space are arbitrary.
A7 Excitation by means of a voltage gap on an edge between two trian-
gles. This card has been generally replaced by the AE card.
AC This card reads the geometry and current distribution (possibly for
more than one frequency) from an *.rsd file created by a trans-
mission line simulation program (e.g. CRIPTE or CableMod) or by a
PCB simulation tool (e.g. PCBMod) or by export with the OS card in
FEKO. The excitation is due to the electromagnetic fields radiated by
these line currents.
AE The AE card is an excitation between triangle edges similar to the
A7 card, however the AE card permits the simultaneous excitation
of several edges.
AF Excitation by an impressed line current in the FEM region.
AI Excitation by an impressed line current.
AK Excitation by means of a voltage source connected to a radiating
cable.
AN Excitation by means of a voltage source connected to a non-radiating
network port.
AP Excitation by means of equivalent sources in an aperture (array of
electrical and magnetic Hertzian dipoles).
AR Excitation by an antenna with a given radiation pattern.
AS Excitation by means of impressed radiating spherical modes.
AV Excitation by an impressed line current similar to the AI card, but
the endpoint of the current is electrically connected to a conducting
surface.
AW Excitation by an impressed mode on a waveguide port.

The different ways to realise a voltage source are summarised in Figures 14-1 and 14-2. The
~i .
impressed electric field strength is indicated by E

October 2013 FEKO User’s Manual


CONTROL CARDS 14-7

A1 card: Voltage source on a segment

Ei

A2 card: Voltage source on a node between segments

Ei

A3 card: TEM-frill on a segment


magnetic current loop

Figure 14-1: Possible ways to realise a voltage source on a wire segment

A4 card: Vertical pin approximation (dielectric substrate)

Ei

A7 card: Voltage gap on an edge

Ei
AE card: Voltage gap along edges

Ei

Figure 14-2: Possible ways to realise a voltage source in connection with triangles

October 2013 FEKO User’s Manual


CONTROL CARDS 14-8

More than one excitation is also allowed. Thus one may, for example, generate an elliptically
polarised plane wave by super-imposing two out of phase linearly polarised plane waves with
different amplitudes. It is also possible to feed an antenna with two different voltage sources.
For this purpose the parameters New source and Add to sources are available in each Ax card.
This parameter indicates whether the current excitation is additional (Add to sources) or not
(New source). When New source is selected, only the current excitation will be used and the
excitations prior to the current one will be erased.
For the excitations A1, A2, A3, A4 and A7 it is possible to select the feed element through the
label. Alternatively the position of the feed is specified in Cartesian coordinates. FEKO then
searches for a segment or an element at this position. This comparison of the position uses the
tolerance parameter Maximum identical distance (EG card (see Section 13.13)).
The excitations are described in detail in the following sections.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-9

14.3 A0 card

This card realises excitation by a linearly polarised incident plane wave.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Polarisation: This group sets the behaviour of the polarisation vector. If either of the rotating
options is selected, the Ellipticity must be specified below.

Rotation about axis: The rotation of the plane wave about the x, y and z axis.

Number of ϑ angles: If more than one direction of incidence is to be examined, then this parameter
indicates the number of incident angles in the ϑ direction. If this field is left
empty or set to 0, a value of 1 will be used.

Number of ϕ angles: If more than one direction of incidence is to be examined, then this parameter
indicates the number of incident angles in the ϕ direction. If this field is left
empty or set to 0, a value of 1 will be used.

~ 0 of the incident field in V


Magnitude: Magnitude of the field strength E m
.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-10

Phase: ~ 0 of the incident field in degrees.


Phase of the field strength E

Initial ϑ value: Angle of incidence ϑ of the plane wave in degrees, see the figure in the card
above.

Initial ϕ value: Angle of incidence ϕ of the plane wave in degrees, see the figure in the card
above.

Polarisation angle η: See the figure in the card above. It is the angle — in a right-handed sense
~0 .
when viewing in the incident direction — from −ϑ̂ to E

Increment in ϑ: If more than one direction of incidence is to be examined, ϑ is incremented by


this value for each new angle of incidence.

Increment in ϕ: If more than one direction of incidence is to be examined, ϕ is incremented by


this value for each new angle of incidence.

Ellipticity: This field is only applicable when elliptical rotation is selected under Polarisa-
tion above and gives the ellipticity of the rotating polarisation. It must be larger
than 0 (linear polarisation) and smaller or equal to 1 (circular polarisation).

The direction of incidence β̂0 is specified by the incidence angles ϑ and ϕ. The polarisation angle
η (measured from the negative of the spherical coordinate system unit vector ϑ̂) and the field
~ 0 are defined as indicated in the figure in the card above.
strength vector E
The electric field strength of the incident field is then given by

~ i (~r ) = E~ 0 + jv( E~0 × β̂0 ) · e− j β~0~r


” —
E (14-1)

where v is the ellipticity. For linear polarisation, ellipticity is 0; for right hand rotating, ellipticity
is equal to the value in the Ellipticity field; for left hand rotating, ellipticity is the negative of the
value in the Ellipticity field. The incident magnetic field is given by

1
~ i (~r ) =
H ~i
β̂0 × E (14-2)
ZF

with Z F the wave impedance in the surrounding free space medium.


It should be noted that the incident power density (which is required, for example, for RCS
computations) is given by
~ 0 |2
1 |E
~
Si = (1 + v 2 ) . (14-3)
2 ZF

It is possible to vary the direction of incidence. This is particularly useful when e.g. determining
the monostatic radar cross section. The two parameters Initial ϑ value and Initial ϕ value indicate
the direction of the first wave. The direction of incidence is varied in the ϑ direction by the
increment Increment in ϑ and in the ϕ direction by Increment in ϕ. In each direction these two
angles are examined and a total number of incident waves equal to the product of these two
angles are examined.
If an A0 card with either Number of ϑ angles or Number of ϕ angles larger than 1 is read, all the
following control cards up to, but excluding, the next Ax, FR or EN card will be read into a buffer.
All these cards are then processed in a loop, over all the different angles of incidence. If e.g. the

October 2013 FEKO User’s Manual


CONTROL CARDS 14-11

monostatic radar cross section is to be calculated for ϑ=90◦ and 0◦ ≤ ϕ ≤ 180◦ , the following
command is used:
...
A0 0 1 181 1.0 0.0 90.0 0.0 0.0 0.0 0.1
FF 2
EN

In this demonstration file, the FF card is read into the buffer and processed 181 times. Through
the use of the parameter Fields calculated only in incident direction in the FF card the far field is
calculated in the direction of the incident wave.
If more than one direction of incidence is to be examined, the right hand side of the linear
equation system is changed, but the matrix remains unchanged. Thus it makes sense, by using
the CG card, to use Gauss elimination (default if a CG card is not used) which performs a LU-
decomposition of the matrix. When the direction of incidence is varied, then only the relatively
fast backward substitution has to be performed.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-12

14.4 A1 card

With this card a voltage source is placed on a segment.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Select segment: When this item is selected, the Apply source to last segment with label field be-
comes active. Here one specifies the label of the segment to which the source
must be applied. If more than one segment has this label, the source is applied
to the last segment with this label. Alternatively, one may select the item Set
source position, then the feed segment is determined by specifying the Carte-
sian coordinates in the Segment centre group. These values are in m and are
scaled by the SF card if Modify all dimension related values is checked.

Reverse feed orientation: By default, the vector of the voltage lies in the direction from the start of the
segment to its end (the direction in which it was created). When this option
is checked, the vector of the voltage lies in the opposite direction. (This is
the direction of the current flow through the segment. The internal EMF —
electromagnetic force — of the impressed voltage source is in the opposite
direction.)

Magnitude of source: Magnitude of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations . If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-13

14.5 A2 card

With this card a voltage source is placed at a node between two segments or between a segment
and a triangle, ground plane or polygonal plate. It is mostly used to feed wires attached to plates,
etc.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Select segment: When this item is selected, then the Source label field becomes active. Here
one specifies the label of the segment which shall be fed (either start or end
point as determined by the corresponding check box). The excitation has to
be located at a node, either between two segments, or between a segment and
a triangle, ground plane or polygonal plate. Only one segment with this label
should be declared. If there is more than one segment with this label then only
one node will be fed.

Set source position: When this check box is activated, then the feed node is determined by specify-
ing its Cartesian coordinates in the Coordinates of node group. These values
are in m and may be scaled by the SF card. The source orientation is always
like the basis function defined over this node (see the discussion below under
Use default feed direction.

Source at start of segment: This option is only available when selecting the feed segment by label. If
set, it indicates that the feed location is at the start of the wire segment with a
matching label.

Source at end of segment: This option is only available when selecting the feed segment by label. If
set, it indicates that the feed location is at the end of the wire segment with a
matching label.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-14

Use default feed direction: This option is only available when selecting the feed segment by label. If
set, it indicates that the positive feed direction is like the basis function setup
in FEKO. For wire/surface junctions (UTD plates, BO ground, or meshed trian-
gle surfaces), this direction is away from the wire onto the surface. For wire
connections between two segments, this direction is from the segment with the
lower index to the segment with the higher index.

Positive feed direction like wire segment orientation: This option is only available when selecting the
feed segment by label. If set, then the positive feed direction is like the orien-
tation of the wire segment with the specified label.

Negative feed direction like wire segment orientation: This option is only available when selecting the
feed segment by label. If set, then the positive feed direction is opposite to the
orientation of the wire segment with the specified label.

Magnitude of source: Magnitude of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations. If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

There may not be more than two segments connected to the node for nodes between segments.
For nodes between a segment and a triangle, UTD plate or an infinite plane only one segment is
allowed to connect at the node. Note that the vector direction of the feed is the direction of the
current flow through the node. The internal EMF — electromagnetic force — of the impressed
voltage is in the opposite direction.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-15

14.6 A3 card

This card realises excitation by a magnetic ring current (TEM-frill) on a segment. This will give
an accurate model of a coaxial feed, but requires both the inner and outer radii.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Select segment: When this item is selected, the Apply source to last segment with label field
becomes active. Here one specifies the label of the segment on which the
TEM-frill is placed. If more than one segment has this label, the source is
applied to the last segment with this label. Alternatively, one may select the
item Set source position, then the feed segment is determined by specifying
the Cartesian coordinates in the Segment centre group. The position values
are in m and are scaled by the SF card if Modify all dimension related values is
checked.

Reverse feed orientation: By default, the vector of the excitation points in the direction of the segment
- from the start point to the end point as the segment was created. When this
option is checked, the orientation of the excitation is reversed.

Magnitude of source: Magnitude of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Inner conductor radius: Radius of the inner conductor of the coaxial feed.

Outer conductor radius: Radius of the outer conductor of the coaxial feed.

Port impedance: The port impedance if this excitation is used in an S-parameter calculation. If
this field is empty or 0, the value specified at the SP card is used. (This value
is ignored if no SP card is used.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-16

The excitation is not, as in the A2 card, an impressed electric field strength, but is a magnetic
ring current.
As a rule of thumb, the radius of the inner conductor must be the same as the radius of the
segment and that the outer radius should be 2 to 3 times the size of the inner. If an impedance Z
is desired, then the following relation can be used

Outer conductor radius


 
Z ≈ 60 Ω · ln (14-4)
Inner conductor radius

to determine the outer radius. For Z = 50 Ω the outer conductor radius should be equal to 2.3
times the inner conductor radius.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-17

14.7 A4 card

This card creates a coaxial attachment feed approximation for use in connection with the Green’s
function for planar substrates with a metallic ground plane (GF card (see Section 14.40)).

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Select triangle: When this item is selected, the Triangle label field becomes active. Here one
specifies the label of the triangle to excite. The feed point is at the centroid
of the triangle (see Figure 14-3). If there are more than one triangle with this
label, the excitation is placed on the one with the highest element number.
Alternatively, the user may select the item Set source position, and specify
the Cartesian coordinates of the feed point in the Coordinates of node, group.
(These values are in m and optionally scaled by the SF card.) FEKO will excite
the triangle whose centroid is closest to the specified coordinate.

Transform impedance to ground plane: If unchecked the impedance is computed directly at the excita-
tion point. If checked, an inductive approximation of the feed pin is used and
the impedance is transformed to the ground plane.

Magnitude of source: Absolute value of the excitation current |~I0 | in A. The positive current direction
is the positive z direction.

Phase of source: Phase of the current ~I0 in degrees.

Radius of the connection pin: The radius of the coaxial probe feed pin in m. This value is optionally
scaled by the SF card.

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations. If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-18

An example of the excitation is shown in Figure 14-3. A typical application of the A4 card is given
in example_30b.pre (Scripting examples). It is of course possible to discretise the vertical pin
(into segments) and feed one of the segments with a voltage source (A1 card). The advantage of
the A4 card is that there are no vertical currents, which results in substantially simpler Green’s
functions and a significant reduction in computing time.

Figure 14-3: Excitation of a patch antenna with a vertical pin

October 2013 FEKO User’s Manual


CONTROL CARDS 14-19

14.8 A5 card

This card specifies excitation by an electric Hertzian dipole.

Parameters:
New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Magnitude of I dl: Absolute value of the complex amplitude I · l in Am.

Phase of I dl: Phase of the complex amplitude I · l in degrees.

x, y, z position: Coordinates of the position of the dipole in m. These values are optionally
scaled by the SF card.

ϑ angle: Orientation of the dipole in space — ϑ (in degrees) is the angle between the
dipole and the z axis.

ϕ angle: Orientation of the dipole in space — ϕ (in degrees) is the angle between the
projection of the dipole onto the plane z = 0 and the x axis.

The dipole moment of the electric dipole is given by


Il
p= (14-5)

The power radiated by the dipole in a free space environment is given by
β02 · Z F 0 · |I l|2 ω2 µ20 |I l|2
P= = (14-6)
12π 12πZ F 0
FEKO, however, considers the properties of the medium in which the dipole is located, as well
as the coupling of the dipole with surrounding structures or other sources (for example other
Hertzian dipoles in an array antenna), when calculating the power radiated by the Hertzian
dipole.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-20

14.9 A6 card

This card specifies excitation by an elementary magnetic Hertzian dipole.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Electric ring current: Use the model of an electric ring current for the magnetic dipole (the moment
m = µIA where I is the loop current and A the enclosed surface).
Im l
Magnetic line current: Use the model of a magnetic line current (the moment m = jω
where I m is
magnetic line current and l the length of the dipole).

Magnitude of . . .: The magnitude of the dipole. For the electric ring current it is I · A in Am2 . For
the magnetic line current it is I m · l in Vm.

Phase: Phase of the complex amplitude in degrees.

x, y, z position: Coordinates of the position of the dipole in m. These values are optionally
scaled by the SF card.

ϑ angle: The angle between the dipole and the z axis in degrees.

ϕ angle: The angle between the projection of the dipole onto the plane z = 0 and the x
axis in degrees.

The power radiated by the dipole in a free space environment is given by

β04 · Z F 0 · |I A|2
P= (14-7)
12π

October 2013 FEKO User’s Manual


CONTROL CARDS 14-21

FEKO, however, considers the properties of the medium in which the dipole is located as well
as the coupling of the dipole with surrounding structures or other sources (for example other
magnetic dipoles in an aperture approximation — see the AP card) when calculating the power
radiated by the Hertzian dipole.
Even though the two formulations, electric ring current and magnetic dipole, result in the same
near and far fields, if the dipole moment m is the same, the radiated potentials are different. The
~, while the magnetic dipole
electric ring current model gives rise to a magnetic vector potential A
~
model results in an electric vector potential F as well as a magnetic scalar potential Ψ.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-22

14.10 A7 card

This card is used to specify a voltage source on an edge between two triangles or at a connection
edge between a single triangle and a PEC ground plane or UTD plate. The AE card is substantially
simpler to use and should be used for all new models. (The A7 card is supported only for
compatibility with FEKO input files that were created before the AE card became available.)

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Select segment: If this item is selected, a triangle with label specified in the Element label field
is searched for. The excitation is placed on the edge that lies opposite to the
first corner of the triangle. Once again the label must be unambiguous, i.e.
if possible only one triangle must have this label. If there is more than one
triangle with this label then only one will be fed. Alternatively, when selecting
the item, Set source position, the feed edge is determined by specifying its
Cartesian coordinates in the Coordinates of edge centre. These coordinates are
in m and optionally scaled by the SF card. The edge must lie between two
triangles or between a triangle and a ground plane or UTD plate.

Magnitude of source: Absolute value of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

If two triangles are connected to the edge, the basis function between these triangles is excited.
The vector direction of the voltage source lies in the same direction as the basis function associ-
ated with this edge. (This is the direction of the current flow through the edge. The internal EMF
(electromagnetic force) of the impressed voltage source is in the opposite direction.)
In certain special cases there may be only one triangle connected to the edge. If the edge lies
in the plane of a polygonal plate or a PEC ground plane (specified with a GF or BO card), the
excitation is placed on the appropriate basis function connecting the triangle to the plate/plane.
The positive feed direction is then towards the edge.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-23

14.11 AB card

This card is used to create a FEM modal excitation. The modal port will be excited with the
fundamental mode of the associated, infinitely long guided wave structure of the modal port. If
no excitation is defined, then the modal port will act as a passive port (sink) for fields incident
on the port.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Name of the modal port: Label of the modal port.

Magnitude of source: Magnitude of the impressed mode in V/m.

Phase (degrees): Phase of the impressed mode in degrees.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-24

14.12 AC card

This card inputs data from a *.rsd file containing the geometry of a transmission line or PCB
structure and the current distribution along this line or on the PCB for one or more frequencies.
Such a *.rsd file is created, for example, by the transmission line simulation programs CableMod
or CRIPTE or by the PCB code PCBMod or by a current export with the OS card in FEKO. The
excitation is due to the electromagnetic fields radiated by these line currents (the CM card allows
the treatment of electromagnetic fields coupling into lines).

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

No action: No execution, do not read the *.rsd file — this option is used to specify the
end of the frequency loop, see below.

Model transmission line with Hertzian dipoles: The line geometry, frequency and currents are read from
the *.rsd file, and the line is modelled with an array of Hertzian dipoles (see
the A5 card). The number of dipoles per line segment is specified with the pa-
rameter Number of dipoles per transmission line. Note that this model is only
valid if the line segments do not make electrical contact with any conducting
surface. (All the segments in the *.rsd file must be of the type intern and not
loaded.)

Model line with impressed line currents: The line geometry, frequency and currents are read from the
*.rsd file, and the line is modelled with a continuous current distribution us-
ing one AI card per line segment. (The AI cards are created automatically by
PREFEKO when importing the *.rsd file.) If a line segment has a loaded end-
point it is automatically modelled by an AV card to allow the electrical contact.
The radius of the impressed current element can be set in the parameter Ra-
dius of impressed current. This parameter is optional and is passed on to the
AI and AV cards. (See the description in these cards.) If the parameter is zero
or empty a current filament approximation is used.

Source translation (directions): When importing transmission line currents from CableMod or CRIPTE
or PCB currents from PCBMod, then the coordinate system of these programmes
as represented in the *.rsd file is used and the source is imported at this po-
sition in FEKO. Here an offset can be specified which translates the source in
x, y, or z direction. Standard FEKO units are used for these offsets (i.e. me-
tres, but scaled accordingly if a factor is set at the SF card). Note that the
units as specified in the *.rsd file are not applicable here for the translation
parameters (only to the import of the data).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-25

Rotation about axes: Like the translation described above, an imported source can here be rotated
and thus positioned arbitrarily. The rotation angles are in degree, and the same
definition as also used at the AR (see Section 14.19) or TG (see Section 13.46)
cards applies.

File name: The name of the *.rsd file.

Use adaptive frequency sampling: Only read the minimum and maximum frequency from the *.rsd
file and obtain a continuous solution in this frequency band using adaptive
frequency sampling. If this option is used, only one AC card is permitted in the
*.pre file (and no FR cards).
Maximum number of discrete frequency points: When using adaptive frequency sampling, the maxi-
mum number of sample points can be specified here. See also the discussion
on adaptive frequency sampling at the FR card.

Minimum frequency stepping: When using adaptive frequency sampling it could be necessary to spec-
ify the minimum allowable frequency between samples. See also the discussion
on adaptive frequency sampling at the FR card.

If the imported *.rsd file contains currents for several frequencies, the option New source must
be chosen as the AC card then results in a frequency loop and currents with different frequencies
cannot be superimposed. (If it is not chosen, PREFEKO will give an error). The frequency is
defined in the *.rsd file, thus the preceding FR cards are ignored when processing an AC card.
All commands following the AC card in the FEKO input file (for example FF, FE, OS, GF, BO, . . .)
are processed within a frequency loop through all the frequencies in the *.rsd file. The loop
is terminated by any of the following three cards (these cards are not included in the loop they
terminate).

• AC (importing a new *.rsd file, or using the No action option)

• FR (manually setting a new frequency)

• EN (end of the FEKO input file)

For example, if a *.rsd file must be read and the near field calculated for each frequency, the
input file may look as follows
AC ... ** Read the *.rsd file
FE ... ** Calculate the near field
EN ** End

However, if one wants to analyse, for example, a metal plate, which is excited first by an im-
pressed line current and then also by a plane wave (in each case the near fields and the currents
on the plate must be written to the output file), the input file would be
** Excitation by a line current
AC ... ** Read the *.rsd file
FE ... ** Calculate the near field
OS ... ** Output the currents
** Excitation by a plane wave
FR ... ** Set the frequency and terminate
AC loop
A0 ... ** Specify plane wave excitation
FE ... ** Calculate the near field
OS ... ** Output the currents
** End
EN

October 2013 FEKO User’s Manual


CONTROL CARDS 14-26

14.13 AE card

This card specifies an excitation at an edge between triangular surface elements similar to the A7
card, but the AE card has the advantage that the location of the feed point and the positive feed
direction are substantially easier to specify. In addition it is possible to specify a feed edge which
contains a number of triangle edges as shown in Figure 14-4.

Negative side Positive side

Ei
Figure 14-4: Example of the use of the AE card.

Parameters:
New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Excite edge: This specifies how the edge is determined:

• between regions with multiple labels: The excitation is placed on the edge
between the regions with labels specified in Negative side and Positive
side. Use the field Maximum number of labels on a side to increase the
number of rows available in the table. The positive source direction is
from the Negative side towards the Positive side side (see Figure 14-4).
• connected to ground/UTD: Excite the edges of metallic triangles with the
labels specified in the Negative side or Positive side. The edges of these
triangles are connected to UTD surfaces or to a PEC ground plane (as
specified with a BO or GF card).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-27

• of microstrip between two points: This is a special microstrip line feed.


The excitation is placed on all edges on a line between points (previously
specified with DP cards). The points are specified in the Start point of
edge and End point of edge dialogs. A GF card with a conducting ground
must be present.

Meshed surface represents positive feed side: By default, the feed direction is such that the meshed sur-
face represents the negative feed side. The vector direction of the current is
then towards the UTD or ground. When this option is checked, the feed orien-
tation is reversed.

Magnitude of source: Magnitude value of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Port impedance: The reference impedance to use for this excitation it is included in an S-
parameter calculation requested by the SP card. If this field is empty or zero,
the impedance specified at the SP card is used. (This value is only used if an
SP card is applied to this source.)

The positive source direction as used above is in the direction of the current flow through the
edge. The internal EMF (electromagnetic force) of the impressed voltage source is in the opposite
direction.
It should be noted that the edge between the surfaces with labels Negative side and Positive side
does not have to be straight. One may, for example, excite two half cylinders against each other.
If an impedance must also be applied to the edge, the AE card can be combined with the LE card.
For the case where the item, between regions with multiple labels, is selected, more than two
surfaces may be connected to a feed edge. Examples for this are given in Figure 14-5 (one
surface fed against three others), Figure 14-6 (two surfaces fed against two other surfaces), and
in Figure 14-7 (permitted feed scenarios as indicated in the caption of this figure).

Figure 14-5: Example of a feed edge where more than one surface is connected on one side of the feed

October 2013 FEKO User’s Manual


CONTROL CARDS 14-28

Figure 14-6: Example of a feed edge where more than one surface is connected on both sides (negative
and positive) of the feed

Figure 14-7: Example of a feed edge of three surfaces with different labels, where for instance label 2
could be fed against labels 1 and 3, but also label 1 could be fed against 2 and 3, or 3 could
be fed against 1 and 2.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-29

14.14 AF card

With this card an uniform electric current filament is impressed between two arbitrary points
inside of the FEM region (i.e. it does not have to coincide with tetrahedral edges). This can
be used to excite for instance a patch antenna. See the Example Guide for a related example:
Example A-12.

Parameters:
New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Amplitude of source: Amplitude in A of the impressed line current.

Phase of source: Phase of the current in degrees.

x, y, z coordinate: Coordinates of the start and end points in m. (Note that all the coordinate
values are optionally scaled by the SF card.)

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations . If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

The following restrictions apply when using the impressed current elements of AF type inside a
FEM region:

• The electric current source would usually be connected to metallic surfaces at its terminals,
but this is neither enforced nor checked in FEKO. If a physical connection to a metallic
structure is required, then the user should ensure that the feed terminals are also attached
in the discretised model.

• Input impedance is computed for this source from the line integral over the electric field
solution between the terminals of the source. The length of the impressed current should
therefore be small compared to the shortest wavelength in the band of interest to render a
reasonable accuracy.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-30

• An intrinsic limitation of this model is that no radius is taken into account, therefore the
field is singular in the vicinity of the filament, and this affects the accuracy of the computed
input impedance of the source.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-31

14.15 AI card

With this card an impressed current source is specified. The current varies linearly between the
values at the start and end points, see Figure 14-8.

I2

I1 r2

r1

Figure 14-8: Impressed line current with a linear current distribution

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Amplitude: Amplitude |I1 | in A of the current at the Start point, ~r1 , and End point, ~r2 .

Phase: Phase of the current at the start and end points in degrees.

x, y, z coordinate: Coordinates of the start and end points in m. (Note that all the coordinate
values are optionally scaled by the SF card.)

Radius of impressed current: This parameter is optional. If specified, and different from zero, this
value gives a finite wire radius for the impressed current element. FEKO then
assumes that the current is uniformly distributed on the wire surface and uses
the exact wire integral. If this parameter is not specified, the current filament
approximation is used. (This value is optionally scaled by the SF card.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-32

The following restrictions apply when using the impressed current elements:

• It is not possible to attach the impressed current to a wire segment in the FEKO model. (If
the impressed current is making electrical contact with a triangular surface current element,
the AV card should be used.)

• When modelling dielectric bodies with the surface equivalence method, the current ele-
ment must be in the free space medium, i.e. outside the dielectric bodies. (The material
parameters of this medium can, however, be set with the EG and/or GF cards).

• When used with the spherical Green’s function, the current element must be outside the
dielectric spheres.

• The current segments may be joined with each other and with the AV card to form long
paths and/or closed loops. The point charges which arise when the current does not go to
zero at an end point or when there is a current discontinuity at a connection point, are not
taken into consideration. This is required to model, for example, the case where radiating
lines are terminated in a non-radiating structure. If these charges must be considered
explicitly, the line current should be modelled by a row of Hertzian dipoles (see the A5
card). Note, however, that the constant line charge along the current segment is correctly
taken into account.

• If several of these current elements are used, the total radiated power (required to cal-
culate, for example, the far field gain/directivity) can only be calculated accurately if the
mutual coupling between segments is taken into account. Due to neglecting the point
charges at the ends of the segments, the coupling cannot be determined accurately. If exact
values of the radiated power are required, it should be determined by integrating the far
field (see the FF card). It should be noted that, for example, the computed near and far
fields (the actual field strength values), the induced currents, coupling factors and losses
are computed correctly.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-33

14.16 AK card

With this card a voltage source is applied to a radiating cable (with or without irradiation con-
sidered).

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Connection type: The voltage source can be connected in more than one configuration. The
selected configuration influences the placement of an LC load if it is connected
between the same pins.

• Parallel source (LC connected in series): The source is connected between


a pair of cable connector pins. All cable interconnections defined using a
CI card will be placed in parallel with the source. An LC load between the
same two pins would result in a load being connected in series with the
source. During S-parameter calculations a LC load will be replaced with
the system impedance to perform the S-parameter calculation. Refer to
Figure 14-10 for an example illustration.
• Parallel source (LC connected in parallel): The source is connected be-
tween a pair of cable connector pins. A LC load and all cable intercon-
nections defined between the same pins will be connected in in parallel
with the source. Refer to Figure 14-11 for an example illustration.
• Series source: The source is added in series between a cable connector
pin and any other defined connections such as LC loads and/or CI ca-
ble interconnections (or a parallel connected voltage source). Note that
any cable interconnections (CI card) or loads (LC cards) will still be con-
nected in parallel. Refer to Figure 14-12 for an example illustration.

Terminal 1: • Connector label: The connector label uniquely identifies the connection
of a cable path section.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-34

• Pin (ground=0): The pin number identifies the conductor associated


with the cable path section as defined by the Connector label in the CS
card (see Section 14.30). If the pin is set to 0, the connector pin is con-
nected to ground at the connector.

Terminal 2: • Connector label: The connector label uniquely identifies the connection
of a cable path section.
• Pin (ground=0): The pin number identifies the conductor associated
with the cable path section as defined by the Connector label in the CS
card (see Section 14.30). If the pin is set to 0, the connector pin is con-
nected to ground at the connector.

Reverse connection orientation: By default the positive terminal will be connected to the pin defined
at Terminal 1 and the negative terminal of the source will be connected to the
pin defined at Terminal 2. When this option is selected the orientation of the
source is reversed.

Magnitude of source: Magnitude of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations. If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

14.16.1 Cable pin numbers

Adding a voltage source to a cable requires knowledge of the conductor to cable connector pin
relation. The following rules apply:

• Pin 0 always corresponds to the geometry or meshed model

• Use increasing pin numbers starting at the innermost conductor of a simple cable type and
counting towards the outside

• Use increasing pin numbers in the order of cross section definition inside of a bundle

Pin numbering used for cable modelling can best be described by examples. The following set of
examples illustrate how the pin numbering is done.

Example 1:

An insulated single conductor above ground consisting of the following:

Sub-circuit 1: Single core (Pin 1) with geometry or meshed model as reference (Pin 0).

October 2013 FEKO User’s Manual


14
15
CONTROL CARDS 14-35
16 17 Core: Pin 1 Core: Pin 1
Bundle2

11
10
Ground: Pin 0 Ground: Pin 0

12
Cores:
Example 2:

1 2 n Core: Pin 1
Coaxial cable above ground consisting of the following: Core: Pin 1

Ground: Pin 01:


Sub-circuit Outside of shield (Pin 2) with geometry or meshed model as reference (Pin 0).
Ground: Pin 0
Sub-circuit 2: Coaxial core (Pin 1) with the inside of shield (Pin 2) as reference.
Ground: Pin 0

Core: Pin 1
Core: Pin 1
Shield: Pin 2

3
Ground: Pin 0
Ground: Pin 0
14
15
Example 3:
6 17
Ribbon cable with n cores consisting of the following:
Bundle2

11 Sub-circuit 1: Cores 1..n (excluding Pin i) with Pin i as reference.


0

12 Cores:

1 2 n

Ground: Pin 0

Example 4:

Complex bundle (mixed) cable consisting of the following:

Bundle1 (shielded): Single1, Single2, Coax1, Ribbon1, Coax2, Bundle2 and Bundle3

Ribbon1: 3 cores

Bundle2 (not shielded): Single3, Single4 and Single5

Bundle3 (shielded): Single6 and Coax3

For example, loading (excitation) for sub-circuit 2 is only allowed between 1, 2, the outside of
the shield of coaxial cable 4, 5, 6, 7, the outside of the shield of coaxial cable 9, 10, 11, 12 and
the outside of the shield of the coaxial cable 16 and the inside of the shield of the bundle 17.

October 2013 FEKO User’s Manual


1 2 n

CONTROL CARDS 14-36

Mixed cable: Bundle1


Single1

Coax1 1 Bundle3

3 4
14
Single2 13 15

2 16 17
7 Bundle2
Ribbon1
6 11
5 Coax2
10

12
8 9

Ground: Pin 0

Table 14-2: Allowed loading between connector pins within the same sub-circuit and its reference pin

Sub-circuit Pin numbers Reference pin


number
1 17outsid e 0 (geometry/meshed
model)
2 1, 2, 4outsid e , 5, 6, 7, 9outside , 10, 11, 12 , 17inside
16outsid e
3 3 4inside
4 8 9inside
5 13, 15outsid e 16inside
6 14 15inside

14.16.2 Connection types

The connection types and orientation options described earlier are illustrated below using exam-
ples. In all the examples we define a load (LC card) and two cable interconnections (CI card)
to illustrate the circuit configuration. These additional elements are not required for the parallel
connection, but at least one additional element is required for the series connected source.
The examples illustrate the connections between two pins. An illustration of two pins is shown
in Figure 14-9, but note that the pins defined at each of the terminals could also be located on
two different connectors (from different cable sections).
2

Pin 1
1
Pin 2

Figure 14-9: Illustration of a cable, its pin numbering and the schematic terminal pins it represents.

Parallel source (LC connected in series):

The example consists of the following set of elements.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-37

• A parallel connected source where an LC load would be connected in series. The default
connection orientation is used (positive terminal of the source is connected to the pin
defined at the first terminal).

• An LC load is defined between the two pins.

• Two cable interconnections are defined between the two pins.

Note that during S-parameter calculations the LC load will be replaced with a load with the value
of the reference impedance at the port. Figure 14-10 is an illustration of the connection between
the two connector pins.





 




Figure 14-10: The Parallel source (LC connected in series) connection type where the LC load is connected
in series with the AK source.

Parallel source (LC connected in parallel):

The example consists of the following set of elements.

• A parallel connected source where an LC load would be connected in parallel with the
source. The connection orientation has been reversed so that the negative terminal of the
source is connected to the pin defined at the first terminal.

• An LC load is defined between the two pins.

• Two cable interconnections are defined between the two pins.

During an S-parameter calculation the LC load will not be replaced, but an additional load with
the value of the source reference impedance will be added in series with the source. This source is
indicated within a dashed line since it is only present during S-parameter calculations. Figure 14-
11 is an illustration of the connection between the two connector pins.





   




Figure 14-11: The Parallel source (LC connected in parallel) connection type where the LC load is con-
nected in parallel with the AK source.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-38

Series source:

The example consists of the following set of elements.

• A series connected source. The connection orientation has been reversed so that the nega-
tive terminal of the source is connected to the pin defined at the first terminal.

• An LC load is defined between the two pins.

• Two cable interconnections are defined between the two pins.

During an S-parameter calculation the LC load will not be replaced, but an additional load with
the value of the source reference impedance will be added in series with the source. This source is
indicated within a dashed line since it is only present during S-parameter calculations. Figure 14-
12 is an illustration of the connection between the two connector pins.


 
 


  



Figure 14-12: The source is placed in series with everything that is connected at Pin 1.

Series and parallel source

The last example is a more complicated example where two sources are added between the same
pins. The example consists of the following elements:

• A parallel connected source where an LC load would be connected in parallel with the
source. The connection orientation has been reversed so that the negative terminal of the
source is connected to the pin defined at the first terminal.

• A series connected source connected to the pin defined by the second terminal of the source
defined above. The default connection orientation is used (positive terminal of the source
is connected to the pin defined at the first terminal).

• An LC load is defined between the two pins.

• Two cable interconnections are defined between the two pins.

During an S-parameter calculation the LC load will not be replaced, but an additional load with
the value of the source reference impedance will be added in series with the source. This source is
indicated within a dashed line since it is only present during S-parameter calculations. Figure 14-
13 is an illustration of the connection between the two connector pins.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-39


 
 


   



Figure 14-13: Two sources are placed between the same pins. The one source is connected in parallel and
the other in series.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-40

14.17 AN card

With this card a voltage source can be added to any port of a general non-radiating network that
does not have a connection to geometry.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Network name: The network or transmission line name, with the network port number, uniquely
identifies the connection terminals.

Network port number: The network port number, with the network/transmission line name, uniquely
identifies the connection terminals.

Magnitude of source: Magnitude of the voltage source in V.

Phase of source: Phase of the voltage source in degrees.

Port impedance: The port impedance of this excitation is used in connection with S-parameter
and realised gain calculations. If this field is empty or 0, the value specified at
the SP card is used. (This value is only used if the S-parameters are requested
with an SP card.)

Adding of a voltage source to an internal network port (i.e. not connected to geometry) is
completely defined using an AN-card. The connection is specified by the combination of the
network name and port number that will be excited.
Note that for excitation of network ports connected to geometry, the A1 (voltage source on a
segment), A2 (voltage source on a node), A3 (magnetic frill excitation) and AE (edge excitation)
sources are supported.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-41

14.18 AP card

With this card a planar, cylindrical or spherical aperture of measured or calculated field values
is converted into an equivalent array of electric and magnetic dipoles. The card is processed by
PREFEKO and replaced by A5 and A6 cards in the *.fek file.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

. . . field data . . .: In this group one selects between Load field data from *.efe/*.hfe file (i.e. from
*.efe or *.hfe files previously calculated with FEKO), Load field data from
ASCII text file (the format of these files are documented below) or The field
data follows in the *.pre input file (described below).

. . . aperture: Here one may select a planar, cylindrical or spherical aperture. For a planar
aperture one may elect to use only electric or magnetic fields (this radiates in
both directions, see comment below).

Also sample along edges: This item is used to determine if dipoles should lie on the edges of the aper-
ture or not (see Figures 14-14 to 14-17). When checked the outer dipoles lie
on the edges, when unchecked the dipoles lie half an increment away from the
edges. Dipoles should not lie on the edges of two apertures that have a com-
mon side, otherwise two dipoles may have the same location and polarisation.
If this is the case the power calculation in FEKO will fail.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-42

S1, S2 and S3: These define the orientation of the aperture and should be clear from the figure
on the dialog. For a planar aperture it defines the position of the origin and the
direction of the û2 and û3 directions respectively. (The field data is assumed to
vary first along the û2 direction.) For cylindrical and spherical apertures they
define the origin and the direction of the local z and x axes respectively. All
angles are relative to these axes (see Figures 14-16 and 14-17).

E-field file name: The input file name from which the electric field data must be read. These may
either be a *.efe or a text file (with units V/m).

H-field file name: The input file name from which the magnetic field data must be read. These
may either be a *.efe or a text file (with units A/m).

Start from point number: The number of the first field point to be used for the aperture. If set to 1,
field values are read from the start of the file, for larger values the first point
number-1 values (*.efe and *.hfe files) or lines (text files) are ignored. This
may be used, for example, if the data file contains the field values for more
than one aperture. This corresponds to the line number if all non-data lines
are stripped from the file.
The Start from point number field is not used if the field data is obtained from
the *.pre input file.

Number of points along . . .: These two fields specify the number of field points along each of the two
axes of the aperture.

Amplitude scale factor: A constant by which the amplitudes of all the dipoles in the aperture are scaled.

Phase of aperture: A constant phase added to all dipoles in the aperture.

The aperture is based on the equivalence principle. This states that the sources and scatterers
inside a given volume can be removed, and modelled by placing the equivalent currents J~s = n̂× H
~
~ ~
and Ms = −n̂ × E on the enclosing surface. The vector n̂ is a unit vector, normal to the surface,
and points towards the exterior region. The fields in this region are the same as the original
fields, while those in interior region are zero.
Field values are read from the data files (with a possible offset specified with Start from point
number) or the *.pre input file and converted to equivalent electric (magnetic fields) and mag-
netic (electric field) dipoles at these points. Note that all angles are read from the data, but no
distance values. Thus for planar apertures the positions are calculated entirely from the specified
points (S1, S2 and S3). For cylindrical apertures S1 and S2 specify the extents of the aperture
along the local ẑ direction and S1–S3 specifies the direction of the x axis as well as the radius
of the cylinder. The points are placed at the ϕ-values listed together with the field data. For
spherical apertures, S1–S2 specifies the direction of the z axis and S1–S3 the x axis. S2 and S3
must lie on the same radius which is also the radius of the field points. In this case both ϑ and ϕ
are read with the data.
Figures 14-14 and 14-15 show the application of the equivalence principle to a planar aperture.
In both figures there are the same number of field points along the two orthogonal directions.
When the Also sample along edges item is checked, the first point lies at S1 with the following
points in the direction of S2 as shown by the indices in Figure 14-14. When it is unselected, the
pattern is as shown in Figure 14-15. The normal vector is calculated from n̂ = û2 × û3 with û2
and û3 as defined in the figure.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-43

Figure 14-16 shows the dipole locations for a cylindrical aperture created from a data file con-
taining field values for ϕ from 20◦ to 80◦ in 10◦ increments and 5 values in the z direction. When
the Also sample along edges item is checked, the samples extend up to the edges of the aperture,
the points and the effective aperture are shown in figure (a). When it is unchecked, samples do
not lie on the edges as shown in figure (b). Note that, when using identical input data as for the
case when the item is checked, the z positions of the samples changed, while in the ϕ direction
the size of the effective aperture is increased by 5◦ on both sides.
Figure 14-17 shows the dipole locations for a spherical aperture created from field values for ϑ

(N3-1)*N2+1 N3*N2
S3

3*N2+1

û3 2*N2+1 2*N2+1 3*N2

N2+1 N2+2 2*N2

1 2 3 4 5 6 N2-1 N2
S1 û2 S2

Figure 14-14: Location of the equivalent dipoles on a planar aperture where the Also sample along edges
item is checked.

S3 (N3-1)*N2+1 N3*N2

3*N2+1

û3 2*N2+1 2*N2+1 3*N2

N2+1 N2+2 2*N2

1 2 3 4 5 6 N2-1 N2

S1 û2 S2

Figure 14-15: Location of the equivalent dipoles on a planar aperture where the Also sample along edges
item is unchecked.

Z Z
S2 S2

S1 S1

S3 S3
j j
X X
(a) (b)

Figure 14-16: Location of the equivalent dipoles on a cylindrical aperture.


(a) Also sample along edges checked (b) Also sample along edges unchecked.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-44

from 40◦ to 80◦ with 10◦ increments and ϕ from 20◦ to 80◦ also with 10◦ increments. In this
case the aperture increases in size in both directions when the Also sample along edges item is
checked.
Z Z
S2 S2
J J

S1 S1

S3 S3
j j
X X
(a) (b)

Figure 14-17: Location of the equivalent dipoles on a spherical aperture.


(a) Also sample along edges checked (b) Also sample along edges unchecked.

For planar apertures, the data must vary first along the û2 direction. For cylindrical and spher-
ical apertures PREFEKO will determine which coordinate is incremented first and write out the
dipoles accordingly.
The dipole amplitude is the product of the surface current and the incremental area between
samples. In addition, the amplitude of the dipoles on the sides (when the Also sample along
edges item is checked) are reduced by a factor of 2 and those on the corners by a factor of 4 so
that the effective aperture of integration has the same size as the specified aperture.
A fully closed surface can be created by specifying 6 planar apertures or a spherical one. The
surface equivalence principle can be applied to this surface by reading both electric and magnetic
fields for each plane. (For planar apertures the user should specify 6 AP cards, each using both
electric and magnetic fields. If separate cards are used for the electric and magnetic fields the
radiated power is not calculated correctly.) The normal vector must point to the exterior region,
normally this is outward. (For planar apertures created from *.efe and *.hfe files, the sample
order determines the directions of û2 and û3 which, in turn, determines the normal vector n̂ =
û2 × û3 . If this is pointing into the cube, an additional 180◦ phase shift is obtained by setting
Phase of aperture (degrees) to 180. This changes the sign of the field radiated by the aperture
which, when interacting with the remaining sources, will result in the correct total fields in the
desired region.) All surfaces and scatterers inside the body must be removed and those outside
retained.
For planar apertures (for example, the opening of a horn antenna), one may use the mirror
principle if the field at the edges can be neglected. This results in a duplication of the magnetic
current and cancellation of the electric current. Thus it is sufficient to read only the electric
fields and scale by the factor Amplitude scale factor=2. In this case any sources or structures
in the region towards which the normal is pointing, should also be subjected to the mirroring
(i.e. the structures should be electrically mirrored by using the SY card). Further, it should be
remembered that the fields will only be correct in the direction that the normal vector points
to. The symmetric fields in the other half-space will not be equal to the fields of the original

October 2013 FEKO User’s Manual


CONTROL CARDS 14-45

problem. Note that FEKO takes this into account and divides the total radiated power by two
when calculating the power radiated by a planar aperture containing only electric or magnetic
fields.
When the data is read from an ASCII format text file, each line in the file represents one point and
the values are space delimited. For planar apertures, each line (point definition) must contain
the following four parameters: the absolute value and phase (in degrees) of the field component
in the û2 direction followed by the absolute value and phase in the û3 direction (see the example
below). It is required that the data is in a format in which the position first increments along the
û2 direction. For cylindrical apertures each line (point definition) must contain the following five
parameters: the angle ϕ (in degrees), then the absolute value and phase of the ϕ̂ component,
and then the absolute value and phase of the ẑ component. For spherical apertures it must have
six parameters: the angles ϑ and ϕ followed by the absolute value and phase of the ϑ̂ and ϕ̂
components.
When the data is read from the *.pre input file, the data must be in the normal column based
input format with the result that FOR loops etc. may be used. The four field components are the
same as for the text data, and must be entered in columns 10 characters wide from columns 51 to
90. The angle ϕ must be in columns 40 to 49 and ϑ in columns 30 to 39 when they are required.
If both electric and magnetic fields are required, all the electric fields are given first, followed by
the same number of magnetic fields.
Example of AP card usage:
As an example, consider an open ended X-band waveguide radiating through a hole in a large
ground plane, as shown in Figure 14-18. Away from the aperture the plane z = 0 is perfectly
conducting, i.e. the tangential electric field is zero, while the magnetic field is not — thus we will
use electric symmetry.

z
y
P3
û3
P1
û2
P2 x
Infini
te gr
ound
plane
on th
e pla
ne z=
0

Figure 14-18: Example of an open waveguide as an implementation of the AP card

For this example the field is considered to be purely y directed (i.e. it has only a ŷ, or û3 , com-
ponent). The field is assumed to be constant in the y direction and to have a cosine distribution
in the x direction (i.e. the û2 axis).
With Number of points along û2 =5 and Number of points along û3 =3 — in practice more points
may be required — the data file will be as follows:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-46

0.0 0.0 0.0 0.0


0.0 0.0 0.707 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.707 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.707 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.707 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.707 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.707 0.0
0.0 0.0 0.0 0.0

The zero values will not result in any dipoles, but they must be in the data file to allow correct
indexing. The *.pre file will contain the following section:
...

** Only electric fields --- use electric symmetry in the z=0 plane
SY 1 0 0 2

** Define the corner points of the aperture


#wx = 0.02286
#wy = 0.01016
DP P1 -#wx/2 -#wy/2 0
DP P2 #wx/2 -#wy/2 0
DP P3 -#wx/2 #wy/2 0

** The geometry ends after the corner nodes have been defined
EG 1 0 0 0 0

** Specify the frequency


FR 1 0 9.375e9

** Specify the AP card as a new source


** The amplitude factor of 2.0 is due to the use of the equivalence principle
AP 0 3 P1 P2 P3 1 5 3 2.0 0.0 "Guide.dat"

...

This will generate nine x directed magnetic dipoles of the correct magnitude in the *.fek file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-47

14.19 AR card

With this card the radiation pattern of an antenna is used as an impressed source. The pattern is
read from a data file or defined in the *.pre file below the AR card.
This card has a variety of uses, for example, importing measured radiation patterns, synthesising
arrays from the individual patterns of the elements, realising radiation only within certain sectors,
etc. In the MoM/UTD hybrid it is possible to simulate, for example, the antenna on its own and
to save the far field in a *.ffe file. This field is then imported and used as source in the UTD
part which may greatly speed up the ray tracing computation as there is now only one source
point.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Read pattern data from: In this group the user must select one of four options:

• a *.ffe file: Read the radiation pattern from an *.ffe format file (which
may be created with the DA and FF cards).
• an external data file: Read the radiation pattern from an ASCII file (the
format of this file is described below).
• after this line in the *.pre file: The radiation pattern is specified in the
*.pre file following the AR card (the format is described below). With
this option one can make use of the FOR loops to generate patterns from
known functions.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-48

• use last pattern defined at previous AR card: When using multiple AR


cards (i.e. different radiating antennas in the same model) then it is quite
common that the shape of the pattern is identical. If this is the case, then
one can load the pattern just once and at subsequent AR cards use this
option. Then the last defined pattern will be used and memory can be
saved (no need to store it again). Note that one is still able to set the
antenna position, orientation, and amplitude and phase individually.

Source amplitude scale factor: The field strength values in each direction is determined from the data.
This parameter is used to scale the amplitude of the entire pattern by a constant
value.

Phase of source: This parameter specifies a constant additional phase for the entire pattern.

Source position: In this group the x, y and z coordinates of the source point (i.e. the position
where the antenna is placed) are entered in m. This value is affected by the
scale factor of the SF card if used.

Rotation about the axes: In this group the angles with which the imported pattern is rotated around
the x, y and z axes are entered in degrees. We will refer to these fields as α x ,
α y and αz in the rest of this discussion.

File name: The name of the *.ffe or ASCII input file.

Start from point number: This parameter is only relevant when the data is read from an external file,
and gives the line number of the first line to read from the input file. If the data
must be read from the beginning of the file, the value in this field should be set
equal to 1. This parameter is used when the *.ffe file contains more than one
pattern. For example, if the file contains the pattern at various frequencies, the
correct pattern can be selected by setting this field to the appropriate value for
each frequency.
If the *.ffe file is of a newer format and contains header data in addition to
the data blocks, the point number refers to the actual point number. This is the
same as the line number if all blank lines, comment lines and header lines are
stripped from the file.

Number of ϑ points: The number of ϑ angles in the pattern.

Number of ϕ points: The number of ϕ angles in the pattern.

The radiation pattern of the antenna must be specified in spherical coordinates (ϑ, ϕ) with the
phase centre located at the origin of the local coordinates (as used in the pattern data). If this
is not the case, the phase of the far fields will not be correct. (For example, if a *.ffe file is
exported with FEKO to be used with the AR card, the origin should be shifted with the OF card to
the phase centre of the antenna.) The vertical and horizontal components of the complex electric
field EϑF F and/or EϕF F must be specified at discrete angles (ϑ i , ϕ j ) with i and j larger or equal to 1
and smaller or equal to the number of points specified for the respective angles. The field values
are entered in Volts and the actual far fields are calculated from
e− jβR
Eϑ = EϑF F · (14-8)
R
or
e− jβR
Eϕ = EϕF F · , (14-9)
R

October 2013 FEKO User’s Manual


CONTROL CARDS 14-49

with R the distance to the field point and β the complex propagation constant in the free space
medium (see the EG and GF cards). These formulas are used for all distances R, i.e. also in
the near field. However, FEKO tests whether the far field conditions are met (by calculating the
directivity and equivalent aperture) and gives an appropriate warning if this is not the case.
The permissible range of the angles ϑ i is 0◦ . . .180◦ and they must be in ascending order, i.e.
ϑ i+1 > ϑ i . However, the angles do not have to be equidistantly spaced. (Thus, for example, for a
highly directive antenna, a denser grid can be used close to the main beam direction.) The same
applies to the angles ϕ j where the permissible range is 0◦ . . .360◦ . For field angles outside the
start and end values defined in the data (i.e. for ϑ < ϑ1 , ϑ > ϑmax , ϕ < ϕ 1 or ϕ > ϕ max ), the field
strengths EϑF F and EϕF F are set to zero, so that a sector radiator can be realised. The values at field
angles within the defined range are determined by bilinear interpolation. To realise a complete
radiation pattern, rather than a sector radiator, the angles should be defined so that ϑ1 = 0◦ , ϑmax
= 180◦ , ϕ 1 = 0◦ and ϕ max = 360◦ .
The radiation pattern, specified in the local spherical coordinate system (ϑ, ϕ) of the antenna, is
read and initially placed at the origin of the global coordinate system in which the *.pre file is
constructed. The pattern is now rotated by an angle αz around the z axis, by α y around the y
axis and by α x around the x axis. (The rotation is identical to the rotation executed by the TG
card (see Section 13.46) and the rotation matrix M is applicable to both the TG and AR cards.)
Finally the pattern is shifted to the specified location.
If the AR card is used simultaneously with a ground plane (BO card), FEKO includes the influence
of the ground plane on the radiation pattern. The imported pattern must therefore be the free
space radiation pattern of the antenna (in the absence of the ground plane). If this is not the
case the influence of the ground plane is considered twice.
The use of the PW card to specify the radiated power is allowed. The field amplitudes |EϑF F | and
|EϕF F | will be scaled accordingly. Multiple radiation patterns can be used simultaneously, and also
with other sources such as an incident plane wave. In such a case, the coupling is not considered
when the radiated power is determined.
The AR card cannot be used with special Green’s functions for a layered sphere or for a layered
substrate.
The format of the data depends on the value of the parameter Read pattern data from:

• an *.ffe file (*.ffe file)


With this option, the radiation pattern is read from a *.ffe file created with FEKO (using
the DA and FF cards). All the data of the radiation pattern (angles and field values) are
determined from the file. The user should ensure that, for example, the frequency is correct.
If an antenna is analysed with FEKO, the far field can be exported to the *.ffe file using
the commands (for 5◦ angle increments)
DA 0 0 1 0 0
FF 1 37 73 0 0 0 5 5

Note 37 points are used for ϑ and 73 for ϕ to ensure that the radiation pattern is closed
(see also the comment above).
This can then be imported as a source into another model with the command
AR 0 1 1 37 73 1.0 0.0 0.0 0.0 0.0 ...
... 0.0 0.0 0.0 "file.ffe"

October 2013 FEKO User’s Manual


CONTROL CARDS 14-50

• an external ASCII file


With this option, the data is read from the specified external data file. Each line contains 6
space delimited data fields in the following order:

– The angle ϑ in degrees


– The angle ϕ in degrees
– Amplitude of the field strength EϑF F in V
– Phase of the field EϑF F in degrees
– Amplitude of the field strength EϕF F in V
– Phase of the field EϕF F in degrees

The inner loop should be with respect to the angle ϑ so that the order of the lines is as
follows
ϑ1 ϕ1 ···
ϑ2 ϕ1 ···
ϑ3 ϕ1 ···
.. ..
. . ···
ϑ I4 ϕ1 ···
ϑ1 ϕ2 ···
ϑ2 ϕ2 ···
.. ..
. . ···
ϑ I4 ϕ I5 ···

• after this line in the *.pre file


This case is similar to reading an external ASCII file, except that the data is read directly
from the *.pre input file. The six data fields mentioned for the case of an ASCII file must
appear in the 6 columns of 10 characters, starting at character 31 and ending at character
90 in the lines following the AR card. When this option is selected, the card dialog shows
additional input fields where the user can specify these values for each point. The data
lines may be separated by comment lines (EDITFEKO, however, does not support this) and
FOR–NEXT loops may be used. Even when using FOR loops one may use the card dialog
in EDITFEKO to generate a typical line.

We conclude this description with an example of a sector radiator. We want to realise an ideal
sector radiator, which radiates 10 Watt horizontal polarisation in the angular region defined by
-70◦ ≤ ϕ ≤ 70◦ and 75◦ ≤ ϑ ≤ 105◦ . Since the angle range of the imported pattern must be
positive, one may define separate sources for the regions 0◦ ≤ ϕ ≤ 70◦ and 290◦ ≤ ϕ ≤ 360◦ . A
more elegant solution is to define a single pattern in the range 0◦ ≤ ϕ ≤ 140◦ and rotate it by
-70◦ around the z axis. The complete radiation pattern is defined in the following input file (note
that only horizontal polarisation, i.e. EϕF F , is required):

October 2013 FEKO User’s Manual


CONTROL CARDS 14-51

** Application example for the AR card: Sector radiator

** No other structures considered


EG 1 0 0 0 0

** Set the frequency


FR 1 0 100.0e6

** Specified radiated power


PW 1 10.0

** Define the sector radiator


AR 0 3 2 2 1.0 0.0 0.0 0.0 0.0 0.0 0.0 -70
** Theta Phi E_theta E_Phi
75 0 0 0 1 0
105 0 0 0 1 0
75 140 0 0 1 0
105 140 0 0 1 0
** Check: Compute the full 3D radiation pattern with 5 deg stepping
FF 1 37 73 0 0.0 0.0 5.0 5.0

** End
EN

FEKO determines a directivity of 10.1 dBi. The radiation pattern is easily validated by calculating
the far field as shown with the FF card in the last step. The result is shown in Figure 14-19.

Figure 14-19: 3D radiation pattern of the sector radiator.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-52

14.20 AS card

This card specifies an excitation by means of impressed spherical modes, which are either radi-
ating (i.e. propagating in positive r direction to infinity, with r being the radius in a spherical
coordinate system) or incident onto a structure (i.e. then propagating towards the origin r = 0).

This excitation option can thus be used for both the synthesis of an arbitrary electromagnetic field
(sum of the modes weighted with complex mode coefficients), and also for the determination of
the response (i.e. induced voltage or power at a load) of a receiving antenna due to the incident
modes (leading to the so-called generalised scattering matrix).
Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Propagation direction: This determines if the spherical waves propagate Inward (the model is illumi-
nated with modes propagating towards r = 0, i.e. spherical Hankel function
of the first kind zn(3)= h(1)
n ) or Outward (the modes radiate towards r = ∞, i.e.
spherical Hankel function of the second kind zn(4) = h(2)
n ). This option is only
available for when the modes are entered in the *.pre file and not when the
modes are imported from a TICRA file (*.sph) in which case the outward
propagating direction is used.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-53

Mode data source: The spherical modes can be entered directly in the *.pre file or it can be
imported from a TICRA file (*.sph). Note that multiple spherical modes can
be created as a single source. The imported spherical modes may be scaled
and the phase given an offset by entering values for the Scale magnitude by
and Offset phase (deg) fields.

x, y, z position: The coordinates of the origin r = 0 of the mode in m. (These values are
optionally scaled by the SF card.)

ϑ angle: The ϑ angle between the spherical mode axis (N) and the z-axis in degrees.

ϕ angle: The ϕ angle between the projection of the spherical mode axis (N) onto the
plane z = 0 and the x axis in degrees.

Rotation about axes: The rotation of the spherical mode source about the x, y and z axes.

Number of modes: The number of modes that are entered in the *.pre file must be specified.

Traditional index smn: If this option is checked, the user can specify TE-mode (s = 1) or TM-mode
(s = 2) and the indices m and n in the group below. Here n is the mode index
in radial direction and must be in the range 1, 2, . . . ∞ and m is the mode index
in the azimuth direction ϕ. We do not distinguish between even and odd modes
(with cos(mϕ) and sin(mϕ) angular dependencies), but rather use the angular
dependency e jmϕ . Thus the index m can also be negative, but it must be in the
range −n . . . n.

Compressed index j: With this option, a compressed one-dimensional mode numbering scheme is
used. The Mode index j is then specified in the field below. Here

j = 2 [n (n + 1) + m − 1] + s (14-10)

where s = 1 for TE-modes and s = 2 for TM-modes. This unified mode num-
bering scheme allows the computation of an extended scattering matrix (with
network and radiation ports). This index j then represents a unique port num-
ber in the scattering matrix.
p
Magnitude of the mode in W : Absolute value of the complex amplitude of this specific spherical
mode (due to thepapplied p normalisation of the spherical modes, the unit of
this amplitude is W = VA).

Phase of the mode: The phase of the complex amplitude of this spherical mode in degrees.

The implementation of the spherical modes at the AS card follows closely the references: J. E.
Hansen, Spherical Near-field Antenna Measurements, Peter Peregrinus Ltd., London, 1988 and B.
C. Brock, Using Vector Spherical Harmonics to Compute Antenna Mutual Impedance from Measured
or Computed Fields, Sandia National Laboratories, Report SAND2000-2217-Revised, April 2001.
One must realise that Hansen assumes a complex time dependence of e−iωt , while FEKO always
uses the positive sign e jω t .
In FEKO, using the modal coefficients Q csmn the electric and magnetic field strength is represented
in a spherical coordinate system by
4 X
X 2 X n
∞ X
~ (r, ϕ, ϑ) =
E Q(c) F~ (c) (r, ϕ, ϑ) (14-11)
smn smn
c=3 s=1 n=1 m=−n

October 2013 FEKO User’s Manual


CONTROL CARDS 14-54

4 X
2 X n
∞ X
j X (c)
~ ϕ, ϑ) =
H(r, Q(c) F~ (r, ϕ, ϑ) . (14-12)
smn 3−s,m,n
ZF c=3 s=1 n=1 m=−n

Here s, m and n are the mode indices with s = 1 indicating the TE-mode and s = 2 the TM-mode
(see also the discussion above), and c represents the propagation direction: c = 3 is inward and
c = 4 is outward. The term Z F denotes the wave impedance of the medium under consideration,
β below is the corresponding wavenumber.
(c)
The spherical wave functions Fsmn are given by
(c)
F~1mn (r, ϑ, ϕ) = M~ (c)
mn  m
ZF
Æ
1 m
= β 2π p − |m|
 n(n+1)

· 0 · e~r (14-13)
jm
+zn(c) (β r) sin ϑ Pd
|m|
(cos ϑ) e jmϕ e~ϑ
n n o 
−zn(c) (β r) ∂∂ϑ Pd n
|m|
(cos ϑ) e jmϕ
e~ϕ

and
(c)
F~2mn (r, ϑ, ϕ) = N
~ (c)
mn  m
Z
Æ
m
= β 2πF p 1 − |m|
 n(n+1)
n(n+1) (c)
· βr
zn (β r) Pd |m|
n
(cos ϑ) e jmϕ e~r (14-14)
© n o
+ β1r ∂ (β∂ r) β r zn(c) (β r) ∂∂ϑ Pd e jmϕ e~ϑ
¦
|m|
n
(cos ϑ)
© jm 
1 ∂ (c) jmϕ
¦
+ β r z (β r)
β r ∂ (β r) n
P (cos ϑ) e
d |m|
sin ϑ n
e~ ϕ

with the associated Legendre function


r
2n + 1 (n − |m|)!
Pd
|m|
n
(cos ϑ) = Pn|m| (cos ϑ) (14-15)
2 (n + |m|)!

and the spherical Bessel functions

zn(3) (β r) = h(1)
n
(β r) = jn (β r) + j yn (β r)
(4) (2) (14-16)
zn (β r) = hn (β r) = jn (β r) − j yn (β r) .

It should be noted that the Legendre polynomial Pn|m| (cos ϑ) as used in FEKO follows the defini-
tions of Abramowitz/Stegun (also used like this in Numerical Recipes) or also Harrington. The
formulas used in other references (e.g. Stratton or Hansen) have an extra factor (−1)m included.
This is not considered in FEKO, and thus the mode coefficients Q csmn might differ from those
computed according to Hansen (there is also of course the other time dependency, see earlier
discussion).
Theoretically the index n runs in the range 1, 2, . . . , ∞. For any practical application, one will
have to consider a finite number of modes only, i.e. limit the range n = 1 . . . N . A few rules of
thumb exist for the selection of N . For instance when representing the pattern of an antenna by
spherical modes one can use the upper limit
r0
N ≈ β r0 = 2π , (14-17)
λ

October 2013 FEKO User’s Manual


CONTROL CARDS 14-55

where β is the wavenumber, λ the wavelength, and r0 denotes the radius of the smallest sphere
enclosing the antenna. In critical cases, one might also rather use

N ≈ β r0 + 10 (14-18)

or p
N ≈ β r0 + 3 3
β r0 . (14-19)
When using the compressed numbering scheme with one index j, any upper limit N for n will
with the largest values m = N and s = 2 translate into an upper limit

J = 2 [N (N + 1) + N − 1] + 2 = 2 N (N + 2) (14-20)

for j (i.e. j = 1 . . . J then). So for instance for an antenna with enclosing radius r0 = λ4 (then
β r0 = 1.57) when using the last of the three rules of thumb above, one would need roughly N ≈ 5
or J ≈ 70 modes, respectively. For r0 = λ these limits become already N ≈ 12 and J ≈ 336, and
for r0 = 5λ one has to use N ≈ 41 and J ≈ 3526 modes The modes have been normalised
such that each mode has a constant power flow through any spherical surface (either inwards or
outwards). In principle one could use the PW card for this, but then power normalisation works
only if there is not more than one mode active at the same time (when using the PW card, just
the total radiated power of all the modes is determined, and then each mode is scaled with the
same factor, so that the total radiated power is correct, but here we enforce a specified power for
each individual mode). The power for each mode is independent of the mode indices

P = 0.5 |Magnitude of the mode|2 (14-21)


p
(unit is correctly Watt since the amplitude has a unit W ). Since the modes are orthogonal, if
multiple AS cards are active at the same time, the powers of the individual modes can just be
added. Any other power corrections (such as due to metallic elements being in the vicinity) are
not taken into account in FEKO.
If an AS excitation is used in connection with multiple different media, it should be noted that
we assume outward propagating modes (when Outward is selected under Propagation direction)
to originate from the Source position, i.e. the source is located in the medium where Source
position is located, and its contribution will be zero in all other media. For inward propagating
modes (when Inward is selected under Propagation direction) we assume them to originate at
infinity, in the free space medium 0, and such modes only contribute to this medium with index
0. In connection with the UTD, only outward propagating modes are allowed (they have a well
defined source point), while inward propagating modes are not supported (neither a source point
nor an incidence direction can be assigned to such modes).
When computing the far field with the FF card, then outward propagating modes are included
normally, which is important when synthesising antenna patterns by means of spherical modes.
However, for inward propagating modes the far field limit for R → ∞ of the field strength with
the factor
e− jβ R
(14-22)
R
split off does not exist (similar to the non-existent far field for an incident plane wave). Thus such
inward propagating modes are excluded from any far field computation. This is not a problem,
since normally inward propagating modes are applied when computing the generalised antenna
scattering matrix, i.e. the response of a receiving antenna to an incident mode. Then one looks
at these quantities:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-56

• Induced voltage or power at the antenna terminals for the network ports (i.e. no far field
computation).

• Field scattered back, and decomposition of this field into spherical modes (far field ports).
Here one needs the far field computation, but similar to an RCS computation with an
incident plane wave, only the scattered far field is of interest, which can be obtained from
the FF card without problems.

Note that all the modes (inwards and outwards propagating) are correctly included when doing
a near field computation with the FE card (also for very large distances).
As an application example, we consider the TE-mode n = 5 and m = 0 and compute the far field
pattern:
** Create the far field radiation pattern of a spherical mode

** No geometry
EG 1 0 0 0 0

** Set the frequency


FR 1 100e6

** Spherical mode indices


#s = 1 ** 1 = TE-mode, 2 = TM-mode
#n = 5 ** mode order n (with n=1, 2, 3, ...)
#m = 0 ** mode order m (with m=-n ... n)

** Excitation
AS 0 4 #s #m #n 1 0

** Compute the full far field pattern


FF 1 91 37 0 0 0 2 10

** End
EN

The resulting pattern is shown in Figure 14-20. From the FEKO output file one can see the correct
radiated power of 0.5 Watt as obtained from the far field integration:
Integration of the normal component of the Poynting vector in the angular
grid DTHETA = 2.00 deg. and DPHI = 10.00 deg. ( 3367 sample points)
angular range THETA angular range PHI radiated power
-1.00 .. 181.00 deg. -5.00 .. 365.00 deg. 5.13889E-01 Watt
0.00 .. 180.00 deg. 0.00 .. 360.00 deg. 5.00001E-01 Watt

October 2013 FEKO User’s Manual


CONTROL CARDS 14-57

Figure 14-20: 3D radiation pattern of a spherical TE-mode with n = 5 and m = 0.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-58

14.21 AV card

With this card an impressed current source is specified similar to that of the AI card, but with the
AV card the end point makes electrical contact with a conducting surface as shown in Figure 14-
21. The current varies linearly between the value at the start point and that at the end point.
At the connection point special singular functions are used for the surface current density on the
triangles to allow continuous current flow.

Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Specify end point coordinates below: The coordinates of the end point ~r2 are known and specified with
the x, y, z coordinate fields. This point must coincide with a corner point of
one or more triangles.

Connect to closest triangle vertex: The coordinates of the end point ~r2 are not known. In this case the
x, y, z coordinate fields of the End point are not used. FEKO searches through
all the metallic triangles for the corner point that is closest to the start point
~r1 of the current element. This is then the end point ~r2 . For both cases FEKO
automatically searches for all the triangles making electrical contact with the
end point.

Amplitude: Current amplitude (in A) at the Start, ~r1 , and End, ~r2 , points.

Phase: Phase of the current at the start point in degrees.

x, y, z coordinate: Coordinates of the start and end points in m. (Note that all the coordinate
values are optionally scaled by the SF card.)

Radius of impressed current: This parameter is optional. If specified, and different from zero, this
value gives a finite wire radius for the impressed current element. FEKO then
assumes that the current is uniformly distributed on the wire surface and uses
the exact wire integral. If the parameter is not specified, the current filament
approximation is used. (This value is optionally scaled by the SF card.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-59

The following restrictions apply when using the impressed current elements making electrical
contact with conducting surfaces:

• All the restrictions given in the discussion of the AI card also apply in this case.

• The start point of the impressed current segment may be connected with AI cards or further
AV cards. If there is a current discontinuity at this point, the resulting point charge is not
considered (see the discussion given with the AI card). Line charges along the current path
and surface charges on the triangles are correctly taken into account. At the connection
point ~r2 a continuous current model is used so that a point charge is not possible here.

I1

r1
im
pre
sse
dc
urr I2
ent
metallic
r2 triangles

Figure 14-21: Impressed line current with a linear current distribution and electrical contact to conducting
triangles

October 2013 FEKO User’s Manual


CONTROL CARDS 14-60

14.22 AW card

With this card a waveguide port excitation by an impressed mode on a rectangular, circular, or
coaxial waveguide can be modelled or the impressed travelling modes in all waveguides of a
multi-port network can be imported from a *.fim file.

Specify the source in the *.pre file

With this option a waveguide port excitation by means of an impressed mode on a rectangular,
circular, or coaxial waveguide, can be modelled.
Parameters:

New source: A new excitation is defined which replaces all previously defined excitations.

Add to sources: A new excitation is defined which is added to the previously defined excita-
tions.

Label of the port triangles: Label of the triangular mesh elements in the mesh which represent the
waveguide port. (If multiple solutions are defined in the same *.pre file, then

October 2013 FEKO User’s Manual


CONTROL CARDS 14-61

the usage of the waveguide ports with respect to the label(s) to which it/they
are applied must be consistent for all solutions.)

Medium inside the triangles: The label of the medium inside the modelled waveguide.

Rectangular: A rectangular waveguide cross section is used, which is defined by three points
S1, S2, and S3 as follows: S1 is an arbitrary corner point, and S2 and S3 are
two corner points which define the waveguide sides û1 (from S1 to S2) and
û2 (from S1 to S3). The direction in which the mode is launched is given by
û3 = û1 × û2 .

Circular: A circular waveguide cross section is used. The point S1 denotes the centre
of the circular port, and the point S2 specifies the radius and start point for
the angular dependency. A further point S3 must be perpendicular above the
centre of the circular plate, so that the direction from S1 to S3 indicates the
direction in which the waveguide modes are launched.

Coaxial: Here a feed of a coaxial waveguide with circular cross sections of both the inner
and outer conductor can be specified. The point definitions are the same as for
the circular waveguide, except that an additional point S4 must be defined
between S1 and S2 which specifies the radius of the inner conductor.

Excite fundamental mode: Select this option to automatically excite the fundamental mode of the
waveguide. When this option is selected, the mode type and its indices (m
and n) cannot be specified since they are determined automatically.

TE-mode: If this option is checked, a T Em,n mode (also referred to as H m,n ) is used as
excitation. This option is only available when “Excite fundamental mode” has
not been selected.

TM-mode: If this option is checked, a T Mm,n mode (also referred to as Em,n ) is used as
excitation. This option is only available when “Excite fundamental mode” has
not been selected.

TEM-mode: If this option is checked (only available for the coaxial waveguide since TEM
modes don’t exist in rectangular/circular waveguides), a TEM mode is used as
excitation. This option is only available when “Excite fundamental mode” has
not been selected.

Mode index m: The index m of the T Em,n or T Mm,n mode which is impressed at the port. Note
that for a rectangular waveguide the index m is related to the û1 direction (i.e.
from point S1 to S2). For a circular/coaxial waveguide, m denotes the angular
dependency. This option is only available when “Excite fundamental mode”
has not been selected.

Mode index n: The index n of the T Em,n or T Mm,n , mode which is impressed at the port. Note
that for a rectangular waveguide the index n is related to the û2 direction (i.e.
from point S1 to S3). For a circular/coaxial waveguide, n denotes the radial
dependency. This option is only available when “Excite fundamental mode”
has not been selected.

Magnitude. . .: Absolute value of the complex amplitude of the impressed mode. For a TE-
mode the unit is A/m, for a TM-mode the unit is V/m; for a TEM-mode the
unit is V. Note that an amplitude of zero can also be specified. In this case a
waveguide port is acting purely as a passive port (e.g. as waveguide termina-
tion), and no wave is launched.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-62

Phase: The phase of the impressed mode in degrees.

Rotation angle ϕ 0 : This option is available for circular and coaxial modes only and indicates the
rotation angle in degrees by which a mode is rotated anti-clockwise with re-
spect to the reference direction (point S2).

Modal expansion: At a waveguide port a specific mode is used as impressed excitation. How-
ever, due to discontinuities in the model, also higher order modes can result
and will be propagating backwards through the port (applies to both active
and passive ports). The maximum modal expansion indices taken into account
during the calculation can be determined automatically by the kernel or speci-
fied manually. The included modes must be sufficient to capture the resulting
field distribution of the problem. Note that the mesh across the waveguide port
must be fine enough to represent the potential rapid field variation of included
higher order modes. Also note that an increased number of higher order modes
included in the model may have a significant impact on the run-time. If speci-
fied manually then the input values denote the maximum mode indices m and
n which will be used to expand the backwards travelling waves. If determined
automatically, then all propagating modes will be included, as well as evanes-
cent modes that decay faster than 1/e at a tenth of a wavelength away from
the waveguide port.

Passive port only: The waveguide port can be marked as passive only so that it will not be consid-
ered during S-parameter calculations. In this case the port is acting purely as
a passive waveguide termination, and the coupling to and from this port will
not be calculated.

Import modes from FEST3D file (*.fim)

With this option, impressed forward travelling modes in all waveguides of a multi-port network
can be imported from a *.fim file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-63

Parameters:

Position: A named point indicating the translation of the imported model in the FEKO
coordinate system. Note that this point must have been previously defined with
a DP card.

Rotation around the x-axis: This specifies the rotation of the imported model around the x-axis in
degrees.

Rotation around the y-axis: This specifies the rotation of the imported model around the y-axis in
degrees.

Rotation around the z-axis: This specifies the rotation of the imported model around the z-axis in
degrees.

File name: The name of the *.fim file.

In order to model a waveguide port excitation by an impressed mode, the cross section of the
waveguide at the port location must be meshed into metallic triangles with a unique label. The
propagation direction is given by the unit vector û3 , see the small graphics in the AW card panel
above.
In general, specific meshing rules exist in FEKO relating the triangular patch size to the wave-
length (see Section 15.2.2). When meshing the cross section of a waveguide to define a wave-
guide port, the mesh size must be small enough to capture the field distribution of the highest
mode (m, n) which is included in the expansion. FEKO checks this automatically and gives a
warning for coarse meshes or an error if the mesh size is too large. One must then either refine
the mesh just at the port or reduce the maximum mode indices used in the expansion.
The following restrictions apply when using a waveguide port excitation:

• Waveguide ports are available for models containing metallic objects (wires and surfaces
and wire/surface junctions, including PO) and dielectrics (solved using the SEP, FEM) or
dielectric coatings and thin dielectric sheets.

• Special Green’s functions may not be used in conjunction with waveguide port feeds.

• When using waveguide ports, then UTD is not allowed in the same model. Note, however,
that in FEKO it is possible (using the AR or AP cards) to decompose a model (say a horn
antenna in front of a reflector) into different sub-problems. If this approach is followed,
then waveguide feeds may be used. See Example_35 in the Scripting Examples guide for
an illustration of this decomposition technique.

The reflection coefficient at each waveguide port (S11 ) is always calculated and available for
display in POSTFEKO on an S-parameter graph, even when no S-parameter calculation has been
requested. Requesting S-parameters with the SP card is supported for waveguide ports. Multiple
ports (active and/or passive) can be present in the model. S-parameters are directly based on
the waveguide impedance of the specific mode under consideration. The reference impedance as
specified at the SP card is not used for waveguide ports.
Examples for the application of waveguide feeds can be found in the Examples Guide (E-2) and
in the Script Examples, example_08 and example_34.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-64

In order to rule out any possible doubts and ambiguities regarding the waveguide mode defini-
tions, we give here the explicit expressions of the modes as used in FEKO. This implementation
follows closely the conventions in S. Ramo, J. R. Whinnery, and T. van Duzer, Fields and Waves in
Communication Electronics, John Wiley & Sons, Inc., 3rd ed., 1994.
Rectangular waveguide expressions
Local Cartesian coordinates (u1 , u2 , u3 ) are assumed. The factor e jωt± jβu3 is omitted for brevity,
where β is the complex modal propagation coefficient. In the expressions below, let a be the
dimension of the waveguide port in uˆ1 (distance between S1 and S2), and b the dimension of
the waveguide port in uˆ2 (distance between S1 and S3). The modal cutoff coefficient is the same
for TM- and TE-modes, and is given by,

mπ ‹2  nπ ‹2 1/2
βc = + . (14-23)
a b

For transverse magnetic (TM) modes the axial magnetic field component vanishes, and the axial
electric field component for the T Mm,n mode is expressed as,
mπu1 nπu2
EuTM (u1 , u2 ) = Âsin sin (14-24)
3 a b
for m = 1, 2, . . . , and n = 1, 2, . . . Â is the complex amplitude of the impressed mode in V/m. The
remaining field components are,

j⠁ mπ ‹ mπu1 nπu2
EuTM (u1 , u2 ) = ZTM HuTM (u1 , u2 ) =− Âcos sin (14-25)
1 2 βc2 a a b

j⠁ nπ ‹ mπu1 nπu2
EuTM (u1 , u2 ) = −ZTM HuTM (u1 , u2 ) =− Âsin cos (14-26)
2 1 βc2 b a b
β
ZTM = (14-27)
ω"

For transverse electric (TE) modes the axial electric field component vanishes, and the axial
magnetic field component for the T Em,n mode is expressed as,
mπu1 nπu2
HuTE3 (u1 , u2 ) = Âcos cos (14-28)
a b
for m = 0, 1, 2, . . . , and n = 0, 1, 2, . . . (but not both m and n zero). Â is the complex amplitude
of the impressed mode in A/m. The remaining field components are,

j⠁ nπ ‹ mπu1 nπu2
EuTE1 (u1 , u2 ) = ZTE HuTE2 (u1 , u2 ) = ZTE Âcos sin (14-29)
βc2 b a b

j⠁ mπ ‹ mπu1 nπu2
EuTE2 (u1 , u2 ) = −ZTE HuTE1 (u1 , u2 ) =− ZTE Âsin cos (14-30)
βc2 a a b
ωµ
ZTE = (14-31)
β

Circular waveguide expressions

October 2013 FEKO User’s Manual


CONTROL CARDS 14-65

Local cylindrical coordinates (r, ϕ, z) are assumed, with the z-axis on the waveguide axis (S1–S3).
The factor e jωt± jβz is omitted for brevity, where β is the complex modal propagation coefficient.
The expressions below are valid for the fields inside a circular waveguide, i.e. for r ≤ a, where a
is the radius of the waveguide port. Jm (x) is the m th order Bessel function of the first kind, and
Jm0 (x) denotes the derivative with respect to the argument.
For transverse magnetic (TM) modes the axial magnetic field component vanishes, and the axial
electric field component for the T Mm,n mode is expressed as,

EzTM (r, ϕ) = ÂJm (βc r) cos m(ϕ − ϕ0 ) (14-32)


 

for m = 0, 1, 2, . . . , and n = 1, 2, . . . . Â is the complex amplitude of the impressed mode in V/m,


and ϕ 0 is the rotation angle. The modal cutoff coefficient β c is the n th zero of Jm (β c a) = 0. The
remaining field components are,


E rTM (r, ϕ) = ZTM HϕTM (r, ϕ) = − ÂJm0 (βc r) cos m(ϕ − ϕ0 ) (14-33)
 
βc

jβ m
EϕTM (r, ϕ) = −ZTM H rTM (r, ϕ) = ÂJm (βc r) sin m(ϕ − ϕ0 ) (14-34)
 
βc2 r
β
ZTM = (14-35)
ω"

For transverse electric (TE) modes the axial electric field component vanishes, and the axial
magnetic field component for the T Em,n mode is expressed as,

HzTE (r, ϕ) = ÂJm (βc r) cos m(ϕ − ϕ0 ) (14-36)


 

for m = 0, 1, 2, . . . , and n = 1, 2, . . . . Â is the complex amplitude of the impressed mode in A/m,


and ϕ 0 is the rotation angle. The modal cutoff coefficient β c is the n th zero of Jm0 (β c a) = 0. The
remaining field components are,

jβ m
E rTE (r, ϕ) = ZTE HϕTE (r, ϕ) = ZTE ÂJm (βc r) sin m(ϕ − ϕ0 ) (14-37)
 
βc2 r


EϕTE (r, ϕ) = −ZTE H rTE (r, ϕ) = ZTE ÂJm0 (βc r) cos m(ϕ − ϕ0 ) (14-38)
 
βc
ωµ
ZTE = (14-39)
β

Coaxial waveguide expressions


Local cylindrical coordinates (r, ϕ, z) are assumed, with the z-axis on the waveguide axis (S1—
S3). The factor e jωt± jβz is omitted for brevity, where β is the complex modal propagation co-
efficient. The expressions below are valid for the fields inside a coaxial waveguide, i.e. for
ri ≤ r ≤ ro , where ro is the radius of the outer conductor and ri is the radius of the inner
conductor of the coaxial waveguide port. Jm (x) and Nm (x) are m th order Bessel functions of the
first and second kind, respectively and Jm0 (x) and Nm0 (x) denote the derivatives with respect to
the argument.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-66
p
The fundamental mode in a coaxial waveguide is a TEM wave and propagates with β = ω µ".
The axial electric and magnetic field components are zero for a TEM-mode, and the transverse
field components have a static field distribution,

E rTEM (r, ϕ) = ZTEM HϕTEM (r, ϕ) = − (14-40)
r
µ
Ç
ZTEM = (14-41)
"

 is the complex amplitude of the impressed mode in V.


For transverse magnetic (TM) modes the axial magnetic field component vanishes, and the axial
electric field component for the T Mm,n mode is expressed as,
Jm (βc r) Nm (βc r)
 
TM
Ez (r, ϕ) = Â − + cos m(ϕ − ϕ0 ) (14-42)
 
Jm (βc ro ) Nm (βc ro )
for m = 0, 1, 2, . . . , and n = 1, 2, . . . . Â is the complex amplitude of the impressed mode in V/m,
and ϕ0 is the rotation angle. The modal cutoff coefficient βc is the n th root of the transcendental
characteristic equation, Nm (βc ri )Jm (βc ro ) = Nm (βc ro )Jm (βc ri ), enforcing the boundary condition
that Ez must be zero at ri and ro . The remaining field components are,
E rTM (r, ϕ) = ZTM HϕTM (r, ϕ)

 0
J (β r) Nm0 (βc r)
 (14-43)
= − β Â − J m(β cr ) + cos m(ϕ − ϕ0 )
 
c m c o Nm (βc ro )

EϕTM (r, ϕ) = −ZTM H rTM (r, ϕ)


jβ m

J (β r) Nm (βc r)
 (14-44)
= β 2 r  − J m(β cr ) + sin m(ϕ − ϕ0 )
 
c m c o Nm (βc ro )

β
ZTM = (14-45)
ω"
For transverse electric (TE) modes the axial electric field component vanishes, and the axial
magnetic field component for the T Em,n mode is expressed as,

Jm (βc r) Nm (βc r)
‚ Œ
TE
Hz (r, ϕ) = Â − 0 + 0 cos m(ϕ − ϕ0 ) (14-46)
 
Jm (βc ro ) Nm (βc ro )

for m = 0, 1, 2, . . . , and n = 1, 2, . . . . Â is the complex amplitude of the impressed mode in A/m,


and ϕ0 is the rotation angle. The modal cutoff coefficient βc is the n th root of the transcendental
characteristic equation, Nm0 (βc ri )Jm0 (βc ro ) = Nm0 (βc ro )Jm0 (βc ri ), enforcing the boundary condition
that the derivative of Hz normal to the two conductors must be zero at the inner and outer radii.
The remaining field components are,
E rTE (r, ϕ) = ZTE HϕTE (r, ϕ)
(14-47)
 ‹
jβ m J (β r) Nm (βc r)
= β 2 r ZTE Â − J 0m(β cr ) + sin m(ϕ − ϕ0 )
 
c m c o Nm0 (βc ro )

EϕTE (r, ϕ) = −ZTE H rTE (r, ϕ)


(14-48)
 0 ‹
jβ J (β r) Nm0 (βc r)
= β ZTE Â − J 0m(β cr ) + cos m(ϕ − ϕ0 )
 
c m c o Nm0 (βc ro )
ωµ
ZTE = (14-49)
β

October 2013 FEKO User’s Manual


CONTROL CARDS 14-67

14.23 BO card

With this card a ground plane (at z = 0) can be specified for all computations following the BO
card. The reflection coefficient method is used.

Parameters:

No reflection coefficient ground: No ground plane (or use one of the other ground plane options —
such as the GF card for an exact model of real ground, or the SY card for a
perfect ground plane). This option is used to switch off the reflection ground
if the effect of different grounds are considered in a single input file.

Reflection coefficient ground plane: Use the reflection coefficient ground plane approximation with the
material parameters specified in the remaining input fields.

Perfectly electric conducting ground: Use an ideal electric ground in the plane z = 0. In this case the
remaining parameters are ignored.

Perfectly magnetic conducting ground: Use an ideal magnetic ground in the plane z = 0. The remaining
parameters are also ignored in this case.

Material label: The label of the medium to be used, as defined in the DI card.

It should be noted that it is not possible to calculate the fields below the ground plane, i.e. it
is not possible to calculate the fields in the region z < 0. In addition all structures must be in
the region z > 0. If calculations inside the ground are required, for example when there are
structures below ground, the exact Sommerfeld integrals (GF card) must be used.
When using a perfect electric or magnetic reflection coefficient ground plane, structures can be
arbitrarily close to the ground (while remaining above it). Segment end points and triangle edges
lying in the plane of the ground plane will make electrical contact with a perfect electric ground
plane. For a perfect magnetic ground the boundary condition forces the current to zero at this
point.
If real ground parameters are used, the reflection coefficient approximation is more accurate for
λ
structures further from the ground plane. Typically structures should not be closer than about 10
(FEKO will give a warning if this is the case).
A dielectric ground (real earth) can only be used with bodies treated with MoM, MLFMM, PO,
FEM, or the hybrid MoM/PO, i.e. the hybrid MoM/UTD method cannot be used in the presence
of a real ground.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-68

14.24 CA card

This card is used to define a section of a shielded cable which is used for irradiation (i.e. comput-
ing induced currents and voltages at the cable terminals) due to external sources. Transmission
line theory is applied, i.e. no need to discretise the cable as with the MoM. A section is defined as
a straight part of a cable (one cable can consist of multiple sections).
Note that when new models are created, it is recommended to use the SH card (shield definition),
CD card (cable cross section definition), CS card (cable path section definition) and LC cards
(cable loads).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-69

October 2013 FEKO User’s Manual


CONTROL CARDS 14-70

Parameters:
Remove all existing cable paths: If checked, all previously defined cable paths are removed. All the
other input parameters are ignored.

New cable path: Defines a new cable path, all previously defined cable paths are replaced.

Add to existing cable paths: An additional cable path is defined (i.e. the previously added ones will be
kept).

Location: The location of the cable path section can be specified as two points or im-
ported from a NASTRAN file.

Define points: The Start point and the End point of the cable path section are
defined by point names. These points must have been defined previously
with a DP card (or by an external import etc.).
Import from NASTRAN file: The name of the NASTRAN file and the property
ID of the segments that have to be imported are required to import the
cable path section.

Cable type: This specifies the type of cable. There are two possibilities: User defined cable
or a predefined cable from the internal FEKO cable database:
If User defined cable is selected in the dropdown list, then the user has to
enter all the cable properties in the Cable properties section which will then be
enabled. The units of the individual parameters are included in the description.
Note that the Outer radius of cable shield will be scaled by any active SF card.
Also keep in mind that most of these parameters may depend on the frequency
and thus one might use variables or expressions.
If a predefined cable type is selected from the dropdown list, then the section
containing the cable properties will be disabled, and all required parameters
will be retrieved automatically from an internal FEKO cable database. There
are several commonly found shielded cable types (up to now all coaxial cables)
included.

Port termination: This section is used to define the ports (i.e. the two ends of the cable path
section defined by this CA card). For each port the user can decide if it is
terminated by an (internal and external) impedance or if this end of the cable
path section shall be connected to another cable path section.
The termination impedance value fields are only enabled if the corresponding
port is terminated. The internal impedance terminates the inner conductor
against the cable shield and the outer impedance terminates the cable shield
against the ground plane.
Note that a complete cable path has to be terminated on both ends. (Detailed
information is given below.)

Sampling point density: The cable path section will be subdivided into small segments for the com-
putation of the induced currents and voltages. The electric and magnetic field
strengths will be evaluated at each segment’s centroid, so this setting influ-
ences the accuracy of the computed result, but also the computation time. The
setting Automatic determination will choose the segment length automatically
(which should be adequate for most cases). If the maximum separation dis-
tance is specified, then this value will override the automatic mechanism. Note
that this manual value will be scaled by any active SF card.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-71

Figure 14-22: Complete scenario of a cable path

Transmission line theory (TLT) is used in conjunction with the field calculation using the method
of moments (MoM) to compute the voltage coupled-in at the termination impedances of a cable
close to a conducting (metallic) ground. The cable itself is not taken into account when comput-
ing the external field distribution and it does not affect the field distribution at all, i.e. from a
“field-viewpoint” of the scenario, the cable is not present at all. This is also the reason for the re-
duced number of unknowns in comparison to a full MoM solution: the cable itself is not modelled
in the geometry and therefore not meshed into (wire) segments and it is therefore not necessary
to introduce a very fine mesh on the ground plane underneath the cable. A further advantage of
the transmission line approach is that multiple cable scenarios can be investigated in the same
model (e.g. different cable positions, etc.) without repetition of a time-consuming solution of the
whole model (e.g. MoM or MLFMM). Analysing another cable is similar to computing the near
field at another point.
The term cable path refers to the complete cable from its start point to its end point. Thus the
cable path can consist of a single or multiple cable path sections. Each cable path section is then
again subdivided into the segments which are used for the computation. Each complete cable
path has to be terminated on both ends.
An arbitrary number of cable path sections can be defined. The complete scenario is shown in
Figure 14-22. It consists of the cable path connecting two (virtual) enclosures with the termi-
nation impedances. The cable is illuminated by an external electromagnetic field (as caused by
sources and other radiating structures in the model) which couples into the cable and causes
the currents and voltages in the internal termination impedances. For the calculation to work
properly the segment direction vector ~s and the ground vector ~g must be (almost) perpendicular.
This figure also shows the cable path, the cable path sections (1 . . . N) and the segments.

Figure 14-23: Possible ways to define cable paths

Figure 14-23 shows the setup of a number of cable paths. There are three cable paths in total

October 2013 FEKO User’s Manual


CONTROL CARDS 14-72

(distinguished by the line style):

Table 14-3: Cable paths in figure 14-23.

Path Description
1 Cable path from point 1 to 4 consisting of the cable path sections A, B, C
2 Cable path from point 5 to 4 consisting of the cable path sections D, E, F, G
3 Cable path from point 8 to 9 consisting of the single cable path section H

Note that even if there are crossings (section B and F) or sections using the same points (e.g.
sections B, C, D and E regarding point 5) there will be no conducting connection between sec-
tions belonging to different cable paths. As the cable paths will be assembled automatically by
searching and matching the points’ coordinates, the order of the CA cards determines how the
cable path gets built. (The search is always started at the first CA card defining a termination
impedance and then the cards will be processed in the order they appear in the input file.) For
example, in order to get the situation as shown in Figure 14-23 the CA cards have to be in the
following order:

CA Defining section A (start cable path 1)


CA Defining section B (continue cable path 1)
CA Defining section C (end cable path 1)
CA Defining section D (start cable path 2)
CA Defining section E (continue cable path2)
CA Defining section F (continue cable path2)
CA Defining section G (end cable path2)
CA Defining section H (single segment cable path 3)

or (note the changed relative cable path number):

CA Defining section A (start cable path 1)


CA Defining section C (continue cable path 1)
CA Defining section B (end cable path 1)
CA Defining section H (single segment cable path 2)
CA Defining section E (start cable path 3)
CA Defining section D (continue cable path 3)
CA Defining section F (continue cable path 3)
CA Defining section G (end cable path 3)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-73

but not in the following order:

CA Defining section A (start cable path 1)


CA Defining section B (continue cable path 1)
CA Defining section D (end cable path 1)
CA Defining section H (single segment cable path 2)
CA Defining section E (start cable path 3)
CA Defining section C (continue cable path 3)
CA Defining section F (continue cable path 3)
CA Defining section G (end cable path 3)

In the last case the cable path section D will be connected to the cable path section B which is
not intended! (Cable path 1 would then start at point 1 and end at point 5 consisting of sections
A, B, D and cable path 3 will then start at point 4 and end at point 4 consisting of the sections C,
E, F, G.) Additionally in this case the cable path 3 will form a closed loop, but one has to keep in
mind, that even in this case the two ends of the cable path are not connected at point 4!
Current limitations of the cable irradiation analysis using the CA card:

• For the built-in cable types, the frequency range is limited as this data is based on measure-
ments only available for a certain frequency range. Currently the frequency range from
10 kHz up to 500 MHz is supported for all those cable types. (An error is given by FEKO
if one tries to set a frequency which is not in that range.) This restriction is not applied
for user defined cables, since it is assumed that the user has supplied the required cable
parameters for the frequency under consideration.

• The cable must be homogeneous, i.e. the cable parameters may not vary for the sections
belonging to the same cable path. (This is enforced for all cables.)

• Currently only single conductor coaxial cables are supported. A multi-conductor cable
cannot be modelled.

• Cables cannot be used in connection with UTD, but any other method is possible to repre-
sent the external configuration (e.g. a car body modelled with MoM or MLFMM).

• A reference plane acting as ground is required for the cable coupling algorithm. This is
currently implemented in such a way that only metallic triangles and perfectly conducting
ground planes (PEC-ground defined by a BO-card) are considered. FEKO will give an error
if the special Green’s functions are used in connection with a cable analysis.

• Connections of cables with wires or crossings with wires are not allowed. Even if a cable
path starts or ends at a point where also a wire segment starts or ends or if a cable path
crosses a wire, there will be no electrical connection established between the cable and the
wire at such a point.

Note also that this card is only intended to compute the coupling into the cable from an external
field strength. Thus no additional voltage or current sources are supported at the ports.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-74

14.25 CD card

With this card a cable cross section can be defined.

Single conductor

A single cable is defined by specifying the cable cross section.

Parameters:

PEC: Select this option to set the core of the cable to PEC.

Core material label: The label of the metallic (as defined in the DI card) to be used for the core.

Core radius: The radius of the core is specified.

Insulation material label: The label of the material (as defined in the DI card) to be used as the insu-
lation material.

Thickness: The thickness of the material to be used as insulator.

Coaxial cable

Three types of coaxial cables are supported: coaxial cables defined by characteristics, dimensions
and an internally defined database of cables.

• Coaxial cables defined by cable properties.


Shield label: The label of the shield (as defined in the SH card).
Outer radius: The outer radius of the shield.
Magnitude of the characteristic impedance (Ohm): The magnitude of the characteristic impedance
of the cable.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-75

Phase of the characteristic impedance (degrees): The phase of the characteristic impedance of
the cable.
Real part of the propagation constant (m−1 ): Specify the real part of the propagation constant.
Imaginary part of the propagation constant (m−1 ): Specify the imaginary part of the propaga-
tion constant.

• Coaxial cables defined by the geometry dimensions

Shield label: The label of the shield (as defined in the SH card) to be used.
Shield outer radius: The outer radius of the shield.
PEC: Select this option to set the core of the cable to PEC.
Material label: The label of the metallic (as defined in the DI card) to be used for the
core.
Core radius: The radius of the core.
Number of insulation layers: The number of the insulation layers in the cable.
Material label: The label of the material (as defined in the DI card) to be used for the
insulation layers.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-76

Thickness: The thickness of the insulation layers.

• Internally defined database of cables. A predefined coaxial cable type can be selected from
the list. Several commonly found shielded cable types are included in this list.

Ribbon cable

With this option one can define ribbon cables. Note that currently only round cores are supported.

Parameters:

PEC: Select this option to set the core of the cable to PEC.

Material label: The label of the metallic (as defined in the DI card) to be used for the core.

Core radius: The radius of the core.

Number of cores: The number of cables which constitute the ribbon cable.

Core spacing: The spacing between the adjacent cores.

Return path number: The number of the cable specified as the return path (optional).

Insulation material label: The label of the material (as defined in the DI card) to be used for the
insulation layer.

Thickness: The thickness of the insulation layer (optional).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-77

Twisted pair cable

With this option one can define twisted pair cables with specified insulation, radius, twist pitch
length and direction
Parameters:

PEC: Select this option to set the core of the cable to PEC.

Material label: The label of the metallic (as defined in the DI card) to be used for the core.

Core radius: The radius of the core.

Insulation material label: The label of the material (as defined in the DI card) to be used for the
insulation layer.

Thickness: The thickness of the insulation layer.

Twisted pair turn direction: Select left or right turn direction for the twisted pair.

Twist pitch length: The axial length in which a twisted pair strand returns to its original relative
position in a twisted conductor.

Radius: The outer radius of the twisted pair cable.

Non-conducting cable

The non-conduction cable option allows a user to define a non-conducting fibre. These fibres are
usually used as spacing elements and supply additional strength to the cables.
Parameters:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-78

Material label: The label of the dielectric (as defined in the DI card) to be used for the non-
conducting fibre.

Radius: The radius of the non-conducting fibre.

Bundle (mixed) cable

Bundles allow for the construction of complex multi-core cables based on existing cables. These
cables are built from all types of cables already defined - single conductor, coaxial cable, ribbon
cables, twisted pair, non-conducting and multi-cables.
Parameters:

Number of cables: The number of cables which constitute the bundle cable.

Cable: The cross section label.

Offset X: The x offset for the respective cable from the cable path.

Offset Y: The y offset for the respective cable from the cable path.

Rotation: The rotation of the respective cable relative to the bundle.

Shield label: The label of the shield (as defined in the SH card) to be used (optional).

Insulation material label: The label of the material (as defined in the DI card) to be used as the insu-
lation.

Outer radius: The outer radius of the bundle.

Turn direction: Select left or right turn direction for the twisted pair bundle.

Twist pitch length: The axial length in which a twisted pair bundle returns to its original relative
position.

Material label: The medium name of an insulating sheath.

Thickness: Thickness of the sheath layer.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-79

October 2013 FEKO User’s Manual


CONTROL CARDS 14-80

14.26 CF card

Set the type of integral equation for perfectly conducting metallic surfaces.

Parameters:

Type of integral equation for metallic surfaces: Here one can chose the EFIE (electric field integral equa-
tion) and also the CFIE (combined field integral equation). See the comment
below for more details.

Apply to all labels: The selected type of integral equation is applied globally to all metallic sur-
faces, irrespective of their label.

Apply to single label only: Here the selection of the type of integral equation applies to a single label
only, which is entered into the field From label.

Apply to label range: Here the selection of the type of integral equation applies to a range of labels,
which is entered into the fields From label and to label.

Factor of CFIE: In the CFIE formulation electric and magnetic terms are combined with a factor.
Leaving this input field empty will select the default value of 0.2, which should
normally be used.

The EFIE is the default in FEKO if no CF card is used or for labels where no setting is made at the
CF card. It is the most general formulation and can be applied to both open and closed bodies.
The CFIE can only be used in connection with closed objects, and the advantage is that the
conditioning of the system of linear equations is better. In particular in connection with MLFMM
the convergence can be improved if the CFIE is used for closed parts of an object. Note that the
CFIE can be used in conjunction with EFIE (on the same object) as long as all triangle normals
point away from the zero field region.
For the CFIE in addition to the fundamental restriction that the surface must be closed, these
further conditions apply:

• The normal vector must point outwards (i.e. from the closed field free region into the
domain of interest where there are sources and fields shall be computed).

• Using symmetry in order to reduce the memory or run-time is not supported in FEKO (it
will be switched off automatically).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-81

• The CFIE formulation for the MoM cannot be used together with the MoM/PO, MoM/UTD,
or MoM/FEM hybrid methods.

• The CFIE formulation can be used only with the free space Green’s function (i.e. using the
spherical or planar multilayer Green’s functions is not supported).

• When using the CFIE, dielectric bodies (solved using SEP, FEM or MoM/MLFMM) may be
present in the model, though all of the CFIE surfaces must be perfectly conducting (no
coating or Skin effect etc.).

Note that multiple CF cards can be used in order to specify for instance that the CFIE shall be
used at multiple distinct labels which do not form a range. The setting for Factor for CFIE is
global (not per label), the value read from the last CF card will be used.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-82

14.27 CG card

Here the method used to solve the matrix equation may be chosen. Normally the CG card should
not be used. FEKO has been written to choose the optimal solution technique and also the
corresponding preconditioners and options etc. for different types of problems automatically.
These algorithms should work in all cases, but they might not be optimal for specific MLFMM or
FEM configurations (which rely on iterative solvers). Thus for these solutions, advanced users
might after consultation with FEKO technical support, apply the CG card in such special cases.
But one should realise that convergence of the iterative techniques cannot be assured, and also
when using an inappropriate preconditioner the memory requirement might be much higher
than required. Also users should take care to reconsider any CG card settings in models that are
derived from models containing the CG card.

Parameters:

In the first dropdown list, the matrix solution method is chosen:

• Default solver selection (recommended) When this option is selected,


then FEKO will automatically select a suitable solver along with all its
required parameters. The choice depends on whether FEKO is executed
sequentially or in parallel, but also which solution method is employed
(e.g. direct LU decomposition solver for the MoM while an iterative solver
is used for MLFMM or FEM). This option has, regarding the solver type,
the same effect as not using a CG card, but still allows the user to change
the default termination criteria for the iterative solver types, or to make
other CG card selections with respect to the preconditioning.
• Gauss Elimination (LINPACK routines) Use Gauss elimination from the
LINPACK routines.
• Conjugate Gradient Method (CGM)
• Biconjugate gradient method (BCG)
• Iterative solution with band matrix decomposition

October 2013 FEKO User’s Manual


CONTROL CARDS 14-83

• Gauss elimination (LAPACK routines) Use Gauss elimination from the LA-
PACK routines.
• Block Gauss algorithm (matrix saved to disk) The block Gauss algorithm
is used (in case the matrix has to be saved on the hard disk, i.e. a sequen-
tial out-of-core solution is performed).
• CGM (Parallel Iterative Method)
• BCG (Parallel Iterative Method)
• CGS (Parallel Iterative Method)
• Bi-CGSTAB (Parallel Iterative Method)
• RBi-CGSTAB (Parallel Iterative Method)
• RGMRES (Parallel Iterative Method)
• RGMRESEV (Parallel Iterative Method)
• RCGR (Parallel Iterative Method)
• CGNR (Parallel Iterative Method)
• CGNE (Parallel Iterative Method)
• QMR (Parallel Iterative Method)
• TFQMR (Parallel Iterative Method)
• Parallel LU-decomposition (with ScaLAPACK routines) The parallel LU-
decomposition with ScaLAPACK (solution in main memory) or with out-
of-core ScaLAPACK (solution with the matrix stored on hard disk). This
is the default option for parallel solutions and normally the user need not
change it.
• QMR (QMRPACK routines)
• Direct sparse solver Direct solution method for the FEM (no precondi-
tioning).

Maximum number of iterations: The number of iterations limit for the iterative techniques.

Stopping criterium for residuum: Termination criterion for the normalised residue when using iterative
methods. (Terminate with convergence when the normalised residue is smaller
than this value.)

Stop at maximum residuum: For the parallel iterative methods, the solution is terminated when the
residuum becomes larger than this value. (Terminate with divergence when
the normalised residue is larger than this value.)

Preconditioners: In this list the preconditioner is selected from:

• Default preconditioner selection (recommended) When this option is se-


lected, then FEKO will automatically select a suitable preconditioner along
with all its required parameters. The choice depends on whether FEKO
is executed sequentially or in parallel, but also which solution method is
employed (e.g. MLFMM or FEM). This option has regarding the precon-
ditioner the same effect as not using a CG card, but still allows then to
make other selections with respect to the solver (e.g. residuum).
• No preconditioning: No preconditioning is used.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-84

• Scaling the matrix A: Scaling the matrix [A], so that the elements on the
main diagonal are all normalised to one.
• Scaling the matrix [A]H [A]: Scaling the matrix [A]H [A], so that the ele-
ments on the main diagonal are all normalised to one.
• Block-Jacobi preconditioning using inverses: The inverses of the precon-
ditioner are calculated and applied during every iteration step. For per-
formance reasons Block-Jacobi preconditioning using LU-decomposition
is recommended.
• Neumann polynomial preconditioning: Self explanatory.
• Block-Jacobi preconditioning using LU-decomposition: Block-Jacobi pre-
conditioning where for each block a LU-decomposition is computed in
advance, and during the iterations a fast backward substitution is ap-
plied.
• Incomplete LU-decomposition: Use an incomplete LU-decomposition of
the matrix as a preconditioner.
• Block-Jacobi preconditioning of MLFMM one-level-up: Special precondi-
tioner for the MLFMM, where additional information is included into the
preconditioner.
• LU decomposition of FEM matrix: An LU decomposition of the FEM ma-
trix is used as preconditioner.
• ILUT decomposition of FEM matrix: An incomplete LU decomposition
with thresholding of the FEM matrix is used as preconditioner.
• Multilevel ILUT/Diagonal decomposition of the FEM matrix: Precondi-
tioner for a hybrid FEM/MoM solution. A multilevel sparse incomplete
LU-decomposition with thresholding and controlled fill-in is applied as
preconditioner.
• Multilevel ILUT/ILUT decomposition of the FEM matrix: Self explanatory.
• Multilevel LU/Diagonal decomposition of the FEM matrix: Preconditioner
for a hybrid FEM/MoM solution. A multilevel sparse LU decomposition
of the partitioned system is applied as preconditioner.
• Multilevel FEM-MLFMM LU/diagonal decomposition: Preconditioner for
a hybrid FEM/MLFMM solution. A multilevel sparse LU decomposition
of the combined, partitioned, FEM/MLFMM system is applied as precon-
ditioner.
• Multilevel FEM-MLFMM ILUT/diagonal decomposition: Preconditioner
for a hybrid FEM/MLFMM solution. A multilevel sparse incomplete LU-
decomposition with thresholding of the combined FEM-MLFMM system
is applied as preconditioner. It should employ less memory than the Mul-
tilevel FEM-MLFMM LU/diagonal decomposition, but at risk of slower or
no convergence.
• Multilevel FEM-MLFMM ILU(k)/diagonal decomposition: Preconditioner
for a hybrid FEM/MLFMM solution. A multilevel sparse incomplete LU-
decomposition, with controlled level of fill, of the combined FEM-MoM
system is applied as preconditioner. It should employ less memory than
the Multilevel FEM-MLFMM LU/diagonal decomposition, but at risk of
slower or no convergence.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-85

• Multilevel FEM-MLFMM diagonal domain LU decomposition: Precondi-


tioner for a hybrid FEM/MLFMM solution. A block-diagonal sparse LU-
decomposition of the combined FEM-MLFMM system is applied as pre-
conditioner. It will employ less memory than the Multilevel FEM-MLFMM
LU/diagonal decomposition, but at a high risk of slower or no conver-
gence.
• Sparse Approximate Inverse (SPAI) preconditioner: Preconditioner which
can be used in connection with the MLFMM.
• Sparse LU preconditioning for MLFMM: Use a sparse LU decomposition
of the matrix (MLFMM/ACA) as a preconditioner.

Options for the BCG: This applies to the Biconjugate Gradient Method. Options are:

• Fletcher’s method
• Jacob’s method
• Fletcher’s method, pre-iteration using Fletcher’s method
• Fletcher’s method, pre-iteration using Jacob’s method
• Jabob’s method, pre-iteration using Fletcher’s method

Block size: The block size to be used for Block-Jacobi preconditioning. When nothing is
specified (i.e. the input field is left empty), then appropriate standard values
are used for the block preconditioners.

Threshold value for ILUT: This is the thresholding value used for the FEM in connection with the ILUT
preconditioners.

Level-of-fill: This is used by the MLFMM during the iterative matrix solution in connection
with the incomplete LU preconditioner. The range of this parameter is between
0 and 12. FEKO will choose the value for the best preconditioning, but if the
size of the incomplete LU preconditioner is too large to fit into memory, it can
be reduced by reducing the level-of-fill. It should be noted that a lower level-
of-fill might result in a slower convergence or even divergence in the iterative
solution.

Fill-in level per row: This is used by the FEM during the iterative matrix solution in connection
with the incomplete LU preconditioners with thresholding. It sets a limit on
the number of entries per row that will be included in the incomplete LU-
decomposition of the preconditioner matrix.

Stabilisation factor (FEM): This applies only to the incomplete LU preconditioners of the FEM and can
be used to get better convergence for the FEM in critical cases (the value range
is between 0 and 1).

Save/read preconditioner: For the incomplete LU preconditioners used with the FEM one has here
the option to save run-time by computing the preconditioner only once and
write to a *.pcr file and then for a subsequent run just read again from this
file. Since the FEM preconditioners depend only on the FEM matrix even for
combined MoM/FEM hybrid methods, this method is useful for instance when
only the MoM part of a problem setup has changed.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-86

Iterative solutions are used for instance for the MLFMM or the FEM. There might then be sit-
uations where during the iterations the residuum is decreasing but not reaching the specified
stopping criterion. Instead of waiting very long until the maximum number of iterations has been
reached, the user can press Ctrl-C or Ctrl-Break (under Windows) or send the SIGINT/SIGTERM
signals (under UNIX) so that FEKO will stop with the iterations and resume with the further
processing (e.g. far field computations) using the solution associated with the best residuum ob-
tained so far. To really interrupt a FEKO job Ctrl-C or Ctrl-Break must be pressed a second time
(or the corresponding signal must be sent once more).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-87

14.28 CM card

This card is used to couple FEKO with the transmission line simulation programs CableMod or
CRIPTE or the PCB tool PCBMod to calculate the coupling of electromagnetic fields into trans-
mission lines. (The AC card is used for the case of radiation by these lines.)

The only parameter of this card is the file name of a *.rsd file created by CableMod, CRIPTE or
PCBMod (enclosed in double quotation marks and starting at or after column 91). The *.rsd file
contains geometry of the line. With the CM card FEKO calculates the electric and magnetic near
field at points along the line and write these to a *.isd file for further processing by CableMod,
CRIPTE or PCBMod. (The *.isd file also contains additional data required by CableMod, CRIPTE
or PCBMod for example the frequencies that were used during the solution.)
The complete geometry (without the transmission line) as well as the frequency and excitation
(Ax cards) must be defined in FEKO.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-88

14.29 CO card

This card specifies a dielectric or magnetic coating of wire segments or triangular surface ele-
ments. The coating applies to all calculations following the CO card.
Note that before a coating can be applied, the material properties for the coating need to be
defined in the DI card. A coating with the specific material properties are then applied by refer-
encing the label of the material in the CO card. A layered medium are defined by referencing the
labels of the materials to be used for the individual layers in the DL card.

Parameters:

Label of elements to coat: All segments or triangles with this label are coated.

No coating: No coating present (as if the relevant label has no CO card). This is used to
remove wire coatings from earlier solutions.

Wire coating (Popovic formulation): In this case, the radius of the metallic core is changed internally
to model the change in the capacitive loading of the wire and a corresponding
inductive loading is added. The only restriction of this method is that the loss
tangents of the wire coating and of the surrounding medium must be identical
(for instance both media could be lossless).

Wire coating (volume equivalence principle): Here the radius of the metallic wire is retained. The effect
of the dielectric layer is accounted for by a volume polarisation current. The
only restriction of this method is that the layer may not be magnetic in nature
(i.e. the relative permeability µ r as well as the magnetic loss tangent tan δµ of
the coating must be the same as those of the surrounding medium).

Electrically thin surface coating: This option adds multilayer dielectric /magnetic coatings to the sur-
face triangles with the specified label. The layers may have different permit-
tivity and permeability, but the total coating must be electrically (i.e. relative
to the wavelength in the coating) as well as geometrically thin (see the next
item).

Dielectric / magnetic surface coating: This option adds electrically thick multilayer dielectric/magnetic
coatings to the surface triangles with the specified label. Here it is only required
that the total coating must be geometrically thin, i.e. it must be thin relative
to the triangle size (and thus also to the free space wavelength) as well as the
radius of curvature of the surface.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-89

Material label: Label of the material (as specified in the DI card) which will be used as a
coating.

Layered dielectric label: Label of the layered dielectric medium (as specified in the DL card) which will
be used as a coating..

Thickness of . . .: For surface coatings, the thickness hn of each respective layer; for wire coatings
this is the radius of the coating less the radius % of the wire-core. This value is
in m and is scaled by the SF card.

Wire radius: Wire radius % of the metallic wire, without layers, in m (it is scaled by the SF
card). This overrides the values specified with the IP card. This field is only
applicable to wire coatings.

When using the Popovic formulation for wire coatings, the following restrictions apply:

• The loss tangent tan δ of the layer (which is calculated from the conductivity σ and the
relation tan δ = ωεσε ) has to be identical to the loss tangent of the surrounding medium
r 0
(specified with the EG card, usually free space)

• Due to the change in the radius of the metallic core, no SK card should be active for
the same label, otherwise the skin effect and/or the ohmic losses refers to the wire with
changed radius.

• For pure dielectric layers (i.e. the relative permeability µ r as well as the magnetic loss
tangent tan δµ of the layer equal those of the surrounding medium) the option Wire coating
(Volume equivalence principle) is recommended.

Note that for wire coatings, no surface triangles with the same label are allowed. Likewise for
surface coatings, no segments with same label are allowed.
If Dielectric / magnetic surface coating (the electrically thick coating) is used, it must remain
consistent for the whole FEKO run. (It cannot be on for one solution and off for the next.) It is,
however, allowed to change the thickness and the medium parameters of the coating.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-90

14.30 CS card

This card is used to define a cable path. The path also provides the centre or reference location
to which a cable cross section definition is applied.
A path my be specified using data points in the *.pre file or loading a cable path from a NAS-
TRAN file.

Parameters:

Remove all existing cable paths: If checked, all previously defined cable paths are removed. All the
other input parameters are ignored.

New cable path: Defines a new cable path, all previously defined cable paths are replaced.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-91

Add to existing cable paths: An additional cable path is defined (i.e. the previously added ones will be
kept).

Path section label: The label of the path section.

Cross section definition label: The label of the defined cross section to be applied to the path section.

Harness name: The label of the cable harness containing the cable path.

Cable type: Irradiating When this option is selected, only the effect of external fields cou-
pling into a cable will be considered.
Radiating When this option is selected, the effect of the currents radiating
from the cables will be considered.
Radiating (taking irradiation into account) When this option is selected, the
combined effect of external fields coupling into a cable as well as the ef-
fect of currents radiating from the cable will be considered.

Solution method: Multiconductor transmission line (MTL) When this option is selected, the
model will be solved with the multiconductor transmission line theory
which is also hybridised with MoM or the MLFMM. The cable path should
be within λ5 of the conducting surface.
Method of moments (MoM), only for shielded cables When this option is se-
lected, the model will be solved by means of the MoM/MTL solver. Any
arbitrary cable path may be defined.

Path: Specify points in *.pre file The points defining the cable path are specified
in the *.pre file. These points must have been defined previously with
a DP card. The number of points defining the cable path section in the
*.pre file is set by the Number of points option. The Path points (as
defined with a DP card) are specified to define the cable path section.
Import from NASTRAN file The NASTRAN File name is required to import
the cable path section. The NASTRAN segment property ID of the seg-
ments are also required to be able to import the cable path section.

Connector labels: The start and end points of a cable path section are uniquely identified using
the Connector at start and Connector at end labels. Currently cable path labels
can be joined if they share a node, use the same cable connector and the same
cable cross section definition. Thus, after combining/reducing the number of
cable path sections, each cable path consists of a section of cable with a unique
cross section. Note that there is no support for splitting of cable sections or
combining of cable sections using loads.

Sampling point density: The cable path section will be subdivided into small segments for the com-
putation of the induced currents and voltages. The electric and magnetic field
strengths will be evaluated at each segment’s centroid, so this setting influ-
ences the accuracy of the computed result, but also the computation time. The
setting Automatic determination will choose the segment length automatically
(which should be adequate for most cases). If the maximum separation dis-
tance is specified, then this value will override the automatic mechanism. Note
that this manual value will be scaled by any active SF card.

Export cable parameters to *.out file: When this item is checked the cable parameters such as induc-
tance/capacitance matrices and transfer impedance/admittances are exported
to the *.out file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-92

14.31 CI card

This card is used to define interconnections and terminations between cables.

Parameters:

Define/replace connections: New connection, replaces previous connections with the same name.

Remove all connections at this interconnect/termination: All previously defined connections (with this
name) at this specific interconnection/termination are removed.

Remove all previously defined interconnections/terminations: All previously defined interconnections/


terminations are removed.

Connection name: The name of the connection.

Pin connections (in *.pre file): The connection between pins are specified in the *.pre file.

• Pin: The pins between which a connection will be made.


• Loading: The following loading options between two pins are available:
direct short, complex, series RLC and a parallel RLC circuit.
• Probes: A voltage and/or current probe may be placed between two pins.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-93

SPICE circuit connecting pins: A SPICE circuit is connected between multiple pins. The SPICE circuit
can be provided as an external file or it can be included directly into the *.pre
file.

• SPICE file name: The file name of the SPICE circuit to be connected
between two pins. The file name is required when the SPICE circuit is
loaded from an external file, but should not be used used when entering
the SPICE circuit directly in the *.pre file. When the SPICE circuit is
included directly in the *.pre file, a field will be displayed where the
circuit can be entered.
• Circuit name (optional): The main sub-circuit name to be used from the
*.cir file. If left unspecified, the name should match the sub-circuit
name.
• Number of pin connections: The number of pin connections to be made.
• Number of probes: The number of voltage and/or current probes.
• Connector: The label of the connector to be connected to the SPICE cir-
cuit.
• Pin: The pin of the connector to which the SPICE circuit will be connected
to.
• Probes: The type of probe, either voltage or current.

Straight connector connection: This option is used when similar cables are connected.

• Number of connections: The number of connections between similar ca-


bles.
• Connector: The label of the connectors of the cables which will be con-
nected.

Adding probes in SPICE circuits

Voltage and current probes can be added to SPICE circuits so that these values become available
in POSTFEKO. Additional circuitry is required in the SPICE circuit so that these values can be
obtained for the probes. This will be explained using an example model illustrated in Figure 14-
24 representing the SPICE circuit below.

iprobe1
n1 n1a

vprobe = 0V
hprobe1
vprobe1

n2
eprobe1

Figure 14-24: Example SPICE circuit with voltage and current probes.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-94

* RLC parallel circuit

.SUBCKT SPICE_RL n1 n2 vprobe1 iprobe1

* RLC circuit
R2 n1a n2 25
L2 n1a n2 5e-3
C2 n1a n2 20e-9

* Define current probe (0V voltage source and current controlled voltage source)
vprobe n1 n1a ac 0V 0 dc 0
hprobe1 iprobe1 0 vprobe 1.0

* Define voltage probe (voltage controlled voltage source)


eprobe1 vprobe1 0 n1 n2 1.0

.ENDS SPICE_RLC
.end

Current probes are added to the SPICE circuit by adding a 0 V voltage source (“vprobe”) in series
with other components in the branch where the current is to be probed. A current controlled
voltage source (“hprobe1”) is then added between the global ground and a connection that is
made available to the kernel as a probe (“iprobe1”). The kernel will load this pin with a 1 kΩ
resistor and make the resulting voltage, that is directly proportional to the value of the current,
available as the probe current (correctly scaled).
Voltage probes are added by simply adding a voltage controlled voltage source (“eprobe1”) be-
tween the global ground and a pin that is made available to the kernel as a probe. Similar to
the current probe, the probe pin is loaded by the kernel with a 1 kΩ resistor so that the probed
voltage can be made available in POSTFEKO.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-95

14.32 DA card

With this card data like near fields or S-parameters can be exported to additional ASCII files. The
card allows to switch this export on and off, and affects only cards for the computation of, for
example, near fields or S-parameters that follow the DA card. By default no such export files are
created.
Furthermore, normally FEKO writes all the results to the ASCII *.out file. For large datasets
(e.g. full far field patterns at many frequency points) this *.out file can become very large. In
order to display results in POSTFEKO only the binary output file (*.bof file) is required, and
therefore to reduce the size of the *.out file it is possible to switch off certain results in that file
(a header is still written so that one knows what type of computations were requested).

Parameters:

Write electric fields to: The electric field strength can be exported into a *.efe file. The output of this
result type to the *.out file can also be deactivated here.

Write magnetic fields to: The magnetic field strength can be exported into a *.hfe file. The output of
this result type to the *.out file can also be deactivated here.

Write far fields to: The far field can be exported into a *.ffe file. The output of this result type
to the *.out file can also be deactivated here.

Write currents/charges to: The currents can be exported into a *.os/*.ol file. The output of this
result type to the *.out file can also be deactivated here.

Write residue . . .: The residue from the iterative algorithm used to solve the matrix equation is
stored in a *.cgm file.

Write S-parameters . . .: The S-parameters (see the SP card) are written to a file in Touchstone *.snp
format (v1.0). The n here gives the number of ports.

Write spherical wave expansion . . .: A spherical wave expansion of the far field as computed by FEKO is
exported to an SWE file (extension *.sph) which can be imported into GRASP

October 2013 FEKO User’s Manual


CONTROL CARDS 14-96

from TICRA (code for reflector antenna modelling). Note that the far field
computation with spherical wave expansion must be requested subsequently
(FF card (see Section 14.38)).

Write near fields to SEMCAD *.dat file: The near fields can be exported into a SEMCAD *.dat file. The
output of this result type to the SEMCAD *.dat file can also be deactivated here.

Write near fields in tetrahedral mesh to SPARK3D *.fse file: The near fields calculated at the vertices
and edge mid-points inside a tetrahedral mesh, can be exported into a *.fse
file. The output of the result type to the *.fse file can also be deactivated
here.

Write error estimates to the *.out file: The error estimates can be exported to the *.out file.

Write generalised S-parameter matrix to FEST3D *.chr file: The generalised S-parameter matrix (GSM)
for waveguide ports are exported to a FEST3D *.chr file.

More than one DA card is allowed in one input file. Thus, using the following sequence of control
cards, with the appropriate options only certain blocks will be saved to the data files:
DA ... ** Write near fields on
FE ...
DA ... ** Write near fields off
FE ...

With this sequence, the electric fields calculated with the first FE card can be written to the *.efe
file, but not those of the second FE card.

14.32.1 General File Format

The structure of the following file formats share a common structure and will be explained each
in turn: *.efe, *.hfe, *.ffe, *.ol and *.os. The general structure can be described as follows:

Header Block The header block contains general information on the file. It includes information
such as the file type, format, how and when the file was written, etc. Only one header block
may be created and must be located at the top of the file. Header lines are denoted by two
hash symbols (“##”), followed by the key/value pairs allowed by each file type for the
Header Block sections. The format is then “##Key: Value” for each header block line.

Comments Comments may be placed anywhere in the file. They are denoted by two asterisks
(“**”), indicating that the rest of that line must be ignored.

Solution Block Any number of solution blocks (typically one per request per frequency) can now
follow. A solution block can further be broken down into:

Solution Block Header This section contains information that describes the data block
and includes information such as the frequency, coordinate system, the request name,
column headers, etc. Solution block headers are denoted by a single hash symbol
(“#”), followed by the key/value pairs allowed by each file type for the Solution Block
Header sections. The format is then “#Key: Value” for each solution header block
line.
Data Block The data block contains space delimited values. Values are given in scientific
notation (e.g. 1.23E-001).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-97

The column headers are a part of the solution block header and must be presented in the follow-
ing format:
#no of header lines: M
#"Column 1: Line 1" "Column 2: Line 1" ... "Column N: Line 1"
#"Column 1: Line 2" "Column 2: Line 2" ... "Column N: Line 2"
...
#"Column 1: Line M" "Column 2: Line M" ... "Column N: Line M"

Note that they differ from other solution block header lines in that they do not have a key/value
pair format. Column header lines still start with a single hash (“#”), but is then followed by the
column titles surrounded in quotation marks.

14.32.2 *.efe / *.hfe file: Electric/Magnetic near fields

The following fields are available in the Header Block:

Key Required Description


File Type Yes Describes the type of the file. The file type can be any of
the following:

• Electric near field

• Magnetic near field

File Format No Denotes the file syntax version (e.g. “1.0”). If not present
it defaults to version 1.0 (files pre-dating Suite 6.1). The
initial new file format version will then be “2.0”.
Source No Denotes the base filename of the source where this data
comes from.
Date No Date of data export in format “YYYY-MM-DD hh:mm:ss”
(i.e. 24-hour format)

The following fields are available in the Solution Block Header:

Key Required Description


Request Name No The explicit name given to that solution request (as de-
noted in the *.pre file). If none is specified, then during
importing such files in POSTFEKO use a default name of
“request_N” (where “_N” is replaced with a number for
each unnamed request).
Frequency Yes Frequency in Hz for which the following data was mea-
sured/computed.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-98

Coordinate No Coordinate system in which the axes are defined:


System
• Cartesian [default]
• Cylindrical
• Spherical
• Cylindrical (x axis)
• Cylindrical (y axis)
• Conical

Origin No Origin of the data coordinate system in form “(x, y, z)”


(always in Cartesian coordinates; based on global ori-
gin). If no origin is provided, assume (x, y, z) = (0, 0, 0).
u-Vector No Indicates a point on the u-axis relative to the Origin. If
none is specified, it is assumed that the u-axis coincides
with the x-axis.
v-Vector No Indicates a point on the v-axis relative to the Origin. If
none is specified, it is assumed that the v-axis coincides
with the y-axis.
No. of [$$$] Yes The number of samples in each axis direction. The [$$$]
Samples term is replaced by:

• X/U
• Y/V
• Z/N
• Phi
• Theta
• Rho
• Radius
• Cuboid

October 2013 FEKO User’s Manual


CONTROL CARDS 14-99

Result Type No For electric near fields (*.efe), this specifies whether the
output is:

• Electric Field Values [default]


• Magnetic Vector Potential
• Gradient of Scalar Electric Potential
• Electric Scalar Potential

For magnetic near fields (*.hfe), this specifies whether


the output is:

• Magnetic Field Values [default]


• Electric Vector Potential
• Gradient of Scalar Magnetic Potential
• Magnetic Scalar Potential

No. of No Number of header lines to read. The column header lines


Header Lines must follow this line. If this value is not specified, assume
a value of “1”
Yes For the header lines (i.e. column titles) format, see Sec-
tion 14.32.1.

The default column headers will all have the same structure. The column headers will depend
on the coordinate system that was defined, which can be found in the Coordinate System
value. For each column, the text $$$ will be replaced with the appropriate value depending on
the Result Type. The column headers for each coordinate system is now given:
Cartesian [vector]:
X Y Z Re($$$x) Im($$$x) Re($$$y) Im($$$y) Re($$$z) Im($$$z)

Cartesian [scalar]:
X Y Z Re($$$) Im($$$)

Cylindrical (X axis) [vector]:


Rho Phi X Re($$$rho) Im($$$rho) Re($$$phi) Im($$$phi) Re($$$x) Im($$$x)

Cylindrical (X axis) [scalar]:


Rho Phi X Re($$$) Im($$$)

Cylindrical (Y axis) [vector]:


Rho Phi Y Re($$$rho) Im($$$rho) Re($$$phi) Im($$$phi) Re($$$y) Im($$$y)

Cylindrical (Y axis) [scalar]:


Rho Phi Y Re($$$) Im($$$)

Cylindrical [vector]:
Rho Phi Z Re($$$rho) Im($$$rho) Re($$$phi) Im($$$phi) Re($$$z) Im($$$z)

Cylindrical [scalar]:
Rho Phi Z Re($$$) Im($$$)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-100

Spherical [vector]:
Radius Theta Phi Re($$$r) Im($$$r) Re($$$theta) Im($$$theta) Re($$$phi) Im($$$phi)

Spherical [scalar]:
Radius Theta Phi Re($$$) Im($$$)

Conical [vector]:
Rho Phi Z Re($$$rho) Im($$$rho) Re($$$phi) Im($$$phi) Re($$$z) Im($$$z)

Conical [scalar]:
Rho Phi Z Re($$$) Im($$$)

All of the coordinate system descriptions given contain a section of text containing $$$. This
text is not meant to be included in the file, but rather to serve as a place holder. The contents of
the $$$ place holder will depend on the type of data being presented and the type of file being
written. For any of the above systems, replace $$$ with:

(*.efe) Electric near field files


E for electric field values
A for magnetic vector potential values
grad(PHI) for gradient of the scalar electric potential values
PHI for scalar electric potential values

(*.hfe) Magnetic near field files


H for magnetic field values
F for electric vector potential values
grad(PSI) for gradient of the scalar magnetic potential values
PSI for scalar magnetic potential values

October 2013 FEKO User’s Manual


CONTROL CARDS 14-101

14.32.3 *.ffe file: Far fields

The following fields are available in the Header Block:

Key Required Description


File Type Yes Describes the type of the file. For far fields, the value
must be: Far field.
File Format No Denotes the file syntax version (e.g. “1.0”). If not present
it defaults to version 1.0 (files pre-dating Suite 6.1). The
initial new file format version will then be “2.0”.
Source No Denotes the base filename of the source where this data
comes from.
Date No Date of data export in format “YYYY-MM-DD hh:mm:ss”
(i.e. 24-hour format)

The following fields are available in the Solution Block Header:

Key Required Description


Request Name No The explicit name given to that solution request (as de-
noted in the *.pre file). If none is specified, then during
importing such files in POSTFEKO use a default name of
“request_N” (where “_N” is replaced with a number for
each unnamed request).
Frequency Yes Frequency in Hz for which the following data was mea-
sured/computed.
Origin No Origin of the data coordinate system in form “(x, y, z)”
(always in Cartesian coordinates; based on global ori-
gin). If no origin is provided, assume (x, y, z) = (0, 0, 0).
u-Vector No Indicates a point on the u-axis relative to the Origin. If
none is specified, it is assumed that the u-axis coincides
with the x-axis.
v-Vector No Indicates a point on the v-axis relative to the Origin. If
none is specified, it is assumed that the v-axis coincides
with the y-axis.
No. of [$$$] Yes The number of samples in each axis direction. The [$$$]
Samples term is replaced by:

• Phi
• Theta

October 2013 FEKO User’s Manual


CONTROL CARDS 14-102

Result Type No For far fields (*.ffe), this specifies whether the output is:

• Gain [default]
• Directivity
• RCS
• Unknown

Incident Yes This is a (Theta,Phi) pair indicating the angle where an


Wave infinite plane source is originating from. Note that this
Direction field is only required if the Result Type is RCS.
No. of No Number of header lines to read. The column header lines
Header Lines must follow this line. If this value is not specified, assume
a value of “1”
Yes For the header lines (i.e. the column titles), the format in
the column header format section (see Section 14.32.1)
should be used. The specific column headers for far fields
are also listed following this table.

The default column headers will all have the same structure. The column headers will depend on
the far field type that was defined, which can be found in the Result Type value. The following
column headers are defined for each result type:
Gain:
Theta Phi Re(Etheta) Im(Etheta) Re(Ephi) Im(Ephi) Gain(Theta) Gain(Phi) Gain(Total)

Directivity:
Theta Phi Re(Etheta) Im(Etheta) Re(Ephi) Im(Ephi) Directivity(Theta) ...
... Directivity(Phi) Directivity(Total)

RCS (i.e. either a bistatic or monostatic radar cross section problem):


Theta Phi Re(Etheta) Im(Etheta) Re(Ephi) Im(Ephi) RCS(Theta) RCS(Phi) RCS(Total)

Unknown (i.e. the results do not pertain to an antenna problem, nor to an RCS problem):
Theta Phi Re(Etheta) Im(Etheta) Re(Ephi) Im(Ephi)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-103

14.32.4 *.ol file: Surface charge density

The following fields are available in the Header Block:

Key Required Description


File Type Yes Describes the type of the file. For surface charge density,
the value must be: Charges.
File Format No Denotes the file syntax version (e.g. “1.0”). If not present
it defaults to version 1.0 (files pre-dating Suite 6.1). The
initial new file format version will then be “2.0”.
Source No Denotes the base filename of the source where this data
comes from.
Date No Date of data export in format “YYYY-MM-DD hh:mm:ss”
(i.e. 24-hour format)

The following fields are available in the Solution Block Header:

Key Required Description


Request Name No The explicit name given to that solution request (as de-
noted in the *.pre file). If none is specified, then during
importing such files in POSTFEKO use a default name of
“request_N” (where “_N” is replaced with a number for
each unnamed request).
Frequency Yes Frequency in Hz for which the following data was mea-
sured/computed.
No. of [$$$] Yes The number of mesh elements that follow. The [$$$]
Samples term is replaced by:

• Electric Charge Triangle


• Segment Charge

No. of No Number of header lines to read. The column header lines


Header Lines must follow this line. If this value is not specified, assume
a value of “1”
Yes For the header lines (i.e. the column titles), the format in
the column header format section (see Section 14.32.1)
should be used. The specific column headers for far fields
are also listed following this table.

For the column headers of charges, the only difference is an optional additional field that stores
the total surface area of a triangle vs. the total length of a segment.
Triangles:
Num X Y Z Re(Q) Im(Q) [optional] Surface Area

Segments:
Num X Y Z Re(Q) Im(Q) [optional] Length

October 2013 FEKO User’s Manual


CONTROL CARDS 14-104

14.32.5 *.os file: Surface current density

The following fields are available in the Header Block:

Key Required Description


File Type Yes Describes the type of the file. For surface charge density,
the value must be: Currents.
File Format No Denotes the file syntax version (e.g. “1.0”). If not present
it defaults to version 1.0 (files pre-dating Suite 6.1). The
initial new file format version will then be “2.0”.
Source No Denotes the base filename of the source where this data
comes from.
Date No Date of data export in format “YYYY-MM-DD hh:mm:ss”
(i.e. 24-hour format)

The following fields are available in the Solution Block Header:

Key Required Description


Request Name No The explicit name given to that solution request (as de-
noted in the *.pre file). If none is specified, then during
importing such files in POSTFEKO use a default name of
“request_N” (where “_N” is replaced with a number for
each unnamed request).
Frequency Yes Frequency in Hz for which the following data was mea-
sured/computed.
No. of [$$$] Yes The number of mesh elements that follow. The [$$$]
Samples term is replaced by:

• Electric Current Triangle


• Magnetic Current Triangle
• Segment Current

No. of No Number of header lines to read. The column header lines


Header Lines must follow this line. If this value is not specified, assume
a value of “1”
Yes For the header lines (i.e. the column titles), the format in
the column header format section (see Section 14.32.1)
should be used. The specific column headers for far fields
are also listed following this table.

The column headers for currents are dependent on the element type.
Triangles (Electric currents):
Num X Y Z Re(Jx) Im(Jx) Re(Jy) Im(Jy) Re(Jz) Im(Jz) ...
... Abs(Jcorn1) Abs(Jcorn2) Abs(Jcorn3) ...
... Re(Jx_c1) Im(Jx_c1) Re(Jy_c1) Im(Jy_c1) Re(Jz_c1) Im(Jz_c1) ...
... Re(Jx_c2) Im(Jx_c2) Re(Jy_c2) Im(Jy_c2) Re(Jz_c2) Im(Jz_c2) ...
... Re(Jx_c3) Im(Jx_c3) Re(Jy_c3) Im(Jy_c3) Re(Jz_c3) Im(Jz_c3)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-105

Triangles (Magnetic currents):


Num X Y Z Re(Mx) Im(Mx) Re(My) Im(My) Re(Mz) Im(Mz) ...
... Abs(Mcorn1)" "Abs(Mcorn2)" "Abs(Mcorn3)" ...
... Re(Mx_c1) Im(Mx_c1) Re(My_c1) Im(My_c1) Re(Mz_c1) Im(Mz_c1) ...
... Re(Mx_c2) Im(Mx_c2) Re(My_c2) Im(My_c2) Re(Mz_c2) Im(Mz_c2) ...
... Re(Mx_c3) Im(Mx_c3) Re(My_c3) Im(My_c3) Re(Mz_c3) Im(Mz_c3)

Segments:
Num X Y Z Re(Ix) Im(Ix) Re(Iy) Im(Iy) Re(Iz) Im(Iz)

14.32.6 Other supported file formats

The structure of the remainder of the data files is described below:

*.cgm file In this file the number of iterations is given and the resulting residue from the iterative
solving process of the matrix equation.

*.snp file The Touchstone S-parameter file name contains the number of ports in the model. The
extension is *.s1p for a 1-port, *.s2p for a 2-port and so on. The file contains a header
(following the # character) which specifies the frequency unit, the parameter type, the data
format and the normalising impedance for all the ports. This is followed by the data lines
(which may be repeated for multiple frequencies):
1-port: f, |S11 |, ∠S11
2-port: f, |S11 |, ∠S11 , |S21 |, ∠S21 , |S12 |, ∠S12 , |S22 |, ∠S22
3-port: f, |S11 |, ∠S11 , |S12 |, ∠S12 , |S13 |, ∠S13
|S21 |, ∠S21 , |S22 |, ∠S22 , |S23 |, ∠S23
|S31 |, ∠S31 |S32 |, ∠S32 , |S33 |, ∠S33
4-port: f, |S11 |, ∠S11 , |S12 |, ∠S12 , |S13 |, ∠S13 , |S14 |, ∠S14
|S21 |, ∠S21 , |S22 |, ∠S22 , |S23 |, ∠S23 , |S24 |, ∠S24
|S31 |, ∠S31 , |S32 |, ∠S32 , |S33 |, ∠S33 , |S34 |, ∠S34
|S41 |, ∠S41 , |S42 |, ∠S42 , |S43 |, ∠S43 , |S44 |, ∠S44
where |S11 | is the absolute value and ∠S11 the phase (in degrees) of the given parameter.
Note that the 2-port file is formatted on a single line and in a different order than for cases
with more ports. This is consistent with the Touchstone file format specification version
1.0.

*.sph file This file is using the native SWE file format of TICRA as used in their code GRASP.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-106

14.33 DI card

This card can be used to define the frequency dependent or independent material characteristics
of a dielectric medium, metallic medium or an impedance sheet. The DI card is used for the
MoM/MLFMM when using the surface current or volume current methods, or also for the FEM.
Parameters:

Material label: Label of the material to be defined.

Define dielectric medium: A dielectric medium is defined by specifying a wideband model or load-
ing points from a file and using linear interpolation. The following wideband
models are available: Constant (Frequency independent), Debye relaxation,
Cole-Cole, Havrillak-Negami and Djordevic-Sarkar (Wideband Debye).

Define metallic medium: A metallic medium is defined by specifying frequency independent parame-
ters or loading points from a file.

Define impedance sheet: An impedance sheet is defined by specifying the frequency independent real
and imaginary part of the impedance or loading points from a file.

Source: The medium is defined by means of a wideband model or loading points from
a file (see Section 3.3.2).

The same functionality for defining a dielectric, metallic or impedance sheet (see Section 3.3.2)
is also available in CADFEKO.

Dielectric modelling

With this option a user specifies the dielectric model used to define a dielectric medium.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-107

• Frequency independent
The properties of the dielectric medium is specified as frequency independent.
Relative permittivity: Relative permittivity ε r of the medium.
Dielectric loss tangent: Dielectric loss tangent tanδ of the medium (this is alternative way
to specify the conductivity σ — the two loss terms are related by
tanδ= ωεσ ε and have different frequency behaviour).
r 0
1
Conductivity: Conductivity σ in Ωm
of the medium.

• Debye relaxation
The relaxation characteristics of gasses and fluids at microwave frequencies are described
by the Debye model. It has been derived for freely rotating spherical polar molecules in a
predominantly non-polar background.
Relative static permittivity: Relative static permittivity εs of the medium
High frequency dielectric constant: High frequency dielectric constant ε∞ of the medium.
Relaxation frequency: The relaxation frequency f r of the medium.

• Cole-Cole
The model is similar to the Debye model, but uses one additional parameter to describe the
material.
Relative static permittivity: Relative static permittivity εs of the medium
High frequency dielectric constant: High frequency dielectric constant ε∞ of the medium.
Relaxation frequency: The relaxation frequency f r of the medium.
Attenuation factor: Attenuation factor α of the medium.

• Havrillak-Negami
It is a more general model and should be able to successfully model liquids, solids and
semi-solids.
Relative static permittivity: Relative static permittivity εs of the medium
High frequency dielectric constant: High frequency dielectric constant ε∞ of the medium.
Relaxation frequency: The relaxation frequency f r of the medium.
Attenuation factor: Attenuation factor α of the medium.
Phase factor: Phase factor β of the medium.

• Djordevic-Sarkar
It is particularly well suited as a broadband model for composite dielectrics.
Variation of relative permittivity: Variation of the relative permittivity ∆ε of the medium.
Relative high frequency permittivity: Relative high frequency permittivity ε∞ of the medium.
1
Conductivity: Conductivity σ in Ωm
of the medium.
Lower limit of angular frequency: The lower limit of the angular frequency for the medium,
ω1 .

October 2013 FEKO User’s Manual


CONTROL CARDS 14-108

Upper limit of angular frequency: The upper limit of the angular frequency for the medium,
ω2 .

• Specify points in the *.pre file (linear interpolation)


Relative permittivity: Relative permittivity ε r of the medium at a specific frequency.
Dielectric loss tangent: Dielectric loss tangent tanδ of the medium (this is alternative way
to specify the conductivity σ — the two loss terms are related by
tanδ= ωεσ ε and have different frequency behaviour) at a specific
r 0
frequency.
1
Conductivity: Conductivity σ in Ωm
of the medium at a specific frequency.

Magnetic modelling

With this option a user specifies the magnetic model used to define a dielectric or metallic
medium.

• Constant (Frequency independent)


Relative permeability: Relative permeability µ r of the medium.
Magnetic loss tangent: Magnetic loss tangent tan δµ of the medium specified in Set prop-
erties for medium number (the complex permeability is then given
by µ = µ0 µ r (1 − j tan δµ )).
1
Conductivity: Conductivity σ in Ωm
of the medium.

• Specify points in the *.pre file (linear interpolation)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-109

Relative permeability: Relative permeability µ r of the medium at a specific frequency.


Magnetic loss tangent: Magnetic loss tangent tan δµ of the medium specified in Set prop-
erties for medium number (the complex permeability is then given
by µ = µ0 µ r (1 − j tan δµ )), at a specific frequency.
1
Conductivity: Conductivity σ in Ωm
of the medium at a specific frequency.

Surface impedance (Ohm)

With this option a user defined complex surface impedance Zƒ can be used in FEKO. It must
be noted that the impedance boundary condition for the MoM (also then for MLFMM etc.) has
certain limitations regarding the range of validity. FEKO uses whatever the user has specified as
surface impedance, and it is the responsibility of the user to ensure that the application of an IBC
is still warranted for the specific configuration (dependent on the impedance value as such, but
also frequency, radius of curvature of the structure etc.).

For surfaces the unit of Zƒ is Ω. For wire structures, the value used by FEKO is in units of m and
results from the surface impedance expression by dividing it by π% where % represents the wire
radius.

Real part: The real part of the surface impedance Zƒ in Ω (for triangles) or in m
for wires.

Imaginary part: The imaginary part of the surface impedance Zƒ in Ω (for triangles) or in m
for wires.

Load points from file (linear interpolation)

The properties of dielectrics, metallics and impedance sheets can be imported from file. A de-
scription of the XML format used to describe the medium properties, is given below.
When importing a medium from file, the following keywords are used:

Dielectric medium: freq, permittivity, diel_loss_tangent, mag_loss_tangent, conductivity and per-


meability.

Metallic medium: freq, conductivity, permeability and mag_loss_tangent.

Impedance sheet: freq, surf_imp_re and sur_imp_im.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-110

For demonstrative purposes, the keywords val_A, val_B and val_C are used in the demo XML
file given below as the same format is also applicable when defining a dielectric, metallic or
impedance sheet.
<?xml version="1.0" encoding="UTF-8"?>
<materialDB creator="FEKO" date="2010-07-01" version="1.0">
<material name="mediumA" val_B="7.0" val_C="9.0" >
<dataPoint freq="2.0" val_A="2.0" val_B="6.0" />
<dataPoint freq="3.0" val_A="3.0" />
<dataPoint freq="4.0" val_A="1.0" />
<dataPoint freq="5.0" val_B="5.0" />
<dataPoint freq="6.0" val_A="1.0" />
<dataPoint freq="8.0" val_B="6.0" />
<dataPoint freq="9.0" val_A="4.0" />
</material>
</materialDB>

In the following line, the static values for material with name mediumA, are defined.
<material name="mediumA" val_B="7.0" val_C="9.0" >

Next the frequency dependent data points are defined.


<dataPoint freq="2.0" val_A="2.0" val_B="6.0" />

The internal XML parser then fills in the missing values in the frequency dependent data points
with static values (if they were defined). If only static data points are defined and no fre-
quency dependent materials data points are found, then one data point will be generated with
freq=“0.0” by the XML parser and filled with the static values.
Thus the above XML file will then be parsed as if it was specified by the user as:
<?xml version="1.0" encoding="UTF-8"?>
<materialDB creator="FEKO" date="2010-07-01" version="1.0">
<material name="mediumA" >
<dataPoint freq="2.0" val_A="2.0" val_B="6.0" val_C="9.0" />
<dataPoint freq="3.0" val_A="3.0" val_B="7.0" val_C="9.0" />
<dataPoint freq="4.0" val_A="1.0" val_B="7.0" val_C="9.0" />
<dataPoint freq="5.0" val_B="5.0" val_C="9.0" />
<dataPoint freq="6.0" val_A="1.0" val_B="7.0" val_C="9.0" />
<dataPoint freq="8.0" val_B="6.0" val_C="9.0" />
<dataPoint freq="9.0" val_A="4.0" val_B="7.0" val_C="9.0" />
</material>
</materialDB>

The Mass density is only used for specific absorption rate (SAR) calculations, but it must be
specified and must have a value larger than 0.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-111

10 Legend:
val_C
static value
constant linear interpolation constant frequency dependent value
extrapolation extrapolation
implicit value
val_B
Value

constant linear interpolation constant


extrapolation extrapolation
5

constant linear interpolation constant


extrapolation extrapolation
val_A

0 5 10
Frequency

Figure 14-25: A graphical illustration showing the result of the parsed XML file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-112

14.34 DL card

This card is used to define an isotropic or anisotropic layered medium by specifying the label of
the material to be used for each layer.
Parameters:

Layered medium type: In this group the user must select one of two options:

• Isotropic layered medium


• Anisotropic layered medium

Isotropic layered medium

Parameters:

Number of layers: The number of isotropic layers defined for the layered medium.

Thickness of this layer: The thickness of the current layer in m (if an SF card is present, this is always
scaled).

Material label (dielectric): The label of the material to be used for the current layer (as defined in the
DI card).

Anisotropic layered medium

Parameters:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-113

Number of layers: The number of anisotropic layers defined for the layered medium.

Thickness of this layer: The thickness of the current layer in m (if an SF card is present, this is always
scaled).

Angle of principal direction: The angle (in degrees) from which the principal direction is obtained.

Material in principal direction: The material label of the material to be used in the principal direction.

Material in orthogonal direction: The material label of the material to be used in the orthogonal di-
rection.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-114

14.35 EE card

This card requests an a-posteriori error indicator whereby FEKO can test the solution against an
unconstrained physical test. The result is to give an indication of the region where local mesh
refinement should be considered.

Parameters:

Request name: The name of the request.

No error estimation: No error estimation output.

Error estimation on all mesh elements: Output error estimation on all mesh elements.

Error estimation on mesh elements with specified label(s): Output error estimation on mesh elements
with labels specified by user.

Error estimation on mesh elements with label range: Output error estimation in the label range starting
on Start label and ending on End label.

Only error estimation on triangles: Output only error estimation on triangles.

Only error estimation on segments: Output only error estimation on segments.

Only error estimation on cuboids: Output only error estimation on cuboids.

Only error estimation on tetrahedra: Output only error estimation on tetrahedra.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-115

14.36 EN card

This card indicates the end of the input file. It is essential and has no parameters.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-116

14.37 FE card

This card controls the calculation of the near fields.

Parameters:

Request name: The name of the request.

First dropdown list: Select what to calculate:

• No field calculation: Field is not calculated.


~.
• Electric field values: Calculate the electric field, E
~
• Magnetic field values: Calculate the magnetic field, H.
• Both electric field and magnetic field values: Calculate both electric and
magnetic fields.
• Electric field and SAR values in cuboids: The electric field and SAR values
in the dielectric volume elements. For this option, no other parameters
are required.
• Electric vector potential: Calculate the electric vector potential, F~ .
• Electric scalar potential: Calculate the electric scalar potential, ϕ.
• Gradient of the scalar electric potential: Calculate the gradient of the
scalar electric potential, ∇ ϕ.
~.
• Magnetic vector potential: Calculate the magnetic vector potential, A
• Magnetic scalar potential: Calculate the magnetic scalar potential, ψ
• Gradient of the scalar magnetic potential: Calculate the gradient of the
scalar magnetic potential, ∇ ψ.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-117

Calculate only the scattered part of the field: When this item is checked, only the scattered part of the
field/potential is written to the output file. Otherwise the total field/potential,
the sum of the scattered and source contributions, are written to the output
file. Note that depending on the used formulation in FEKO the region where
the incident field as computed from the impressed sources is present might be
different (for instance when using the surface equivalence formulation in the
MoM to model dielectric bodies, then each source acts as incident field only in
the medium where this source is located).

Coordinate system: In this group, the coordinate system for the calculation of the requested fields
is specified.
If one of the following is selected: Cartesian, Cylindrical, Spherical, Cylindrical
(x-axis), Cylindrical (y-axis) and Conical, additional groups for Starting values,
Increment and No. of points are shown.
If Specified points is selected, the Number of field points and the Coordinates
are required. One must then enter the coordinates of each point.
If Tetrahedral mesh is selected, the near field is calculated at the vertices and
edge mid-points of the tetrahedra. No additional information is required.

Use old output format: If this item is checked, the old format of the near field is used in the *.out
output file. This should only be used for compatibility with third party post
processors. (POSTFEKO cannot extract SAR values from near fields in this
format).

Note that all coordinates are in metres and all angles in degrees. Scaling with the SF card is only
applicable when the option Modify all dimension related values is selected (default behaviour
and highly recommended) in the SF card — in this case coordinates must be in metre after
scaling.
Potentials cannot be computed with the FE card if UTD or PO is used. Also only the free space
Green’s function is supported - not the Green’s functions for layered spheres or multilayered
planar media.
If the total potentials are requested, the potentials for the sources are added. These are not
available for a plane wave (A0 card) or an impressed radiation pattern (AR card) and FEKO will
~ and the
give an error. For a magnetic dipole (A6 card) the electric ring current model yields A
magnetic current yields F~ and ∇ ψ; all the other potentials are zero.
~ and ∇ ϕ are written to the
If one requests *.efe and/or *.hfe files with the DA card, then A
*.efe file, while F~ and ∇ ψ are written to the *.hfe file.
If a ground plane is used, a calculation of the near fields in the ground plane is not possible. The
observation points in the area z < 0 are not taken into account.
It should be noted that the coordinates may have an offset (OF card). Thus the near field on the
surface of a sphere can be calculated, with the centre of the sphere not being located at the origin
of the coordinate system.
The different Coordinate systems are described on the following pages.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-118

• Cartesian coordinates x, y, z

Figure 14-26: Field calculation in the Cartesian coordinate system

Observation Point:
x
 

~r =  y  (14-50)
 
z
Unit vectors of the coordinate system:

1 0 0
     

x̂ =  0  ŷ =  1  ẑ =  0  (14-51)
     
0 0 1

• Cylindrical coordinates around z axis ρ, ϕ, z

Figure 14-27: Field calculation in the Cylindrical coordinate system

Observation Point:
ρ cos ϕ
 

~r =  ρ sin ϕ  (14-52)
 
z
Unit vectors of the coordinate system:

cos ϕ − sin ϕ 0
     

ρ̂ =  sin ϕ  ϕ̂ =  cos ϕ  ẑ =  0  (14-53)


     
0 0 1

October 2013 FEKO User’s Manual


CONTROL CARDS 14-119

• Spherical coordinates r, ϑ, ϕ

Figure 14-28: Field calculation in the Spherical coordinate system

Observation Point:
r sin ϑ cos ϕ
 

~r =  r sin ϑ sin ϕ  (14-54)


 
r cos ϑ
Unit vectors of the coordinate system:

sin ϑ cos ϕ cos ϑ cos ϕ − sin ϕ


     

r̂ =  sin ϑ sin ϕ  ϑ̂ =  cos ϑ sin ϕ  ϕ̂ =  cos ϕ  (14-55)


     
cos ϑ − sin ϑ 0

• Cylindrical coordinates around the x axis r, ϕ, x

Figure 14-29: Field calculation in the Cylindrical coordinate system around the x axis

Observation Point:
x
 

~r =  ρ cos ϕ  (14-56)
 
ρ sin ϕ
Unit vectors of the coordinate system:

0 0 1
     

ρ̂ =  cos ϕ  ϕ̂ =  − sin ϕ  x̂ =  0  (14-57)


     
sin ϕ cos ϕ 0

October 2013 FEKO User’s Manual


CONTROL CARDS 14-120

• Cylindrical coordinates around the y axis r, ϕ, y

Figure 14-30: Field calculation in the Cylindrical coordinate system around the y axis

Observation Point:
ρ cos ϕ
 

~r =  y (14-58)
 

−ρ sin ϕ
Unit vectors of the coordinate system:

cos ϕ − sin ϕ 0
     

ρ̂ =  0 ϕ̂ =  0 ŷ =  1  (14-59)
     
 
− sin ϕ − cos ϕ 0

• Conical coordinates around the z axis ϕ, z

Figure 14-31: Field calculation in the Conical coordinate system

This option is similar to the field calculation in cylindrical coordinates around the z axis,
where the radius r changes with the height z
∆r
r(z) = r0 + · (z − z0 ), (14-60)
∆z
and z lies within the range z0 . . . z0 + nz · ∆z.
Observation Point:  € 
∆r
Š
r 0 + ∆z
· (z − z 0 ) · cos ϕ
∆r
 € Š 
~r =  r0 + ∆z · (z − z0 ) · sin ϕ
 
 (14-61)
z
Unit vectors of the coordinate system:

cos ϕ − sin ϕ 0
     

r̂ =  sin ϕ  ϕ̂ =  cos ϕ  ẑ =  0  (14-62)


     
0 0 1

October 2013 FEKO User’s Manual


CONTROL CARDS 14-121

14.38 FF card

This card controls the calculation of the far fields in spherical coordinates.

Parameters:

Request name: The name of the request.

No calculation: If this item is checked, no calculation is done.

Fields calculated as specified below: The far field is calculated with the specified settings.

Fields calculated only in the incident direction: The far field is calculated only in the incident direction
(used, for example, to calculate monostatic RCS).

Only integrate field over area given below: The far field is calculated but it is not written to the output
file in order to limit its size. This option is meaningful when the individual
values of the field strength (such as directivity and gain) are not required, but
the total radiated power has to be calculated from the integral of the Poynting
vector (see the discussion below), or if one is just interested in the modal
coefficients. If a *.ffe file has been requested with the DA card, the field
values used in this integration will be written to the file.

Calculate only the scattered part of the field: When this item is checked, the field radiated by the im-
pressed sources (such as Hertzian dipoles) is not included. This option is only
meaningful if only the scattered field is required. Normally one would not
check this item so that the total field is calculated. This includes all source
contributions except plane wave excitations.

Directivity/Gain: Select which quantity is required.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-122

Number of ϑ points: The number of observation points in the ϑ direction. An empty field will be set
to 1.

Number of ϕ points: The number of observation points in the ϕ direction. An empty field will be set
to 1.

Initial ϑ: The angle ϑ0 in degrees of the first observation point.

Initial ϕ: The angle ϕ0 in degrees of the first observation point.

ϑ increment: Increment ∆ϑ in degrees of the angle ϑ.

ϕ increment: Increment ∆ϕ in degrees of the angle ϕ.

Compute spherical mode coefficients: Check this item if the spherical mode coefficients of the far field
should be calculated with the FF card.

Specify number of mode: When this option is unchecked, the number of modes is automatically de-
termined when the spherical mode coefficients are computed. If this option is
checked, the number of modes must be specified.

Maximum mode index N: When this option is checked, the number of modes is specified.

Calculate far field for array (for PBC calculations): Check this item if the far field is to be calculated
for an array of elements. The Number of elements in û1 direction (PE card)
and the Number of elements in û2 direction (PE) card should be specified if
this option is chosen.

Calculate continuous far field data: When this option is checked, interpolation is used to display con-
tinuous far field data.

Refer to Section 20.6 for information regarding the output format and derived quantities avail-
able from fields calculated at an FF card.
When calculating the monostatic radar cross section for a number of directions of incidence, the
parameter Fields calculated only in the incident direction is necessary, otherwise Fields calculated
as specified below can be used.
When using the FF card with Number of ϑ points, Nϑ , and Number of ϕ points, Nϕ , both larger
than 1, the Poynting vector is integrated over the two spherical segments:

• ϑ0 − 21 · ∆ϑ ≤ ϑ ≤ ϑ0 + (Nϑ − 12 ) · ∆ϑ and ϕ0 − 21 · ∆ϕ ≤ ϕ ≤ ϕ0 + (Nϕ − 21 ) · ∆ϑ

• ϑ0 ≤ ϑ ≤ ϑ0 + (Nϑ − 1) · ∆ϑ and ϕ0 ≤ ϕ ≤ ϕ0 + (Nϕ − 1) · ∆ϕ

In the case of an antenna the power provided by the voltage sources must be equal to the radiated
power over the whole sphere. The total radiated power can be calculated using for instance the
following commands:
** Far field integration in angular increments of #delta (in degrees)
#delta = 5
#nt = 180/#delta + 1
#np = 360/#delta + 1
FF 3 #nt #np 0 0 0 #delta #delta

The output in the *.out file then reads for example

October 2013 FEKO User’s Manual


CONTROL CARDS 14-123

Integration of the normal component of the Poynting vector in the


angular grid DTHETA = 5.00 deg. and DPHI = 5.00 deg. ( 2701
sample points)
angular range THETA angular range PHI radiated power
-2.50 .. 182.50 deg. -2.50 .. 362.50 deg. 5.60499E-03 Watt
0.00 .. 180.00 deg. 0.00 .. 360.00 deg. 5.52821E-03 Watt

If the problem is symmetrical, it is not necessary to carry out the integration over the complete
sphere. If there are three planes of symmetry (as for a simple dipole in free space) the integration
only needs to be done over an eighth of the sphere. The power then has to be multiplied by 8.
If a ground plane has been specified, the calculation of the far fields below the ground plane is
not possible. Observation points with z < 0 will thus be ignored.

Spherical mode coefficients

can be computed while doing a far field computation. The calculation of these coefficients is
based on the far field values and they are written to the FEKO output file.
Doing the integration requires a two-dimensional far field computation (i.e. both Number of ϑ
points and Number of ϕ points larger than 1) over the whole sphere (i.e. 0 ≤ ϑ ≤ 180◦ and
0 ≤ ϕ ≤ 360◦ ) and the angular increments should be chosen according to the desired accuracy
and number of modes (i.e. a finer stepping is required for higher modes). It is suggested to do
an initial convergence study (e.g. with increments 5◦ and then 1◦ ) to see the sensitivity of the
results.
Spherical modes have three indices s, m, and n with s = 1 for TE-modes, s = 2 for TM-modes, m =
−N . . . N , and n = 1 . . . N (see also more detailed description at the AS card (see Section 14.20),
including a one-dimensional compressed indexing scheme j = 1 . . . J and the normalisation of
the modes etc.). The input parameter Maximum mode index N determines the maximum mode
index N , i.e. a total number of J = 2N (N + 2) modes will be computed.
The modes origin is the same as for the far field computation in general (i.e. this is the global
origin unless an OF card has been used to specify an offset). It should also just be mentioned that
due to the nature of the far field (propagating towards r = ∞) all computed mode coefficients
refer to spherical cylinder functions zn(c) with type c = 4 (see more details at the AS card).
It shall be mentioned that when spherical modes are computed with the FF card, the DA card
can also be used (must be in front of the FF card) in order to request that this spherical mode
expansion is exported to an SWE file (extension *.sph) which can be imported into the computer
code GRASP from TICRA. GRASP is a reflector antenna modelling code, and by means of this SWE
file export one can for instance model a horn antenna as feed in FEKO and then export this feed
structure and use in GRASP. Note that the gain in GRASP will only be correct if the radiated power
in FEKO has been set to 4π Watts. The spherical mode expansion coefficients Q smn as used by
FEKO are described at the AS card (see Section 14.20). In GRASP a slightly different convention
is used:

1
• An additional factor p

is used

• The coefficients are conjugate complex (i.e. GRASP assumes an e−iωt time dependency)

• The index m is exchanged with −m (since in FEKO the ϕ dependency is defined differently
than in GRASP, e jmϕ versus e− jmϕ )

October 2013 FEKO User’s Manual


CONTROL CARDS 14-124

These conversions are done automatically by FEKO when exporting the SWE file, so that this can
readily be imported into GRASP.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-125

14.39 FR card

This card sets the frequency/frequencies (in Hz), at which the solution will be obtained.

The solution can be done for a single frequency, a range of discrete frequencies (linear or mul-
tiplicative stepping), a list of discrete frequencies or a continuous solution in a given frequency
band with adaptive frequency interpolation with the option to set the convergence accuracy. For
a continuous solution, only one FR card is allowed. Specific quantities of interest to the user may
also be selected to be included for adaptive sampling. Unselected quantities will be calculated at
the discrete solution frequency points.
Parameters:
Single frequency: Only a single frequency will be analysed.

Discrete frequency points (range): If this item is selected the following parameters are applicable:

• Number of frequency points: For a discrete frequency range sweep, the


number of frequency samples must be larger than 1.
• Frequency scale: In this group either Linear or Multiplicative scaling is
selected. If Linear is selected, then consecutive frequencies differ with
a fixed value, i.e. the new frequency is the previous value plus the fre-
quency increment. If Multiplicative is selected, then consecutive frequen-
cies differ by a constant factor, i.e. the new frequency is the previous
value multiplied by the frequency factor.
• Specify by: If Frequency increment/factor is selected, the user specifies
the increment or factor mentioned in the previous item. This, the num-
ber of frequencies and the start frequency then determine the ending

October 2013 FEKO User’s Manual


CONTROL CARDS 14-126

frequency. If Ending frequency is selected, the user specifies this and the
increment/factor is calculated.

Discrete frequency points (list): If this item is selected, the following parameters are applicable:

• Number of discrete frequencies: For a list of discrete frequency sweep, the


number of frequency samples must be larger than 1. The list of discrete
frequencies is applicable when a list of frequencies is required which is
not linearly or logarithmically spaced.

Continuous data: Select this item to use an adaptive frequency interpolation technique (see Sec-
tion 22) to obtain a continuous representation of the results in the given fre-
quency band. When using this feature, the remaining parameters have the
following meaning:

• Adaptive frequency sampling convergence accuracy: This allows the user


to manually set the adaptive frequency sampling convergence accuracy.
Note that the default setting should be used for most cases, but in special
cases where a structure with many resonances is being modelled a higher
convergence accuracy should be used.
• Max number of sample points: Maximum number of discrete frequency
points in this frequency band at which FEKO may be executed (limitation
to avoid convergence problems). If left empty, the default value of 1000
will be used.
• Select quantities to include for adaptive frequency sampling: The quan-
tities selected will be included in the adaptive frequency sampling.
• For CableMod/CRIPTE/PCBMod/Touchstone . . ., Number of discrete fre-
quencies . . .: This field is only relevant when the CM or SP card is used
to create an *.isd or *.snp file respectively. The results are written to
the *.isd or *.snp file for the number of discrete frequencies specified
in this field.
• Starting/ending frequency: Defines the frequency range.
• Min. frequency stepping: Minimum increment between adaptive sam-
ples, see the note below.

In order to obtain a continuous frequency response, the adaptive frequency interpolation tech-
nique obtains the solution at a set of discrete frequency points. They are automatically placed,
for example using large frequency increments in regions with a smooth behaviour of the results,
and much finer frequency increments close to resonances. Sometimes, for example when using a
frequency dependent mesh, the FEKO results versus frequency may contain small discontinuities.
In these cases the adaptive algorithm cannot converge. (It will continue to refine the frequency
increment as it tries to fit a smooth curve through the discontinuity and will only stop when
the Max. number of sample points is reached.) One may avoid this by setting the Frequency in-
crement to the minimum allowable separation distance between neighbouring frequency sample
points. The value of the Frequency increment must be smaller than the resolution required to
solve, for example, sharp resonances. If left empty, the default is:

1
(Ending frequency − Starting frequency) (14-63)
10000

October 2013 FEKO User’s Manual


CONTROL CARDS 14-127

If a discrete loop with more that one frequency is required then either the frequency increment
or the ending frequency must be specified, but not both. If the end frequency is specified, the
frequency increment is calculated from:

• for a linear frequency scale (additive increments):

f2 − f1
∆f = (14-64)
Nf − 1

• for a multiplicative frequency scale (multiplicative increments):


1
f2
 
N f −1
f ac = (14-65)
f1

where ∆ f is the frequency increment (linear stepping), f ac the increment factor (multiplicative
stepping), f1 the start frequency, f2 the ending frequency and N f the number of frequencies.
When writing results at discrete frequencies to a *.isd file, the frequency increment when a
linear frequency scale is used is calculated similar to the case for ∆ f as shown above.
If more than one frequency is to be examined, then all the control cards up to the next FR card
or EN card will be read into a buffer and are executed for each frequency.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-128

14.40 GF card

With this card the Green’s function may be selected. The Green’s function relates the fields in
space to the sources present. The propagation space is usually free space, and FEKO uses the free
space Green’s function by default. For a few specific interaction environments, the complexities
of the environments can be taken into account using special Green’s functions. The Green’s
functions that FEKO supports are:

• Homogeneous medium: The dielectric properties for the entire problem space can be set.
This is useful for modelling in a homogeneous medium that differs from free space.

• Layered dielectric sphere: A layered dielectric sphere located at the origin is taken into
account with the Green’s function.

• Planar multilayer substrate: A multilayer dielectric substrate in the x y-plane is taken into
account. The layers can have ground planes at any arbitrary z-values.

Using Green’s functions to model the presence of these dielectric regions means that their in-
fluence is taken into account implicitly, using less computational resources than modelling them
using either the volume- or surface equivalence principles.
The following is not possible in conjunction with the Green’s function:

• dielectric ground (BO Card)

• hybrid MoM/PO method

• hybrid MoM/UTD method

• hybrid MoM/FEM method

• dielectric bodies with the volume equivalence principle (VEP)

The dialogs for each of the three cases above are discussed separately below.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-129

Homogeneous medium

When this Green’s function is selected, the EM problem under investigation is modelled inside
an infinite space of the homogeneous medium. This is the standard “free space” Green’s function
similar to when the GF card is not used. The medium is normally free space, defined by material
label “0”, but different parameters can be set with the DI card.
Parameters:

Material label: The label of the homogeneous medium to be used, as defined in the DI card.

Layered dielectric sphere

When this Green’s function is selected, the EM interaction of a layered dielectric sphere located
at the coordinate system centre is taken into account. With this option it is, for example, possible
to analyse a cellphone in front of a spherical shell model of the human head very efficiently.
Parameters:

Configuration list: The dropdown list allows selecting between Single dielectric sphere and a core
with a number of layers. Note that whether metal structures are allowed,
influences the number of layers that are allowed.

Allow metal structures inside sphere: When this item is checked metallic structures can be present in
the inner parts of the sphere.

Use interpolation: When this item is checked interpolation (*.gfe and *.gfh files) is used to
accelerate the computations.

Convergence criterion: Convergence criteria for the summation of the rows of Green’s functions. If
this field is 0 or undefined, a sensible standard criterion is used.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-130

Radius: Radius of the sphere / layer in m (is scaled by the SF card). For the layers,
this is the total radius of the core plus layers up to that point. The highest
numbered layer is outside.

Material label: Label of the material (as defined in the DI card) to be used for the core / layer.

The scaling factor that is entered by the SF card is applied to the radius. Note that the surrounding
medium is defined by material label “0”. By default the values of free space is used, but these
parameters can be redefined in the DI card.
The Green’s function for a homogeneous or layered dielectric sphere can be used with metallic
structures (treated with the MoM) either inside or outside the sphere (but not for example a
wire from inside to outside). It can be used with dielectric bodies treated with the volume
equivalence principle (e.g. the hand of a user around a mobile phone), but the dielectric bodies
must be outside the sphere.
An example of the use of the GF card for a sphere is given in example_15 (Script Examples).
z

x
4
3
2
1

Figure 14-32: Example of a sphere consisting of 4 media (core and 3 layers) indicating the layer number-
ing.

Planar multilayer substrate

When this Green’s function is selected, the EM interaction of a layered dielectric substrate located
in the x y-plane is taken into account. This formulation has been popularised by its application
to planar (microstrip) circuits and antennas, but it is applicable to a larger class of EM problems
e.g. buried antennas.
Parameters:

Number of layers: Number of layers in the substrate (layer 0 — the upper half-space) is not in-
cluded in the number. As indicated in the figure of the card, layer 0 is the
upper half-space, layer 1 is just beneath this, etc.

Thickness: Thickness of the layer (is scaled by the SF card).

Material label: Label of the material to be used for the layer (as defined in the DI card).

Bottom ground plane: By checking Bottom ground plane at the respective layer, a user can choose to
have a ground plane at the bottom of the layer.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-131

October 2013 FEKO User’s Manual


CONTROL CARDS 14-132

Z-value at the top of layer 1: The value of the z coordinate at the transition between layer 0 and
layer 1.

Limit the Green’s function to region set to medium: An optional parameter which allows for the planar
multilayer substrate to be limited to a specified dielectric region. A dielectric
medium must be defined and a dielectric region set to this medium. Refer
to the DI card (see Section 14.33) and DL card (see Section 14.34) for more
information. The planar multilayer substrate is then limited to this dielectric
region specified by the label of the dielectric medium (as defined in the ME
card (see Section 13.32)). For more information refer to the combination of
MoM/SEP and planar Green’s function (see Section 3.3.8).

Number of additional conducting ground planes: Number of additional conducting ground planes to be
added at arbitrary z-values.

Advanced ground planes at arbitrary z-values: The z-value at which the ground plane is to be added.

Structures can lie at any arbitrary position in one or more layers. The following restrictions apply:

• No metallic segment or triangle may cross a boundary between layers, i.e. it must lie
completely within one layer or at the boundary between the layers.
For example, a metallic wire penetrates a multilayer substrate, the segmentation must be
so that there is a node on each interface between layers.

• Dielectric triangles may not lie on the interface (boundary) between substrate layers.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-133

14.41 KC card

The KC card allows the transferring of connector names from CADFEKO to POSTFEKO.

Parameters:

Connector name: The name of the connector.

Define a cable connector label: Define a cable connector label with the following parameters.

Remove all KC type labels previously defined: This KC card does not define a load, but rather all previ-
ously defined KC labels are deleted. All the other input parameters of this card
are ignored.

Connector position: Data point/node to access the geometrical coordinates of this connector.

Number of pins: The number of pins defined in the connector.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-134

14.42 KS card

The KS card allows the transferring of signal names from CADFEKO to POSTFEKO.

Parameters:

Corresponding cable section: The label of the CS card that links to this KS card.

Define cable signals on a cable section: Define cable signals on a cable section with the following pa-
rameters.

Remove all cable signals previously defined: This KS card does not define a cable signal, but rather all
previously defined cable signals are deleted. All the other input parameters of
this card are ignored.

Number of signals: The number of signals being defined. It should correspond to the number of
signals/connections for the respective cable instance.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-135

14.43 L2 card

The L2 card allows a load (complex impedance) to be placed on a node in the model.

Parameters:

Load name: The name of the load.

Define/replace a load at a node: Define a load with the following parameters.

Remove all L2 type loads previously defined: This L2 card does not define a load, but rather all previ-
ously defined L2 loads are deleted. All the other input parameters of this card
are ignored.

Select segment: When this item is selected, then the Segment label field becomes active. Here
one specifies the label of the segment which shall be loaded (either start or
end point as determined by the corresponding check box). The load has to be
located at a node, either between two segments, or between a segment and a
triangle, ground plane or polygonal plate. Only one segment with this label
should be declared. If there is more than one segment with this label then all
the corresponding segment vertices will be loaded.

Set load position: When this check box is activated, then the load node is determined by speci-
fying its Cartesian coordinates in the Coordinates of node group. These values
are in m and may be scaled by the SF card.

Load at start of segment: This option is only available when selecting the feed segment by label. If
set, it indicates that the load location is at the start of the wire segment with a
matching label.

Load at end of segment: This option is only available when selecting the feed segment by label. If
set, it indicates that the load location is at the end of the wire segment with a
matching label.

Use default feed direction: This option is only available when selecting the feed segment by label. If
set, it indicates that the positive feed direction is like the basis function setup

October 2013 FEKO User’s Manual


CONTROL CARDS 14-136

in FEKO. For wire/surface junctions (UTD plates, BO ground, or meshed trian-


gle surfaces), this direction is away from the wire onto the surface. For wire
connections between two segments, this direction is from the segment with the
lower index to the segment with the higher index.

Positive feed direction like wire segment orientation: This option is only available when selecting the
feed segment by label. If set, then the positive feed direction is like the orien-
tation of the wire segment with the specified label.

Negative feed direction like wire segment orientation: This option is only available when selecting the
feed segment by label. If set, then the positive feed direction is opposite to the
orientation of the wire segment with the specified label.

Real part of impedance: The real part of the complex impedance in Ω.

Imaginary part of impedance: The imaginary part of the complex impedance in Ω.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-137

14.44 L4 card

This card can be used to add a load between a metallic triangle and the ground plane for the
planar multilayer Green’s function without having the requirement to model a vertical current
element (analogous to the A4 excitation card).

Parameters:

Load name: The name of the load.

Define a load at a coaxial attachment point: Define a load with the following parameters.

Remove all L4 type loads previously defined: This L4 card does not define a load, but rather all previ-
ously defined L4 loads are deleted. All the other input parameters of this card
are ignored.

Select element: The label of the triangle to load. If there is more than one triangle with this
label, the one with the highest element number is loaded.

Set source position: Alternatively, the user may specify the Cartesian coordinates x, y and z of the
load point in the Select source coordinates group. The triangle with the centre
point closest to this point is loaded.

Transform impedance to ground plane: The specified impedance refers to the metallic ground plane,
and a transformation must be done to get the correct load impedance at the
triangle.

Real part of impedance: Real part of the load impedance (in Ω).

Imaginary part: Imaginary part of the load impedance (in Ω).

Radius of the connection pin: The radius of the load pin in m.

The source coordinates (if entered) and the radius of the connection pin (if entered) is optionally
scaled by the SF card.
If an L4 card is processed any existing L4 load on that triangle is replaced. For example, if two L4
cards are used directly below each other, the first specifying a 50 Ω and the second a 20 Ω load,
the segment will be loaded with 20 Ω, not 70 Ω.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-138

It must also be noted that if the L4 card is used in conjunction with an A4 card (impressed current
source), the load impedance of the L4 card is placed parallel to the input impedance of the A4
source (it has no effect if it is in series with the current source), i.e. the resulting input admittance
is the sum of input admittance without the L4 load, and the admittance added by the L4 card.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-139

14.45 LC card

With the LC card, complex, series and parallel circuits can be applied between connector pins
and also between a connector pin and ground.

Parameters:

Load name: The name of the load.

Define/replace a load at a cable connector: Define/replace a load at a cable connector with the follow-
ing parameters.

Remove a load at a cable connector: A load can be removed between two connector pins by defining
the Connector label and Pin (ground=0).

Remove all cable loads previously defined: All previously defined LC type loads are removed.

Define/replace load between: A load can be placed between two connector pins by defining the Con-
nector label and Pin number.

Complex impedance: The real and imaginary part of the complex impedance in Ω.

Series circuit: The resistor value in Ω, inductor value in Henry and the capacitor value in
Farad to be added as a series circuit.

Parallel circuit: The resistor value in Ω, inductor value in Henry and the capacitor value in
Farad to be added as a parallel circuit.

For detailed conductor to cable connector pin relation, see the AK card (section 14.16).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-140

14.46 LD card

With this card it is possible to specify a distributed resistive, capacitive or inductive loading or
even a series combination of these values for a segment.

Parameters:

Load name: The name of the load.

Define/replace a load at a segment: Define a load with the following parameters.

Remove all LD type loads previously defined: This LD card does not define a load, but rather all previ-
ously defined LD loads are deleted. All the other input parameters of this card
are ignored.

Label of segments to load: All segments with this label are subjected to distributed loading.

Resistance: The distributed resistance in m
.
H
Inductance: The distributed inductance in m
.
F
Capacitance: The distributed capacitance in m
.

The combined impedance of the segment with length l is then

1
 
Zs = R + jωL +
0 0
· l. (14-66)
jωC 0

It should be noted that if the Capacitance (F/m) is left empty, it is treated as infinite, so that it
does not contribute to the impedance.
The LD card may be combined with the LP, LS, LZ and the SK cards, but only one LD card may
be used per label. If a second LD card is used, it replaces the values entered by the first one. This
card has no significance for surface elements, even when these are assigned the same label.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-141

14.47 LE card

With the LE card, complex, series and parallel circuits can be applied to an edge between surface
triangles, as shown in Figure 14-33.

Negative side

Positive side

Load impedance
Z = R + jX

Figure 14-33: Application of the LE card

Parameters:
Load name: The name of the load.

Define/replace a load at an edge: Define a load with the following parameters.

Remove all LE type loads previously defined: This LE card does not define a load, but rather all previ-
ously defined LE loads are deleted. All the other input parameters of this card
are ignored.

Load edge between regions with multiple labels: The edge between different regions is loaded with a
complex impedance. The following parameters apply when this item is checked:

• Maximum number of labels on a side: This indicates the maximum num-


ber of different labels used on either side of the load. Increasing this
value will add rows to the table for the labels.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-142

• Negative side: The labels of triangles on the one side of the load.
• Positive side: The labels of triangles on the other side of the load.

Load an edge connected to ground/UTD: Load the triangles with specified labels that are connected to
a UTD surface or to a PEC ground plane (as specified with a BO or GF card).
The following parameters apply when this item is checked:

• Maximum number of labels on a side: This indicates the maximum num-


ber of different labels used on the negative side of the load. Increasing
this value will add rows to the table for the labels.
• Negative side: The labels of the triangles that are connected to the ground.

Load microstrip edge between two points: This is a special microstrip port load. The load is placed on
all edges on the line between two points (previously specified with DP cards)
entered into the dialog below. A GF card with a conducting ground plane must
be present. The following parameters apply when this item is checked:

• Start point of edge: The start point (not label) of the edge.
• End point of edge: The end point (not label) of the edge.

Complex impedance: The real and imaginary part of the complex impedance in Ω.

Series circuit: The resistor value in Ω, inductor value in Henry and the capacitor value in
Farad to be added as a series circuit.

Parallel circuit: The resistor value in Ω, inductor value in Henry and the capacitor value in
Farad to be added as a parallel circuit.

See also the AE card for the excitation of such an edge. As shown in Figure 14-33 the edge can
consist of several single edges between regions specified by labels (AE card (see Section 14.13)
provides a discussion of the allowed configurations.) Alternatively the edge can be along a con-
nection between triangles and a polygonal plate or a PEC ground plane, or it can be a microstrip
feed line port. The impedance Z applies to the complete edge (i.e. all the single edges in paral-
lel). The LE card can be combined with the AE card to specify both an impedance and a voltage
source over the edge.
Note that the edge between the triangles does not need to be straight. One may, for example,
specify a resistive connection between two half cylinders.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-143

14.48 LF card

This card can be used to impress a complex impedance between two points inside a FEM mesh.

Parameters:

Load name: The name of the load.

Define/replace a complex load impedance (FEM): Define a load with the following parameters.

Remove all LF type loads previously defined: This LF card does not define a load, but rather all previ-
ously defined LF loads are deleted. All the other input parameters of this card
are ignored.

Real part of impedance: The real part of the complex impedance in Ω.

Imaginary part: The imaginary part of the complex impedance in Ω.

Load position: The Cartesian coordinates of the start and end points of the load.

The complex impedance is impressed between two points inside the FEM mesh. The line may be
positioned arbitrarily inside the FEM mesh, i.e. it does not have to be coincident with tetrahedral
edges, but the length between the points should be small compared to the shortest wavelength
in the band of interest to obtain reasonable accuracy.
The LF type load should not be used to model a short-circuit load. A short can be modelled by a
metallic strip (meshed into triangles) inside a FEM region.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-144

14.49 LN card

This card can be used to add a complex load to any non-radiating network port that is not
connected to geometry (i.e. any non-radiating network of the type Internal).

Parameters:

Load name: The name of the load.

Define a load at a network port: Define a network load with the following parameters.

Remove all LN type loads previously defined: All previously defined LN type loads are removed. This re-
places all network loads with open circuits. Note that setting the load impedance
to zero creates a short circuit between the network terminals.

Network name: The network or transmission line name, with the network port number, uniquely
identifies the connection terminals.

Network port number: The network port number, with the network or transmission line name, uniquely
identifies the connection terminals.

Real part of impedance: The real part of the complex impedance in Ω.

Imaginary part: The imaginary part of the complex impedance in Ω.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-145

14.50 LP card

This card can be used to assign discrete circuit elements (in parallel) to a segment. Figure 14-34
shows the parallel circuit that can be assigned to a segment.

Figure 14-34: Sketch of the parallel circuit

Parameters:

Load name: The name of the load.

Define/replace a load at a segment: Define a load with the following parameters.

Remove all LP type loads previously defined: This LP card does not define a load, but rather all previ-
ously defined LP loads are deleted. All the other input parameters of this card
are ignored.

Reverse feed orientation: By default, the vector of the voltage lies in the direction from the start of the
segment to its end (the direction in which it was created). When this option
is checked, the vector of the voltage lies in the opposite direction. (This is
the direction of the current flow through the segment. The internal EMF —
electromagnetic force — of the impressed voltage source is in the opposite
direction.)

Label of segments to load: All segments with this label are assigned the parallel circuit values specified
below.

Resistor value: Value of the resistor in Ω.

Inductor value: Value of the inductor in H.

Capacitor value : Value of the capacitor in F.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-146

The impedance is then given by

1
Zp = 1 1
. (14-67)
Rp
+ jωL p
+ jωC p

If the resistance is set to zero, then the resistance is interpreted as infinite, i.e. in the parallel case
it will not change the impedance. The same applies to the inductance.
The LP card may be combined with the LD, LS, LZ and the SK cards, but only one LP card may
be used per label. If a second LP card is used, it replaces the values entered by the first one. This
card has no significance for surface elements, even when these are assigned the same label.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-147

14.51 LS card

This card can be used to assign discrete circuit elements (in series) to a segment.

Figure 14-35 shows this circuit that can be assigned to a segment.

Figure 14-35: Sketch for the serial combination

Parameters:

Load name: The name of the load.

Define/replace a load at a segment: Define a load with the following parameters.

Remove all LS type loads previously defined: This LS card does not define a load, but rather all previ-
ously defined LS loads are deleted. All the other input parameters of this card
are ignored.

Reverse feed orientation: By default, the vector of the voltage lies in the direction from the start of the
segment to its end (the direction in which it was created). When this option
is checked, the vector of the voltage lies in the opposite direction. (This is
the direction of the current flow through the segment. The internal EMF —
electromagnetic force — of the impressed voltage source is in the opposite
direction.)

Label of segments . . .: All segments with this label are assigned the series circuit values specified be-
low.

Resistor value: Value of the resistor in Ω.

Inductor value: Value of the inductor in H.

Capacitor value: Value of the capacitor in F.

The impedance is given by


1
Zs = Rs + jωLs + . (14-68)
jωCs

If a capacitance of zero is selected, it is interpreted as infinite capacitance, i.e. in the case of the
series combination it is zero.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-148

The LS card may be combined with the LD, LP, LZ and the SK cards, but only one LS card may be
used per label. If a second LS card is used, it replaces the values entered by the first one. This
card has no significance for surface elements, even when these are assigned the same label.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-149

14.52 LZ card

This card can be used to assign a complex impedance to a segment.

Parameters:

Load name: The name of the load.

Define/replace a load at a segment: Define a load with the following parameters.

Remove all LZ type loads previously defined: This LZ card does not define a load, but rather all previ-
ously defined LZ loads are deleted. All the other input parameters of this card
are ignored.

Reverse feed orientation: By default, the vector of the voltage lies in the direction from the start of the
segment to its end (the direction in which it was created). When this option
is checked, the vector of the voltage lies in the opposite direction. (This is
the direction of the current flow through the segment. The internal EMF —
electromagnetic force — of the impressed voltage source is in the opposite
direction.)

Label of segments to load: All segments with this label are assigned the specified impedance.

Real part of impedance: The real part of the complex impedance in Ω.

Imaginary part: The imaginary part of the complex impedance in Ω.

The complex impedance value is a constant with respect to frequency. Frequency dependent
impedances can be realised using the LS or the LP cards.
The LZ card may be combined with the LD, LP, LS and the SK cards, but only one LZ card may be
used per label. If a second LZ card is used, it replaces the values entered by the first one. This
card has no significance for surface elements, even when these are assigned the same label.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-150

14.53 NW card

This card can be used to add a linear non-radiating network.

The non-radiating general network allows the user to do combined analysis of electromagnetics
with linear circuits (e.g. amplifiers, filters, matching networks). It is therefore possible to reduce
computation time by breaking large problems into smaller element blocks. Cascading the solution
of these blocks (represented by S-, Z- or Y-parameters), direct modelling of passive circuits using
SPICE and combining with FEKO geometry, the complete problem solution can be found. The
individual element solutions are without field coupling.
Parameters:

Remove all existing networks: All previously defined non-radiating networks are removed.

New network: A new non-radiating network is created after removing all previously defined
networks.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-151

Add to existing network: A non-radiating network is created and added to any previously defined net-
works.

Network name: The name of the network.

Number of ports: A network can consist of any number of ports, but is required to have at least
one port.

Number of probes (SPICE circuit only): The number of current/voltage probes to be added to the net-
work. A choice is given between a Voltage probe and a Current probe. The
Probe name is the name of the defined probe.

Port n: Each port of a network can be connected to other network ports or geometry.
Note that the orientation of a network port connection can easily be reversed
for all connections except if connected to internal ports.

Wire segment label The label of the segment to which the network port must
be connected. If more than one segment has this label, the network port
is connected to the last segment with this label.
Wire segment position The segment is determined by specifying the Carte-
sian coordinates of the segment centre. These values are in metre and are
scaled by the SF card if Modify all dimension related values is checked.
Internal port The network name and the network port number to connect to.
Edge between regions with multiple labels The positive and negative labels
that define the edge where the network port has to be connected.
Edge connected to ground/UTD The positive or negative labels that define
the edge where the network port has to be connected.
Edge of microstrip between two points The points that define the edge of
the microstrip line where the network port has to be connected.
Vertex by segment label The vertex is determined by specifying a segment
label. Also select whether the start or end point of that segment should
be used.
Vertex by position The vertex is determined by specifying the Cartesian coor-
dinates of the vertex.

Data type: The network data can be specified S-parameters, Z-parameters, Y-parameters
or SPICE *.cir file.

Load data from Touchstone file: The network data can be loaded from a Touchstone file (in v1.0 for-
mat). The data in a Touchstone file is always defined in increasing order and
at specific frequencies only. These may of course not directly coincide with
the frequencies at which the FEKO kernel is run. The solution is to interpolate
both the magnitude and phase data by using cubic spline interpolation. The
FEKO frequency is considered out of bounds when it is more than 0.1% away
from the lowest/highest frequency defined in the Touchstone file. In such an
instance an error will be given and FEKO will terminate. If the FEKO frequency
is within bounds, but not between points, no interpolation will be performed.

Load data from a SPICE file: A passive circuit network can be loaded from a SPICE file. A *.cir file is to
be supplied containing the required SPICE circuit description. This description
should include a subcircuit definition (..SUBCKT subnam N1 <N2 N3 ..>) with
its name identical to the current NW card name. Its external number of ports

October 2013 FEKO User’s Manual


CONTROL CARDS 14-152

should also agree in number with the number of ports defined for this NW
card.

Circuit name (optional): The sub-circuit name may be specified for SPICE networks.

The data follows in the *.pre file: For small networks with four ports or less, the network matrix can
be inserted directly in the *.pre file. The matrix is entered as real and imagi-
nary components. S-parameters also require a real reference impedance to be
specified at each port.

It should be noted that it is not necessary to specify all possible connections. If, for example,
NWName1.Port1 is connected to NWName2.Port1, it is not necessary to connect NWName2.Port1
to NWName1.Port1. The user should ensure that there is enough information to link all con-
nected ports. If an internal port should be left open, then no connection should be entered.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-153

14.54 OF card

This card specifies an offset for the origin of the coordinate system used for near and far field
calculations. In addition it is possible to use only a part of the structure when calculating the
fields (selected using labels).

Parameters:

Field calculation for all structures: Near and far fields are calculated for all structures.

Field calculation for structures with specified labels(s): Use label selection when calculating near and
far fields. Only the currents on structures with specified labels are used during
field computation.

Field calculation for structures with label range: Use label selection when calculating near and far fields.
Only the currents on structures with a label in the range specified in the fields
Start at label and End at label are used during field computation. (If a basis
function extends over, for example, two triangles it is included if either triangle
of the triangles lies in the specified range.)

Calculate near field or far field in local coordinate system: Use the offset specified below as the origin
of the coordinate system for field calculations.

Origin of offset coordinate: In this group the Cartesian coordinates of the transformed origin are spec-
ified. Each of x, y and z is scaled by the SF card if the SF card is used.

Rotation about the axis: The angle of rotation α x around the x axis, the angle of rotation α y around
the y axis and the angle of rotation αz around the z axis in degrees.

A possible application of the OF card is, for example, to calculate the near field on the surface
of a sphere whose centre does not lie on the origin. The OF card transforms the origin of the
coordinate system to the centre of the sphere, so that the near field calculation can be executed
in spherical coordinates.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-154

14.55 OM card

This card can be used to calculate the weighted set of orthogonal current-modes which are sup-
ported on a conducting surface. Characteristic mode analysis allows for a systematic CEM design
approach, provides physical insight regarding antenna operating principles, can determine the
resonating frequency of specific modes and determine the optimum feeding arrangements to
excite these modes.

Parameters:

Request name: The name of the request.

Number of modes to calculate: The maximum number of modes to calculate for the characteristic mode
analysis.

Compute modal excitation coefficients: When this item is checked, in addition to the characteristic
modes, modal excitation coefficients are computed given an excitation/source.

Disable mode tracking: When this item is checked, characteristic mode tracking is disabled. This
means that for each frequency, the modes will be sorted according to their
dominance at that frequency. When unchecked, a logical mode will be tracked
over the entire simulated frequency range.

The characteristic mode analysis (CMA) is supported for MoM/SEP examples containing dielectric
and magnetic materials and metallic structures, i.e. metallic triangles, wires. CMA can also be
used in conjunction with the planar multilayered Green’s function as well as the planar Green’s
function aperture. No VEP, waveguide ports, MLFMM or FEM are allowed in conjunction with a
characteristic mode analysis request.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-155

14.56 OS card

With this card the currents on the surfaces and the segments can be extracted.

Parameters:

Request name: The name of the request.

No currents: No current output (but does start calculation).

All currents: Output all currents on triangles (metallic and dielectric).

Only the currents on triangles: Only output the currents on surface triangles.

Only the segment currents: Only output the currents on wires.

Currents on structures with specified label(s): Output the currents on segments and triangles with the
specified labels.

Currents on structures with label range: Output all currents on segments and triangles in the label
range specified by the fields Extract currents starting on label and And end-
ing at label.

All segment currents to *.rsd (CableMod/CRIPTE) file: Export the currents on all segments to a *.rsd
file in CableMod/CRIPTE/PCBMod format (see the comment below).

Segment currents (label range) to *.rsd file: Export the currents on all segments with labels in the
range specified by the fields Extract currents starting on label and And ending
at label to a *.rsd CableMod/CRIPTE/PCBMod file.

No averaging of currents at triangle corners: For the output of the magnitude of current densities at the
vertices of triangles, neighbouring triangles with common vertices are identi-
fied and the current densities are then averaged over the neighbours. This
ensures that a graphical representation of the magnitude of the current density
(found in the *.out and *.os files) is a smooth colour representation without
discontinuities. Note that this setting has no effect on the graphical represen-
tation in POSTFEKO, the magnitude of the current density in POSTFEKO is
always averaged. Averaging of the current densities at the vertices could po-
tentially be very time consuming, particularly for structures containing a large
number of triangles.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-156

Multiple OS cards can be used to extract currents on multiple, non-consecutive, labels.


The options where a *.rsd file is written permit the creation of a *.rsd file for use with the
transmission line simulation programs CableMod or CRIPTE or the PCB tool PCBMod. The cur-
rents along all or selected segments are exported to the *.rsd file (the file name without exten-
sion is the same as that of the *.fek file). The *.rsd file is an ASCII file and contains first a
description of the geometry of the line, followed by blocks with the current information for each
frequency. It can be read by CableMod, CRIPTE or PCBMod and can also be imported back into
FEKO to realise an impressed line source (see the AC card).
If the current of dielectric triangles (surface current formulation) must be output by the OS card,
both the equivalent electric and magnetic surface currents of the external problem are written
to the output file. (The currents of the internal problem are different to those of the external
problem only in that their sign is reversed.)
If requested by the DA card, a *.os file will be created in addition to the currents written to the
output file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-157

14.57 PP card

This card defines the phase shift of the excitation between one unit cell and the next when
doing periodic boundary condition calculations. The unit cell for a periodic boundary condition
calculation is specified using the PE card.

Parameters:

Manually specify phase shift: The phase shift is manually specified.

Determine phase shift from plane-wave excitation: When a plane wave is used as excitation the phase
difference between the cells cannot be specified, but is determined by the ex-
citation.

Determine phase shift from beam pointing (“squint”) angle: The phase shift is determined by specifying
the theta and phi angle of the “squint” angle.

Phase shift in û1 direction: Phase shift in the first direction, û1 .

Phase shift in û2 direction: Phase shift in the second direction, û2 .

One dimension:

Theta angle (degrees): Orientation of the squint angle - theta in degrees is the angle between the
squint angle and the plane defined by the û1 vector.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-158

Two dimensions:

Theta angle (degrees): Orientation of the squint angle - theta in degrees is the angle between the
squint angle and the (û1 = 0) plane.

Phi angle (degrees): Orientation of the squint angle - phi in degrees is the angle between the squint
angle and the plane defined by the û1 vector.

Note that multiple PP cards can be used in a model (only one PE card).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-159

14.58 PR card

This card can be used to define a voltage/current probe along a cable.

Parameters:

Add probe: A probe is defined which is added to the previously defined probes.

Clear all probes: All previously defined probes along a cable path are removed

Probe type: Current probe: A current probe is defined.


Voltage probe: A voltage probe is defined.
Current and voltage probe: A current and voltage probe is defined.

Probe along cable: Cable name: The name of the cable path to which the probe will be added.
Distance along cable: Position along the cable path from start connector at
which to monitor the probe.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-160

14.59 PS card

This card is a general program control and can be used for instance to store the current expansion
coefficients to a file or load them later again to speed up the solution.
It is important to be familiar with the solution process of the MoM to understand this card. The
solution of electromagnetic problems based on the MoM involves a setting up a system of linear
equations, which by default is solved using an LU-decomposition and a subsequent backwards
substitution. This card can be used to save the matrix of the system of linear equations, its LU-
decomposition, or the solution vector (which also includes PO currents etc.). Such elements can
also be loaded again.

Parameters:

Save/read matrix elements: Select this option to save or read the matrix elements of the system of
linear equations. This is typically not recommended, since the file will be large
and the time to recompute the matrix elements is typically much shorter than
the time for the LU-decomposition of the matrix.

Save/read LU decomposed matrix: Select this option to save or read the LU-decomposition of the sys-
tem of linear equations. This option is useful if you want to solve a problem
subsequently with multiple different excitations (i.e. right-hand sides). Note
that if you do this in one FEKO run (i.e. one *.pre file), then FEKO keeps the
LU-decomposition automatically in memory. This option is useful if you want
to solve for multiple excitations in different FEKO runs.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-161

Save/read currents: Select this option to save or read the solution vector of the system of linear
equations. The solution vector corresponds to the currents on the structure
being simulated.

FEKO always uses the most efficient computation when doing multiple solutions in one file.
However, sometimes one might also do a solution, look at the results and then change certain
parameters. Then the option to store the solution in the *.str file and load it again or the
similar option for the LU-decomposition are particularly useful. The option to save the currents
is applicable when the solution stays the same (i.e. same geometry, same material parameters
and loads, same frequency, same excitation), but when one wants to compute the near- or far
fields with different options. The storage of the LU-decomposition is useful when only the right-
hand side of the system of linear equations changes (e.g. the direction of incidence of a plane
wave). FEKO checks all this using checksums and reports a warning if, for example, currents
were exported for one frequency and are later imported again for another frequency.
Note that the *.str file can be used for MoM, MLFMM, PO, and FEM, while the *.mat and
*.lud files are only applicable when the standard MoM is used (and then also only for sequential
in-core solutions).
Note that models built with PREFEKO on different computers may not be identical due to very
small rounding differences of different CPUs. It is therefore advisable to run PREFEKO only on
one computer when using this card, to ensure consistency in the *.fek files. The *.fek files can
then be copied to another computer if required. (For example, a user may calculate and store
the current distribution for a large model on a fast workstation and later load this to calculate
different near fields on a small PC. To ensure that current solution is valid on the PC, the original
*.fek file should be generated on the PC and copied to the workstation.)
If the PS card is used to specify that data should be read from a file, the PS card may occur only
once in the input file. It is advisable to place it right after the EG card.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-162

14.60 PW card

When defining the excitation of an antenna, the source is normally specified as a complex volt-
age. The PW card allows the user to specify the radiated power or the source power instead
(FEKO then just internally scales the whole solution to arrive at this desired power). In addi-
tion, it is possible to consider a mismatch between the antenna input impedance and the internal
impedance of a voltage source or the characteristic impedance of a transmission line feed.

Parameters:

No scaling (use specified voltages): PW card is not activated, i.e. the specified value of the voltage
source is used.

Total source power (no internal impedance): PW card is activated and all the currents are multiplied by
a scaling factor so that the total source power (the sum of the power delivered
by all the individual sources) is P0 — the value specified in the Source power
field. Mismatch is not considered.

Total source power (internal impedance): All voltage sources are assumed to have an input impedance
Zi as specified by the parameters Source impedance, real part and Source
impedance, imag part. The currents are scaled such that the total power sup-
plied by the voltage sources equals P0 as discussed below. The mismatch losses
in the source impedance reduce the antenna gain.

Total source power (transmission line feed): All the antennas are assumed to be fed by transmission
lines with a complex characteristic impedance Z L as specified by the parame-
ters Charact. impedance, real part and Charact. impedance, imag part. If there
is a mismatch between Z L and the antenna input impedance Za , a fraction of
the incident power will be reflected back to the source.

Decouple all sources when calculating power: When this item is not checked and multiple impressed
sources (i.e. elementary dipoles A5/A6, impressed current elements AI/AV,
etc.) are present, the mutual coupling of all these sources, as well as the
coupling of the sources with other structures such as ground (BO card), UTD
surfaces, or MoM elements are taken into account when determining the source
power. This is also the default if the PW card is not present. When this item
is checked, however, this mutual coupling is not considered. This is acceptable
for sources which are relatively far away or when no accurate power values
are required. (Since gain/directivity are based on power, they are then also
possibly not very accurate.)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-163

Source power: The total power P0 in Watt, i.e. the total power supplied by all the voltage
sources, or in the case of transmission lines, the total power of all forward
travelling waves.

Details of the various possibilities with the use of the PW card are shown in Figure 14-36.

no internal impedance: internal impedance:


Zi

~ ~ Pi
P0 Pa P0 Pa
~ Za ~ Za

transmission line feed:

~
Transmission line P0
with characteristic Pa Za
impedance ZL Pr

Figure 14-36: Possible applications of the PW card to determine the total power

The options Total source power (internal impedance) and Total source power (transmission line
feed) are only allowed for voltage sources (the A1, A2, A3, A4, A7, AE and AN cards). For models
containing other sources such as dipoles and impressed currents, the option Total source power
(no internal impedance) should be used. For plane waves No scaling (use specified voltages)
must be used.
The power equations for different cases are discussed below. Consider, in general, that there
are N sources (such as in an array antenna) with open circuit voltages U0,ν (before the scaling
operation) where the parameter ν lies in the range 1. . .N . At each source there is an antenna
input impedance Za,ν (as calculated during the FEKO solution) to which power Pa,ν is transferred.

• Total source power (no internal impedance)


Using this option all the source power is delivered to the respective antennas, i.e.

P̃0,ν = Pa,ν (14-69)

as shown in Figure 14-36. To ensure that the total power is P0 , the power must be scaled
with the factor
P0 P0
s= N = N (14-70)
P̃0,ν Pa,ν
P P
ν=1 ν=1
p
The currents on the structure are consequently scaled with the factor s. There is no power
loss.

• Total source power (internal impedance)


When this option is used the internal impedance Zi of the voltage source is considered
as shown in Figure 14-36. Since the same current flows through the internal source

October 2013 FEKO User’s Manual


CONTROL CARDS 14-164

impedance and the antenna input impedance, the power dissipated in the impedance of
the ν th voltage source is given by the relation
Re Zi
Pi,ν = Pa,ν (14-71)
Re Za,ν

and the scaling factor s (to scale the total power supplied by the sources to P0 ) is
P0 P0 P0
s= N
= N €
= N  ‹ (14-72)
Re Zi
Š
P̃0,ν Pa,ν + Pi,ν Pa,ν 1 + Re Z
P P P
a,ν
ν=1 ν=1 ν=1

The combined loss caused by the mismatched antennas


N N
X X Re Zi
Ploss = s Pi,ν = s Pa,ν (14-73)
ν=1 ν=1
Re Za,ν

reduces, for example, the antenna gain (but not the directivity).

• Total source power (transmission line feed):


When this option is used each antenna (with input impedance Za,ν ) is considered to be
excited by a transmission line with a complex characteristic impedance Z L as shown in
Figure 14-36. For most practical applications the transmission line will be lossless, resulting
in a real characteristic wave impedance. For this lossless case the reflection factor
Za,ν − Z L
%ν = (14-74)
Za,ν + Z L

is taken into account when calculating the incident power at the feed point.
The total incident power is given by
Pa,ν
P̃0,ν = (14-75)
1 − |%ν |2

and the reflected power by

2
|%ν |2
Pr,ν = |%ν | P̃0,ν = Pa,ν (14-76)
1 − |%ν |2

To ensure that the total incident power is P0 , the power is scaled with the factor
P0 P0
s= = N (14-77)
N Pa,ν
P̃0,ν
P P
ν=1 ν=1 1 − |%ν |2
p
and the currents with the factor s. As before the total reflected power
N N
X X |%ν |2
Ploss = s Pr,ν = s Pa,ν (14-78)
ν=1 ν=1
1 − |%ν |2

reduces the gain of the antenna.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-165

If we have a lossy transmission line, then forward and backward travelling waves can still
be identified on such a transmission line, but a proper definition of power associated with
such a wave is not possible, since due to the losses the power will constantly change along
the length of the transmission line. It is also questionable whether using the PW card
with a lossy transmission line makes any sense. But it has still been implemented, and
then the forward travelling power P0 is interpreted as the maximum available power at the
end terminals of the transmission line. For a lossless transmission line this formulation is
compatible with the above equations.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-166

14.61 RA card

This card is used to define a receiving antenna which can be positioned anywhere in the model.
The options that FEKO supports are:

• Far field pattern: An ideal receiving antenna is described by means of an impressed radia-
tion pattern.

• Near field aperture (single or multiple surfaces): A receiving antenna is described by means
of near field aperture(s).

• Spherical modes (far field approximation): A receiving antenna is described by means of


spherical modes.

Parameters:

Request name: The name of the request.

Source type: The receiving antenna is described either by means of a far field pattern, near
field aperture(s) or spherical modes.

Far field pattern

With this option a receiving antenna is described by an impressed far field pattern.

Parameters:

Request name: The name of the request.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-167

Read pattern data from: In this group the user must select one of four options:

• a *.ffe file: Read the radiation pattern from an *.ffe (see Section 27)
format file (which may be created with the DA and FF cards).
• an external data file: Read the radiation pattern from an ASCII file (the
format of this file is described at the AR card (see Section 14.19).
• after this line in the *.pre file: The radiation pattern is specified in the
*.pre file following the RA card (the format is described at the AR card
(see Section 14.19)). With this option one can make use of the FOR loops
to generate patterns from known functions.
• use last pattern defined at previous RA card: When using multiple RA
cards (i.e. different receiving antennas in the same model) then it is quite
common that the shape of the pattern is identical. If this is the case, then
one can load the pattern just once and at subsequent RA cards check this
option here. Then the last defined pattern will be used and memory can
be saved (no need to store it again). Note that one is still able to set the
antenna position and orientation individually.

Include only the scattered part of the field: When this item is checked, only the scattered part of the
field is considered for calculation. Otherwise the total field, the sum of the
scattered and source contributions, are considered for calculation.

Position: In this group the x, y and z coordinates of the receiving point (i.e. the position
where the antenna is placed) are entered in m. This value is affected by the
scale factor of the SF card if used.

Rotation about the axes: In this group the angles with which the imported pattern is rotated around
the x, y and z axes are entered. We will refer to these fields as α x , α y and αz
in the rest of this discussion.

File name: The name of the *.ffe or ASCII input file.

Start from point number: This parameter is only relevant when the data is read from an external file,
and gives the line number of the first line to read from the input file. If the data
must be read from the beginning of the file, the value in this field should be set
equal to 1. This parameter is used when the *.ffe file contains more than one
pattern. For example, if the file contains the pattern at various frequencies, the
correct pattern can be selected by setting this field to the appropriate value for
each frequency.
If the *.ffe file is of a newer format and contains header data in addition to
the data blocks, the point number refers to the actual point number. This is the
same as the line number if all blank lines, comment lines and header lines are
stripped from the file.

Number of ϑ points: The number of ϑ angles in the pattern.

Number of ϕ points: The number of ϕ angles in the pattern.

The definition of the radiation pattern and the various different input formats supported here
at the RA card are identical to those of an impressed transmitting antenna (AR card (see Sec-
tion 14.19)). See also the examples B-2 and B-3 in the FEKO Examples Guide.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-168

The ideal receiving antenna is considered to be decoupled from the model (i.e. no change in the
currents and charges by including this antenna in the model) and should ideally be in the far
field of radiating structures (so that incident plane wave approximations apply and the radial
field component is small). Checks are available inside of FEKO to ensure these assumptions.
FEKO computes the power received by this ideal antenna assuming a perfect match, i.e. conjugate
complex load.
The relative phase of the received signal is also printed to the *.out file, which indicates the
relative phase of either the voltage or the current through the termination impedance (which is
an ideal conjugate complex load). When using arrays of identical receiving antennas, then this
relative phase information can be used to obtain the signal phase offsets of the various array
elements (required for instance in the design of the feed network).

Near field aperture (single or multiple surfaces)

With this option a receiving antenna is described by a near field aperture (single or multiple
surfaces).

Parameters:

Add to existing apertures (do not compute received power): This option is selected when a new near
field aperture is defined which is added to previously defined apertures. The
receiving power for the multiple near field apertures is not computed.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-169

Add to existing apertures and compute receiving power: This option is selected if a single near field aper-
ture or the last of multiple near field apertures is defined. All defined near field
apertures defined before and including this one are taken into consideration
and the receiving power is computed.

. . . field data . . .: In this group one selects between Load field data from *.efe/*.hfe (see Sec-
tion 27) file (i.e. from *.efe or *.hfe files previously calculated with FEKO),
Load field data from ASCII text file (the format of these files are documented
below) or The field data follows in the *.pre input file

Include only the scattered part of the field: When this item is checked, only the scattered part of the
field is considered for calculation. Otherwise the total field, the sum of the
scattered and source contributions, are considered for calculation.

. . . aperture: Here one may select a planar, cylindrical or spherical aperture.

Also sample along edges: When this option is selected, the samples extend up to the edges of the aper-
ture. When it is unchecked, the samples do not lie on the edges.

S1, S2 and S3: These define the orientation of the aperture and should be clear from the figure
on the dialog.
For a planar aperture, it defines the position of the origin and the direction of
the û2 and û3 directions respectively. The field data is assumed to vary first
along the û2 direction. Note that the normal n is determined by S1, S2 and S3
and should correspond to the primary direction of power flow as seen when
the aperture is in transmit mode. If S1, S2 and S3 is not carefully defined, it
may result in negative received power.
For cylindrical and spherical apertures they define the origin and the direction
of the local z and x axes respectively. All angles are relative to these axes (see
Figures 14-16 and 14-17) and are obtained from the *.efe and *.hfe files,
but the origin is determined by S1, S2 and S3.

E-field file name: The input file name from which the electric field data must be read. These may
either be a *.efe or a text file (with units V/m).

H-field file name: The input file name from which the magnetic field data must be read. These
may either be a *.hfe or a text file (with units A/m).

Start from point number: The first line number in the file from which the data should be read. This
may be used, for example, when a single file contains information for multiple
aperture excitations. Note that comment lines and empty lines are not counted.
For example, a file with 100 points per near field, the second block will start
reading at line 101, regardless of any comment lines in the file. If both electric
and magnetic field data is read, the starting line in the files will be the same.

Number of points along . . .: These two fields specify the number of field points along each of the two
axes of the aperture.

Spherical modes

With this option a receiving antenna is described by means of impressed spherical modes.
Parameters:

October 2013 FEKO User’s Manual


CONTROL CARDS 14-170

Request name: The name of the request.

Mode data source: The spherical modes can be entered directly in the *.pre file or it can be
imported from a TICRA (see Section 27) file (*.sph).

x, y, z position: The coordinates of the origin r = 0 of the mode in m. (These values are
optionally scaled by the SF card.)

Rotation about axes: The rotation of the spherical mode source about the x, y and z axes.

Number of modes: The number of modes that are entered in the *.pre file must be specified.

Traditional index smn: If this option is checked, the user can specify TE-mode (s = 1) or TM-mode
(s = 2) and the indices m and n in the group below. Here n is the mode index
in radial direction and must be in the range 1, 2, . . . ∞ and m is the mode index
in the azimuth direction ϕ. We do not distinguish between even and odd modes
(with cos(mϕ) and sin(mϕ) angular dependencies), but rather use the angular
dependency e jmϕ . Thus the index m can also be negative, but it must be in the
range −n . . . n.

Compressed index j: With this option, a compressed one-dimensional mode numbering scheme is
used. The Mode index j is then specified in the field below. Here

j = 2 [n (n + 1) + m − 1] + s (14-79)

where s = 1 for TE-modes and s = 2 for TM-modes. This unified mode num-
bering scheme allows the computation of an extended scattering matrix (with
network and radiation ports). This index j then represents a unique port num-
ber in the scattering matrix.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-171
p
Magnitude of the mode in W : Absolute value of the complex amplitude of this specific spherical
mode (due to thepapplied
p normalisation of the spherical modes, the unit of
this amplitude is W = VA).

Phase of the mode: The phase of the complex amplitude of this spherical mode in degrees.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-172

14.62 SA card

This card is used to control calculations of the specific absorption rate (SAR) in a dielectric
medium.

Parameters:

Request name: The name of the request.

Select Calculation: One of three SAR values which could be of interest should be selected in this
group.

Specify the search region: This group can be used to control, either by medium number or by label
number or by layer number (for the special Green’s functions), which dielectric
bodies are used for the specified calculation. It is also possible to specify a user
defined position here for the spatial average SAR computations.

Average/Peak SAR in all media/labels/layers: Select this option if the selected SAR calculation should
be done on a ‘by label’ or ‘by medium’ or ‘by layer’ basis. The whole body
average SAR is also calculated. Selecting the volume by label is only valid for
the FEM analysis.

Average/Peak SAR in a single medium/label/layer: The selected SAR calculation is obtained for the
medium/label specified in the Include medium/label dialog.

Average/Peak SAR in a medium/label/layer range: The selected SAR calculation is performed on the
label range as specified below in the input fields for Include medium/label and
up to medium/label.

Centre of SAR cube: For the spatial average SAR computations using a specified position, the X , Y
and Z coordinates of the cube centre must be specified here.

The required SAR calculation is performed, and the result saved in the *.out file.
If the options Calculate volume-average SAR and Entire region are selected, the SAR, averaged
over all media, is returned. If the options Calculate volume-average SAR and By medium are

October 2013 FEKO User’s Manual


CONTROL CARDS 14-173

selected, the average SAR is calculated per medium and tabulated in the *.out file. If a medi-
um/label/layer range is specified, the SAR is averaged over the volume defined by the medi-
um/label/layer range.
If a spatial-peak SAR calculation is requested, then spatial-peak SAR is computed, averaged over
a mass of either 1 g or 10 g of tissue in the shape of a cube. By default, the search for the spatial-
peak SAR in the entire domain is returned, otherwise the spatial-peak SAR can be requested for
regions in a specified medium/label/layer range, or also at a user specified position.
When a special spherical or multilayer planar Green’s function is used in FEKO, then also spatial-
peak average SAR values can be computed (not volume average SAR). A selection is possible by
a single layer number, a range of layer numbers, or by including the whole dielectric volume in
the search.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-174

14.63 SH card

This card can be used to define solid or braided cable shields.


Solid (Schelkunoff)
Parameters:

PEC: Select this option to set the shield of the filaments to PEC.

Material label for metallic material: The label of the metallic (as defined in the DI card) to be used for
the shield.

Material label for coating: The label of the dielectric (as defined in the DI card) to be used as the
coating for the cable.

Thickness of layer for coating: Define the thickness of the dielectric coating.

Shield thickness: Define the thickness of the shield material.

Braided (Kley)

October 2013 FEKO User’s Manual


CONTROL CARDS 14-175

Parameters:

Number of carriers (m): The number of the carriers in the braided shield.

Weave angle (degrees): The weave angle of the shield.

Inside braid-fixing material label: The label of the inside shield braid-fixing (protective) coating mate-
rial.

Number of filaments(n): The number of filaments in each carrier.

Diameter: The diameter of the filament.

PEC: Select this option to set the shield of the filaments to PEC.

Material label for metallic material: The label of the material (as defined in the DI card) to be used for
the shield.

Material label for coating: The label of the dielectric (as defined in the DI card) to be used as the
coating for the cable.

Thickness of layer for coating: Define the thickness of the dielectric coating.

Define shield properties

Parameters:

Define in the *.pre file: The frequency dependent shield parameters based on measured transfer
impedance and admittance data can be specified in the *.pre file.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-176

Load from file: The file format used when importing the shield properties from file will be
described in the section Load shield properties from file below.

Frequency: The frequency at which the transfer impedance and admittance are specified
in the *.pre file.

Magnitude of transfer impedance: The magnitude of the transfer impedance defined in the *.pre file.

Phase of transfer impedance: The phase of the transfer impedance defined in the *.pre file.

Magnitude of transfer admittance: The magnitude of the transfer admittance defined in the *.pre file.

Phase of transfer admittance: The phase of the transfer admittance in the *.pre file.

PEC: Select this option to set the shield of the filaments to PEC.

Material label of metallic material: The label of the material (as defined in the DI card) to be used for
the shield.

Material label for coating: The label of the dielectric (as defined in the DI card) to be used as the
coating for the cable.

Thickness of layer for coating: Define the thickness of the dielectric coating.

Shield thickness: The thickness of the shield

Load shield properties from file Below is given an XML example containing fictitious measured
data to show the file format for when importing measured cable data.
<?xml version="1.0" encoding="UTF-8"?>
<cableDB creator="name" date="2011-07-30" version="1.0">
<shielding name="shielding1">
<dataPoint freq="100e6" trans_imp_abs="5" trans_imp_phase="0" trans_adm_abs="0" trans_adm_phase="2"/>
<dataPoint freq="300e6" trans_imp_abs="6" trans_imp_phase="2" trans_adm_abs="4" trans_adm_phase="1"/>
<dataPoint freq="500e6" trans_imp_abs="4" trans_imp_phase="3" trans_adm_abs="3" trans_adm_phase="2"/>
<dataPoint freq="700e6" trans_imp_abs="1" trans_imp_phase="5" trans_adm_abs="2" trans_adm_phase="5"/>
</shielding>
</cableDB>

October 2013 FEKO User’s Manual


CONTROL CARDS 14-177

14.64 SK card

This card is used to consider the Skin effect or ohmic losses or an arbitrary user defined impedance
boundary condition on wire segments and surface elements. In addition, it can switch from
metallic triangles to thin dielectric layers which may consist of multiple layers and which may be
anisotropic. If no SK card has been defined, FEKO assumes ideal conductivity without any losses.

Skin effect and ohmic losses

Parameters:

Affect all structures with label: Affect all segments and triangles with this label.

Assume ideal conductivity: Ideal conductivity is assumed (also the default when there is no SK card
for a given label). All other parameters are ignored.

High frequency approximation skin effect: High frequency approximation.

Static approximation skin effect: Static (ohmic losses) approximation.

Exact expression for the skin effect: Use the exact expression of the skin effect for wires and/or surfaces
that is valid at arbitrary frequencies.

Triangles as thin isotropic dielectric sheet: Treat metallic triangles as thin isotropic dielectric layers (pos-
sibly consisting of multiple layers). Specify the label of the layered dielectric
(as defined in the DL card) to be used as the medium for the thin isotropic
dielectric layers.

Triangles as thin anisotropic dielectric sheet: Treat metallic triangles as thin anisotropic dielectric lay-
ers (possibly consisting of multiple layers). Specify the label of the layered
dielectric (as defined in the DL card) to be used as the medium for the thin
anisotropic dielectric layers.

User defined surface impedance: An arbitrary user defined complex surface impedance (as defined in
the DI card) can be used by specifying the label of the surface impedance.

Thickness of elements: The thickness d of the surface elements in m (if an SF card is present, this is
always scaled).

Material label: Label of the material which will be used (as specified in the DI card).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-178

Layered dielectric label: Label of the layered dielectric medium which will be used (as specified in the
DL card).

Having both triangles and segments with the label Affect all structures with label should be
avoided. Separate labels and a distinct SK card for each label should be used. In addition all
wires with the label Affect all structures with label must have the same radius. If this is not the
case a unique label must be introduced for each radius.
q
2
It should be noted that the skin depth is given by δskin = ωµσ
, where the radial frequency
ω = 2π f and the permeability µ = µ r µ0 .

• Assume ideal conductivity:


No further parameters.

• High frequency approximation skin effect:


The required parameters are µ r , tanδµ (defined in the DI card) and σ, and for surfaces also
the thickness d. A good conductivity is required, i.e. σ  ω"0 .

– For wires a further condition requires that


Æ δskin < % where % is the wire radius. The
1 jωµ
surface impedance is given by Zs = 2π%
0
σ
.
d
– For metallic surfaces the condition δskin < 2
must be met. The surface impedance is
jωµ
Æ
given by Zs = 12 σ
.

• Static approximation skin effect:


The required parameters are µ r , tanδµ (defined in the DI card) and σ, and for surfaces also
the thickness d. A good conductivity is required, i.e. σ  ω"0 .

– For wires a further condition requires that δskin > % where % is the wire radius. The
surface impedance is given by Zs0 = π%1 2 σ1 .
d
– For metallic surfaces the condition δskin > 2
must be met. The surface impedance is
1
given by Zs = σd .

• Exact expression for the skin effect:


The required parameters are µ r , tanδµ (defined in the DI card) and σ, and for surfaces also
the thickness d. A good conductivity is required, i.e. σ  ω"0 .

– For wires with radius % the surface impedance is given by


% 
J0 (1 − j) δ

1 − j skin
Zs0 = (14-80)
2π%σδskin J1 (1 − j) δ %
 
skin

where J0 and J1 are Bessel functions.


– For metallic surfaces the surface impedance is given by
1− j 1
Zs = (14-81)
2σδskin tan (1 − j) 2δd
 
skin

Examples are given in example_02 and example_33 in the Script Examples.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-179

Triangles as a thin isotropic dielectric sheet

Parameters:

Layered dielectric label: Label of the layered dielectric medium which will be used (as specified in the
DL card).

This option only makes sense for triangular surfaces, not for wires. The required parameters are
d, µ r , tanδµ and " r as well as σ or tanδ, so that µ = µ r µ0 and the complex dielectric constant
σ
" = " r "0 (1 − j tan δ) − j ω . Normally either σ or tanδ is entered as zero, but it is possible
to specify both (for example, to approximate a specific frequency response). FEKO will give a
warning which may be ignored.
The triangles with the label Affect all structures with label exist in a certain environment ("e ,µe ),
which is usually specified with the DI card. The surrounding medium is denoted by label ‘0’ and
by default contains the parameters of free space. It is also possible to place the triangles within
a dielectric body — in this case the environment is specified by modifying the parameters of
material ‘0’ in the DI card. An additional condition is that the triangles should be geometrically
thin, i.e. d must be small relative to the lateral dimensions. The mesh size is determined by the
wavelength in the environment (i.e. in the medium "e ,µe ). Thus the layers must be thin relative
to the wavelength in the environment.
When used with the MoM, the use of Triangles as thin isotropic dielectric sheet requires that
µ = µe and " 6= "e . For a single layer, the card consists of only one line. The surface impedance,
as used by FEKO, is then
β
Zs = (14-82)
2 jω (" − "e ) sin(β d2 )
p
where β = ω "µ is the propagation constant. An example is given in example_32: RCS of
a thin dielectric sheet in the Scripting Examples provided with the FEKO installation. For
multiple layers the card requires one line per layer with the parameters of the first layer on the
same line as the card name. The approximate surface impedances of the different layers are
added to determine the effective surface impedance.
When used with PO, it is not required that µ = µe or " 6= "e . In this case the order of the layers is
also significant. The layer on the side that the triangle normal vector points to, is specified in the
first line with the remaining layers following in sequence.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-180

Triangles as a thin anisotropic dielectric sheet

This option is very similar to Triangles as thin isotropic dielectric sheet, but the layers are
anisotropic. The principal direction in each layer is defined by the angle α (Angle of princi-
pal direction field) relative to the projection of the vector ζ (Reference direction field) onto the
plane of triangle (in the DI card). Here α is measured in the mathematically positive sense with
respect to the normal vector of the triangle. (POSTFEKO can be used to display the fibre direc-
tion and visually check that the input file is correct.) In this case the card line is followed by an
additional line for each layer. The medium properties in the principle direction is different from
those in the orthogonal direction which lies in the plane of the triangle and orthogonal to the
principal direction.
Parameters:

Reference direction: The x, y and z components of the vector ζ (used to define the principal direc-
tion, see Angle of principal direction).

Layered dielectric label: Label of the layered dielectric medium which will be used (as specified in the
DL card).

User defined surface impedance

With this option a user defined complex surface impedance Zƒ can be used in FEKO. The proper-
ties of the complex surface impedance are defined in the DI card and are used in the SK card by
specifying the label of the surface impedance sheet.
Parameters:

Material label: Label of the material which will be used as the defined surface impedance (as
specified in the DI card).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-181

For instance, to model a solid dielectric object with relative permittivity " r and with conductivity
σ at a specific angular frequency ω = 2 π f , one could use the surface impedance expression

µ0
r
Zƒ = σ . (14-83)
ε0 " r − j ω

October 2013 FEKO User’s Manual


CONTROL CARDS 14-182

14.65 SP card

This card is used to calculate the S-parameters for the active sources.

Parameters:

Request name: The name of the request.

Always add port impedance to existing loads: When S-parameters are computed, each port is automat-
ically loaded by FEKO with the S-parameter reference impedance of the port.
If this option is checked, and the user has manually defined a load at a port,
then the S-parameter load will be added to the existing load at the port. If this
option is not checked, then FEKO is backwards compatible to the behaviour of
the SP card in FEKO Suite 5.1 and earlier: FEKO will automatically add the S-
parameter reference loads at the various ports, but possible user defined loads
of the same load type (see discussion below) will be overwritten (i.e. then not
added) at these ports.

Restore loads after calculation: As discussed above, FEKO automatically adds loads to ports when com-
puting S-parameters. With this option the behaviour can be controlled after the
SP card processing is finished.
When this option is enabled, the automatically added loads will be removed
again, and the load situation (for instance for a subsequent far field request) is
the same as if the SP card was not used. Otherwise, all the loads as set during
the SP card processing will remain in place afterwards. This was the default
behaviour of FEKO Suite 5.1 and earlier. See the discussion below regarding a
potential run-time impact of restoring loads (re-computing the MoM matrix is
required then).

System impedance: The reference impedance in Ohm. This is used for all sources for which no
impedance value is specified when defining the source. If this field is empty, it
defaults to 50 Ω. Note that for waveguide sources (AW card) S-parameters are
always related to the corresponding waveguide impedance.

The N ports must be defined before using the SP card. They are identified simply by defining
excitation cards. Currently only A1, A2, A3, A4, AE, AF, AN, AB and AW sources are supported.
A1, A2 and A3 sources must be selected by label (not with position), and unique labels must be
used (i.e. no other segments or triangles may have a label which is used for a port).
If the amplitude of any port is set to zero, it will be used as a receive port (or sink) but not as
a source. For example, if only S21 and S11 are required for a two port network, one may set the
amplitude of the source defining port 2 exactly to zero. Then S12 and S22 are not calculated — in
certain cases this may save considerable computation time.
The S-parameter load impedance for each of the port sources can be specified at the source
itself. If no such impedance was specified, the System impedance (Ohm) value specified with the

October 2013 FEKO User’s Manual


CONTROL CARDS 14-183

SP card will be used (if this value is not specified it defaults to 50 Ω). This S-parameter load
impedance will be added automatically to each port. The only exception here are waveguide
ports (AW card) and modal ports (AB card), where S-parameters are related directly to the
corresponding waveguide impedance.
It must be noted that except for waveguide ports the SP card adds load impedances to all the
ports. For A1, A2 and A3 sources it uses LZ type loads; for A4 sources it uses L4 type loads; for
AN sources it uses LN type loads and for AE sources it uses LE type loads. If any similar loads
were applied to the source position before the SP card these loads will either be added or will be
overwritten, as controlled by the Always add port impedance to existing loads checkbox.
When execution continues after processing the SP card these loads will either be removed or
kept, as controlled by the checkbox Restore loads after calculation. This makes a difference when
for instance after the SP card the far field is computed by means of an FF card. If the loads
are removed, then the result for the far field pattern is the same as if there was no SP card (i.e.
far field with ports not loaded by the S-parameter reference impedances). The disadvantage of
restoring the loads is that after the SP card processing the loads change and for instance for the
MoM this means that the MoM matrix changes, and in order to compute the far field pattern, a
full extra matrix computation and LU decomposition must be done. If the loads are kept, then
further results are readily available (i.e. the LU decomposed matrix can be re-used).
The original amplitudes and phases of the excitations will, always be restored. It should, however,
be noted that unlike near- or far field computations or other results, the amplitudes and phases
of the excitations at the various ports do not influence the S-parameter results (except for the
special case of setting the amplitude of a port to zero which indicates to FEKO that this is a
passive port only). This is not something special in FEKO, but is how S-parameters are defined
(i.e. results are normalised by the incident port signal). It should in particular also be noted
that setting a phase of 180◦ for the excitation of a port does not change the direction of this
port. One rather physically has to define the port the other way round (e.g. other feed segment
orientation). When viewing a model in POSTFEKO then the arrows always indicate the positive
source direction and the arrows will also not change direction when setting a 180◦ phase on the
excitation.
Note that a request to compute S-parameters is not required for 1-port networks, as the S11
(reflection coefficient for a 1-port network) data will be available since it is always calculated for
voltage and current sources. For current and voltage sources, an additional S-parameter block
will not be computed if the model consist of a 1-port network and an SP card was requested and
the reference impedance remains unchanged. For waveguide and modal ports, S-parameters are
calculated by default in the same way that port impedances are calculated for voltage and current
sources. When a redundant S-parameter request has been made, a warning will be displayed to
indicate to the user that the SP card will be ignored. For n-port networks (with n ≥2) while
processing S-parameter request, source, power and impedance data is not written to *.out and
*.bof files since this was misleading as the effect of port loads were included.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-184

14.66 TL card

This card is used to connect a non-radiating transmission line between FEKO geometry or other
general non-radiating networks or transmission lines. Loads and sources can also be connected
on a transmission line terminal using the LN and AN cards respectively.

Parameters:

Remove all existing transmission lines: If checked, all previously defined transmission lines are deleted.
All the other input parameters are ignored.

New transmission line: Defines a new transmission line, all previously defined transmission lines are
replaced.

Add to existing transmission lines: An additional transmission line is defined.

Network name: The name of the transmission line.

Input port: The input port (start of the transmission line) can be connected to geometry or
other non-radiating ports in a number of ways.

Wire segment label: The label of the segment to which the transmission line
port must be connected. If more than one segment has this label, the
transmission port is connected to the last segment with this label.
Wire segment position: The segment is determined by specifying the Carte-
sian coordinates of the segment centre. These values are in metre and are
scaled by the SF card if Modify all dimension related values is checked.
Internal port: The network name and the network port number of another
network port that has to be connected.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-185

Edge between regions with multiple labels: The positive and negative labels
define the positive and negative terminals of the port connection.
Edge connected to ground/UTD: The positive or negative labels that define
the edge where the network port has to be connected to.
Edge of microstrip between two points: The points that define the edge of
the microstrip line where the network port has to be connected to.
Vertex by segment label: The vertex is determined by specifying a segment
label. Also select whether the start or end point of that segment should
be used.
Vertex by position: The vertex is determined by specifying the Cartesian co-
ordinates of the vertex.

Output port: Same as for Input port, but applies to the end of the transmission line.

Cross input and output ports: The positive port voltage is in the direction of the segment that it is
connected to (from the start to the end point of the segment). Thus the input
and output ports of the transmission line have unique orientations. If this item
is checked the transmission line connecting the ports is crossed.

Calculate length from position: If checked, FEKO determines the length based on the geometrical dis-
tance between the start and end points. Note that this feature is only available
for when both transmission line ports are connected to segments or vertices/n-
odes (the ports do not have to be the same type).

Transmission line length: The length of the transmission line in metres. This value is scaled with the
scaling factor of the SF card.

Losses: Losses of the transmission line in dB/m. Note that since the propagation con-
stant is taken as the propagation constant of the medium in which the start and
end ports are located, the attenuation specified by this parameter is added to
any losses of this medium. This factor is not affected by scaling specified with
the SF card, i.e. if a scaling factor which reduces the length of the transmission
line is added, the total loss through the line will be less. (The length is now
less and the loss per distance remained the same.)

Real part of Zo: Real part of the characteristic impedance of the transmission line in Ohm.

Imaginary part of Zo: Imaginary part of the characteristic impedance of the transmission line in Ohm.
Note that the characteristic impedance only defines the ratio between the volt-
age and current of the two waves propagating along the line. It does not specify
any losses.

Real part of shunt Y at port 1: Real part of the shunt admittance at the input port in Siemens. (This
admittance is across the port, connecting the two wires of the transmission
line.)

Imaginary part of shunt Y at port 1: Imaginary part of the shunt admittance at the input port in Siemens.

Real part of shunt Y at port 2: Real part of the shunt admittance at the output port in Siemens. (This
admittance is across the port, connecting the two wires of the transmission
line.)

Imaginary part of shunt Y at port 2: Imaginary part of the shunt admittance at the output port in
Siemens.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-186

Any load impedance defined over the transmission line port with the LZ, LS, LP, LD, L2, LE, CO
or SK cards are placed in series with the port, parallel admittances can be defined directly at the
TL card. To illustrate this, a transmission line port connected wire segment is discussed here, but
this applies to connections at edges and nodes also. See Figure 14-38 for an illustration of loads
and excitations when doing S-parameter calculations. Figure 14-37 is an illustration of loads and
excitation for calculations that do not form part of a S-parameter calculation.

Figure 14-38: Load placement for S-parameter calcu-


Figure 14-37: Normal load placement. lations.

If a voltage source of type A1 or A3 is applied at one of the port segments, then this voltage source
is assumed to be across the port (i.e. feeding the transmission line directly with an impressed
voltage). Any other sources are in series with the port. If S-parameters are computed with
respect to an excitation on a wire segment to which a TL card is connected, then the LZ load may
not be used at this segment.
Note that the propagation constant and thus also the propagation loss of the transmission line is
the same as that of the medium surrounding the port unless an additional loss tangent is specified
in the Losses field. If this is free space the transmission line will be lossless. For transmission lines
with a propagation constant that is higher than that of the surrounding medium, such as coaxial
cables filled with dielectric material, one needs to reduce the length of the transmission line.
The following guidelines apply to determining the surrounding medium of a transmission line:

• When both ports of a transmission line are internal (not connected to geometry), the prop-
agation constant of the background medium is used for the transmission line.

• If one port of the transmission line is internal, the propagation constant of the medium at
the other port (connected to geometry) is used.

• Should both ports be connected to geometry, the medium of the input port (Port 1) is used
for the propagation constant of the transmission line.

• Additionally, if a transmission line is located inside a planar multilayer substrate, the fol-
lowing applies:

– If the transmission line is connected to geometry:


∗ and lies inside a layer, the propagation constant of the medium of that layer is
used.
∗ and lies on the interface between two layers, the average medium between the
two layers is used for the propagation constant.
– If the transmission line is not connected to geometry:
∗ either the upper or lower medium is used depending on which one is lossless, or
should both be lossless, the one with the greatest propagation constant, |β|, is
used.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-187

Losses in the transmission line network (due to the shunt admittances or transmission line losses
directly) are taken into account and will for instance reduce antenna efficiency or gain.
The TL card is used in example_39 (Scripting examples) to create a log periodic antenna.

October 2013 FEKO User’s Manual


CONTROL CARDS 14-188

14.67 TR card

This card is used to calculate the transmission and reflection coefficients for a plane wave inter-
acting with a planar structure.

Parameters:

Request name: The name of the request.

X, Y, Z coordinate: Cartesian coordinates of the position of the plane wave in m (is scaled by the
SF card).

The transmission coefficient is defined as

Et
τ= . (14-84)
Ei

The reflection coefficient is given as

Er
ρ= . (14-85)
Ei

Figure 14-39 shows the incident, transmitted and reflected electric fields on a planar structure.

incident field Ei reflected field Er

transmitted field E t

Figure 14-39: A plane wave interacting with a planar structure

Note that for a transmission and reflection request, only a single plane wave source is allowed
(i.e. no other sources are allowed in the model). The model must either contain a:

• Planar multilayer substrate without any other geometry/mesh in the model or

• 2D periodic boundary condition (PBC).

October 2013 FEKO User’s Manual


CONTROL CARDS 14-189

14.68 WD card

This card is used to define the dielectric properties of each of the windscreen glass layers. These
layers are placed over the antenna elements by defining the relative position of the top layer w.r.t.
the reference plane (in the direction of the reference plane normal).

Note that the three cards WR (see Section 13.54), WA (see Section 13.52) and WD (see Sec-
tion 14.68) should be used together to create windscreen antenna models. These three cards
respectively define the windscreen reference surface, windscreen solution elements (antenna)
and the windscreen layered media definition.
Parameters:

Windscreen name: The name of the windscreen.

Offset of top layer (Offset L): The distance from the reference to the top of layer 1.

Layered dielectric name: The label of the layered medium to be used, as defined in the DL card.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-1

15 General modelling guidelines

15.1 Program flow

Models are generally constructed in CADFEKO. The model information is saved to the *.cfx file
and the workspace layout to the *.cfs file. Next the user runs PREFEKO — launched from the
CADFEKO Run menu — which processes the *.cfm and *.pre files (created automatically by
CADFEKO during the save operation) and generates the *.fek file. The *.fek file is the input
to the solution kernel, FEKO. (When running FEKO from the CADFEKO Run menu, PREFEKO is
executed automatically if the user has not yet done so.) The FEKO output is stored in the binary
*.bof file from which the results can be viewed in POSTFEKO. The results are also stored in the
*.out file.
Where an optimisation has been defined in CADFEKO, the relevant optimisation information is
written to the *.opt file and optimisation-specific visualisation quantities are saved to a spe-
cial POSTFEKO graph file (*.pfg). The user may launch the optimiser (OPTFEKO) from the
CADFEKO Run menu. The optimiser will automatically launch the other FEKO Suite components
as required during the optimisation process. During the optimisation process, general iteration-
specific results as well as optimisation process-specific information can be viewed in POSTFEKO.
Once the optimisation process has completed, the optimum model as well as a full set of results
are available for viewing in POSTFEKO.
For advanced models, the user may elect to edit the *.pre file. This allows using the scripting
commands and provides complete control of the solution process. (See the section working with
CADFEKO models in EDITFEKO (see Section 3.14) and the advanced discussion on program flow
when using EDITFEKO (see Section 12.1)).
If the *.pre file is manually edited, it is a good idea to validate the model in POSTFEKO before
executing FEKO or OPTFEKO.

Contents
15.1 Program flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.2 Modelling and meshing guidelines . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.3 Dielectric solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
15.4 Checking the validity of the results . . . . . . . . . . . . . . . . . . . . . . . . . 15-8

15.2 Modelling and meshing guidelines

15.2.1 Definitions and terms

Below are a number of definitions that are used frequently in this manual:
Segment : A short section of a wire (short in comparison with the wavelength).
Cuboid : A volume element used to model dielectric and magnetic solids with the volume
equivalence method in the MoM. It has 90◦ corners similar to a cube, but does not need to
have equal side lengths. (Cuboid mesh elements can only be created in EDITFEKO.)

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-2

Tetrahedron : 3D tetrahedral shaped volume element used for discretisation of dielectric re-
gions to be solved with the FEM.
Polygon : A planar surface element with straight edge boundaries. This can be a primitive poly-
gon (which will be subdivided into triangles) or a polygonal plate (which is not discretised
and will be solved with the UTD).
Vertex : Any end point of a mesh segment or corner of a mesh element (triangle, tetrahedron,
etc.)
Node : The point where two segments are joined is called a node. One basis function is assigned
to each node.
Edge : In the geometry an edge is any free curve (these are also-called wires) or any boundary
curve of a surface. All free curves are discretised into wire-segments during meshing.
When used in connection with triangular mesh elements on a surface, the term edge refers
to the common line between two adjacent triangles. (If three triangles share two vertices,
there are two edges associated with these triangles.) If the surface is a metal, then one
basis function is assigned to each edge. If the surface is a dielectric to be solved with the
surface current method, then two basis functions are assigned to each edge, one for the
equivalent electric current density and one for the equivalent magnetic current density. A
free edge belongs to only one triangle. Unless this is in a ground plane or on a polygonal
plate, no current flows across this edge.
Connection point A connection point is where a segment is joined to a triangle. The end of
the segment is connected to the vertex of the triangle. A basis function is assigned to each
connection point.

Conducting surfaces are subdivided into triangles, and wires into segments. For dielectrics, there
are a number of possibilities (see Section 15.3). Using the surface current method the surface of
the dielectric solid is subdivided into triangles, whereas with the volume current method, solid
dielectrics are subdivided into cuboids. For the FEM, the mesh is based on tetrahedral volume
elements. Thin dielectric sheets are meshed into triangles located along the middle of the sheet.
For structures that employ special solution methods (UTD, PO and GO - ray launching) special
meshing rules apply. Metal faces that employ the UTD approximation are not meshed. Metal
or dielectric surfaces that employ the PO approximation use a triangular meshing similar to the
standard meshing.
The meshing for surfaces to be considered using Geometrical optics (ray launching) is a triangular
mesh, but the required mesh size should in general be frequency-independent. For GO surfaces,
the largest possible mesh size should be used that will provide an acceptable representation of
the surface geometry.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-3

15.2.2 Meshing guidelines regarding element sizes

During meshing the following general rules should be adhered to:

Segments

• The segment length l should be smaller than a tenth of the free space wavelength.

• Note also that the segment current flows only in the axial direction. Thus segments should
not be too short relative to the wire radius. Ideally the segment length should be at least
four times the radius.

• When modelling a conductive surface by means of a wire grid, the radius should be chosen
so that the wire area in one direction is approximately the same as the area of the original
surface. This leads to
l
r ≈ , (15-1)

where r is the radius and l is the segment length which should be about a tenth of a
wavelength.

Surface mesh elements

• For MoM and PO mesh elements, the area A of each triangular element should be smaller
2
than λ70 . For triangles that are approximately equilateral this means the side length s should
λ
be shorter than approximately (5...6) . Depending on the geometry and the required accuracy,
more or less triangles may be needed. If the memory constraints allow it, an edge length
λ
of (8...10) is preferred.

• For large element PO mesh elements, the area A of each triangular element should be
smaller than 2λ2 when near field requests are present. The allowed edge length for when
near field requests are present should be 2λ. If only far field requests are present, the trian-
gles only need to represent the geometry accurately, regardless of frequency or wavelength.

• For dielectric surfaces to be solved using the GO (ray launching) method, the maximum
triangular mesh element size should be chosen such that the geometry of the surface is
well represented. For this method, the mesh size should be chosen independent of the
solution frequency, and should be purely a function of the accuracy of the geometrical
representation.

• The edge length of dielectric cuboids has to be small in comparison with the wavelength in
the dielectric as well as the skin depth

2
r
δ= . (15-2)
ωµσ

Due to the staircase approximation used in representing the model geometry, a mesh size
of at least the minimum between a tenth of the wavelength and a tenth of the skin depth
is recommended.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-4

Volume mesh elements

When meshing the FEM region into tetrahedral volume elements, the element size (edge length
of the tetrahedra) should be about a fifth of the wavelength inside of the dielectric medium in
question. For the elements right on the FEM/MoM interface, a finer element size of about a tenth
of the medium wavelength is recommended. The reason that a coarser mesh can be employed
inside the medium is that higher order basis functions are employed for the FEM solution.
Sometimes the overall memory requirement for a solution may be reduced by adding a small air
region or buffer around the actual dielectric object. This region is also meshed into tetrahedral
elements (i.e. the buffer region is also solved with the FEM). Since the wavelength in air is larger
than in the dielectric, larger tetrahedral elements can then be used in the buffer regions and
at the FEM/MoM interface. This reduces the memory requirement for the FEM/MoM coupling
arrays. This memory reduction is typically much higher than the additional memory required to
solve the additional tetrahedral elements added in the air buffer zone.
In cases where accurate modelling of the geometry requires significantly finer mesh elements
than specified by the guidelines above. (For low frequencies in particular, the segmentation
rule of a tenth of a wavelength is often much too coarse to yield a reasonable representation
of the geometry.) One example of where finer discretisation may be required is where a wire
runs parallel to a conducting plate. If the wire is closer than a tenth of a wavelength to the
plate, the size of the triangles in the direction orthogonal to the wire should be similar to the
distance from the wire to the plate in order to give an accurate representation of the surface
charge distribution. Another case where finer discretisation may be required is on waveguide
ports, where the mesh size must be small enough to capture the field distribution of the highest
mode which is included in the modal expansion of the port. More information may be found in
the discussion of waveguide ports (see Section 14.22).
If the segmentation rules are not adhered to, the errors and warnings listed in Table 15-1 will be
reported by the FEKO kernel.

15.2.3 Meshing guidelines regarding connectivity

The MoM

FEKO approximates the current in terms of basis functions associated with edges, nodes and con-
nection points as defined above (see Section 15.2.1). To ensure electrical connectivity, triangles
must therefore share an edge. Similarly, segments must connect to other segments at nodes or to
mesh triangles at vertices. Examples are shown in Figure 15-1.

The UTD and GO

For the special case, where the UTD method is applied to unmeshed polygon plates, there is no
defined connectivity between plates that share an edge.
For GO, the connectivity should generally be maintained, though this is not required. When
meshing the faces of a GO region, it is good practice to ensure that the meshes on faces that
touch do align to achieve a good geometric representation.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-5

Table 15-1: Segmentation warnings and errors.

Description Warning Error


Ratio of the segment length to the wavelength l > 0.3λ l > 0.5λ
Ratio of the segment radius to the segment length r > 0.3l r > 1.0l
1 2 1 2
Ratio of the triangle area to the wavelength squared (MoM A> 30
λ A> 10
λ
RWG or order 0.5 basis function)
9 2 9 2
Ratio of the triangle area to the wavelength squared (MoM A> 30
λ A> 10
λ
order 1.5 basis function)
25 2
Ratio of the triangle area to the wavelength squared (MoM A> 30
λ A > 2.5λ2
order 2.5 basis function)
10 2
Ratio of the triangle area to the wavelength squared (MoM A> 3
λ A > 10λ2
order 3.5 basis function)
Ratio of the triangle area to the wavelength squared for large A > 2λ2 A > 6λ2
element PO (if near fields present)
Ratio of wire radius to the triangle edge length at a r ≥ 3.33l r ≥ 5l
connection point
Ratio of the cuboid edge length to the wavelength l > 14 λ l > 12 λ
Ratio of the cuboid edge length to the skin depth l > 15 δ l > 13 δ
Ratio of the tetrahedral face area to the wavelength squared A > 0.047λ2 A > 0.433λ2
(inner mesh elements)
Ratio of the tetrahedral face area to the wavelength squared A > 0.033λ2 A > 0.108λ2
(boundary surface mesh elements)
1 1
Ratio of the area of the triangle on a waveguide port to the A> 30
T2 A> 10
T2
smallest modal period squared

Figure 15-1: Example of mesh connectivity: unconnected at the top, connected at the bottom

The FEM

When meshing dielectric solids into tetrahedral elements for the FEM, the faces of adjacent tetra-
hedra must match. In addition, when modelling conducting surfaces in or on the FEM region,
the metallic triangles must match the faces of the tetrahedral volume elements. See Figure 15-2.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-6

Figure 15-2: Example of FEM element connectivity: invalid left, correct right

General

CADFEKO generally enforces meshing rules regarding connectivity for each part. Therefore,
connected items should be unioned (see Section 3.3.15) together before meshing them. It is,
however, still important that the model is of decent quality. If, for example, a wire is attached to
a surface, but due to numerical error it is more than the model tolerance (see Section 3.3.7) away
from the actual surface CADFEKO will not create a vertex in the surface mesh at the attachment
point. (It is possible to union two objects that do not touch each other at all.) The wire will then
not be considered electrically connected to the surface during the solution phase.
The FEKO kernel has several checks built in and will give errors if, for example, the mesh contains
overlapping triangles. CADFEKO also has several checks (see Section 3.10.9) which the user can
perform before trying to solve the model.

15.3 Dielectric solids

There are numerous ways to model dielectric objects in FEKO, three of which apply to arbitrarily
shaped bodies:

• Surface equivalence principle:


Method of moments (MoM) generally uses the surface equivalence principle for modelling
of dielectric bodies. In this method, interfaces between different homogeneous regions
are subdivided into a surface mesh using triangular elements. Basis functions are applied
to these elements for the equivalent electric and equivalent magnetic surface currents.
Boundary conditions result through the use of equivalent sources.
For models constructed in CADFEKO this method is used by default on all dielectric regions
(see Section 3.13.2) that are not explicitly meshed into tetrahedral volume elements (see
Section 3.10.1).
When working with models in EDITFEKO, medium regions are defined with the ME card
(see Section 13.32). This uses the normal vector of the triangles to distinguish the respec-
tive dielectric media on either side of the mesh elements. It is generally advisable to check
the respective media regions in POSTFEKO before running the FEKO solver.

• Volume equivalence principle:


MoM can also be applied with the volume equivalence principle. Here the volume is subdi-
vided into cuboidal elements in EDITFEKO and tetrahedral elements in CADFEKO. In prin-
ciple, each element can be assigned a different material property. Inside the element the

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-7

polarisation current is unknown. Normally a volume would have many more unknowns
than a surface mesh, such that this method would require more memory. However, this
technique is very suitable for thin sheets and is also very stable for low frequencies. The for-
mulation is very stable, and thus when using MLFMM the number of iterations is typically
small. In EDITFEKO is accessed using the DK (see Section 13.10), DZ (see Section 13.12)
or QU (see Section 13.42).

• Finite element method:


As an alternative to the MoM, the finite mlement method (FEM) is also available in FEKO.
It requires that 3D volumes are discretised into tetrahedral elements. FEM matrices are
sparse, as opposed to the MoM, and the memory requirement for a FEM volume mesh is
much less than a MoM volume mesh of the same model. This method is automatically used
for regions in the model that contain tetrahedral elements.

In CADFEKO models, the medium properties are specified when defining the dielectric medium
(see Section 3.3.2). In EDITFEKO, medium properties are specified with the DI card (see Sec-
tion 14.33).
For the surface equivalence principle, it is possible to define metallic triangles on the surfaces
and triangles and segments within the dielectric regions. With the volume equivalence principle,
there must be a small space between the cuboids and any conducting triangles on the surface of
the dielectric. Metallic triangles can also be located inside FEM regions, but they have to coincide
with tetrahedral surfaces.
Two additional methods that are available for dielectric bodies are Physical optics and Geo-
metrical optics (ray launching). These are approximate methods with special limitations and
application methods.
The model geometry (e.g. metallic wires and surfaces) does not necessarily have to be embedded
in free space. In CADFEKO the properties of the free space (see Section 3.3.2) medium may be
changed. In EDITFEKO the EG, DI and GF cards can be used to specify the material parameters
of the surrounding medium.

Special dielectrics and infinite planes

Apart from the general formulations applicable to dielectrics, there are a number of special meth-
ods to account for dielectric sheets and coatings as well as special dielectric bodies in FEKO:

• Thin dielectric sheets:


The volume equivalence principle is applied and the resulting equivalent currents approxi-
mated by a surface current.

• Dielectric coatings:
Metallic wires or triangular surface patches can have a thin dielectric coating.

• Dielectric half-space e.g. ground surface:


In this case the reflection coefficient method is used. This is activated by using infinite
planes (see Section 3.3.8) under Solution in CADFEKO or the BO card (see Section 14.23)
in EDITFEKO.

October 2013 FEKO User’s Manual


GENERAL MODELLING GUIDELINES 15-8

• Spheres consisting of one or more dielectric layers:


A special Green’s function can be activated by using the GF card (see Section 14.40) in
EDITFEKO.

• Planar multilayer substrate:


A multilayer planar substrate (with or without a perfectly conducting ground planes at
the top and bottom) is added to the model using infinite planes (see Section 3.3.8) under
Solution in CADFEKO or the GF card (see Section 14.40) in EDITFEKO.

• Windscreen:
The active windscreen antenna elements can be activated by using the WA card (see Sec-
tion 13.52) in EDITFEKO. The dielectric windscreen reference plane is defined by the WR
card (see Section 13.54) in EDITFEKO. Dielectric properties of the glass layers can be de-
fined by the WD card (see Section 14.68).

In CADFEKO, thin dielectric sheets and coatings are applied to faces (see Section 3.13.3). In
EDITFEKO, thin dielectric sheets are defined by applying the SK card (see Section 14.64) and
coatings by applying the CO card (see Section 14.29) to triangle labels.

15.4 Checking the validity of the results

Once a calculation has been completed with FEKO, the results have to be checked or confirmed.
There are a number of ways of doing this:

• Comparison with exact results, if these are available.


• Comparison with results that have been published in the literature.
• Comparison with results generated using another computational method.
• Comparison with measured results.
• Plausibility, e.g. negative real input impedances do not exist.

If these possibilities are not available, then the following process may be tried:

• After a calculation with FEKO, repeat it with a finer mesh. The number of elements should
be at least 1.5 times greater than with the initial calculation. If there is a large difference in
the results, then the results cannot be considered correct. In this case the model should be
refined, either by improving the meshing, or by consideration of other factors that may in-
fluence the results, for example the validity of the techniques used. Any warnings provided
by the FEKO kernel during the solution phase should be carefully considered as these are
often an indication of the source of inaccuracies in results.
• Perform a power balance check. The power fed into an antenna through the source must
be equal to the sum of the radiated power and any losses in the antenna material. The
radiated power is automatically calculated for the specified sector if the required far field
calculation has two or more angles in each angular direction, while the losses in materials
are always calculated. These values can be extracted from the *.out file and used to
confirm the power balance.

October 2013 FEKO User’s Manual


Part V

Working with SECFEKO


THE PROGRAM SECFEKO 16-1

16 The program SECFEKO

16.1 Introduction to SECFEKO

The FEKO licence manager shows all the licences in the specified secfeko.dat file (for node-
locked licences) or connects to the floating licence servers and retrieves licence information. This
allows viewing the active components/modules, limits and expiry dates of all licences in a clear
human readable form. In addition — for floating licences — it allows viewing the available
licences, selecting which licence to use, and managing the licences that are in use. See also the
section on floating licences in the FEKO Installation Guide, in particular if the floating licence
servers must be installed or activated.
The graphical licence manager is only available for MS Windows and Linux. For other platforms
(but also for Windows and Linux) a similar functionality is provided by a command line utility
SECFEKO (see Section 16.5). For more information refer to the Floating Licence section of the
FEKO Installation Guide where the options are discussed.
The licence manager is started by typing secfeko_gui from a console window. Under MS
Windows it may also be started by selecting Licence manager from the FEKO menu under the
Windows Start menu.

Contents
16.1 Introduction to SECFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.2 Displaying licence information . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.3 Managing floating licences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
16.4 Determining machine codes and creating licence requests . . . . . . . . . . 16-6
16.5 SECFEKO command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6

16.2 Displaying licence information

Information regarding the licences are indicated by the following colours:

green: Node-locked licences are indicated by green. Note that FEKO will always use
the first valid node-locked license if a preferred license has not been set. There
should generally only be one valid licence on each machine.

cyan: Floating licences are indicated in cyan.

orange: Excluded licences are shown in orange, see Section 16.3.3.

red: Expired licences are indicated in red. If only the Maintenance and Support
expiry date is filled in red, it indicates a valid licence but without maintenance
and support.

Figure 16-1 shows the licence manager with an excluded licence, floating licence, expired main-
tenance and support, expired licence and node-locked licence.

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-2

Figure 16-1: The licence manager showing an excluded, floating, expired maintenance and support, ex-
pired and node-locked licences.

The licence manager will, by default, open the file %FEKO_HOME%/license/secfeko.dat


which is also used by all FEKO components. The user may, however, also uncheck Default li-
cence file and browse for an alternative file, for example to check the information in a new
secfeko.dat file before replacing an existing licence file. If Local mode is checked, floating
licences are displayed without connecting to the server.
The main table displays — for each licence — the hostname (if available) where the licence is
valid, the licence expiry date, the maintenance and support expiry date, the highest allowed ver-
sion (older versions can usually be used with newer licence files, but not the other way around),
the pricing category, the memory limit if there is one, and the number of parallel processes al-
lowed if applicable.
For the pricing category, the following options are available: Bronze, Silver, Gold or Platinum
(please refer to the FEKO Installation Guide for more information). An additional Premium option
is available for floating licences which allows the GUI and kernel components to be checked out
by separate users.
Each licence also contains the following information, shown in Figure 16-2 (click on the icon to
the left of the licence to expand/contract it):

• Machine code: Expanding this item shows the machine code of the machine where this
licence is valid. (Only shown for node-locked licences.)

• Components: This item lists all the components (for example, CADFEKO, FEKO, RUNFEKO,
etc.) which are activated in this licence.

• Modules: The modules and extensions that are active.

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-3

Figure 16-2: The licence manager displaying the Machine code.

16.3 Managing floating licences

Figure 16-3 shows the licence manager with a typical floating licence. If the secfeko.dat
file contains one or more floating licence servers, then this information (server names and port
numbers) is displayed at the top of the licence manager. This also includes the status of a floating
licence server, whether it is active or not. See the discussion of installing and setting up floating
licences in the FEKO Installation Guide. A quorum of licence servers must be active for the FEKO
floating licence scheme to work (so if you have one server this must be active, but if you are
running three redundant floating licence servers, then at least two of them must be active).
The Update button allows the user to update the state of the licences. (Note that floating licences
are checked in and out as they are being used, thus this information is not static as is the case
with node-locked licences.)

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-4

Figure 16-3: The licence manager with typical licences.

With the exception of the machine code of each licence, all the information displayed for node-
locked licences is also applicable to floating licences. For both floating and node-locked licences,
a line with a green background indicates a preferred licence (see Section 16.3.1) and a line with
a light blue background indicates a licence that is in use.
For each licence that is in use, the table displays the user and hostname where this licence is
used, and the Parallel column indicates how many solver instances are available. (If a user has
a 16 node licence, he may start two concurrent 8 process parallel jobs, but not an 8 process job
and a 10 process job.)
In addition, expanding the licence shows information on when the licence was checked out and
what components are in use. The user and hostname to which each component has been checked
out to, as well as the process ID (PID), is shown for each component. This allows each component
process to be uniquely identified and located for administrative and tracking purposes. It is
possible to manually check in a licence to make it available for a new user (see Section 16.3.2).

16.3.1 Concept of a preferred licence

When a new licence is requested, the floating licence server will check out the first available
licence. Where users have multiple licences they may not necessarily be identical. (Licences may,
for example, be memory limited GUI licences, or a CAD import module may not be activated only
in all licences.) In this case the first available licence may not be the desired one.
The licensing supports the setting of a preferred license for both floating and node-locked li-
censes. Right click on any licence and select Mark as preferred from the context menu. The
preferred licence is listed at the top right of the licence manager. The next time a new licence is
requested, this preferred one will be used if it is still available. (The preferred licence can also
be selected by clicking on the licence and selecting Server → Set preferred licence from the main
menu.)

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-5

Click the Clear button or select Server → Clear preferred licence from the main menu to remove
the preferred licence. When using a floating licence, since the server will just use the first avail-
able licence if the preferred licence is already in use, there is very little need for an individual user
to clear his preferred licence. However, if your company has one full and a number of limited
GUI licences you should not check out the full licence while just setting up your model — then
nobody else can use this and you could possibly have used one of the GUI licences.
Finally, note that all licence requests from the same user and the same machine will use the same
licence. Thus if you set a preferred licence while you have other FEKO components running (the
licence manager does not require a licence), the new licence will only be used once you have
closed all components and opened a new one.

16.3.2 Managing floating licence servers

While a licence is checked out, nobody else can use that licence. It may happen that a user has
say CADFEKO open on his machine while he is on leave, or that the licence is urgently needed for
another run and the user is not available to stop his run. The licence manager therefore allows
checking in a licence so that it becomes available again. Right click on the licence and select
Check in licence from the resulting context menu, or click on the licence and select Server →
Check in licence from the main menu. For security reasons, this check in operation is allowed
only for users with administrative privileges (Windows) or the root user (UNIX) or the user who
has initially checked out this particular licence.
If a licence has been checked in manually, all running components using that licence will fail
the next time they check the licence server. In the case of the solver components (RUNFEKO,
PREFEKO, FEKO, ADAPTFEKO and OPTFEKO) the error is fatal and the entire solution will be
lost. The GUI components (CADFEKO, POSTFEKO and EDITFEKO) will close after giving the
user an option to save the current model. Thus it is usually preferred to only use this manual
check-in feature when only GUI components are checked out for a particular licence, and if these
GUI components cannot be closed directly.
In addition, the Server item on the main menu allows Shutdown and Reset. If multiple redun-
dant floating licence servers are used, then both Reset and Shutdown apply to all the running
and active servers. For security reasons, both these operations are restricted to users with ad-
ministrative privileges (Windows) or the root user (UNIX) or the user account under which the
licence server is running. Generally it should only be necessary to Reset the licence server when
modifying the licence file (for example when obtaining a new licence file or when changing the
TCP port). Note that resetting the licence server will check in all licences, so that all active user
jobs will be terminated similar to when checking in individual licences. Users should not need
the Shutdown option unless the floating licence server executable needs to be updated with a
newer one. Note also that once the licence server has been shut down it must be restarted on the
server itself — the licence manager cannot connect to the service if it is not running (for multiple
redundant floating licence servers each must be restarted individually). Please check the FEKO
Installation Guide, for further instructions on the floating licence server installation and startup.

16.3.3 Allow or deny usage of certain floating licences

Upon startup, the floating licence server SECFEKO will in addition to reading the licence file
secfeko.dat, also read a configuration file secfeko.cfg. The configuration file defines the

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-6

EXCLUDE and the INCLUDE rules for the licences. The same strategy as used for searching for
the licence file will be used to locate the configuration file, namely the %FEKO_HOME%\license,
but if the environment variable FEKO_LICENSE_FILE is set, the floating licence manager will
try to locate the configuration file from the specified directory. If the configuration file is not in
the directory as set by the environment variable, the default setting will apply. By default (when
the configuration file is unavailable or no rule is specified) a floating licence can be checked out
by anybody, from any host.
An INCLUDE rule will result in only specified users or hosts to check out a particular licence. An
EXCLUDE rule can be set that will enable all users or hosts except those specified by the rule to
be able to check out the licence. Note that an INCLUDE and EXCLUDE rule is not allowed for the
same licence, although multiple INCLUDE or multiple EXCLUDE rules are allowed for the same
licence.

Syntax of configuration files

Comment lines are indicated by empty lines or lines starting with a # symbol. The INCLUDE
statement is shown in the following example.
INCLUDE <licence_number> USER <username>
INCLUDE <licence_number> HOST <hostname or IP address>

The use of wildcards are also allowed in the hostname or IP address.


INCLUDE <licence_number> HOST node-*

The same rules apply when creating EXCLUDE rules.


EXCLUDE <licence_number> USER <username>
EXCLUDE <licence_number> HOST <hostname or IP address>

16.4 Determining the machine code and creating licence requests

The machine codes of the current machine can be displayed by selecting Info → Machine code
info from the licence manager main menu. All licences that match any of these machine codes
will be valid on this machine.
By selecting Info → Create request file, a file that contains all of the relevant information for the
creation of a new licence for the machine will be generated. This request file is created in the
license subdirectory of the FEKO installation and can be used to request a new licence file for
the machine as described in the FEKO installation guide.

16.5 SECFEKO command line

The program SECFEKO can also be controlled from a command line. The command line options
available are discussed in the following table.

-m Print the FEKO machine codes for this machine.

-p Print licence status summary in a table. Included in this summary report will be a line
for each floating licence indicating their respective status.

October 2013 FEKO User’s Manual


THE PROGRAM SECFEKO 16-7

-r Reset the floating licence servers (note that this will reset all FEKO licences and then
reread the licence file and start the servers again).

-s Shutdown all floating licence servers (note that this will reset all FEKO licences, and
the licence servers must be started manually again).

-slocal Shutdown the floating licence server running on this machine (note that the licence
server must be started manually again).

-e xxx Set licence no. xxx to be the preferred licence to be checked out by you from this host
(one can reset a previously selected licence by using the licence number 0, i.e. by using
the option -e 0).

-c xxx Manually check in licence no. xxx into licence server (normally not required to be done
only possibly after a power failure or similar).

-f xxx Instead of using the default FEKO licence file secfeko.dat in the default directory, we
use an alternative licence file xxx.

-q Quiet mode, don’t ask user for confirmation.

−−version Print the version information and then exit.

−−delay Special internal delay during version output.

−−run-from-gui Special execution mode for the graphical user interface.

−−local-mode For floating licences no connection will be made to the floating licence server, only the
local licence file will be parsed (option only applicable with -p).

October 2013 FEKO User’s Manual


Part VI

Working with QUEUEFEKO


INTRODUCTION TO QUEUEFEKO 17-1

17 Introduction to QUEUEFEKO

QUEUEFEKO (and the GUI component QUEUEFEKO_GUI) facilitates the creation of a package
which can be transported to a remote queuing system. These packages can be placed in an
execution queue (such as PBS) and executed when time and other resources become available.
All the information required to run FEKO on the cluster is included in the package. The package
is extracted on the remote machine and repackaged once the simulation has been completed.
Results can be viewed by copying the correct package back from the cluster and extracting the
contents.
Packages can optionally be encrypted to allow secure transfer of models and results between the
user’s local machine and the remote cluster. Various options are available for the encryption of
packages (see Section 17.2.5).
QUEUEFEKO is not a queuing system, but allows users to create packages that contain all the re-
quired files and information to successfully add a job to a queuing system. A compatible queuing
system must be set up separately.

Contents
17.1 QUEUEFEKO system overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
17.2 Creating and extracting packages . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.3 Setting preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6

17.1 QUEUEFEKO system overview

QUEUEFEKO_GUI is a graphical interface that allows users to create and extract packages. QUEUE-
FEKO is a console application that adds a package to an execution queue and takes care of all
the management tasks required for the successful execution of the simulation. QUEUEFEKO_GUI
is used on the users’s local machine for package configuration, creation and extraction, while
QUEUEFEKO runs on the remote cluster and oversees the simulation described in the package.
Figure 17-1 is a flowchart describing the general process of using QUEUEFEKO_GUI and QUEUE-
FEKO.

October 2013 FEKO User’s Manual


INTRODUCTION TO QUEUEFEKO 17-2

Figure 17-1: Remote execution scenario highlighting QUEUEFEKO’s role.

17.2 Creating and extracting packages

The following steps should be followed in order to generate a new package for remote execution.
Each step in the process is discussed in the sections that follow.

• Create a new configuration file (or edit an existing configuration file) (see Section 17.2.1).

• Set the configuration options (see Sections 17.2.2 to 17.2.5).

• Generate the package (see Section 17.2.6).

• Add the package to the execution queue (see Section 17.2.7).

• Extract the package containing the simulation results (see Section 17.2.8).

17.2.1 Package configuration files

The QUEUEFEKO_GUI allows a user to easily create packages with similar settings by storing
these settings in a package configuration file. The package configuration is not the package itself,
but it contains all the information required to create a package. The QUEUEFEKO_GUI allows
the user to access all the settings required to control the simulation and the queueing process.
Once all the settings have been configured, package creation is as simple as choosing a name for
the package.
A new package configuration file can either be created by selecting File → New configuration or
by opening an existing configuration file by selecting File → Open configuration.
When a new configuration is created, a dialog (Figure 17-2) is displayed containing the most
often used settings from all three categories (files, FEKO options, cluster settings).
These settings can be adjusted after a new package configuration file is created by selecting the
FEKO or Cluster tabs on the main window.

October 2013 FEKO User’s Manual


INTRODUCTION TO QUEUEFEKO 17-3

Figure 17-2: New package configuration dialog.

17.2.2 Including package files

The files required to perform the simulation are determined by reading the *.pre file. Files that
are not required for the simulation (but still form part of the FEKO project) are not included
in the package by default, but can be added manually. Unnecessary files are not included to
minimise upload times to the remote cluster.
Package file selection is controlled by the items in the Package→File selection menu. The avail-
able options are:

Select a different *.pre file to be the new base file for this package.

Add additional files to the package.

Remove a file from the package.


Figure 17-3 shows a package where two of the files (startup.pre and startup.cfm)
have been included since they are required for the simulation, but the file network.s2p has
been added manually.

Figure 17-3: QUEUEFEKO_GUI showing the list of files that will be included in the package.

October 2013 FEKO User’s Manual


INTRODUCTION TO QUEUEFEKO 17-4

Note that all package files must be located either in the same directory as the base *.pre file,
or in a subdirectory inside the base directory. This is required since the files are packaged with
the directory structure intact. The directory containing the base *.pre file is considered the root
directory of the package.

17.2.3 FEKO options

Start by selecting the FEKO component (Figure 17-4) that should be launched. Each of the
components that form part of the simulation have options that can be set. The Advanced edit box
on each of the component tabs allow additional command line parameters to be specified that
are not available in the graphical interface.

Figure 17-4: The FEKO component dialog.

The most important FEKO kernel option is to specify the number of processors that should be
used.

17.2.4 CLUSTER options

The remote cluster options allow a user to define the specific job queue that should be used and
the manner in which the user should be notified when the job starts and completes. Additionally,
resources such as RAM and run time required for the simulation must also be specified. The
wallclock time and RAM fields are required; all other fields are optional. Figure 17-5 shows the
options available for the cluster.

17.2.5 Using encryption (optional)

The package can be encrypted, allowing for secure transfer of models and results between the
user’s local machine and the remote cluster. Package encryption is only possible if the user has
an encryption engine installed locally that is compatible with the encryption engine installed on
the remote cluster, and also has the public key of the remote cluster.

October 2013 FEKO User’s Manual


INTRODUCTION TO QUEUEFEKO 17-5

Figure 17-5: Options available for the remote cluster in QUEUEFEKO.

The Security dialog shown in Figure 17-6 allows encryption to be enabled or disabled for the
package, and allows selecting users who will be able to decrypt the input and output packages. It
is important that the remote cluster be chosen as one of the users that will be able to decrypt the
input package, otherwise QUEUEFEKO will not be able to extract and simulate the model. Also,
remember to add yourself to the list of users that will be able to decrypt the result package!

Figure 17-6: Security options available in QUEUEFEKO.

October 2013 FEKO User’s Manual


INTRODUCTION TO QUEUEFEKO 17-6

17.2.6 Generate package

A new package can be generated by selecting Package → Generate package.


The user will be prompted to enter the destination path of the newly created package.
Packages are created with a .pkg extention.

17.2.7 Adding the package to the execution queue

The package is transferred to the remote cluster where it is placed in an execution queue. Users
using the CrunchYard website can simply upload the package to the website and mark the pack-
age for execution. For other clusters the file may be copied and added to the PBS queue manually.
On the cluster machine, the package is added to the queue using the following command:
queuefeko mypackage.pkg

Simulation of the package will commence as specified by the user in the package configuration
file.

17.2.8 Extract package

After the simulation has completed, a new output package (*.output.pkg) will be available
for downloading from the remote cluster machine to the local machine. The package can be
extracted using the QUEUEFEKO_GUI.

A package is extracted by selecting Package → Extract package, selecting the package to


extract and selecting the location on the disk where the contents of the package should
be extracted to. Once the package has been extracted, the entire directory contents as it was on
the remote machine is made available on the local machine.

17.2.9 Decryption of package (if required)

The package will be decrypted using the first available local Private key. If it was protected by a
passphrase, the user will be prompted to enter it. The typed characters are not saved, but sent
directly to the encryption engine for verification.

17.2.10 View results

Results obtained from the remote cluster machine can now be viewed in POSTFEKO on the user’s
local machine as if the simulation was run locally.

17.3 Setting preferences

The Preferences dialog allows the user to specify the PDF viewer to be used when opening the
FEKO user manual, as well as the encryption engine that should be used. Currently only GNU
Privacy Guard is supported.

October 2013 FEKO User’s Manual


Part VII

Preprocessing and the FEKO solver


THE PREPROCESSOR PREFEKO 18-1

18 The preprocessor PREFEKO

18.1 Description

The surface of the structure to be analysed with the program FEKO, has to be subdivided into
elementary surfaces. Wires have to be subdivided into segments. The mesh size is dependent on
the wavelength in the medium surrounding the structure. The program PREFEKO can do all the
meshing. It automatically generates the geometric data, in the form required by FEKO, from the
data given by the user. The mesh density is controlled by a couple of parameters. PREFEKO also
imports mesh geometry, for example constructed in CADFEKO, integrating it with the final FEKO
input file.
This section describes the principal workings of the program. The user first defines the location
of points in space with the DP card. Structures are then defined in terms of these points. For
example, two points may be joined to form a line (BL card), or four points for a parallelogram
(BP card).

Contents
18.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1
18.2 Running PREFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1

18.2 Running PREFEKO

If, for example, a file example.pre has been created using a text editor, PREFEKO is started
using the following command:
prefeko example

After successful execution a file example.fek, is created. This is the input file for FEKO. The
program PREFEKO allows a number of options, which are mainly used for debugging purposes.
Entering prefeko without arguments will give an overview of the syntax and supported options.
The options available for PREFEKO are listed below:

−−version Print the version information and then exit.

−−fek-format x Write the *.fek file in the x th file format.

-#var=value Set a variable #var to the value value.


-d Debug mode with extra output (can be used to troubleshoot errors)

−−ignore-errors Error messages are non-fatal, i.e. PREFEKO will continue with the processing after
encountering errors. This can result in more errors as a consequence of the first one,
but it could also be useful to see all geometry modelling errors at once, and not always
the first one only.

−−print-variables Print a list of all variables (name, value, comment) to stdout. The output also
includes info whether the variable is set for the first time or whether the value of an
existing variable is changed.

October 2013 FEKO User’s Manual


THE PREPROCESSOR PREFEKO 18-2

−−print-variables-to-out Print a list of all variables (name, value, comment) to the FEKO output
file (*.out). The output also includes info whether the variable is set for the first time
or whether the value of an existing variable is changed.

When defining variables (see the next section) from the command line, for example calling
PREFEKO with
prefeko filename -#variable1=value1 -#variable2=value2 ...

It is a good idea to use the !!print_to_out command to write these variables to the output
file in order to keep a record of their values.
Note - prior to FEKO Suite 5.2, the syntax
prefeko filename #variable1=value1 #variable2=value2 ...

(i.e. without the minus sign) was supported, but this has been superseded by the new format
to avoid shell escaping problems under UNIX where the # must be masked as \#. While the old
syntax is still supported for backwards compatibility, users are advised to use the new syntax with
the leading minus sign.

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-1

19 The FEKO solution kernel

19.1 Introduction

The program FEKO does the actual calculations involved in the solution. Input and output of the
FEKO solver is based on files. During a solution, the status of the calculation phases is indicated,
on screen.

Contents
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2 Running the FEKO kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1

19.2 Running the FEKO kernel

19.2.1 Running the sequential version

Normally users are advised to run the FEKO kernel directly from the GUI components CADFEKO,
EDITFEKO or POSTFEKO. Once a session or model has been loaded, the sequential FEKO solver
can be started from the Run menu, by selecting FEKO (the shortcut key <Alt><4> can also be
used).
While the FEKO kernel is run, the status of the calculation phases is indicated on the Executing
runfeko dialog, see Figure 19-1. The output generated by the FEKO kernel is hidden by default.
The FEKO kernel output may be viewed by clicking on the Details button and selecting the Output
tab. Similarly, notices, warnings and errors can be viewed by selecting the Notices, Warnings and
Errors tabs respectively.

Figure 19-1: The Executing runfeko dialog. Output generated by the kernel is hidden by default. FEKO
kernel output may be viewed by clicking on the Details button.

When the FEKO kernel is not executed from within the GUI, it can be started in a command
window (on a Windows PC) or a shell (in UNIX) by executing the command
runfeko example08

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-2

where example08.pre must be an existing input file. RUNFEKO executes PREFEKO if the *.fek
file is missing or older than the *.pre file and then executes the appropriate FEKO solver.
RUNFEKO accepts the optional parameters listed below. More information regarding additional
options for launching and controlling the parallel version of the solver can be found in Sec-
tion 19.2.2. Additional options for the remote launching of FEKO are found in Section 19.2.3.
In CADFEKO these settings (see Section 3.16.2) are available by selecting the Solve/Run tab and
clicking on the dialog launcher button on the Run/launch group. For POSTFEKO, select the Home
tab and click on the dialog launcher button on the Run/launch group.

−−version Print the version information and then exit.

−−priority x The value x specifies the CPU usage priority of the FEKO run: 0 = idle, 1 = below
normal, 2 = normal, 3 = above normal and 4 = high. If not specified, the default is 2.
This option might not be available for specific systems or specific FEKO versions, then
it is just ignored.

−−use-gpu [NUM_GPUS][:GPU_1[,GPU_N]] Execute FEKO using GPU acceleration. Optional pa-


rameter NUM_GPUS (the number of devices to use) and :GPU_1[,GPU_N] (a comma
separated list of specific devices to use) can also be provided. If the option is specified
without the optional parameters, all available GPU resources are used. If NUM_GPUS
is specified, the first NUM_GPUS devices in the system will be selected. Specifying
−−use-gpu 0 will completely disable GPU detection and prevent NOTE 35179 from
being printed.
Example usage is as follows:
−−use-gpu 2:0,2 which uses the first (device 0) and third (device 2) GPU in the system.
This is equivalent to −−use-gpu :0,2.

−−remote-use-mpi Activates the MPI method on Windows.

−−execute-cadfeko_bash Always execute CADFEKO_BASH first(by-pass automatic checks based on


file existence and date stamps.)

−−no-execute-cadfeko_bash CADFEKO_BATCH will not be run to create a new *.cfm and *.pre
file.

−−execute-prefeko Always execute PREFEKO — even if the existing *.fek file is newer than the
*.pre file.

−−no-execute-prefeko PREFEKO will not be run to generate a new *.fek file before the FEKO
solver is launched, even if the *.fek and/or *.cfm file are older than the existing
*.fek file.

−−use-job-scheduler Run the parallel FEKO kernel within a queuing system (see the list of sup-
ported systems below) and obtain the number of parallel processes as well as the host
list directly from the respective job scheduler.

-d Debug mode with extra output (can be used to troubleshoot errors).

−−prefeko-options ... All options following this, up to the next –xxx-options are passed to
PREFEKO.

−−feko-options ... All options following this, up to the next –xxx-options are passed to FEKO.

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-3

−−adaptfeko-options ... All options following this, up to the next –xxx-options are passed to
ADAPTFEKO.

Various queuing systems are supported by FEKO under Windows and Linux when using Intel MPI
(which is the default on these systems). The queuing systems that are currently supported are
Windows CCS (compute cluster server) Torque 1.2.0 and higher, Altair PBS Pro 7.1 and higher,
OpenPBS 2.3, Platform LSF 6.1 and higher, Parallelnavi NQS V2.0L10 and higher, Netbatch 6.x
and higher.
The optional command line parameters for FEKO (specified after −−feko-options) are listed
below.

−−check-only If this option is used, FEKO processes and checks the model, but does not start a
solution. This is useful to for instance check an input file on a local PC before submitting
it to a parallel computer.

-e ENV=value This has the same effect as starting FEKO with the environment variable ENV set to
value. More than one -e ... argument is allowed.

−−data-export-format n Use the n-th version format for the data export files (*.efe, *hfe, *.ffe,
*.os, *.ol). Allowed values for n are “1” and “2” where “1” is the version used up to
Suite 6.1. Version “2” was introduced with Suite 6.1. If not specified, the default is to
use the latest supported version.

−−mtl-circuit-export Special execution mode to export SPICE MTL circuit files.

19.2.2 Running the parallel version

The parallel version of FEKO may be used on any system that is licenced to run multiple FEKO
processes concurrently. If a system has a multiple-core CPU (e.g. a quad-core processor) then
a sequential FEKO licence will allow a parallel solution with up to 4 parallel processes to be
launched. For multiple-CPU systems (e.g. a system with 2 separate dual-core CPUs) a 2-CPU
parallel FEKO licence will be required in order to run parallel solutions involving all 4 of the
available cores.
In order to use the parallel version of FEKO from the GUI, one first has to configure the hostnames
and number of processes that will be used for each node. (This will initially be set up during
installation, meaning that reconfiguration is only necessary if changes are made.)
To do this configuration in EDITFEKO, open the Run menu → Component parameters. In CAD-
FEKO and POSTFEKO, select the Solve/Run tab and click on the dialog launcher to launch the
Component launch options dialog (see Section 3.16.2).
On the FEKO tab, under Parallel execution click the Configure button. In the dialog (shown
in Figure 19-2), the hostnames and number of processes to be started on each host must be
entered. Usually one process per core available on each machine should be chosen. For example
2 processes for a dual-core machine. One may also use this to implement a crude load balancing
system, running more processes on hosts with faster CPUs or more memory. Nodes may be added
or removed from the current cluster setup using the Add machine and Remove machine buttons
respectively.

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-4

Figure 19-2: Dialog for the parallel host configuration.

A special note for parallel Windows PC clusters: FEKO must be installed in the same location on
each host. It is recommended that the parallel job is started from a PC that forms part of the
cluster and that this host is listed first.32
When the user clicks OK on this window, the hosts are saved to a file machines.feko in the
directory specified by the environment variable FEKO_USER_HOME. This file is then used in the
actual parallel process launching.
On the FEKO tab of the Component launch options dialog (shown in Figure 19-3), further settings
with regard to the FEKO solution can be made. If the Output MFLOPS rate . . . and Network
latency and bandwidth options are selected, FEKO will also print a table giving the performance
of the various nodes. It is recommended that this is used during setup to ensure an optimum
configuration. These checks are repeated each time FEKO calculates the solution. A significant
amount of time may be required if the test file contains multiple frequencies. These options
should therefore not be kept selected after the initial setup, except for debugging purposes.
The target priority of the FEKO run may also be set on this tab. Setting the priority below normal
will allow the user to continue with other interactive work. However, all machines in the cluster
operate at the speed of the slowest node, so starting other CPU-intensive jobs on one of the nodes
in a cluster is generally not recommended.

After having configured the parallel FEKO version and after having set any possible special
options, the parallel FEKO version can be run. To do this in EDITFEKO, select Run → Par-
allel FEKO execution. A check mark will be displayed next to the menu option. In CADFEKO and
POSTFEKO select the Solve/Run tab and click on the Parallel button. Any FEKO solver runs that
are launched while this option is checked will use the parallel version of FEKO.
From the command line (e.g. on a UNIX workstation), the parallel FEKO version is started with
runfeko example_08 -np x

where the parameter x following -np indicates the required number of processes to be used in
the parallel solution. In addition to the arguments listed in Section 19.2.1, the parallel version
accepts the following optional parameters:
-np x Start the parallel FEKO version with x processes. The -np all option is also supported
when all available processors in the machines file should be used.
32
It is possible to launch the job without including the local machine. The *.fek input file must then be located
on the first PC in the list and the *.out and *.bof output files are created on this PC — both in the exact same
directory as the project directory on the local machine. It is the user’s responsibility to transfer the files between the
local machine and the first machine in the list if these are not the same, or one can also use remote parallel launching
(see Section 19.2.3) where FEKO does this copying explicitly.

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-5

Figure 19-3: Dialog for setting FEKO solution options.

−−use-openmp-threading Enable shared-memory parallel communication between multiple pro-


cesses residing on the same host.

−−machines-file machname The file machname is the machines file with the node names and the
number of CPUs (see below).

−−mpi-options ... All options following this (if another –xxx-options parameter is used, all ar-
guments before the second –xxx-options parameter) are passed to the MPI launcher
(e.g. mpirun or mpiexec).

−−parallel-authenticate <method> Sets the authentication method to be used for parallel FEKO
runs. The following authentication methods are available:

default Platform dependent default (same as if option not specified).


localonly Run the parallel job on local host only and thus no authentication is required.
sspi Windows Active Directory (SSPI) authentication is used. This option is available
on Windows only. 33
33
Note that maybe additional (one time) configuration settings have to be done (by the domain administrator)
to prepare the Windows domain for this kind of authentication requests (see the Intel MPI (User Authorization —
Active Directory Setup) and/or MPICH2 (Runtime Environment — Security) documentation shipped in the directory
mpi\<mpi-version>\doc of the FEKO installation directory for details).

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-6

registry Encrypt the credentials (username and password) into the registry. This option
is available on Windows only.

The number of processes to launch on each available host is specified in a machines file with the
following general syntax
Hostname:Number of processes

with names host1 and host2 (this is the output of the UNIX command hostname), and 4 and
8 processors respectively, the machines file will be
host1:4
host2:8

With this machines file, the example with 6 processes given above will run with 4 processes on
host1 and 2 processes on host2.
If only one process is to be started on any host, then instead of the entry host3:1 in the machines
file, the shorter form host3 may be used.
Such a machines file (the file mpi/share/machines.feko under the FEKO installation path
FEKO_HOME) is automatically created during the installation of the parallel version of FEKO. By
default FEKO uses this file. If a different distribution of the processes is required, this file can be
manually edited - this is, however, strongly discouraged. The user should rather create a separate
machines file with the syntax described above. The environment variable FEKO_MACHFILE can
be used to force RUNFEKO to use this file instead of the default. The required commands (for
the sh shell) assuming the desired machines file is, for example machname, are
FEKO_MACHFILE=./machname
export FEKO_MACHFILE
runfeko example_08 -np 6

Alternatively one may pass the name of the machines file as an argument to RUNFEKO on the
command line like

runfeko example_08 -np 6 --machines-file ../../machname

Using RUNFEKO is independent of the respective platforms and MPI implementations (the discus-
sion of the environment variable FEKO_WHICH_MPI (see Section 26.3) contains more informa-
tion). For very special applications or experienced users it may be necessary to pass additional
options to MPI. (In such a case, the appropriate MPI manuals should be considered.) These
are added after the argument –mpi-options. For example on a ScaMPI cluster (assuming
FEKO_WHICH_MPI=6), the call
runfeko example_08 -np 6 --mpi-options -immediate_handling \
threaded -smtrace 5-6

(all on one line) is interpreted internally and FEKO is executed with the command
/opt/scali/bin/mpimon -export env -immediate_handling threaded \
-smtrace 5-6 /opt/feko/bin/feko.csv example_08 -- host1 4 \
host2 2

(Note that host1 and host2 are examples only — the actual information is taken from the
machines file.)
In addition to using the –mpi-options command line option , the MPI environment can be
controlled by setting certain environment variables. For instance, when using the Intel MPI the

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-7

environment variable I_MPI_DEVICE is quite important to control which device should be used
(sockets or shared memory, or RDMA device etc.). Such environment variables should preferably
be set in the FEKO initialisation script initfeko. Check the comments there, and also check the
supplied MPI documentation (typically in the subdirectory mpi/<mpi-version>/doc in the
FEKO installation).
If using the −−use-openmp-threading option and the number of parallel processes are speci-
fied as 12, 2 MPI processes with 4 and 8 threads respectively will be used. The machines file will
then be as follows:
host1:4
host2:8

for the example machines used throughout this section.

19.2.3 Running on a remote host

The FEKO kernel can also be started on a remote host with automatic file transfer. For instance
the user can run the FEKO user interface on a Windows PC, but start a sequential or parallel
FEKO job directly from this user interface on an other remote workstation or cluster. There are
two main mechanisms for remote launching: The SSH/RSH based method and the MPI based
method.

The SSH/RSH method This remote launching method is cross platform capable, e.g. one can
launch a remote job from a Windows PC on an UNIX workstation or vice-versa.
In order to use the remote launching facility, SSH must be available with public key au-
thentication.

The MPI method This method is currently only available when doing remote launching from a
Windows host to a Windows host. It is based on pure Windows commands and relies on a
network share for copying files and uses the MPI daemon (as shipped with the FEKO Suite)
for starting the remote process.
Also for this method to work properly, the related option must have been selected during
installation of FEKO on the remote machine. This consists of creating a shared network
directory.

For more information regarding the setup requirements for remote launching using either method,
please see the detailed installation and setup instructions in the FEKO Installation Guide.

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-8

General settings and usage

After the setup, using remote launching is simple. On Windows and Linux, this remote
launching facility can be used directly from within the GUI components CADFEKO, EDIT-
FEKO or POSTFEKO. As described above for the parallel launching, open the Component launch
options dialog (see Section 3.16.2). This dialog is shown in Figure 19-3. Enter the hostname or
IP address of the remote host in the Remote host input field under Remote execution and select
the appropriate Remote execution method. In order to use the remote launching after it has been
set up, in EDITFEKO select Run → Remote FEKO execution so that a check mark is shown next
to the Remote FEKO execution option. In CADFEKO and POSTFEKO, select the Solve/Run tab
and select the Remote button. Runs of the FEKO solver (either sequential or parallel if Parallel
FEKO execution is also checked) will employ Remote FEKO execution on the remote host while
this option remains checked.
In order to use the remote launching facility from the command line, the command
runfeko example_08 --remote-host h

can be used, where the parameter h following –remote-host gives the hostname or the IP
address of the remote host. This will automatically use the SSH based remote launching method.
If one wants to use the MPI based method, then the additional option –remote-use-mpi must
also be given as
runfeko example_08 --remote-host h --remote-use-mpi

This command line option of RUNFEKO may be combined with other options, for instance using
runfeko example_08 --remote-host h -np 4 --machines-file m

would launch a parallel job with 4 processes using the nodes as listed in the machines file m, and
the parallel job is then launched from the remote host h (typically the control node of a cluster).
As mentioned earlier, the remote launching facility has an automatic file transfer included, so
it is not necessary to work on a shared network drive. On the remote host, FEKO will create
a temporary sub-directory in the user’s home directory with the name remote_FEKO_job_xxx
(xxx is a unique number) and all the FEKO files will be placed there for the duration of the FEKO
run. After the completion of the remote run, all files will be copied back to the client and this
temporary subdirectory on the remote machine will be removed.
A final note on remote launching of parallel FEKO jobs:

• If a machines file is specified while launching the job locally, this will also be used on
the remote host (i.e. it will be copied over). So a parallel job can be configured on the
local client on (for example, two hosts node1 and node2) but the FEKO solution can be
launched remotely on another computer - which will then be the control node of the parallel
solution. This makes sense when launching a parallel FEKO job from a Windows PC on a
Linux cluster.

• If no local machines file is specified when launching a remote solution (when launch-
ing from the GUI it will always be there, but from the command line this can be omit-
ted, the parallel hosts are then found using the default mechanism (environment variable
FEKO_MACHFILE, default location for the file machines.feko etc. More information can

October 2013 FEKO User’s Manual


THE FEKO SOLUTION KERNEL 19-9

be found in Section 19.2.2). It is important to realise that these default options are used as
set on the remote host where the parallel job is launched (this is e.g. the control node of
a parallel cluster). Thus, FEKO will read the machines.feko file on the remote host, and
not on the local host where jobs are launched.

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-1

20 Description of the output file of FEKO

The program FEKO writes all the results to an ASCII output file *.out as well as to a binary
output file *.bof. The latter is used by POSTFEKO for the result extractions. The *.out file is
human readable and contains all of the expected results.
In this section the various parts of the output file *.out are described.
Contents
20.1 Geometric data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
20.2 Excitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5
20.3 Currents and charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
20.4 Finite conductivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
20.5 Near fields and SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-11
20.6 Far fields and receiving antenna . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
20.7 S-parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-16
20.8 Computation time and peak memory . . . . . . . . . . . . . . . . . . . . . . . 20-17

20.1 Geometric data


First the geometric data is given (if it has not been suppressed at the EG card). For the metallic
triangles the following extract is written:
DATA OF THE METALLIC TRIANGLES

no. label x1 in m y1 in m z1 in m edges


medium x2 in m y2 in m z2 in m
medium x3 in m y3 in m z3 in m
nx ny nz area in m*m
1 0 0.0000E+00 0.0000E+00 0.0000E+00 1
0 0.0000E+00 2.0000E-01 0.0000E+00
0 3.3333E-02 0.0000E+00 0.0000E+00
0.0000E+00 0.0000E+00 -1.0000E+00 3.3333E-03
2 0 3.3333E-02 2.0000E-01 0.0000E+00 -1 2 3
0 3.3333E-02 0.0000E+00 0.0000E+00
0 0.0000E+00 2.0000E-01 0.0000E+00
0.0000E+00 0.0000E+00 -1.0000E+00 3.3333E-03

In the first column the number of the triangle is written. In the second column, the label is given
followed by the medium in which the triangle is situated. A 0 means that it is in free space. The
next three columns are the x, y and z coordinates of the three corner points of the triangles.
In the first row of each triangle follows another list of the numbers of the edges of the adjacent
triangles. A positive sign indicates that the positive current direction is away from the triangle. A
negative sign indicates that the positive current direction is toward the triangle. Below the edge
numbers the area of the triangle is given in m2 .
Following this is an extract of the data for the edges between the triangle. Whenever two triangles
have two common vertices, such an edge is generated.
An additional line (or row) gives the components (nx, ny, nz) of the normal vector of each
triangle.

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-2

DATA OF THE METALLIC EDGES (with MoM)

triangle no. points of tr. ...


no. type length/m media KORP KORM POIP POIM
1 1 2.0276E-01 0 -1 1 2 1 1
2 1 2.0000E-01 0 -1 2 3 3 3
3 1 3.3333E-02 0 -1 2 7 2 2

information on symmetry
yz xz xy status
0 0 0 unknown
1 0 0 0
0 0 0 unknown

Each edge is assigned a consecutive number, which appears in the first column. The second
column indicates the type of the edge. The length of the edge is given in the third column and
the medium in which the edge is found appears in the fourth column. On an edge there are
exactly two triangles. In the columns KORP and KORM the numbers of these two triangles are
given and the positive current direction is from the triangle KORP to the triangle KORM. In the
column POIP the number of the corner point of the triangle KORP, which is opposite to the edge,
is given. The same applies to the column POIM.
The next four columns contain information concerning the symmetry. In the column yz the
number of the edge appears, corresponding to the plane x =0 ( yz plane) of symmetry. A positive
sign indicates that the currents are symmetric and a negative sign indicates that the currents are
anti-symmetric. If there is a 0 present in this column, then a symmetric edge does not exist. The
same applies to the next columns xz and x y concerning the planes y =0 and z =0.
The last column with the heading STATUS has the following meaning: If unknown appears in it,
the edge has an unknown status. The applicable coefficient of the current basis function cannot
be determined from the symmetry, but has to be determined form the solution of the matrix
equation. If 0 is present in the STATUS column, then the coefficient of the current basis function
is 0 due to electric or magnetic symmetry and does not have to be determined.
If there is any other number in the STATUS column then this number indicates another edge
whose coefficient is equal to (positive sign in the column STATUS) or the negative of (negative
sign in the column STATUS) of the coefficient of the current basis functions. From symmetry the
coefficient of the current triangle does not have to be determined.
The data of the dielectric triangles (surface current method) differ only slightly.
DATA OF THE DIELECTRIC TRIANGLES

no. label x1 in m y1 in m z1 in m edges


medium x2 in m y2 in m z2 in m
medium x3 in m y3 in m z3 in m
nx ny nz area in m*m
1 0 7.1978E-01 0.0000E+00 7.1978E-01 1 2 3
1 9.4044E-01 0.0000E+00 3.8954E-01
0 8.6886E-01 3.5989E-01 3.8954E-01
8.2033E-01 1.6317E-01 5.4812E-01 7.2441E-02
2 0 9.4044E-01 0.0000E+00 3.8954E-01 4 5 6
1 1.0179E+00 0.0000E+00 0.0000E+00
0 9.4044E-01 3.8954E-01 0.0000E+00
9.6264E-01 1.9148E-01 1.9148E-01 7.8817E-02

Two additional columns, POIA and POIE are provided, but they are not relevant anymore and
should be ignored. The symmetry information is shown for the basis functions of both the equiv-
alent electric or magnetic current densities.
For the edges the extract is

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-3

DATA OF THE DIELECTRIC EDGES (with MoM)

triangle no. points of the triangle ...


no. type length/m media KORP KORM POIP POIM POIA POIE
1 3 3.6694E-01 0 1 1 3 1 3 3 2
2 3 5.1069E-01 0 1 1 4 2 1 1 3
3 3 3.9718E-01 0 1 1 45 3 2 1 2

electr. info of symmetry magnet. info of symmetry


yz xz xy status yz xz xy status
40 75 141 unknown 40 75 141 unknown
41 76 142 unknown 41 76 142 unknown
42 -3 143 0 42 -3 143 unknown

In addition to the data that is given for the metallic triangles, the following columns are provided
POIA, POIE, KNP and KNM. The column POIA contains the number of the corner point of the
triangle in KORP, where the basis function for magnetic surface current begins and the column
POIM contains the number of the end point of the triangle where the basis function ends. The
sizes KNP and KNM are the lengths when the vertices are connected to the middle of the opposite
edge in the triangles KORP and KORM. The symmetry information is shown for the basis functions
of both the equivalent electric or magnetic current densities.
The data for the segments follows the data for the triangles.
DATA OF THE SEGMENTS

No. label x1 in m y1 in m z1 in m nodes


medium x2 in m y2 in m z2 in m length in m radius in m
1 0 0.0000E+00 0.0000E+00 0.0000E+00 1
0 0.0000E+00 0.0000E+00 1.4286E-01 1.4286E-01 2.0000E-02
2 0 0.0000E+00 0.0000E+00 1.4286E-01 -1 2
0 0.0000E+00 0.0000E+00 2.8571E-01 1.4286E-01 2.0000E-02
3 0 0.0000E+00 0.0000E+00 2.8571E-01 -2 3
0 0.0000E+00 0.0000E+00 4.2857E-01 1.4286E-01 2.0000E-02

Here each segment is assigned a consecutive number. In the second column the label of the
segment appears and below it the number of the medium in which it finds itself. A zero (0)
means free space (vacuum). Then the coordinates of the start and end points of the segment
follow. In the previous row the numbers of the nodes, that are adjacent, appear. A positive
sign for the node number indicates that the positive current direction is defined away from the
segment. When there is a negative number, then the positive direction is directed toward the
segment. In the next row the length of the segment appears, followed by the radius.
For the data of the nodes between the segments a data table is given.
DATA OF THE NODES BETWEEN THE SEGMENTS

no. of segment points of segm. ...


No. ISEGP ISEGM KNOP KNOM
1 1 2 2 1
2 2 3 2 1
3 3 4 2 1
info of symmetry
yz xz xy status
0 0 5 unknown
0 0 6 unknown
0 0 7 unknown

The consecutive numbers of nodes are given in the first column. Then the number ISEGP and
ISEGM of the two connected segments follow. A positive current direction is defined from the seg-
ment ISEGP to the segment ISEGM. The column KNOP indicates whether the starting point(KNOP
= 1) of the segment ISEGP connects to the node or whether it is the end point(KNOP = 2). The
following four columns contain the data about the symmetry and are the same as for the metallic
triangles described above.

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-4

If there are any connections between triangles and segments, then the following data is given.
GEOMETRIC DATA OF CONNECTIONS SEGMENTS - TRIANGLES

Data of triang.data of segm. info of symmetry


no. DRENUM DREPOI SEGNUM SEGPOI angle yz xz xy status
1 11 1 360.0000 0 0 0 unknown
15 1 45.0000
33 1 45.0000
55 1 45.0000

Each connection point is assigned a consecutive number which is given in the first column. The
number of the triangle at the connection point is given in the column DRENUM with the connecting
vertex (1 to 3) in the column DREPOI. Likewise the connecting segment’s number is given in the
column SEGNUM and the connecting end in the SEGPOI column. (If the start point of the segment
is connected, SEGPOI = 1; else the end point is connected and SEGPOI = 2.) The column angle
gives the angle that is formed by the triangle at the connection point (in radians). The meaning
of the symmetry information in the last four columns is the same as that of the metallic triangles
given above.
If dielectric volume elements are used, then the following data block is given in the output:
DATA OF THE DIELECTRIC CUBOIDS

No. x1 in m y1 in m z1 in m
label x2 in m y2 in m z2 in m
medium x3 in m y3 in m z3 in m
x4 in m y4 in m z4 in m
1 0.0000E+00 0.0000E+00 0.0000E+00
0 3.3333E-01 0.0000E+00 0.0000E+00
Cube 0.0000E+00 3.3333E-01 0.0000E+00
0.0000E+00 0.0000E+00 3.3333E-01
2 0.0000E+00 0.0000E+00 3.3333E-01
0 3.3333E-01 0.0000E+00 3.3333E-01
Cube 0.0000E+00 3.3333E-01 3.3333E-01
0.0000E+00 0.0000E+00 6.6667E-01
3 0.0000E+00 0.0000E+00 6.6667E-01
0 3.3333E-01 0.0000E+00 6.6667E-01

Each cuboid is given a consecutive number. The x, y and z corner point coordinates are given in
the first three columns. The first row is the reference point. The second row is the corner point
to which from the reference point the first basis function is defined. Further, the third and fourth
rows define the next two basis functions with respect to the reference point.
In each dielectric cuboid there are three basis functions, in each coordinate direction one. The
data of these basis functions is given in the following format:
DATA OF THE BASIS FUNCTIONS FOR DIELECTRIC CUBOIDS

Symmetry information
No. cuboidno. direc. yz xz xy status
1 1 1 28 55 109 unknown
2 2 1 29 56 110 unknown
3 3 1 30 57 111 unknown
4 4 1 31 58 112 unknown
5 5 1 32 59 113 unknown

In the first column the consecutive number of the basis function is given. The next column
indicates the number of the cuboid. The column direction indicates the direction of the basis
function in the respective cuboid. 1 indicates that e.g. the basis function is defined from the
reference point to the second corner point. The last four columns contain information concerning
the symmetry properties of the cuboid, where the structure and the meaning is the same as with
the other basis functions.

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-5

For the FEM, the data of the tetrahedral volume elements is printed in a table like this:
DATA OF THE TETRAHEDRAL VOLUME ELEMENTS (FEM)

no. label x1 in m y1 in m z1 in m nodes


medium x2 in m y2 in m z2 in m faces
x3 in m y3 in m z3 in m edges
x4 in m y4 in m z4 in m volume in m*m*m
1 DRA1 0.0000E+00 -1.3337E-02 1.3828E-03 1 2 3 4
air 0.0000E+00 -1.4000E-02 0.0000E+00 1 2 3 4
0.0000E+00 -1.2500E-02 0.0000E+00 1 2 3 4 5 6
1.0157E-03 -1.2403E-02 1.1734E-03 3.5111E-10
2 DRA1 0.0000E+00 -1.4000E-02 0.0000E+00 2 3 4 5
air 0.0000E+00 -1.2500E-02 0.0000E+00 4 5 6 7
1.0157E-03 -1.2403E-02 1.1734E-03 4 5 7 6 8 9
2.7313E-03 -1.3731E-02 0.0000E+00 8.0125E-10
3 DRA2 0.0000E+00 -1.2500E-02 0.0000E+00 3 4 5 6
air 1.0157E-03 -1.2403E-02 1.1734E-03 7 8 9 10
2.7313E-03 -1.3731E-02 0.0000E+00 6 8 10 9 11 12
2.4386E-03 -1.2260E-02 0.0000E+00 7.1540E-10

The consecutive numbers of the elements are given in the first column. The label and dielectric
medium label of the element are given in column 2. Columns 3, 4 and 5 provide the x-, y- and
z-coordinates of the vertices of the element. The numbers of each node, face and edge bounding
the tetrahedral element follow in the last columns. Thereafter information follows regarding the
number of basis functions.
DATA FOR MEMORY USAGE

Number of metallic triangles: 0 max. triangles:MAXNDR = 176


Number of dielectric triangles: 176
Number of diel. GO triangles: 0
Number of FEM surface triangles: 0
Number of metallic segments: 0 max. segments: MAXNSEG = 0
Number dielectr./magnet. cuboids: 0 max. cuboids: MAXNQUA = 0
Number of tetrahedral elements: 0 max. tetrah.: MAXNTETRA= 0
Number of edges in PO region: 0 max. edges: MAXPOKA = 0
Number of wedges in PO region: 0 max. wedges: MAXPOKL = 0
Number of Fock regions: 0 max. Fock reg.:MAXFOGE = 0
Number of polygonal surfaces: 0 max. surfaces: MAXPOLYF = 0
max. corner p.:MAXPOLYP = 0
Number of UTD cylinders: 0

Number of metallic edges (MoM): 0 unknown: 0 max. edges: MAXNKA = 264


0 unknown: 0 (magnet.)
Number of metallic edges (PO): 0 unknown: 0 (electr.) 0 (magnet.)
Number of dielectric edges (MoM): 264 unknown: 66 (electr.)
264 66 (magnet.)
Number of dielectric edges (PO): 0 unknown: 0 (electr.) 0 (magnet.)
Number of edges FEM/MoM surface: 0 unknown: 0 (electr.)
0 0 (magnet.)
Number of nodes between segments: 0 unknown: 0 max. nodes: MAXNKNO = 0
Number of connection points: 0 unknown: 0 max. conn.: MAXNV = 0
Number of dielectric cuboids: 0 unknown: 0 max. cuboids: MAXNQUA = 0
Number of magnetic cuboids: 0 unknown: 0

Number of basis funct. for MoM: 528 unknown: 132 max. basisf. MAXNZEILE = 528
Number of basis funct. for PO: 0 unknown: 0 max. basisf. MAXNKAPO = 0

Here the data, e.g. the number of basis functions on the nodes between segments, can be ex-
tracted. It is also indicated how many have the status unknown, i.e. how many have to be
determined by solving the matrix equation.

20.2 Excitation

The data here is structured depending on the means of excitation. A voltage source on a segment
generates the following data block is generated:

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-6

EXCITATION BY VOLTAGE SOURCE AT SEGMENT

Name: VoltageSource1
Number of voltage source: N = 1
Frequency in Hz: FREQ = 7.49481E+07
Wavelength in m: LAMBDA = 4.00000E+00
Open circuit voltage in V: |U0| = 1.00000E+00
Phase in deg.: ARG(U0) = 0.00
Source at segment w. label: ULA = Line1.Wire1.Port1
Absolute number of segment: UNR = 11
Location of the excit. in m: X = 0.00000E+00
Y = 0.00000E+00
Z = 0.00000E+00
Positive feed direction: X = 0.00000E+00
Y = 0.00000E+00
Z = 1.00000E+00

Similar information is provided for other voltage excitations (excitation on an edge, microstrip
excitation, voltage source connected to a general network, etc).
If a waveguide excitation is used, the information in the output file has the following format:
EXCITATION BY IMPRESSED WAVEGUIDE MODE

Name: WaveguideExcitation1
Number of the excitation: N = 1
Port label: Union2.Face44
Frequency in Hz: FREQ = 1.64500E+09
Wavelength in m: LAMBDA = 1.82245E-01
Port type: Rectangular
Port dimensions: width = 1.29600E-01 m
height = 6.48000E-02 m
Port reference location: X = -6.48000E-02 m
Y = -3.24000E-02 m
Z = -3.02000E-01 m
Impressed mode: TE 1 0
Direction of propagation: NX = 0.00000E+00
NY = 0.00000E+00
NZ = 1.00000E+00
Amplitude in A/m: 1.00000E+00
Phase in degrees: 0.00
Transmitted power in W: 1.13772E+00

Information regarding the mode expansion at the waveguide excitation follows the waveguide
excitation information as follows:
MODE EXPANSION DATA OF WAVEGUIDE PORT

Port label: Union2.Face44


Port type: Rectangular
Port width: 1.29600E-01 m
Port height: 6.48000E-02 m
Frequency: 1.64500E+09 Hz

Mode indices Cutoff freq. Transverse wave impedance ...


m n in Hz real part imag. part
TE 0 1 2.31321E+09 0.00000E+00 3.81056E+02
TE 1 0 1.15661E+09 5.29795E+02 0.00000E+00
TE 1 1 2.58625E+09 0.00000E+00 3.10534E+02
TM 1 1 2.58625E+09 0.00000E+00 -4.57038E+02

Propagation factor Description


real part imag. part
3.40852E+01 0.00000E+00 Evanescent
0.00000E+00 2.45159E+01 Propagating Impressed (active)
4.18260E+01 0.00000E+00 Evanescent
4.18260E+01 0.00000E+00 Evanescent

For a FEM excitation (impressed current source) the following information is provided:

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-7

EXCITATION BY IMPRESSED CURRENT ELEMENT (FEM)

Name: CurrentSource1

Number of excitation: N = 1
Frequency in Hz: FREQ = 3.00000E+09
Wavelength in m: LAMBDA = 9.99308E-02
Amplitude in A: |I| = 1.00000E+00
Phase in deg.: ARG(I) = 0.00
start point end point
Element location in m: X = 0.00000E+00 0.00000E+00
Y = 6.50000E-03 6.50000E-03
Z = -5.00000E-04 -1.00000E-03
Element length in m: LEN = 5.00000E-04

If an incident plane wave is used then the output file has the following format:
EXCITATION BY INCIDENT PLANE ELECTROMAGNETIC WAVE

Name: PlaneWave1
Number of excitation: N = 1
Frequency in Hz: FREQ = 1.00000E+08
Wavelength in m: LAMBDA = 2.99792E+00
Direction of incidence: THETA = 20.00 PHI = 50.00
Polarisation: LINEAR
Axial ratio: V = 0.0000
Dir. of polarisation: ETA = 60.00
Direction of propag.: BETA0X = -4.60764E-01
BETA0Y = -5.49117E-01
BETA0Z = -1.96945E+00
Field strength in V/m: |E0X| = 9.65425E-01 ARG(E0X) = -180.00
(Phase in deg.) |E0Y| = 1.96747E-01 ARG(E0Y) = 0.00
|E0Z| = 1.71010E-01 ARG(E0Z) = 0.00

~ whose components are given, is the vector which points in the direction of propa-
The vector β,
~ 0 represents the direction of the electric field.
gation. The vector E
For an impressed aperture excitation, the following information is given:
EXCITATION BY AN APERTURE

Number of the aperture: 1


Frequency in Hz: FREQ = 1.25000E+10
Wavelength in m: LAMBDA = 2.39834E-02
No. of dipoles electr.: 1296
magnet.: 1296
Extent of the aperture: X = -1.70096E-02 ... 1.34267E-01 m
Y = -7.56383E-02 ... 7.56383E-02 m
Z = -7.59272E-02 ... 7.59272E-02 m

No specific information regarding the magnitude and phase of the dipole elements that make up
the excitation is given in the output.
Excitation by an impressed radiation pattern point source is shown in the output information as:

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-8

EXCITATION BY IMPRESSED RADIATION PATTERN

Name: RadiationPattern1
Number of the excitation: N = 1
Frequency in Hz: FREQ = 1.60000E+09
Wavelength in m: LAMBDA = 1.87370E-01
Max. field strength * dist. in V: 5.90127E+01 * PWFAKTOR (see below)
Radiated power in W: 1.12011E+00 * PWFAKTOR**2 (see below)
Directivity of the antenna in dB: 17.148
Distance for far field cond. in m: 1.96884E+00
Local co-ordinate system of the source:
Number of grid points NTHETA = 37
NPHI = 73
Angular range THETA in deg.: 0.00 ... 180.00
PHI in deg.: 0.00 ... 360.00
Source position in m: X = -2.16000E-01
Y = 0.00000E+00
Z = 0.00000E+00
Rotation angle in deg. with respect to the global co-ordinate system
around X-axis: 0.00000E+00
around Y-axis: 0.00000E+00
around Z-axis: 0.00000E+00

No specific information regarding the magnitude and phase of the impressed pattern is given.
For an impressed spherical mode excitation, the following information is written to the output:
EXCITATION BY IMPRESSED SPHERICAL MODE

Name: SphericalSource1
Number of the excitation: N = 1
Number of modes: MODES = 880
Frequency in Hz: FREQ = 1.25000E+10
Wavelength in m: LAMBDA = 2.39834E-02
Propagation direction: C = 4 (outwards)
Mode location in m: X = 0.00000E+00
Y = 0.00000E+00
Z = 0.00000E+00
mode indices coefficient in sqrt(Watt) rad. power(Watt)
J S M N magn. phase power
3 1 0 1 9.21068E-02 -88.00 4.24183E-03
4 2 0 1 7.28918E-18 -16.25 2.65661E-35
11 1 0 2 1.49455E-17 -89.63 1.11684E-34
...

Point source type (Hertzian dipole) excitations result in the following information output:
EXCITATION BY HERTZIAN DIPOLE

Name:
Number of excitation: N = 1
Frequency in Hz: FREQ = 2.99792E+08
Wavelength in m: LAMBDA = 1.00000E+00
Amplitude in Am: |IL| = 1.00000E+00
Phase in deg.: ARG(IL) = 0.00
Dipole location in m X = 2.00000E+00
Y = 0.00000E+00
Z = 0.00000E+00
Orientation of dipole: THETA = 0.00
PHI = 0.00

20.3 Currents and charges

The OS card can request the current distribution. The following data is given for each triangle

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-9

Current request with name: Currents1

VALUES OF THE CURRENT DENSITY VECTOR ON TRIANGLES in A/m (no averaging)

Triangle centre JX JY JZ ...


number x/m y/m z/m magn. phase magn. phase magn. phase
1 1.70187E+00 7.99633E-02 0.00000E+00 2.674E-02 98.24 2.687E-03 -74.34 0.000E+00 0.00
2 1.81048E+00 1.96490E-01 0.00000E+00 6.015E-03 95.34 4.069E-03 96.46 0.000E+00 0.00
3 3.94881E-01 8.42417E-02 0.00000E+00 1.456E-01 137.29 3.578E-03 80.18 0.000E+00 0.00
4 1.97230E-01 8.42417E-02 0.00000E+00 2.087E-01 141.97 9.018E-02 141.94 0.000E+00 0.00
5 9.92519E-02 2.03608E-01 0.00000E+00 9.135E-02 141.60 1.895E-01 141.57 0.000E+00 0.00

Current magnitude in the


3 corner points
1.984E-02 2.979E-02 3.175E-02
1.912E-02 1.961E-02 8.007E-03
1.503E-01 1.438E-01 1.433E-01
1.433E-01 1.918E-01 1.216E+03
1.216E+03 1.683E-01 1.551E-01

At the position (x, y, z) the current density vector J~ in the complex form is given. The
last three columns indicate the value for the surface current density in the three vertices of the
triangles.(Note that the value of the current written in the *.out file will be affected if averaging
of the currents is de-activated at the OS card. If averaging is requested, the average of the current
at the vertices of all three adjacent triangles is shown). If the current is requested, the charge on
each triangle is also written to the output file. Only the charge is given as the position of each
triangle is the same as written for the currents.
VALUES OF THE SURFACE CHARGE DENSITY ON TRIANGLES in As/m^2

Triangle SIGMA
number magn. phase
1 1.42700E-10 15.66
2 3.34062E-10 5.41
3 1.80384E-10 170.18
4 2.57440E-10 176.74
5 2.43734E-10 174.98

The current on the segments is written as


VALUES OF THE CURRENT IN THE SEGMENTS in A

Segment centre IX ...


number x/m y/m z/m magn. phase
1 0.00000E+00 0.00000E+00 9.60000E-01 0.000E+00 0.00
2 0.00000E+00 0.00000E+00 8.70000E-01 0.000E+00 0.00
3 0.00000E+00 0.00000E+00 7.70000E-01 0.000E+00 0.00
4 0.00000E+00 0.00000E+00 6.70000E-01 0.000E+00 0.00
5 0.00000E+00 0.00000E+00 5.70000E-01 0.000E+00 0.00

IY IZ
magn. phase magn. phase
0.000E+00 0.00 2.202E-02 -38.72
0.000E+00 0.00 6.907E-02 -38.55
0.000E+00 0.00 1.172E-01 -38.30
0.000E+00 0.00 1.614E-01 -38.03
0.000E+00 0.00 2.009E-01 -37.73

With the associated charge

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-10

VALUES OF THE LINE CHARGE DENSITY ON SEGMENTS in As/m

Segment Q
number magn. phase
1 1.16913E-09 -128.72
2 1.06276E-09 -128.23
3 9.82679E-10 -127.64
4 8.92312E-10 -126.94
5 7.85966E-10 -126.07

For every voltage source the current at the feed point is determined and thus the impedance. The
following is the result:
DATA OF THE VOLTAGE SOURCE NO. 1

real part imag. part magn. phase


Current in A 2.4933E-01 -1.7696E-01 3.0574E-01 -35.37
Admitt. in A/V 1.5541E-02 -1.1030E-02 1.9058E-02 -35.37
Impedance in Ohm 4.2790E+01 3.0371E+01 5.2473E+01 35.37
Inductance in H 6.4494E-08

Power in Watt: 2.00000E+00

20.4 Finite conductivity

Firstly the block with the set of characteristics for the single labels is displayed:
DATA OF LABELS

Label Cuboid1.Face6: Skin = 3 Load = 0 Coating = 0


Triangle thickness: 5.00000E-03 m
Sigma = 1.000E+02 S/m Mue_r = 1.000E+00 tan(delta_mue) = 0.000E+00
Penetration depth of the skin effect: 5.81353E-03 m

All segments and triangles without a listed label are perfectly conducting

After the calculation of the currents the losses that result from finite conductivity are displayed.
POWER LOSS METAL (in Watt)

| in the segments | in the


Label | skineffect conc.load distr.load coating | triangles
Cuboid1.Face6| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 1.3348E-06
Cuboid1.Face1| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 3.7427E-07
Cuboid1.Face3| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 1.0371E-06
Cuboid1.Face4| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 8.1218E-06
Cuboid1.Face5| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 1.0371E-06
Cuboid1.Face2| 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 1.3348E-06
total | 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 | 1.3240E-05

Total loss in the segments: 0.0000E+00 W


Total loss in the triangles: 1.3240E-05 W

Loss metal (total): 1.3240E-05 W

SUMMARY OF LOSSES

Metallic elements: 1.3240E-05 W


Dielectric (surface equiv. princ.): 0.0000E+00 W
Dielectric (volume equiv. princ.): 0.0000E+00 W
Dielectric (FEM region): 0.0000E+00 W
Mismatch at feed: 0.0000E+00 W
Non-radiating networks: 0.0000E+00 W
Backward power at passive waveguide ports: 0.0000E+00 W
-------------
Sum of all losses: 1.3240E-05 W

Efficiency of the antenna: 99.7266 %


(based on a total active power: 4.8418E-03 W)

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-11

In the first column the label is displayed, the lowest row displays the sum of losses in all labels.

20.5 Near fields and SAR

If near fields are calculated, the extract shown below is given for each solution request.
The position as well as the individual components of the electric and the magnetic field strength
are given. This is — if not otherwise requested at the FE card — the total value of the field, i.e.
the sum of the incident wave and the scattered field.
Near field request with name: NearField1

VALUES OF THE MAGNETIC FIELD STRENGTH in A/m

(total field, incident and scattered)

The following offset is in effect for the co-ordinates:


X= 0.00000E+00 m Y= 0.00000E+00 m Z= 0.00000E+00 m

LOCATION EX EY ...
medium X/m Y/m Z/m magn. phase magn. phase
0 0.00000E+00 0.00000E+00 -1.00000E+00 6.70088E+01 99.86 7.65636E-01 166.42
0 1.00000E-01 0.00000E+00 -1.00000E+00 6.46235E+01 74.23 1.14589E+00 166.13
0 2.00000E-01 0.00000E+00 -1.00000E+00 6.23014E+01 47.98 1.55289E+00 165.83
0 3.00000E-01 0.00000E+00 -1.00000E+00 5.99908E+01 21.51 1.95743E+00 163.95

... EZ
magn. phase
6.89061E+01 126.74
7.17685E+01 98.76
7.35678E+01 70.70
7.41473E+01 42.30

If the electric field inside dielectric cuboids is determined, then the value for the SAR (specific
absorption rate) and the cuboid number are also given:
VALUES OF THE ELECTRIC FIELD STRENGTH in V/m

inside the dielectric cuboids

LOCATION EX EY EZ ...
X/m Y/m Z/m magn. phase magn. phase magn. phase
0.050 0.050 0.050 5.776E+00 59.89 1.259E+01 -177.82 1.415E+02 -125.12
0.050 0.050 0.150 2.192E+01 33.75 4.114E+00 122.93 1.640E+02 -130.45
0.050 0.050 0.250 2.584E+01 31.18 3.420E+00 19.21 1.679E+02 -137.51
0.050 0.050 0.350 2.625E+01 22.29 8.499E+00 -24.72 1.551E+02 -144.87

... SAR cuboid no.


in W/kg
0.000E+00 1
0.000E+00 2
0.000E+00 3
0.000E+00 4

For specific SAR solution requests, the following output is shown (note that the extract shown
below is representative for a volume-average SAR calculation — the output for other options like
spatial peak SAR calculations will differ):

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-12

AVERAGE SPECIFIC ABSORPTION RATE in W/kg

Average SAR for the entire domain: 6.47236E+00 W/kg

AVERAGE SPECIFIC ABSORPTION RATE in W/kg

medium relative conductivity relative ...


permittivity in S/m permeability
air 1.00000 0.000000E+00 1.00000
dome 9.50000 1.585526E-03 1.00000

magnetic density volume SAR


conductivity in kg/m^3 in m^3 in W/kg
0.000000E+00 1.000000E+03 1.567165E-06 0.000000E+00
0.000000E+00 1.000000E+03 4.036295E-06 6.472361E+00

20.6 Far fields and receiving antenna

If the far field is calculated, the following block in this form is displayed:
VALUES OF THE SCATTERED ELECTRIC FIELD STRENGTH IN THE FAR FIELD in V
Factor e^(-j*BETA*R)/R not considered

The following offset is in effect for the co-ordinates:


X= 0.00000E+00 m Y= 0.00000E+00 m Z= 0.00000E+00 m

LOCATION ETHETA EPHI directivity in dB ...


THETA PHI magn. phase magn. phase vert. horiz. total
90.00 0.00 1.235E+00 168.98 0.000E+00 0.00 7.1722 -999.9999 7.1722
90.00 2.00 1.233E+00 168.90 0.000E+00 0.00 7.1583 -999.9999 7.1583
90.00 4.00 1.227E+00 168.65 0.000E+00 0.00 7.1166 -999.9999 7.1166
POLARISATION
axial r. angle direction
0.0000 180.00 LINEAR
0.0000 180.00 LINEAR
0.0000 180.00 LINEAR

Gain is a factor of 1.00000E+00 ( 0.00 dB) larger than directivity

The directivity/gain is based on an active power of 4.88015E-03 W


and on a power loss of 0.00000E+00 W

For incident plane waves, the values that are displayed here are the values of the scattered field,
i.e. the incident field is not taken into account. However, for any other sources (e.g. elementary
Hertzian dipoles or impressed radiation pattern or transmission line), the fields radiated by the
excitation are considered.
~ far is defined using the relation
In the far field a complex field strength E

e− jβ0 R
~ (~r ) =
lim E ~ far
E (20-1)
R→∞ R

with a large distance R = |~r | which tends to infinity (and which in the FEKO calculations is
~ far is voltage due to this extra distance
identical to infinity). Please note that the dimension of E
factor R.
In the *.out file the ϑ (vertical) and ϕ (horizontal) components of E ~ far are tabulated by magni-
~ far,ϑ and E
tude and phase, i.e. E ~ far,ϕ . With POSTFEKO also results for other polarisations can be
extracted. The corresponding formulas used are then

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-13

1 €
~ far,S = p ~ far,ϕ − E
~ far,ϑ
Š
E E (20-2)
2

for S-polarisation,

1 €
~ far,Z = p ~ far,ϕ + E
~ far,ϑ
Š
E E (20-3)
2

for Z-polarisation,

1 €
~ far,LHC = p ~ far,ϕ + j E
~ far,ϑ
Š
E E (20-4)
2

for left-hand circular polarisation, and

1 €
~ far,RHC = p ~ far,ϕ − j E
~ far,ϑ
Š
E E (20-5)
2

for right-hand circular polarisation.


If the excitation is an incident wave, the results include the radar cross section. In the case of
voltage sources, the gain or directivity is included (see the parameters of the FF card).
~ 0 carries a power
For the radar cross section, the incident plane wave with complex amplitude E
density of

~ 0 |2
1 |E
Si = · (20-6)
2 ZF 0

(Z F 0 denotes the wave impedance of the surrounding medium) which gets scattered on the object
and a wave is reflected with the scattered power density

1 |Eϑ |2 + |Eϕ |2
Ss = · . (20-7)
2 ZF 0

The radar cross section (RCS) σ is then defined as

2
Ss |R Eϑ |2 + |R Eϕ |2 |Efar,ϑ |2 + |Efar,ϕ |2
σ Tot al = lim 4πR = lim 4π = 4π ; (20-8)
R→∞ Si R→∞ ~ 0 |2
|E ~ 0 |2
|E
|R Eϕ |2 |Efar,ϕ |2
σH or izont al = lim 4π = 4π ; (20-9)
R→∞ ~ 0 |2
|E ~ 0 |2
|E
|R Eϑ |2 |Efar,ϑ |2
σVer t ical = lim 4π = 4π . (20-10)
R→∞ ~ 0 |2
|E ~ 0 |2
|E

For antenna and general radiation problems, as mentioned above, FEKO is computing either the
gain or the directivity depending on the FF card setting (this applies to the values tabulated in

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-14

the *.out file only, in POSTFEKO any quantity can be selected). Let us assume that Pt is the
source power and Pv are losses in the structure (e.g. dielectric losses), then a power Pr =Pt -Pv
will be radiated. The directivity (as compared to an isotropic point source) is then defined as

Ss 2π |Efar,ϑ |2 + |Efar,ϕ |2
D Tot al = 4π R2 = · ; (20-11)
Pr ZF 0 Pr
2π |Efar,ϕ |2
DH or izont al = · ; (20-12)
ZF 0 Pr
2π |Efar,ϑ |2
DVer t ical = · . (20-13)
ZF 0 Pr

For the gain a similar definition is used, just now the source power Pt and not the radiated power
Pr is acting as reference:

Ss 2π |Efar,ϑ |2 + |Efar,ϕ |2
G Tot al = 4π R2 = · ; (20-14)
Pt ZF 0 Pt
2π |Efar,ϕ |2
GH or izont al = · ; (20-15)
ZF 0 Pt
2π |Efar,ϑ |2
GVer t ical = · . (20-16)
ZF 0 Pt

Between gain and directivity there is the relation


G Pr Pt − Pv
= = = η, (20-17)
D Pt Pt

where η represents the antenna efficiency.


The last three columns of the far field output give the polarisation information of the scattered
wave. In general the polarisation is elliptical as shown in Figure 20-1. The coordinates are ~e r , ~eϑ
and ~eϕ , and the view is in the direction of the propagation of the wave (~e r ).
In order to evaluate these quantities, let us define the magnitude and phase of the far field
components as
Efar,ϑ = A · e jα Efar,ϕ = B · e jβ . (20-18)
Using the abbreviation τ=ωt-β 0r one finds the temporal field strength vector in space as
A B
~ (τ) =
E · cos (τ + α) · ~eϑ + · cos (τ + β) · ~eϕ . (20-19)
r r
This equation describes then the polarisation ellipse of Figure 20-1. One can find the minimum
and maximum values of the field strength magnitude at these times

1 A2 · sin (2α) + B 2 · sin (2β)


τ1 = − · arctan 2 (20-20)
2 A · cos (2α) + B 2 · cos (2β)
and
π
τ2 = τ1 + . (20-21)
2

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-15

E max

left

right

ej
er

E min
g

eJ

Figure 20-1: Elliptic polarisation in the far field

~ (τ1 )| and E2 = | E
Let E1 = | E ~ (τ2 )| and assuming that we have E1 >E2 , then according to Figure 20-
1 we have Ema x =E1 and Emin =E2 .
The axial ratio (Minor/Major) is defined as

Emin E2
v = = (20-22)
Emax E1

The axial ratio (Major/Minor) is defined as

Emax E1
v = = (20-23)
Emin E2

A ratio (Minor/Major) of 0 means that the wave is a linearly polarised wave, but if the ratio
(Minor/Major) has a value of 1 then it is a circularly polarised wave. The direction of rotation is
right hand circular (RHC) for 0<α-β<π and left hand circular (LHC) for π<α-β<2π.
FEKO also computes and prints the polarisation angle γ. It is the angle between the major axis
of the polarisation ellipse and the unit vector ~eϑ and can be computed using

B · cos (τ1 + β)
γ = arctan . (20-24)
A · cos (τ1 + α)

If the FF card is used with NTHETA ≥ 2 and NPHI ≥ 2 the Poynting vector is integrated over the
specified sector, see the detailed discussion given with the FF card (see Section 14.38). The result
is the radiated power and is given below the field values.
When analysing an antenna the source power (calculated from the input impedance) should
equal the integral of the radiated power over the surface of a sphere. This may be used as
a partial validation of the result. Note that power losses in dielectrics and finite conductivity
should be taken into account separately.
The user may also elect to integrate the far field power without writing the field values to the
output file (using the FF card with FFREQ = 3). FEKO then produces the output

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-16

VALUES OF THE SCATTERED ELECTRIC FIELD STRENGTH IN THE FAR FIELD in V


Factor e^(-j*BETA*R)/R not considered

The following offset is in effect for the co-ordinates:


X= 0.00000E+00 m Y= 0.00000E+00 m Z= 0.00000E+00 m

Integration of the normal component of the Poynting vector in the angular


grid DTHETA = 2.00 deg. and DPHI = 1.00 deg. ( 1810 sample points)
angular range THETA angular range PHI radiated power
-181.00 .. 181.00 deg. -0.50 .. 9.50 deg. 2.82057E-04 Watt
-180.00 .. 180.00 deg. 0.00 .. 9.00 deg. 2.53851E-04 Watt
Polarisation dependent radiated power:
horizontal polarisation: 0.00000E+00 Watt ( 0.00 %)
vertical polarisation: 2.53851E-04 Watt (100.00 %)
S polarisation: 1.26925E-04 Watt ( 50.00 %)
Z polarisation: 1.26925E-04 Watt ( 50.00 %)
left hand circular pol.: 1.26925E-04 Watt ( 50.00 %)
right hand circular pol.: 1.26925E-04 Watt ( 50.00 %)

where the first line of total power is calculated assuming that each specified point lies at the
centre of an incremental integration area. The effective area is therefore slightly larger than the
area defined by the start and end angles. The second line gives the power integrated over an area
defined by the start and end angles. For example, one may request an integration from ϕ=0◦ to
ϕ=350◦ and ϑ=5◦ to ϑ=175◦ both in 10◦ increments in which case the first total will give the
total power through the sphere. One may also request the integration from ϕ=0◦ to ϕ=360◦
and ϑ=0◦ to ϑ=180◦ in which case the second total will give the correct total power through the
sphere.
The polarisation dependent power on the second block is calculated according to the effective
area of the second line.
When using a receiving antenna, the received power and phase of the received signal is given as
follows:
Ideal receiving antenna with name: ReceivingAntenna1

RECEIVED POWER IDEAL RECEIVING ANTENNA

Received power (ideal match assumed): 3.2871E-03 W

Relative phase of received signal: 9.0641E+01 deg.

20.7 S-parameters

If S-parameters have been requested with an SP card, FEKO prints different tables to the output
file. The first lists the impedance at each port (all sources that are active when the SP card is
processed are considered as ports).

S-PARAMETER REFERENCE IMPEDANCES AT PORTS

port impedance in Ohm


1 5.00000E+01
2 1.00000E+02
3 5.00000E+01

Then the S-parameters are listed for each source as shown below. Note that sources whose
amplitude are set to exactly zero are only used as sink ports, i.e. they are not excited and no such
block is created. All the ports are loaded and FEKO therefore also writes this information to the
output file. The second data line below gives S21 or the coupling to port 2 when port 1 is excited.
In the second block here under the first line gives S13 or the coupling into port 1 when port 3 is
excited.

October 2013 FEKO User’s Manual


DESCRIPTION OF THE OUTPUT FILE OF FEKO 20-17

SCATTERING PARAMETERS

ports magnitude phase


sink source real part imag. part linear in dB in deg.
S 1 3 -1.50775E-01 3.89893E-02 1.55735E-01 -16.1523 165.50
S 2 3 7.64835E-01 3.34088E-01 8.34618E-01 -1.5702 23.60
S 3 3 4.46365E-01 -1.47829E-01 4.70207E-01 -6.5542 -18.32
Sum |S|^2 of these S-parameters: 9.41935E-01 -0.2598

...

SCATTERING PARAMETERS

ports magnitude phase


sink source real part imag. part linear in dB in deg.
S 1 1 1.50829E-01 -8.81429E-01 8.94240E-01 -0.9709 -80.29
S 2 1 1.78833E-01 -1.48216E-01 2.32270E-01 -12.6802 -39.65
S 3 1 -1.24083E-01 1.07973E-01 1.64484E-01 -15.6775 138.97
Sum |S|^2 of these S-parameters: 8.80670E-01 -0.5519

20.8 Computation time and peak memory

The final section in the output file gives an overview of the computation time, in seconds, in a
tabular format:
SUMMARY OF REQUIRED TIMES IN SECONDS

CPU-time runtime
Reading and constructing the geometry 0.750 0.750
Checking the geometry 0.500 0.500
Initialisation of the Green’s function 0.000 0.000
Calcul. of coupling for PO/Fock 0.000 0.000
Calcul. of the FMM transfer function 0.688 0.687
Fourier transform of FMM basis funct. 3.453 3.453
Calcul. of matrix elements 214.187 214.187
Calcul. of right-hand side vector 0.016 0.016
Preconditioning system of linear eqns. 709.953 710.000
Solution of the system of linear eqns. 58.640 58.641
Determination of surface currents 0.000 0.000
Calcul. of impedances/powers/losses 1.578 1.578
Calcul. of averaged SAR values 0.000 0.000
Calcul. of power ideal receiving ant. 0.000 0.000
Calcul. of cable coupling 0.000 0.000
Calcul. of electric near field 3.688 3.687
Calcul. of magnetic near field 0.000 0.000
Calcul. of far field 0.000 0.000
other 3.688 3.641
----------- -----------
total times: 997.141 997.140
(total times in hours: 0.277 0.277)

This table is followed by an output of the peak memory (main memory, excluding possible out-
of-core files) usage which FEKO encountered during any solution phase:
Peak memory usage during the whole solution: 516.765 MByte

October 2013 FEKO User’s Manual


Part VIII

FEKO Utilities
THE OPTIMISER OPTFEKO 21-1

21 The optimiser OPTFEKO

21.1 Introduction

Optimisation is the process of changing parameters in a model to achieve a specific predefined


response or state. The parameters of the optimisation are usually associated with geometric
dimensions, material properties or excitations/loadings. For example, the gain of a horn antenna
may be maximised by varying the size of the horn aperture.
The component of the FEKO Suite that controls the optimisation process is OPTFEKO. OPTFEKO
requires two components for successful execution. The first is a parametric FEKO model, and the
second is an *.opt file specifying how this model is to be optimised. A parametric FEKO model
may be built up in various ways, and will consist of at least a *.pre file, or a *.cfx file — or
possibly both.
As discussed in Setting up optimisation in CADFEKO (see Section 6), all options relating to op-
timisation are specified through the CADFEKO interface and is stored in the *.opt file. The
parametric model may be prepared using CADFEKO (see Section 3) and/or EDITFEKO (see Sec-
tion 11).
For completeness sake, we will give a brief summary of the concepts involved in setting up a
specific optimisation in CADFEKO.
Optimisation is based on Searches, comprising a number of parts

• Method to be used for the search (including method settings regarding accuracy and stop-
ping criteria)

• Parameters for the search

• Goals of the search

The Method defines how the optimisation search will be performed. The stopping criteria and
accuracy define under what circumstances the search will be terminated. The optimisation Pa-
rameters define the range in which the search will be performed and the Goals specify the desired
result of the optimisation process.
Multiple Parameters and Goals may be defined as part of a single Search. The goals are combined
into a single representative function that is minimised or maximised (the relevant case is chosen
automatically based on the Goal definitions) using the optimisation algorithm indicated by the
Method selection.

Contents
21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
21.2 The optimisation method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
21.3 Sensitivity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-12
21.4 Running OPTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-13

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-2

21.2 The optimisation method

During optimisation, new values for parameters are chosen based on an algorithm known as
the optimisation method. OPTFEKO provides various optimisation methods, each with different
characteristics that are suitable for a different set of problems. Specifying the most appropriate
method to apply to a given problem is not a trivial task. It is a function of the number and range
of the parameters, the required outcome of the optimisation, the model size and the resources
available. In this section we will shortly discuss each of the methods available in OPTFEKO based
on the algorithm that is used, the termination criteria as well as other general method-specific
factors. We will also consider the text-log that is produced using each method.

21.2.1 Simplex (Nelder-Mead)

The Simplex Nelder-Mead Algorithm can be categorised as a local or hill-climbing search method,
where the final optimum relies strongly on the specified starting point.
The geometric figure formed by a set of N + 1 points in an N -dimensional space is called a
simplex. The basic idea in the simplex method is to compare the values of the combined goals
at the N + 1 points of a general simplex (where each point represents a single set of parameter
values) and move the simplex gradually toward the optimum point during an iterative process.
The movement of the simplex is achieved using three operations: reflection, contraction and
expansion.
The initial simplex in a 2-dimensional search-space is represented by the points X 1 , X 2 and X 3 in
Figure 21-1

Figure 21-1: Reflection, Expansion and Contraction for the Simplex method

Reflection

Considering the diagram in Figure 21-1, if X h is the point corresponding to the poorest fitness
value among the points of the initial simplex, it may be expected that the point X r obtained by
reflecting the point X h around the axis defined by the other points in the simplex (X 1 and X 2 ) may
(when evaluated according to the optimisation goals) provide a better fitness value. If this is the
case, a new simplex can be constructed by rejecting the point X h from the simplex and including
the new point X r . This process is illustrated in Figure 21-1 where the points X 1 , X 2 and X r form
the new simplex. Since the direction of movement of the simplex is always away from the worst
result, movement will always be in a favourable direction. If the global goal function does not
have steep valleys within the space defined by the parameter ranges, repetitive application of the
reflection process will lead to a zigzag path in the general direction of the optimum.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-3

Expansion

If a reflection process finds a point X r which is a better fitness than any point in the simplex (a
new optimum point), it may be expected that the best fitness value may be improved even further
by moving along the direction pointing from X 0 to X r . An expansion is therefore performed from
X r to X e .
If the evaluated fitness at X e is better than the fitness at X r , the expansion was successful; X h
is then replaced with X e and the reflection process is restarted. If the evaluated fitness at X e
is poorer, the expansion attempt has failed; X h is replaced by X r (as identified in the previous
reflection operation) and the reflection process is continued.

Contraction

If the reflection process finds a point X r with a better fitness than the second-best point in the
current simplex (X nh), a contraction operation will be performed.
If the contraction process produces a point X c which has a better fitness than a point in the
simplex, the contraction was successful and X h is replaced with X c before continuing with the
reflection process. If the contraction process produces a point X c which has a poorer fitness, the
contraction process has failed and the simplex base is reduced by scaling all the points in the
simplex by an internal factor before restarting with the reflection process.
The Simplex method can be summarised as shown in Table 21-1. (The F (X ) operator represents
the evaluation of the fitness at the point X in the parameter space.)

Table 21-1: A summary of the Simplex operations

Objective Function Operation


F (X r ) < F (X l ) Expansion
F (X l ) ≤ F (X r ) < F (X nh) Reflection
F (X nh) ≤ F (X r ) < F (X h) Positive Contraction
F (X h) ≤ F (X r ) Negative Contraction

Error treatment and termination

Simplex Nelder-Mead terminates naturally when

• The maximum number of FEKO solver runs has been reached

• The standard deviation between the simplex vertices is small enough

• The simplex base is small enough

• The optimisation goal has been reached

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-4

Failure during re-evaluation and meshing (in the CADFEKO batch meshing tool or in PREFEKO)
for a specific set of parameters (including violation of boundaries placed on parameter values)
is treated by writing an appropriate error message to the *.log file. A fictitious fitness value
is assigned to such a parameter set and the simplex will continue. If too many consecutive
parameter sets result in evaluation failures, or if failure of a parameter set occurs before the
initial simplex has been established, OPTFEKO will terminate with an error.

The text log of the Simplex method

During an optimisation, OPTFEKO maintains a text log of the optimisation process in the project
*.log file. The structure of this file is primarily determined by the optimisation method. When
the Simplex (Nelder-Mead) method is used, the log file structure is as shown below.

Section 1: General information regarding the optimisation setup.

========================= L O G - FILE - OPTFEKO =========================

Version: 13.22 of 2007-05-08


Date: 2007-06-06 16:45:43
File: test

OPTIMISATION WITH FEKO

=============== Optimisation variables ===============

No. Name Beg.value Minimum Maximum


1 sigma 3.503500000e+07 1.000000000e+07 5.000000000e+08

=============== Optimisation goals ===============

No. Name Expression


1 search1.goals.nearfieldgoal1 nearfieldgoal1

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-5

Section 2: Information regarding the Simplex method parameters.

=============== Optimisation method: SIMPLEX NELDER-MEAD ===============

Maximum number of iterations: 1000


Base of the simplex: 1.500000000e-01
Reduction factor of the base: 5.000000000e-01
Termination at minimal base: 1.000000000e-03
Termination at standard deviation: 1.000000000e-04
Standard reflection coefficient (R): 1.000000000e+00
Contraction coefficient (-C, +C): 5.000000000e-01
Expansion coefficient (E): 2.000000000e+00

Section 3: Information regarding the parameter values, goal values and Simplex operations at
each iteration.

=============== SIMPLEX NELDER-MEAD: Intermediate results ===============

No. sigma nearfieldgoal1 global goal operation global best aim


1 3.503500000e+07 6.488107157e-02 3.488107157e-02 ----- 3.488107157e-02
2 3.774988237e+07 5.929294284e-02 2.929294284e-02 ----- 2.929294284e-02
3 4.516707895e+07 6.328463622e-02 3.328463622e-02 -----
4 4.788196133e+07 5.795280540e-02 2.795280540e-02 R 2.795280540e-02
5 5.430544199e+07 5.500882669e-02 2.500882669e-02 E success 2.500882669e-02
6 4.153550651e+08 3.036429062e-02 3.642906239e-04 R 3.642906239e-04
7 4.356175335e+08 2.964433899e-02 3.556610122e-04 E success 3.556610122e-04
8 4.457496125e+08 2.929870383e-02 7.012961666e-04 R
9 4.356179559e+08 2.964446921e-02 3.555307926e-04 +C success 3.555307926e-04

Section 4: Information regarding the termination reason and optimisation results. If sufficient
information was available for a sensitivity analysis to be completed, the results of the sen-
sitivity analysis are also given.

=============== SIMPLEX NELDER-MEAD: Finished ===============

Optimisation finished (Standard deviation small enough: 5.020322005e-06)

Optimum found for these parameters:


sigma = 4.356179559e+08

Optimum aim function value (at no. 9): 3.555307926e-04


No. of the last analysis: 9

Sensitivity of optimum value with respect to each optimisation parameter,


i.e. the gradient of the aim function at 1% variation from the optimum:
Parameter Sensitivity
sigma 8.344260771e-01

21.2.2 Particle swarm optimisation (PSO)

Particle Swarm Optimisation (PSO) is a population-based stochastic evolutionary computation


technique based on the movement and intelligence of swarms. As a global search algorithm, the
technique has been shown in certain instances to outperform other methods of optimisation like
Genetic Algorithms (Section 21.2.3).
PSO can be best understood through an analogy similar to the one that led to the development
of the PSO. Imagine a swarm of bees in a field. Their goal is to find in the field the location with
the highest density of flowers. Without any a priori knowledge of the field, the bees begin in

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-6

random locations with random velocities (direction and speed) looking for flowers. Each bee can
remember the location at which it found the most flowers, and is aware of the locations at which
each of the other bees has found an abundance of flowers.
Based on its own experience (local best, pbest) and the known best position (global best, gbest)
found so far, each bee in turn adjusts its trajectory (position and velocity) to fly somewhere be-
tween the two points depending on whether nostalgia or social influence dominates its decision.
When each bee is done flying, it communicates its new-found information to the rest of the swarm
who in turn adjust their positions and velocities accordingly.
Along the way, a bee might find a place with a higher concentration of flowers than it had found
previously. It would then be attracted to this new location as well as the location of the most
flowers found by any bee in the whole swarm. Occasionally, one bee may fly over a place with
more flowers than have thus far been encountered by any bee in the swarm. The whole swarm
would then be drawn toward that location in addition to the location of own personal best
discovery. In this way the bees explore the field: overflying locations of greatest concentration,
then being attracted back toward them. Eventually, the bees’ flight leads them to the one place
in the whole field with the highest concentration of flowers.

Population size and Number of iterations

The default swarm/population size is set to 20 and the number of iterations to 50, resulting in
a default maximum allowed number of FEKO solver runs of 1000. While too small a swarm size
prevents the search algorithm from properly traversing the parameter space, larger swarm sizes
require more computational time. Compared to GA (Section 21.2.3), the PSO technique tends to
converge more quickly with smaller population sizes.
When the maximum number of solver runs, (C), is specified by the user, this needs to be con-
verted into a population size (A) and number of iterations (B), with A ∗ B ≤ C. A is selected as a
function of the number of parameters (Np ), with an internal upper limit, while the requirement
that B ≥ 5 must be satisfied.

Error treatment and termination

PSO terminates naturally when

• The maximum number of FEKO solver runs has been reached

• The standard deviation between the best positions of the swarm is small enough

• The optimisation goal has been reached

Failure during re-evaluation and meshing (in the CADFEKO batch meshing tool or in PREFEKO)
for a specific set of parameters is treated by writing an appropriate error message to the *.log
file before computing a new parameter set to replace the failed one. If too many consecutive
parameter set failures occur, then the optimisation will terminate with a message indicating this.
The *.log file for the optimisation can be consulted for further information.
Due to the nature of the technique, the parameters naturally adhere to boundaries defined in the
parameter space.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-7

The text log of the PSO method

During an optimisation, OPTFEKO maintains a text log of the optimisation process in the project
*.log file. The structure of this file is primarily determined by the optimisation method. When
the PSO method is used, the log file structure is as shown below.

Section 1: General information regarding the optimisation setup.

========================= L O G - FILE - OPTFEKO =========================

Version: 13.22 of 2007-05-08


Date: 2007-06-06 16:32:51
File: test

OPTIMISATION WITH FEKO

=============== Optimisation variables ===============

No. Name Beg.value Minimum Maximum


1 zf0 2.000000000e+00 1.000000000e+00 1.000000000e+01

=============== Optimisation goals ===============

No. Name Expression


1 search1.goals.farfieldgoal1 farfieldgoal1

Section 2: Information regarding the PSO method parameters.

=============== Optimisation method: PSO ===============

Maximum number of iterations: 3


Population size: 1
Acceleration constant 1: 2.800000000e+00
Acceleration constant 2: 1.300000000e+00
Termination at standard deviation: 1.000000000e-04
Pseudorandom number generator seed: 1

Section 3: Information regarding the parameter values, goal values and PSO best aims at each
iteration.

=============== PSO: Intermediate results ===============

No. zf0 search1.goals.f global goal local best aim global best aim
1 2.000000000e+00 2.267123373e-01 7.732876627e-01 7.732876627e-01 7.732876627e-01
2 2.000000000e+00 2.267123373e-01 7.732876627e-01
3 2.000000000e+00 2.267123373e-01 7.732876627e-01

Section 4: Information regarding the termination reason and optimisation results. If sufficient
information was available for a sensitivity analysis to be completed, the results of the sen-
sitivity analysis are also given.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-8

=============== PSO: Finished ===============

Optimisation finished (Maximum number of analyses reached: 3)

Optimum found for these parameters:


zf0 = 2.000000000e+00

Optimum aim function value (at no. 1): 7.732876627e-01


No. of the last analysis: 3

Sensitivity of optimum value with respect to each optimisation parameter,


i.e. the gradient of the aim function at 1% variation from the optimum:
Parameter Sensitivity
zf0 8.344260771e-01

21.2.3 Genetic algorithm (GA)

Genetic algorithm (GA) optimisers are robust, stochastic search methods modelled on the Darvinian
principles and concepts of natural selection and evolution. Like the PSO method (see Sec-
tion 21.2.2), GA’s are classified as global optimisers. FEKO employs a real genetic algorithm
(RGA).
GA optimisation borrows from the natural world in a number of ways. Conceptually, during a GA
optimisation, a set of trial solutions (a generation) is chosen. This generation is assigned the role
of ‘parents’, from which a new generation of ‘children’ are derived. In an evolutionary ‘survival-
of-the-fittest’ process, each consecutive generation moves toward an optimal solution under the
selective pressure of the fitness/goal function criteria.

Population size and Number of iterations

As a default, the generation size for the GA method is set to 20 and the maximum number of
iterations to 50, resulting in a maximum allowed number of FEKO solver runs of 1000.
If the user specifies the maximum number of solver runs (C), this needs to be converted into a
generation size (A) and number of iterations (B), with A ∗ B ≥ C. A is selected as a function of
the number of parameters in the optimisation problem (Np ), with an internal upper limit. It is
also internally required that B be chosen such that B ≥ 5.

Error treatment and termination

The Genetic algorithm terminates naturally when

• The maximum number of FEKO solver runs has been reached

• The standard deviation between the current generation chromosomes is small enough

• The optimisation goal has been reached

Failure during re-evaluation and meshing (in the CADFEKO batch meshing tool or in PREFEKO)
for a specific set of parameters is treated by writing an appropriate error message to the *.log
file before computing a new random parameter set to replace the failed one. Due to the nature
of the technique, the parameters naturally adhere to boundaries defined in the parameter space.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-9

The text log of the GA method

During an optimisation, OPTFEKO maintains a text log of the optimisation process in the project
*.log file. The structure of this file is primarily determined by the optimisation method. When
the GA method is used, the log file structure is as shown below.

Section 1: General information regarding the optimisation setup.

========================= L O G - FILE - OPTFEKO =========================

Version: 13.22 of 2007-05-08


Date: 2007-06-06 16:32:51
File: test

OPTIMISATION WITH FEKO

=============== Optimisation variables ===============

No. Name Beg.value Minimum Maximum


1 zf0 2.000000000e+00 1.000000000e+00 1.000000000e+01

=============== Optimisation goals ===============

No. Name Expression


1 search1.goals.farfieldgoal1 farfieldgoal1

Section 2: Information regarding the GA method parameters.

=============== Optimisation method: RGA ===============

Maximum number of iterations: 3


Population size: 1
Creep mutation with probability: 5.000000000e-01
Elitism, i.e. best individual replicated into next generation
Enforce niching
Uniform crossover with probability: 5.000000000e-01
Termination at standard deviation: 1.000000000e-04
Pseudorandom number generator seed: 1

Section 3: Information regarding the parameter values, goal values and GA aims at each itera-
tion.

=============== RGA: Intermediate results ===============

No. zf0 search1.goals.f global goal global best aim


1 2.000000000e+00 2.267123373e-01 7.732876627e-01 7.732876627e-01
2 1.357202892e+00 2.267123373e-01 7.732876627e-01
3 1.095988516e+00 2.267123373e-01 7.732876627e-01

Section 4: Information regarding the termination reason and optimisation results. If sufficient
information was available for a sensitivity analysis to be completed, the results of the sen-
sitivity analysis are also given.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-10

=============== RGA: Finished ===============

Optimisation finished (Maximum number of analyses reached: 3)

Optimum found for these parameters:


zf0 = 2.000000000e+00

Optimum aim function value (at no. 1): 7.732876627e-01


No. of the last analysis: 3

Sensitivity of optimum value with respect to each optimisation parameter,


i.e. the gradient of the aim function at 1% variation from the optimum:
Parameter Sensitivity
zf0 8.344260771e-01

21.2.4 Grid search

This method is strictly speaking not an optimisation method. The optimisation parameters are
linearly varied between their minimum and the maximum values in a predefined number of steps.
This can be useful to investigate the parameter space before beginning an optimisation. Due to
the required computational time, it is not generally recommended that this method be applied
for problems containing more than two parameters.
During application of the Grid search method, optimisation goals are evaluated at each of the
specified grid points, and a fitness is assigned to each evaluation. Though this fitness has no
effect on the selection of the ensuing parameter set, an optimum result on the predefined grid
will be identified and the solutions at each of the grid points can be compared to evaluate their
performance based on fitness.

Error treatment and termination

Failure during re-evaluation and meshing (in the CADFEKO batch meshing tool or in PREFEKO)
for a specific set of parameters is treated by writing an appropriate error message to the *.log
file before continuing with the next set of parameters in the grid.
The Grid Search Method terminates naturally only when the maximum number of FEKO solver
runs has been reached. The number of solver runs can be computed based on the number of
parameters and the number of steps per parameter as shown in Equation 21-1.

Nparameters
Y
Nsolver runs = Npoints (i) (21-1)
i=1

Internally, a limit of 10 000 is placed on the maximum number of allowed solver runs. For
4 parameters this would mean a maximum of only 10 points per parameter (this indicates how
quickly the algorithm can scale in terms of the number of required solver runs for multi-parameter
problems.)

The text log of the Grid search method

During an optimisation, OPTFEKO maintains a text log of the optimisation process in the project
*.log file. The structure of this file is primarily determined by the optimisation method. When
the Grid search method is used, the log file structure is as shown below.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-11

Section 1: General information regarding the optimisation setup.

========================= L O G - FILE - OPTFEKO =========================

Version: 13.22 of 2007-05-08


Date: 2007-06-06 16:32:51
File: test

OPTIMISATION WITH FEKO

=============== Optimisation variables ===============

No. Name Beg.value Minimum Maximum


1 zf0 2.000000000e+00 1.000000000e+00 1.000000000e+01

=============== Optimisation goals ===============

No. Name Expression


1 search1.goals.farfieldgoal1 farfieldgoal1

Section 2: Information regarding the grid search parameters.

=============== Optimisation method: GRID SEARCH ===============

No. Name Quantity Minimum Maximum Step


0 zf0 3 1.000000000e+00 1.000000000e+01 4.500000000e+00

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-12

Section 3: Information regarding the parameter values and goal values at each step.

=============== GRID SEARCH: Intermediate results ===============

No. zf0 search1.goals.f global goal


1 1.000000000e+00 2.267123373e-01 7.732876627e-01
2 5.500000000e+00 2.267123373e-01 7.732876627e-01
3 1.000000000e+01 2.267123373e-01 7.732876627e-01

Section 4: Information regarding the termination reason and best results found on the search
grid.

=============== GRID SEARCH: Finished ===============

Optimisation finished (Maximum number of analyses reached: 3)

Optimum found for these parameters:


zf0 = 1.000000000e+01

Optimum aim function value (at no. 3): 7.732876627e-01


No. of the last analysis: 3

21.3 Sensitivity analysis

OPTFEKO computes an indication of the sensitivity of the goal function w.r.t. each parameter
upon termination of an optimisation using the PSO, GA or Simplex methods, if and only if suf-
ficient information is available. The computed sensitivity values are indicated on the screen
output, and stored in the text *.log file. If no sensitivity analysis is performed, the reason is
indicated on the screen output, but no indication is written to the text *.log file.

Figure 21-2: Sensitivity analysis of the goal function f w.r.t the parameter x.

Figure 21-2 shows an example goal function f that varies as a function of the parameter x. The
sensitivity w.r.t. parameter x can be described by the following equation:

∂f

S(x) = (21-2)
∂ x x 0 ±∆x

with ∆x equal to 1
∆x = 0.01(x max − x min ). (21-3)

Solving Equation 21-2 directly, however, gives a near zero value when the solution space is
well converged. We therefore rather compute the second derivative from which the sensitivity
parameter can be computed through integration

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-13

∂f ∂2f

S(x) ≈ ≈ · ∆x. (21-4)
∂ x x 0 ±∆x ∂ x2
x0

to finally give the sensitivity w.r.t. x as

S(x) ≈ f 00 (x 0 ) · 0.01(x max − x min ). (21-5)

A sensitivity analysis will only be performed if at least 2N +1 samples are available for a problem
with N parameters and these samples should all be within a 5% radius of the optimum. If the
samples under consideration are scattered outside of a 5% radius of the optimum, the stored
data is considered insufficient for proper sensitivity analysis. It should also be realised that as
this computation makes use of already computed samples only, the accuracy of the reported
sensitivity number depends on how well the algorithm has converged.

21.4 Running OPTFEKO

Once a parametric FEKO model and accompanying *.opt file have been created, the
optimiser may be launched. The optimiser may be launched from EDITFEKO from the Run
→ OPTFEKO menu. In CADFEKO and POSTFEKO, OPTFEKO may be launched from the quick
access toolbar at the top right of the window. Alternatively the <Alt><6> shortcut key may be
used from within any FEKO component to launch OPTFEKO. Optimisation options may be set on
the → Utilities tab of the Component parameters dialog. When the optimiser is launched from
the GUI, an execution window will open in which text information regarding the optimisation
progress is displayed.
OPTFEKO may also be launched from the command line using the command: optfeko dipole

Where dipole is the name of the optimisation project. On the command line the following
parameters may be added:

−−version Output only the version information to the command line and terminate.

-r All interim model files are deleted after each analysis. The optimum results are, how-
ever, not deleted, and are available with the string (_optimum) appended to the name.
This saves disk space during and after the optimisation process.

−−restart x Resumes an optimisation process that has been stopped, provided that all of the interim
optimisation files (*.fek *.bof and *.cfx) are still available (for example, the pre-
vious optimisation has been stopped by pressing <Ctrl><C> or due to a power failure
or a FEKO error etc.).

-np x The number of processors to be used for farming out of the individual optimisation
steps (see below).

−−machines-file machname The file machname is the machines file with the node names and the
number of CPUs to be used for farming of the individual optimisation steps. This ma-
chines file is used for both farming as well as parallel execution when farming and
parallel execution is used simultaneously. Examples regarding this topic are discussed
below.

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-14

−−eval-aim-only x The value of the goal function is calculated only for one existing file (x) — no
optimisation is done. (This is mostly used for debugging.)

−−runfeko-options After this option one can specify additional options which will be used in the
launcher RUNFEKO for the FEKO kernel. For instance in order to use the parallel FEKO
solver during the optimisation one can use the command
optfeko file --runfeko-options -np 2

or also
optfeko file --runfeko-options -np 2 --machines-file m

where m indicates the machines file. For a remote execution of the FEKO runs during
the optimisation on another host, the suitable command would be
optfeko file --runfeko-options --remote-host hostname

Additional options for ADAPTFEKO and PREFEKO may also be included in the OPT-
FEKO command as part of the RUNFEKO options. These will be passed to the relevant
component by RUNFEKO as needed. This allows for control of all of the FEKO compo-
nents during the optimisation process. See Section 19.2 for a list of all such RUNFEKO
options.

Farming and advanced control

Farming out of the steps of an optimisation involves the concurrent solution of various optimi-
sation steps on a number of available processors or hosts. Farming may not be used with the
Simplex method.
When farming out the individual optimisation steps, the number of processes to start on each
available host is specified in a so-called machines file. This machines file has a syntax identical to
that used for parallel runs. The basic syntax is
Hostname:Number of processes

using a new line for each host. For example, if two hosts are available with names host1 and
host2 (this is the output of the UNIX command hostname), and 4 and 8 processors respectively,
the machines file will be
host1:4
host2:8

Launching an optimisation run with 12 processors for farming using this machine file would
cause the first 4 optimisation steps to be launched on host1 and the next 8 steps to be launched
on host2. The example command is running model <x> and farming out to <n_farming>
processors listed in the machines file <m>.
optfeko <x> -np <n_farming> --machines-file <m>

During optimisation new model files are continuously created by adding the string _opt_ and a
sequentially incremented number to the file name of each relevant component file of the para-
metric model.
Large problems may require that FEKO be run in parallel (simulation spread over more than one
host or processor - not the same as farming.) This is possible by adding the number of cores that
FEKO should use as a RUNFEKO option. The example command is running model <x> and each

October 2013 FEKO User’s Manual


THE OPTIMISER OPTFEKO 21-15

solution is using <n_parallel> processors listed in the machines file <m>. Note the similarity
and the differences between this command and the previous command.
optfeko <x> --runfeko-options -np <n_parallel> --machines-file <m>

It is also possible to use both the power of farming and parallel computing to optimally utilise
resources. The example command shows how to run model <x> by farming to <n_farming>
processors while running every solution on <n_parallel> processors. The available processors
are listed in a single machines file <m>. OPTFEKO automatically creates machines files for every
solution that is farmed out.
optfeko <x> -np <n_farming> --machines-file <m> --runfeko-options -np <n_parallel>

OPTFEKO output

Information on the optimisation process is stored in a log file with the extension .log — in the
example above the file name will be dipole.log. The structure of this file is dependent on
the optimisation method, and it is therefore discussed in the sections dealing with each of the
method algorithms.
It should be noted that when using the remote launching facility (see Section 19.2.3) or farm-
ing out of optimisation steps, the actual optimisation is done on the local machine, only the
FEKO kernel runs (which are the time and memory consuming part) are done on the remote
machine(s).
The optimisation process may be interrupted at any time by clicking the Stop button in the GUI
process information window, or <Ctrl><C> in a command line. Confirmation of the interruption
will be requested, and if given, the optimisation process will be stopped. If an optimisation is
interrupted, all of the interim files created during the optimisation will be kept, except if the
Delete all files option was selected when running from the GUI, or if the -r option was added
when running from a command line. If the files were kept, the optimisation can be restarted at a
later stage using the –restart x option.

October 2013 FEKO User’s Manual


THE PROGRAM ADAPTFEKO 22-1

22 The program ADAPTFEKO

22.1 Description

In examples with narrow resonances a fine frequency resolution is required to locate these res-
onances. If the frequency band is large, a very large number of analyses may be required when
simple linear or multiplicative frequency stepping is used. ADAPTFEKO is used to overcome
these problems. It uses adaptive frequency sampling and interpolation methods to automatically
choose smaller frequency steps near resonances and larger steps where the results are relatively
smooth.
For each frequency ADAPTFEKO creates a *.pre file and calls PREFEKO and FEKO. The file
names are derived from the original name plus _fr_n_ada_m where n and m are incremental nu-
merical values (for example, the new files associated with test.pre are test_fr1_ada_1.pre,
test_fr1_ada_2.pre, . . .).

Contents
22.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
22.2 Running ADAPTFEKO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
22.3 The *.pre input file for adaptive sampling . . . . . . . . . . . . . . . . . . . . 22-2

22.2 Running ADAPTFEKO

ADAPTFEKO is started automatically by RUNFEKO (see Section 19.2) if a Continuous (interpo-


lated) range is selected in the CADFEKO Solution frequency setting or if the FR card (see Sec-
tion 14.39) defining the range of solution frequencies contains the adaptive frequency sampling
option. The syntax is:
runfeko filename

or
runfeko filename --adaptfeko-options [options]

where the optional argument options in the second line may be

−−version Output only the version information to the command line and terminate.

−−keep-files All solution files (*.pre, *.fek, *.out, etc.) are preserved.

−−restart x Restart an adaptive frequency analysis using results for the frequency points 1. . .(x-1)
obtained in a previous run. (Then the previous run must have used –keepfiles.)

October 2013 FEKO User’s Manual


THE PROGRAM ADAPTFEKO 22-2

22.3 The *.pre input file for adaptive sampling

The *.pre file is created (manually in EDITFEKO or automatically by CADFEKO) as for linear or
multiplicative stepping.
During solution, the variable #adaptfreq is defined automatically at the start of the single
frequency input files generated by the ADAPTFEKO utility. This variable may be used to allow
for solution frequency-based variation (for example, adaptive meshing). One should not directly
assign this name to a variable inside the *.pre file or in CADFEKO as this will overwrite the
value specified by ADAPTFEKO. If this variable is needed (for example to run PREFEKO during
model setup when using adaptive meshing), the DEFINED function should be used in the pre
file (an example of this usage shown below).
** define a frequency variable if it is not already defined by an ADAPTFEKO run
!!if (not(defined(#adaptfreq))) then
#adaptfreq = 250.0E6
!!endif

Note that care must be taken when using adaptive meshing with ADAPTFEKO. Small discontinu-
ities that may result from changes in the mesh can influence the convergence and accuracy of the
adaptive sampled results dramatically.

October 2013 FEKO User’s Manual


THE FEKO SOFTWARE UPDATER 23-1

23 The FEKO software updater

23.1 Introduction

With the FEKO GUI update utility or the command line FEKO_UPDATE utility the latest FEKO
updates can automatically be downloaded and installed. Users are given the option to download
the latest FEKO update from a master or a local repository. The master repository is the FEKO
website and requires internet access. The command line updating utility enables scripted updates
whilst the GUI version of the updater is interactive and allows the user to set preferences as well
as checking for new updates.
Note that no updates will be made available for FEKO LITE installations. Other installations will
require a valid M&S licence to download updates. FEKO Suite updates will only apply to the
current FEKO suite installation.
No information is sent to the FEKO website during an update, a list containing the latest software
is retrieved and compared to the currently installed components.

Contents
23.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
23.2 GUI update utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
23.3 Command line update utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-3
23.4 Proxy settings - advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4
23.5 Creating a local update repository . . . . . . . . . . . . . . . . . . . . . . . . . 23-4

23.2 GUI update utility

The FEKO software updating utility is automatically launched every time one of the GUI com-
ponents is launched, but it only checks for updates if the check interval time has elapsed (the
default check interval is one week). When updates are available the user will be notified and also
has an option to download and install the updates. It is also possible to force a Check for update
from within CADFEKO, EDITFEKO and POSTFEKO.
For CADFEKO and POSTFEKO, select the application menu and click on the Check for updates
anchor. For EDITFEKO, select Help → Check for updates.
On the Info tab, information regarding the available updates will be displayed. A list of the
components available for download will be displayed as well as their respective file sizes, see
Figure 23-1. Should more detailed information be required regarding the update process and
to view the release notes, clicking on the Details tab will maximise the message window at the
bottom of the dialog.
From the Installed versions tab, the version and date of the installed FEKO components may be
viewed, see Figure 23-2. Note that no internet connection is required to view this information.
Settings regarding the update schedule, update source and proxy settings are given on the Set-
tings tab as shown in Figure 23-3.

October 2013 FEKO User’s Manual


THE FEKO SOFTWARE UPDATER 23-2

Figure 23-1: The FEKO update dialog with the Info tab selected.

Figure 23-2: The FEKO update dialog with the Installed versions tab selected.

The name of the GUI update utility is feko_updchecker_gui and allows the following options
to be set as well as checking for updates and performing updates.

Schedule: The user may set the intervals for when the FEKO updater should check for
updates. The option to automatically check for updates can also be disabled by
unchecking the checkbox Check for updates automatically on the settings tab
of the FEKO update dialog.

Update from: The web or a local repository may be set as the desired location from where the
latest updates are to be downloaded from. The user has the option to download
updates via the web or from a local repository. Using the local repository is
recommended when the computer network or cluster does not have internet
access due to security reasons or only limited bandwidth is available. In this
case, the updates may be downloaded from the FEKO website by the system
administrator and placed at a location accessible for the computer network or
cluster. The Local repository can be set on the Settings tab of the FEKO update
dialog. Select Local repository and enter the location of the updates.
When the Web option is selected, the updates will be downloaded from the
FEKO website.

Proxy: If the web is used as the repository, the user can set the proxy server and
authentication (if required).

October 2013 FEKO User’s Manual


THE FEKO SOFTWARE UPDATER 23-3

Figure 23-3: The FEKO update dialog with the Settings tab selected.

23.3 Command line update utility

FEKO_UPDATE is a command line application that enables scripted updates. Launching the appli-
cation without any arguments will list the possible argument options. In most cases feko_update
will be launched as shown below to check for updates and then download and install any avail-
able updates.
feko_update --update

The optional arguments for feko_update are:

−−check [ <host>[:port][user [password]]] Check if updates are available from the master
repository. If the computer is behind a proxy server, the proxy server address and
the login details can be supplied as required. If updates are available, the following
information is printed to the screen:

• The date of the available update.


• A list of the updated FEKO Suite components with their version numbers.
• The total download size of the update.
• The release notes for all updates for the Suite version.

If no updates are available, the user is informed and the application exits.

−−update [ <host>[:port][user [password]]] Check if updates are available from the mas-
ter repository, then download and install all available updates. If the computer is behind
a proxy server, the proxy server address and the login details can be optionally supplied.
If updates are available, the following will occur:

• Print the same output as that of the −−check option.


• Print each file which is being downloaded.

October 2013 FEKO User’s Manual


THE FEKO SOFTWARE UPDATER 23-4

• Print each file which is being updated.


• Print a message stating that the update was successful and exit.

If no updates are available, the user is informed and the application exits.

−−check-from <path> Similar to the −−check option, the updater checks if updates are available,
but the update source is not the FEKO website. The update source is the local repository
specified by <path>.

−−update-from <path> Similar to the −−update option, the updater checks if updates are avail-
able and install the updates, but the update source is not the FEKO website. The update
source is the local repository specified by <path>. The path must be an absolute file
path which can point to a unmapped network share (Windows), mapped (mounted)
network share or a directory on a local drive.

−−version Print the version information and then exit.

−−no-progress Suppress the download progress information when updating from the FEKO web
page.

23.4 Proxy settings - advanced

The FEKO updater (GUI and command line versions) will use the system proxy by default. On
Windows the proxy is the same as is used by Internet Explorer. The proxy can be specified
manually or by using PAC file. On Linux the system proxy is defined by the environment variable
http_proxy. If the environment variable http_proxy is not defined, then no proxy will be
used.
The parameter −−no-proxy was added to bypass the system settings and use a direct connec-
tion.

23.5 Creating a local update repository

The following describes the steps required for the system administrator to create a local FEKO
update repository. Note that the path for the local FEKO update repository must be an absolute
file path which can point to a unmapped network share (Windows), mapped (mounted) network
share or a directory on a local drive.

• If previous updates are still located at the required destination, first delete the old updates.

• Download the updates for the required platforms.

• Unzip the folders in the required destination.

If multiple platforms are downloaded, ensure that the various platform updates are located at the
same destination. The zip file contains an entire directory structure which must be kept intact.
When updates for multiple platforms are required, the directories must be merged.

October 2013 FEKO User’s Manual


THE FEKO SOFTWARE UPDATER 23-5

If for example WIN64_AMD64 and WIN64_EM64T updates were downloaded to


C:\Updates\, unzipped and merged, the following directory tree will result:
C:\
|__Updates
|__Suite_XX.YY
|__Win64_AMD64
|__Win64_EM64T

In the above case set the local repository path to C:\Updates (or a network reachable equivalent
UNC path or mapped drive). Always point the local repository path to the directory that contains
the root item of the *.zip file.

October 2013 FEKO User’s Manual


THE FEKO CRASH REPORT UTILITY 24-1

24 The FEKO crash report utility

FEKO has an automatic crash report utility. In the event of CADFEKO, EDITFEKO or POSTFEKO
crashing unexpectedly, this utility will automatically generate a crash report. Note that sending
crash reports to the FEKO development team is voluntary, and no model files will be attached
without the user’s consent. For more information about the contents of crash reports, please
refer to our privacy policy.
After the program has crashed, the dialog shown in Figure 24-1 is displayed. Clicking on Attach
model files before sending will open a file selection dialog to allow the selection of the model and
any related files. Clicking Send report without model will generate a crash report that will not
include any model files. Use this option when reporting a crash while working with confidential
models. Finally, clicking Do not generate a report will just close the program and no report will
be generated.

Figure 24-1: The crash report utility will launch the dialog in the event of a crash to indicate to the user
the options for proceeding with the crash report.

After the report has been generated, the Error Report dialog is shown, see Figure 24-2.

Figure 24-2: The Error Report dialog giving the user the option to either Send report or Close the program.

The file size of the report is indicated at the top of the dialog. Clicking on the What does this
report contain link will open a dialog that lists the files that are contained in the crash report.
The files that are contained in the report is shown in the upper box.
Selecting a file in the top box will display its contents in the bottom box. By right-clicking on a
file, you have the option to either open it in an external viewer, remove the selected file from the
report or to add more files to the report. Note that you cannot remove the crash dump files.

October 2013 FEKO User’s Manual


THE FEKO CRASH REPORT UTILITY 24-2

Figure 24-3: The Error Report Details dialog listing the files contained in the crash report.

To help the FEKO development team resolve the issue relating to the crash, it is recommended
that the e-mail address of the user and a description of what they were doing when the error
occurred is included in the report. Refer to our privacy policy for more information regarding
how we use this information.
When clicking on Send report the report will be sent by e-mail using a built in SMTP client. If the
network that the computer is on does not allow this, an attempt will be made to send the report
using the default e-mail client installed on the computer.
Clicking Close the program. . . will open a menu that allows the user to send the report at a later
time, or to not send the report at all. The send report later option should be used when the
computer is temporarily disconnected from the internet.

October 2013 FEKO User’s Manual


THIRD PARTY INTEGRATION WITH OPTENNI LAB 25-1

25 Third party integration with Optenni Lab

Optenni Lab is a matching circuit generation and antenna analysis software tool. It includes
automatic impedance matching tools and antenna bandwidth estimation. A macro is provided
as shown in Figure 25-1 that creates a link between CADFEKO and Optenni Lab. A Touchstone
file containing the s-parameters for the system is generated by FEKO and sent to Optenni Lab. A
matching network can be created for each of the ports in the Touchstone file. These matching
networks are then sent back to CADFEKO to be included in the model.

Figure 25-1: Launching the Optenni Lab port matching macro.

For multiport models, or models containing multiple configurations, user input may be required.
In these cases, a dialog will be generated to ask for the required user input. Figure 25-2 shows
an example of how this dialog can look.

Figure 25-2: The macro interface that is displayed when user input is required.

Note that a valid Optenni Lab license and installation is required for the macro to be utilised.

October 2013 FEKO User’s Manual


Part IX

Appendix
ADVANCED MODELLING AND SOLUTION CONTROL 26-1

26 Advanced modelling and solution control

26.1 Utilisation of symmetry

It is possible to reduce the calculation time and memory usage if symmetry is utilised. This can be
done by using the SY card (see Section 13.45), or by setting symmetry for the model in CADFEKO
(see Section 3.11.1).
Three coordinate planes, x = 0 ( yz plane), y = 0 (xz plane) and z = 0 (x y plane) may be
defined as planes of symmetry. There are three different types of symmetry. They are described
below.

26.1.1 Geometric symmetry

With this type of symmetry the geometry of the modelled solid or part of the solid is symmetric
about one or more coordinate planes. The interaction between any two basis functions must be
the same as that between their symmetrical counterparts. Everything which affects this must be
symmetrical, i.e. loading, losses, Green’s functions, etc. The source, however, is not symmetric,
thus a symmetric current distribution does not exist. This asymmetric current distribution leads
to asymmetric electric and magnetic fields.
The body of a truck with an antenna placed at the front left hand side, will be used as an example.
In the input file, half of the body is constructed (either the left or right side). The other half is
then created with the SY command. Finally the antenna is placed in the correct position on one
side.
A rectangular metallic plate, illuminated by an electromagnetic wave from a direction outside
the principal planes, is another example. In this case a quarter of the plate is constructed and
the rest is created using the SY card (see Section 13.45) with geometric mirroring around two
coordinate planes.
When defining symmetry in CADFEKO, symmetrical geometry must be created and the relevant
symmetry set before meshing. In the case where a model is to be considered that is not entirely
symmetrical (as in the first example above), the asymmetrical part(s) of the model must be added
by editing the pre file and cannot be defined in CADFEKO.
Geometric symmetry does not reduce the number of unknown coefficients in the current basis
functions. Therefore there is no reduction in memory usage. There is, however, a reduction in
computation time when the matrix elements are determined.

26.1.2 Electric symmetry

An electric symmetry plane is a plane which can be replaced by an ideal electrically conducting
wall without changing the field distribution.
~ field’s tangential component
In Figure 26-1 an electric symmetry plane is displayed. The electric E
disappears and the magnetic H ~ field’s normal component disappears. The electric current density
~
J is anti-symmetric and the magnetic current density M ~ is symmetric.

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-2

As with geometric symmetry, less computational time is required to calculate the matrix elements.
The number of unknown coefficients of the current basis functions are also reduced, leading to
linear equation system of a lower order. This leads to a further reduction in the computation time
and requires less memory due to the reduction in the number of matrix elements.

Figure 26-1: Electric symmetry plane

26.1.3 Magnetic symmetry

A magnetic symmetry plane is a plane which can be replaced by an ideal magnetically conducting
wall without changing the field distribution.
In Figure 26-2 a magnetic symmetry plane is displayed.

Figure 26-2: Magnetic symmetry plane

The electric E~ field’s normal component and the magnetic H ~ field’s tangential disappears. The
~
electric current density J is symmetric and the magnetic current density M~ is asymmetric.

When using magnetic symmetry there is a reduction in the computational time when determining
the matrix elements. The order of the matrix equation is also reduced, which leads to a further
reduction in the computational time and reduces the amount of memory needed to determine
the matrix elements.

26.1.4 Example of the application of symmetry

In Figure 26-3 a dielectric sphere is shown with a linear polarised incident electromagnetic field.
The full description of the problem is given in example_04 in the Script Examples. Only the use
of symmetry is described here.
The plane z = 0 (x y plane) is a plane of geometric symmetry, because the excitation does not
have any symmetry in this plane. The plane x = 0 ( yz plane) is a plane of electric symmetry,
because the electric field is perpendicular to this plane and the magnetic field has a tangential
component only. Similarly the electric field only has a tangential component in the y = 0 plane

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-3

Figure 26-3: Dielectric sphere with incident field

Table 26-1: A summary of the Simplex operations

Symmetry type Number of Memory Solution


unknowns usage time [s]
Symmetry not used 1032 8.38 MByte 3.860
All 3 coordinate planes declared as planes of 1032 8.41 MByte 2.015
geometric symmetry
Plane x = 0 declared as electric plane of symmetry, 258 2.36 MByte 1.094
plane y = 0 as magnetic plane of symmetry and plane
z = 0 as geometric plane of symmetry

and the magnetic field is perpendicular. This is thus a plane of magnetic symmetry. The reduction
in time and resources is tabulated below 34 .
This example has relatively few unknowns. Most of the computational time is therefore used
to determine the matrix elements in comparison to the time taken to solve the matrix equation.
For applications with more unknowns, the reduction of unknowns could make a considerable
difference in the time and memory required.

26.1.5 Special enforcement of symmetry: Even – odd method

The table in the previous section demonstrates the advantage of using electric and/or magnetic
symmetry. For very large structures which have only geometrical symmetry, it may be worthwhile
to consider two separate problems with electrical and magnetic symmetry as described below.
Figure 26-4 (a) shows the original problem. It consists of a dipole antenna with a passive wire
below it. This is admittedly a very simple problem, normally this procedure would only be applied
to much more complex structures.
The structure in Figure 26-4 is symmetric about the plane z = 0, but the excitation is asymmetric
and thus only geometric symmetry can be applied in FEKO. This problem may be separated into
34
The runtimes in this table are dependent on the platform on which the problem is run. These numbers are
therefore only indicative of the relative effects on overall runtime.

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-4

Figure 26-4: Separating a problem with geometrical symmetry into two problems with electric and mag-
netic symmetry respectively.

the two sub-problems shown in Figures 26-4 (b) and (c). These two problems can be solved
using respectively electric and magnetic symmetry about the plane z = 0. Each of these problems
require only half the number of unknowns required for case (a). Superposition of the problems
(b) and (c) (this must unfortunately be done externally to FEKO, as such superposition is not
currently catered for) yields a result to the original problem.
The solution of each of the sub-problems requires only half of the storage space required for case
(a). For very large problems the solution time is dominated by the time required to solve the
system of linear equations. In this case the two sub-problems each requires only one eighth of
the time required for direct solution of case (a).

26.2 Dynamic memory management

26.2.1 Telling FEKO how much memory can be used

FEKO has the ability to manage the memory dynamically, i.e. the memory required for the geom-
etry data and matrix elements etc. is determined and allocated at run time. When FEKO tries to
allocate memory, in principle the operating system offers a certain address space, which might
either be physically installed memory (i.e. RAM), but also virtual memory (system swap space
swapped to the hard disk).
If FEKO starts to swap using virtual memory, then the whole solution process can be slowed down
quite significantly, and this is not recommended. FEKO also has an out-of-core solution which
uses the data on disk in a much more efficient way. (The out-of-core technique is also used, of
course, if the problem requires more memory than is available in both RAM and virtual memory.)
For solutions which do not fit into the available RAM, but do fit into the RAM plus virtual memory,
the user should tell FEKO what the actual physically installed memory is, less a certain reserve
for the operating system.
Up to FEKO Suite 4.2 the variables #maxalloc or #maxallocm were used for this purpose:

#maxallocm This sets the maximum allocatable memory in MBytes that can be used together by
all FEKO processes launched as part of one parallel FEKO job per host. For example

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-5

the definition #maxallocm = 400 will allow a maximum of 400 MByte of memory
to be allocated. If this is not enough, the matrix will be saved to the hard disk or
the program will be halted. For parallel versions of FEKO the memory limit for each
process is determined by dividing the value of #maxallocm by the number of parallel
processes on the same host. Note that if #maxallocm is used, it will have preference,
and #maxalloc will be ignored if it is used in the same *.pre file.

#maxalloc Similar to #maxalloc but just specifies the memory in Bytes and not in MBytes.

These two variables #maxalloc and #maxallocm are still supported in FEKO Suite 4.2 and later
for backwards compatibility reasons, however, their usage is strongly discouraged when using
newer FEKO versions.
In newer FEKO versions (Windows and Linux) the FEKO memory management is fully automatic
and the usage of virtual memory (swap space) is avoided as far as possible. On UNIX versions
an environment variable FEKO_MAXALLOCM may be defined during the installation and set in
the initfeko initialisation script (this specifies the physically installed RAM less an operating
system reserve for a specific machine). The advantage then is that the FEKO *.pre files are
machine independent, i.e. if you have two different computers with different memory, no variable
#maxallocm has to be changed in the *.pre file as such, everything is either fully automatic
(Windows or Linux) or defined on a per machine basis (other UNIX versions).

26.2.2 Variables that are automatically set correctly

Note that normally PREFEKO estimates the following variables correctly and they should only be
declared in cases where there is an explicit error message stating that larger memory blocks are
required. Under normal circumstances these variables should not be set, as they could have a negative
impact on FEKO performance.

#maxaeedges The maximum number of edges between triangles that may be excited with the AE card.
#maxanr The maximum number of sources.

#maxapo The size of the memory block that is used to save the coefficients in the physical optics
approximation. For #maxapo=0 the necessary amount will be dynamically allocated.

#maxarang The maximum number of ϑ or ϕ angles used with the AR card (excitation by a point
source with a specified radiation pattern).

#maxarpat The maximum number of radiation pattern excitations (AR card) allowed simultane-
ously.

#maxbsobnr To accelerate the ray path search with PO the area under consideration is divided into
boxes. Information pertaining to which box contains which object must be stored. A
field of size #maxbsobnr is used in this case.

#maxcolayer The maximum number of layers on a CO card which implements thin dielectric sheets.
#maxdrnv The maximum number of triangle elements that can be connected to a segment at an
attachment point.

#maxfepkts The maximum number of points considered for the near field computation with the FE
card when using Specified points.

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-6

#maxfoge The maximum number of areas that are described by using the Fock theory.

#maxgfmsia The maximum number of entries in the interpolation tables for the Green’s function of
a planar substrate.

#maxhacards The maximum number of HA cards (used internally to set up microstrip ports) that may
be present in the *.fek file.

#maxkanr The maximum number of “internal” edges (also the number of basis functions) per
triangle. It may be larger than 3 if more than two plates share an edge.

#maxknonr The maximum number of nodes that may lie against a segment.

#maxl4cards The maximum number of L4 type loads.


#maxlab The maximum number of labels in a model.

#maxlecards The maximum number of LE cards (which specify a load on an edge between triangles).
#maxleedges The maximum number of edges between two surface triangles that can be loaded with
a single LE card.

#maxlengz Dimension of the interpolation table used for the planar multilayer Green’s functions.
This variable determines the maximum number of sample points in the z direction.

#maxmedia The maximum number of different media used for the treatment of dielectric bodies
in the surface equivalence principle. The surrounding free space (medium 0) is not
counted (i.e. with #maxmedia=1 one dielectric body can be treated).

#maxnp The maximum number of columns and rows which a block in the matrix consists of in
the Block-Gauss algorithm which solves the matrix equation.
Dynamically 3*#maxnp*#maxnp*16 Bytes are allocated for 3 blocks in the matrix.

#maxnv The maximum number of connection points between wires and surface triangles.

#maxndr The maximum number of triangles.

#maxnka The maximum number of edges between two triangles.

#maxnkapo The maximum number of edges in the physical optics approximation.

#maxnkno The maximum number of nodes between segments.

#maxnlayer The maximum number of layers for the special Green’s function of a planar substrate.

#maxnqua The maximum number of dielectric cuboids.

#maxnseg The maximum number of segments.

#maxntetra The maximum number of tetrahedral volume elements for a FEM solution.

#maxnzeile The maximum number of basis functions in the moment method area.

#maxpoka The maximum number of bordering edges to the PO area.

#maxpokl The maximum number of wedges in the PO area.

#maxpolyf The maximum number of polygonal plates that can be used to represent a body in the
UTD region.

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-7

#maxpolyp The maximum number of corner points allowed for a polygonal plate.

#maxpovs The maximum number of label to label visibility specifications set by VS cards (a card
with a range sets a number of entries equal to the size of the range).

#maxsklayer The maximum number of layers at an SK card.


#maxtlcards The maximum number of TL cards.
#maxutdzyl The maximum number of cylinders in the UTD region.

#nmat The memory size that may be allocated for the matrix of the system of linear equations.
For #nmat=0, the necessary amount will be allocated dynamically. The allocation is
not specified in Bytes, but in terms of the number of type DOUBLE COMPLEX num-
bers. (These require 16 Bytes each.) For example, 400 MByte is specified by setting
#nmat = 400*1024*1024/16. The same effect can be achieved by setting the vari-
able #maxalloc so that it is unusual to assign a value to #nmat.

#npuf The maximum number of control cards that may occur in a loop (for example in a
frequency sweep).

26.3 Environment variables and registry keys

This section lists the environment variables that may be used to control the execution of FEKO.
From Suite 5.5 the default location for these settings under Windows are in the registry and not
as environment variables. The preferred way of changing any of these settings under Windows is
by using initfeko.bat. The syntax for initfeko.bat is as follows:

-setreg Write the environment values (as set in initfeko.bat) to the registry. Default values
are defined in initfeko.bt directly by the initial installer and can be modified to
match the users’ needs. Note that the current environment/shell will not be changed.

-queryreg Query the registry and set the values to the current environment if they are not already
set.

-console Opens a FEKO Console Window for running commands directly in the console. All re-
quired environment settings will be loaded (see above option “-queryreg”) and applied
to the current shell.

-d Shows additional debug output while setting the environment.

These variables are also discussed in the FEKO Installation Guide, with respect to the script
initfeko or the batch file initfeko.bat automatically created by the FEKO installation pro-
gram. During the installation process, the environment variables are set correctly and the user
does not generally need to set environment variables manually.
The environment variables can also be specified with registry keys that can be found in
HKLM\SOFTWARE\FEKO\major.minor\Environment (global)
HKCU\SOFTWARE\FEKO\major.minor\Environment (current user)
where major.minor is the FEKO Suite (e.g. 5.5). The variables set in the environment have
precedence over variables in the registry. Also note that the ones in HKCU have precedence over

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-8

ones in the HKLM. Please note that the preferred way to change values in the registry is to use
initfeko.bat. Changing the environment variables directly is strongly discouraged.
The following environment variables may be set:

FEKO_CMDINFO If this environment variable is set to the value 1, FEKO writes additional data concern-
ing the number and the value of the received command line parameters to the screen.
This can be useful to trace errors in the parallel version of FEKO used in connection
with implementations of mpirun, mpiopt, mpprun etc.

FEKO_DATA_EXPORT_FORMAT Use the n-th version format for the data export files (*.efe, *hfe, *.ffe,
*.os, *.ol). Allowed values for n are “1” and “2” where “1” is the version used up to
Suite 6.1. Version “2” was introduced with Suite 6.1. If not specified, the default is to
use the latest supported version.

FEKO_HOME This variable is set to the FEKO installation path which contains the subdirectories such
as bin, doc, license and, for the parallel version, mpi.
Note that it is not recommended to modify this environment variable.

FEKO_LICENSE_FILE This variable is used to specify the location of the FEKO licence file if it is not
located in the default directory with the default name. The default name and location is
secfeko.dat and %FEKO_HOME%\license. Refer to Section 16.1 for more information
regarding the FEKO licence manager.

FEKO_LITE If this environment variable is set to 1, then FEKO runs for 30 days in the unregistered
FEKO LITE mode. FEKO is then restricted regarding the element sizes etc., but does not
need a licence (see the FEKO Installation Guide for more details).

FEKO_MACHFILE The parallel version of FEKO is started by running RUNFEKO with options -np x.
When FEKO is installed on a parallel computer or a computer cluster, the configuration
of the cluster and the number of processes that should be run on each computer is
specified during the installation. This can be overwritten for any FEKO run by creating
a so-called machines file and setting the environment variable FEKO_MACHFILE to point
to this file. (More detail can be found in Section 19.2.)

FEKO_MACHINFO If this parameter is set, FEKO will write information about the machine precision to
both the screen and the output file.

FEKO_MAXALLOCM This environment variable is used to limit memory (in MByte) that FEKO is allowed
to use on this computer. This environment variable is not needed or recommended for
computers running Windows or Linux operating systems. On others the variable is set
at installation time. The value of this variable should usually be set equal to the physical
memory minus 70 MBytes for the operating system. In a few cases a lower limit may be
required, and should be set here.

FEKO_MPISTATISTICS This environment variable provides additional information about the perfor-
mance of the parallel version of FEKO. There are three options:

1: Give a detailed report of the CPU and run times for the individual processes. It is,
for example, possible to determine how much time each process required during
the computation of the array elements.
2: Give as additional output the MFLOPS rate of each process (without network com-
munication time). This is useful to determine the relative performance of nodes
in a heterogeneous cluster.

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-9

4: Give information about the network performance (latency and bandwidth). This is
very useful when configuring parallel clusters.

The options can be added in a binary fashion, for example setting the environment
variable equal to 5 will print both the run times and network performance.

FEKO_PARALLEL_DEBUG For parallel runs of FEKO under UNIX, this environment variable can be set
to 1 in order to see all the details and commands used in the parallel launching and
machines file parsing etc. This is helpful for troubleshooting errors.

FEKO_RSH When installing the parallel FEKO version on a UNIX cluster, then communication be-
tween the nodes is required both at installation time (checks on the remote nodes,
remote copying of files, remote execution of utilities etc.), but also when using FEKO
(remote launching of parallel FEKO processes). By default both the installation script
and the parallel launcher will use the remote shell for this purpose (rsh for most UNIX
platforms). A typical setup is then to use a /̃.rhosts file (see detailed comments given
during the installation). But this is not quite secure, and one might prefer to rather
use the secure shell ssh in connection with public key authentication (avoids having to
type passwords all the time). The actual remote shell executable (e.g. rsh or remsh or
ssh will be determined during the installation procedure, and the environment variable
FEKO_RSH will be set to point to this executable. This can always be changed later (e.g.
using rsh for the installation as root, but then ssh for the users using the parallel FEKO
version or vice versa) by changing the value of the environment variable FEKO_RSH in
the FEKO initialisation file initfeko or initfeko.csh accordingly. One can also set
this on a user per user basis, then directly for instance in ∼/.profile after having
executed initfeko. This environment variable will not be used on Windows systems.

FEKO_TMPDIR This variable specifies the directory where FEKO will write paging files, when using the
out-of-core solution. In the past it was required that the definition ended in a backslash
(Windows) or a slash (UNIX). This is no longer required. For example, in UNIX it may
be set with
set FEKO_TMPDIR=/tmp
export FEKO_TMPDIR
FEKO_USER_HOME This directory is used to write user specific initialisation files. This variable replaced
FEKO_WRITE. It is provided to allow different users to save unique configurations, and
for situations where the user does not have write access to the FEKO directory. For
Windows systems this is normally %APPDATA%\feko\xx.yy and on UNIX systems it is
usually set to $HOME/.feko/xx.yy during the installation. Here xx.yy represent the
major and minor suite version numbers.

FEKO_WHICH_MPI FEKO uses different MPI implementations for the different platforms and thus the
different platforms require different command syntax to start FEKO. RUNFEKO pro-
vides an interface that remains the same on all platforms. However, it must know
which MPI implementation is used. This is done by setting the environment variable
FEKO_WHICH_MPI (it is automatically set by the installation script) to one of the fol-
lowing options:

1: MPICH2 (all supported UNIX platforms, currently Linux on Intel.)


2: HP-MPI
3: NEC MPI on NEC SX/5
4: SGI MPI on SGI35
35
Support for SGI MIPS IRIX discontinued from Suite 5.4

October 2013 FEKO User’s Manual


ADVANCED MODELLING AND SOLUTION CONTROL 26-10

5: CRAY/SGI MPI on CRAY T3E


6: ScaMPI (Linux on Intel/AMD and Alpha with SCI/Myrinet/Infiniband interfaces)
7: Compaq MPI
8: SCore (Linux on Intel with Myrinet interfaces)
9: GM (Linux on Intel with Myrinet interfaces)
10: ParaStation MPI
11: Intel MPI (Linux on Intel IA32, IA64, EM64T and on AMD64)
12: IBM Parallel Environment (PE)
13: MS MPI (Microsoft MPI)

FEKO_WHICH_SPICE_EXECUTABLE This variable specifies which SPICE solver is to be used. When left
unset (default), FEKO will use the NGSPICE executable (included in FEKO installation).
A user can set this variable to point to the full path and executable name of the preferred
SPICE solver.

FEKO_WRITE_RHS If this environment variable is set (value arbitrary), FEKO writes the right side of the
set of linear equations to a *.rhs file. This is only useful for test purposes, such as
when one wants to analyse this vector with another program.

MKL_SERIAL If this is set to YES, FEKO (and all other codes using the Intel MKL libraries) will run as
a single threaded application (i.e. it will not utilise multiple CPUs) irrespective of the
value of OMP_NUM_THREADS (see below).

OMP_NUM_THREADS Sequential FEKO versions for Windows or Linux PCs (Intel or compatible) can use
multiple CPUs on one board for the LU-decomposition of the MoM matrix (the parallel
FEKO version will have all phases of the solution in parallel). To use this, the environ-
ment variable OMP_NUM_THREADS must be set to the number of CPUs to use. (See also
MKL_SERIAL above.)

October 2013 FEKO User’s Manual


SUMMARY OF FILES 27-1

27 Summary of files

The table below gives an overview of the different files and their respective functions. (STDOUT
is the standard output - usually the screen; a *-symbol is used to symbolically indicate the file
name.)

STDOUT Usually the screen. This is where comments such as progress, warnings and errors are
sent.

*._14 Page (temporary storage) file for the matrix in the sequential version of FEKO with
out-of-core solution.

*._15 Page (temporary storage) file for the matrix in the sequential version of FEKO with
out-of-core solution.

*._16 Page (temporary storage) file for the matrix in the sequential version of FEKO with
out-of-core solution.

*._20 Page (temporary storage) file for the calculated coupling coefficients of the MoM/PO
hybrid method during an out-of-core solution.

*._21 Page (temporary storage) file for the calculated coupling coefficients of the MoM/PO
hybrid method during an out-of-core solution.

*.afo Continuous frequency results created by ADAPTFEKO.

*.bof Binary version of the output file which is used for post processing.

*.cdb ANSYS mesh file which can be imported with the IN card.

*.cfm CADFEKO mesh file (exported file containing CADFEKO mesh and variables to be im-
ported by PREFEKO).

*.cfs Session file of CADFEKO.

*.cfx Native CADFEKO model file (contains geometry, mesh, solution settings, optimisation
settings etc.)

*.chr FEST3D file containing the generalised S-parameter matrix and may be exported using
the DA card.

*.cir SPICE file which describes a circuit and may be included as a non-radiating general
network by means of the NW card.

*.cgm Contains the size of the residue that results from the iterative algorithm which solves
the matrix equation and the number of iterations. This file is only generated on request
by a DA card (see Section 14.32).

*.dbg When using the UTD, it is possible to request an optional output file containing a large
amount of additional data (and may therefore be very large), see the UT card.

*.dxf AutoCAD geometry file which may be imported using the IN card. (Arbitrary surfaces
from meshed *.dxf files may be imported. Lines and polyline surfaces can also be
import and meshed - see IN card (see Section 13.23).)

October 2013 FEKO User’s Manual


SUMMARY OF FILES 27-2

*.efe File containing the electric field strengths. Contains both the position and the complex
components of the electric field strength vectors. This file is only generated on request
by a DA card (see Section 14.32).

*.fek Output file from PREFEKO — serves as the input file for FEKO.

*.fim FEST3D file containing the waveguide modes which may be imported using the AW
card.

*.ffe File containing the far field data. This file is only generated on request by a DA card
(see Section 14.32).

*.gfe Interpolation table of the electric field strengths for the Green’s function of a layered
sphere.

*.gfh Interpolation table of the magnetic field strengths for the Green’s function of a layered
sphere.

*.hfe File containing the magnetic field strengths. Contains both the position and the complex
components of the magnetic field strength vectors. This file is only generated on request
by a DA card (see Section 14.32).

*.inc Include file for PREFEKO.

*.inp ABAQUS mesh file.

*.isd Data file containing the field distribution calculated by FEKO for coupling with Cable-
Mod, CRIPTE or PCBMod.

*.log Log file created by OPTFEKO.

*.lud File in which the elements of the LU-decomposed MoM matrix are stored (only gener-
ated on request of a PS card (see Section 14.59).

*.mat File in which the matrix elements of the linear equation system, are stored (only gener-
ated on request of a PS card (see Section 14.59).

*.nas NASTRAN geometry file that may be imported using the IN card.

*.neu Geometrical data file which is exported by the program FEMAP.

*.opt Input file for the program OPTFEKO.

*.ofc Paging files for the array elements used with sequential and parallel out-of-core solu-
tion. (To avoid the 2 GByte file size limit; or on parallel systems with a distributed file
system, several files may be used. These are distinguished by adding numbers to the
file name.)

*.ol File containing the surface charges and the charges in the segments. The data includes
the physical position and the complex charge density. This file is only generated on
request by a DA card (see Section 14.32).

*.ops File used internally by OPTFEKO to check if the existing *.fek and *.bof files may be
reused through the −−restart x option (see Section 21.4).

*.os File containing the surface currents and the currents in the segments. The data includes
the physical position and the complex components of the current density vectors. This
file is only generated on request by a DA card (see Section 14.32).

October 2013 FEKO User’s Manual


SUMMARY OF FILES 27-3

*.out The ASCII output file generated by the FEKO solver, in which the results of all the
calculations and messages can be found in a human-readable format.

*.pcr Exported ILU preconditioner for the FEM.

*.pfg POSTFEKO graph file. (The *.pfg file is also used to store optimisation process infor-
mation used for graphing in POSTFEKO after/during an optimisation run.)

*.pfs POSTFEKO session file.

*.pre Input file for PREFEKO.

*.ray When using UTD or GO an optional ray file can be requested. This file is not required
when visualising rays in POSTFEKO.

*.rhs File containing the right hand side vector in the system of linear equations.

*.rsd File for coupling of FEKO with CableMod, CRIPTE or PCBMod. It is usually created by
CableMod, CRIPTE or PCBMod, but can also be created by FEKO if requested with the
OS card (field calculation along lines).

*.sha File storing shadowing information for the PO.

*.snp Touchstone format (v1.0) S-parameter file as created by the DA card (see Section 14.32).
The n refers to the number of ports.

*.sph Spherical wave expansion (SWE) as used by the reflector antenna code GRASP from
TICRA (may be exported during a FEKO solution using the DA card (see Section 14.32)
or used to define a spherical mode excitation in a FEKO solution as part of an AS card).

*.str File in which the coefficients of the basis functions are stored for reuse (generated on
request from a PS card (see Section 14.59).

*.vis When multiple reflections are used with the PO formulation FEKO determines which
basis functions have line of sight visibility. Since this calculation may require significant
run time, this information can be saved to a *.vis file for reuse.

*.wfg Figure created and saved with GraphFEKO.

*.x_t/*.x_b Parasolid model file.

The files *.efe, *.hfe, *.ffe, *.os, and *.snp are redundant. All the information in these
files is also available in human-readable format in the *.out file (if not explicitly switched off
at the DA card). The format of these redundant files may lend itself more readily to further
processing outside of POSTFEKO.

October 2013 FEKO User’s Manual


SPICE3F5 GENERAL STRUCTURE, CONVENTIONS AND SYNTAX 28-1

28 SPICE3f5 general structure, conventions and syntax

A SPICE circuit to be analysed is described by a set of element lines, which define the circuit
topology and element values, and a set of control lines, which define the model parameters and
the run controls.
Since the FEKO user is only presenting the circuit description (subset of a standard SPICE circuit),
no run controls may be specified. The first line in the input file must be the title and the last line
must be ‘.END’.
Each element in the circuit is specified by an element line that contains the element name, the
circuit nodes to which the element is connected and the values of the parameters that determine
the electrical characteristics of the element. An example SPICE *.cir file is shown below:
Matching circuit

* Note that the subcircuit name should correspond to the name


* of the general network in CADFEKO (or in the *.pre file).
.SUBCKT MatchingNetwork n1 n2
* The next two lines describe a capacitor and an inductor
c1 n1 0 2.17pF
l1 n1 n2 42.29n
.ENDS MatchingNetwork

.END

Extract from the Berkeley SPICE manual regarding SPICE syntax will be presented in the sections
that follow. Only a small subsection of the commands is presented and the descriptions are
incomplete, please refer to the Berkeley SPICE manuals for a more detailed description of the
required syntax.

Title line

The title line must be the first line in the input file and is required. Its contents will be printed
verbatim as the heading for each section of output.

.END line

The ‘.END’ line must always be the last in the input file and is required.

Comments

The asterisk in the first column indicates that the line is a comment line. Comment lines may be
placed anywhere in the circuit description.

.SUBCKT line

General form:
.SUBCKT SUBNAM N1 <N2 N3...>

October 2013 FEKO User’s Manual


SPICE3F5 GENERAL STRUCTURE, CONVENTIONS AND SYNTAX 28-2

A circuit definition begins with a ‘.SUBCKT’ line. ‘SUBNAM’ is the subcircuit name and ‘N1, N2...’
are the external nodes, which cannot be zero. The group of element lines which immediately
follows the ‘.SUBCKT’ line define the subcircuit. The last line in a subcircuit definition is the
‘.ENDS’ line. Control lines may not appear within a subcircuit definition, subciruit definitions
may contain anything else, including other subcircuit definitions, device models and subcircuit
calls. Any device models or subcircuit definitions included as part of a subcircuit definition are
strictly local (i.e. such models and definitions are not known outside the subcircuit definition).
Also, any element nodes not included on the ‘.SUBCKT’ line are strictly local, with the exception
of 0 (ground) which is always global.

.ENDS line

General form:
.ENDS <SUBNAM>

The ‘.ENDS’ line must be the last one for any subcircuit definition. The subcircuit name, if
included, indicates which subcircuit definition is being terminated; if omitted, all subcircuits
being defined are terminated. The name is needed only when nested subcircuit definitions are
being made.

.INCLUDE lines

General form:
.INCLUDE filename

Portions of circuit descriptions will often be reused in several input files, particularly with com-
mon models and subcircuits. In any SPICE input file, the ‘.INCLUDE’ line may be used to copy
another file as if that second file appeared instead of the ‘.INCLUDE’ line in the original file. There
is no restriction on the file name imposed by SPICE beyond those imposed by the local operating
system.

Resistors

General form:
RXXXXXXX N1 N2 VALUE

‘N1’ and ‘N2’ are the two element nodes. ‘VALUE’ is the resistance (in ohms) and may be positive
or negative but not zero.

Capacitors

General form:
CXXXXXXX N+ N- VALUE

‘N+’ and ‘N-’ are the positive and negative element nodes, respectively. ‘VALUE’ is the capacitance
in Farads.

October 2013 FEKO User’s Manual


SPICE3F5 GENERAL STRUCTURE, CONVENTIONS AND SYNTAX 28-3

Inductors

General form:
LXXXXXXX N+ N- VALUE

‘N+’ and ‘N-’ are the positive and negative element nodes, respectively. VALUE is the inductance
in Henries.

Coupled (Mutual) Inductors

General form:
KXXXXXXX LYYYYYYY LZZZZZZZ VALUE

‘LYYYYYYY’ and ‘LZZZZZZZ’ are the names of the two coupled inductors. ‘VALUE’ is the coefficient
of coupling, K, which must be greater than zero and less than or equal to one.

Lossless transmission lines

General form:
TXXXXXXX N1 N2 N3 N4 Z0=VALUE <TD=VALUE> <F=FREQ <NL=NRMLEN>

‘N1’ and ‘N2’ are the nodes at port one; ‘N3’ and ‘N4’ are the nodes at port two. ‘Z0’ is the charac-
teristic impedance. ‘N2’ and ‘N4’ are usually used as the ground connections of the transmission
line.
The length of the line may be expressed in either of two forms. The transmission delay, ‘TD’,
may be specified directly (as TD=10 ns, for example). Alternatively, a frequency F may be given,
together with ‘NL’, the normalised electrical length of the transmission line with respect to the
wavelength in the line at the frequency ‘F’. If a frequency is specified but ‘NL’ is omitted, 0.25 is
assumed (i.e. the frequency is assumed to be the quarter-wave frequency). Although both forms
for expressing the line length are indicated as optional, one of the two must be specified.

October 2013 FEKO User’s Manual


CADFEKO GEOMETRY FAULTS 29-1

29 CADFEKO geometry faults

A list of possible geometry faults reported by CADFEKO is listed in the section that follows. A
short description with a possible solution is also given for each fault.

Corrupt data structures: The solid modeller is in an inconsistent state. If this model was im-
ported, either the translation failed or the original model contained errors. Please send the
original model file (in the original format) to the FEKO support team.

Invalid or duplicate identifiers: This situation usually arises when old Parasolid models are im-
ported.

Missing geometry: This situation only arises with imported models. The best solution is to
select the faulty entity in the details tree and remove it. Note that this entity will not be
visible in the 3D view. The geometry has to be recreated.

Invalid geometry: The fault is usually caused by scaled importing. The best solution is to select
the faulty entity in the details tree and remove it. Note that this entity will not be visible in
the 3D view.

Self-intersecting geometry or degenerate geometry: The fault is usually caused by importing


and more specifically scaled importing. The best solution is to select the faulty entity in the
details tree and remove it. The entity can then be recreated.

Geometry not G1-continuous: The fault is usually caused by importing and more specifically
scaled importing. The best solution is to select the faulty entity in the details tree and
remove it. The entity can then be recreated.

Open or non-periodic curve attached to ring edge: This fault can occur when a model is im-
ported or the stitching tool has been used on the model. Please send the original model file
to the FEKO support team.

Open or non-periodic nominal geometry attached to ring edge: This fault can occur when a
model is imported or the stitching tool has been used on the model. Please send the original
model file to the FEKO support team.

Vertex not on curve of edge: The fault is usually caused by importing and more specifically
scaled importing. The best solution is to select the faulty entity and remove it. The entity
can then be recreated.

Vertex not on nominal geometry: The fault is usually caused by importing and more specifi-
cally scaled importing. The best solution is to select the faulty entity and remove it. The
entity can then be recreated.

Edge reversed: This fault only arises with imported models.

Nominal geometry in wrong direction: This situation arises with imported models.

SP-curves of edge not within tolerance: This fault should not arise. Please contact your FEKO
support team.

October 2013 FEKO User’s Manual


CADFEKO GEOMETRY FAULTS 29-2

SP-curves not within edge’s tolerance of nominal geometry: This fault should not arise. Please
contact your FEKO support team.

Vertices of edge touch: The fault is usually caused by importing and more specifically scaled
importing. The best solution is to select the faulty entity and remove it. The entity can
then be recreated. Note that it could be that the face has to be deleted to remove the faulty
edge.

Faces incorrectly ordered at edge: The fault is usually caused by importing. It may be possible
to explode the part and try to combine the entities again.

Vertex not on surface of face: The fault is usually caused by importing and more specifically
scaled importing. The best solution is to select the faulty entity and remove it. The entity
can then be recreated.

Edge not on surface of face: The fault is usually caused by importing. It may be possible to
explode the part and try to combine the entities again.

Self-intersecting face (i.e. edge/edge inconsistency): The fault is usually caused by import-
ing. It may be possible to explode the part and try to combine the entities again. See self
intersecting geometry.

Edges incorrectly ordered at vertex: The fault is usually caused by importing. It may be possi-
ble to explode the part and try to combine the entities again.

Loops inconsistent: The fault is usually caused by importing and more specifically scaled im-
porting. The best solution is to select the faulty entity and remove it. The entity can then
be recreated.

Missing vertex at surface singularity: The fault is usually caused by importing and more specif-
ically scaled importing. The best solution is to select the faulty entity and remove it. The
entity can then be recreated.

Wire-frame edge/face inconsistency: This could be caused by unions involving wires and faced
bodies. Please send the original model file to the FEKO support team.

Wire-frame edge/wire-frame edge inconsistency: This could be caused by unions involving


wires and faced bodies. Please send the original model file to the FEKO support team.

Size-box violation: This fault should not arise. Please contact your FEKO support team. Please
send the original model file to the FEKO support team.

Face-face inconsistency: The fault is usually caused by importing and more specifically scaled
importing. The best solution is to select the faulty entity and remove it. The entity can then
be recreated.

Body is inside out: This situation only arises with imported models.

Shells of region are inconsistent: This fault should not arise. Please contact your FEKO support
team. Please send the original model file to the FEKO support team.

Regions of body are inconsistent: This fault should not arise. Please contact your FEKO sup-
port team. Please send the original model file to the FEKO support team.

October 2013 FEKO User’s Manual


CADFEKO GEOMETRY FAULTS 29-3

Geometry/topology inconsistency in shell: This fault should not arise. Please contact your
FEKO support team. Please send the original model file to the FEKO support team.

Acorn shell/shell inconsistency: This fault should not arise. Please contact your FEKO support
team. Please send the original model file to the FEKO support team.

Unspecified checker failure or checker failure during face-face check: It should be possible
to continue working, but the part may contain faults that cannot be detected. Please contact
your FEKO support team.Please send the original model file to the FEKO support team.

Non-printing character used in name of attribute definition: This situation only arises with
imported models and it should be possible to continue working.

B-geometry has knots closer than the allowed precision: The fault is most probably caused
by importing and more specifically scaled importing. The best solution is to select the
faulty entity and remove it. The entity can then be recreated.

October 2013 FEKO User’s Manual


LIST OF ACRONYMS 30-1

30 List of acronyms
ACA Adaptive Cross-Approximation

API Application Programming Interface

ASCII American Standard Code for Information Interchange

AVI Audio Video Interleave

BMP Bitmap

CAD Computer-Aided Design

CEM Computational Electromagnetics

CFIE Combined Field Integral Equation

CPU Central Processing Unit

CSV Comma Separated Value

CUDA Compute Unified Device Architecture

DGFM Domain Green’s Function Method

EFIE Electric Field Integral Equation

EMC Electromagnetic Compatibility

EMSS Electromagnetic Software and Systems

EPS Encapsulated PostScript

EMF Enhanced Metafile Format

FEKO FEldberechnung bei Körpernmit beliebiger Oberfläche (Field computations involving


bodies of arbitrary shape)

FEM Finite Element Method

FFmpeg Fast Forward Moving Pictures Expert Group

FSS Frequency Selective Surface

GA Genetic Algorithm

GIF Graphic Interchange Format

GO Geometrical Optics

GPU Graphics Processing Unit

GUI Graphical User Interface

HOBF Higher Order Basis Functions

IP Internet Protocol

October 2013 FEKO User’s Manual


LIST OF ACRONYMS 30-2

JPEG Joint Photographic Experts Group

KBL KabelBaumListe (Harness Description List)

LEPO Large Element Physical Optics

MFIE Magnetic Field Integral Equation

MFLOPS Million FLOating Point operations per Second

MLFMM Multilevel Fast Multipole Method

MoM Method of Moments

MPI Message Passing Interface

NASTRAN NASA Structural Analysis

NURBS Non-Uniform Rational B-Spline

NGF Numerical Green’s Function

PBC Periodic Boundary

PC Personal Computer

PDF Portable Document Format

PEC Perfect Electric Conductor

PMC Perfect Magnetic Conductor

PNG Portable Network Graphics

PO Physical Optics

PSO Particle Swarm Optimisation

QQVGA Quarter-Quarter Video Graphics Array

QVGA Quarter Video Graphics Array

RSH Remote SHell

RWG Rao-Wilton-Glisson

SAR Specific Absorption Rate

SEP Surface Equivalence Principle

SPICE Simulation Program With Integrated Circuit Emphasis

SSH Secure Shell Host

SSPI Security Support Provider Interface

SVGA Super Video Graphics Array

SXGA Super Extended Graphics Array

October 2013 FEKO User’s Manual


LIST OF ACRONYMS 30-3

TIF Tagged Image File

UTD Uniform Theory of Diffraction

VEP Volume Equivalence Principle

VGA Video Graphics Array

XGA Extended Graphics Array

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-1

31 Copyright notices and acknowledgements

The copyright for FEKO lies with


Copyright 1998 – 2013: EM Software & Systems-S.A. (Pty) Ltd
However, FEKO uses also third-party libraries and components (both commercial and freely avail-
able ones). For libraries where the usage condition is that the corresponding copyright notices
must be reproduced in the accompanying documentation. This shall be done here.

31.1 Copyright to Voronoi

The preprocessor PREFEKO uses part of the program voronoi to execute a Delaunay triangula-
tion for the geometric cards. The copyright declaration for voronoi is as follows:
The author of this software is Steven Fortune. Copyright (c) 1994 by
AT&T Bell Laboratories.
Permission to use, copy, modify, and distribute this software for any
purpose without fee is hereby granted, provided that this entire notice
is included in all copies of any software which is or includes a copy
or modification of this software and in all copies of the supporting
documentation for such software.
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.

31.2 Copyright to Berkeley SPICE 3f5

The FEKO kernel uses Berkeley SPICE 3f5 to enable the integration of general SPICE networks
within FEKO.

Copyright (c) 1985-1991 The Regents of the University of California.


All rights reserved.

Permission is hereby granted, without written agreement and without license


or royalty fees, to use, copy, modify and distribute this software and its
documentation for any purpose, provided that the above copyright notice and
the following two paragraphs appear in all copies of this software.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR


DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY
OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,


INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
"AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OLBLIGATION TO PROVIDE
MAINTENANCE, SUPPORT, UPDATES, ENCHANCEMENTS, OR MODIFICATIONS.

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-2

31.3 Copyright to SuperLU

The FEKO kernel is using parts the SuperLU library. The copyright declaration for SuperLU is as
follows:

Copyright (c) 2003, The Regents of the University of California, through


Lawrence Berkeley National Laboratory (subject to receipt of any required
approvals from U.S. Dept. of Energy)

All rights reserved.

Redistribution and use in source and binary forms, with or without


modification, are permitted provided that the following conditions are met:

(1) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
(2) Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
(3) Neither the name of Lawrence Berkeley National Laboratory, U.S. Dept. of
Energy nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS


IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

31.4 Copyright of libcurl

The FEKO GUI makes use of libcurl to connect to the EMSS website to check for updates. The
copyright declaration for libcurl is as follows:

COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1996 - 2005, Daniel Stenberg, <daniel@haxx.se>.

All rights reserved.

Permission to use, copy, modify, and distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright
notice and this permission notice appear in all copies.

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-3

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not
be used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization of the copyright holder.

31.5 Qwt project usage

For CADFEKO the figures in the mesh information dialogs are based, in part, on the work of the
Qwt project (http://qwt.sf.net).

31.6 HOOPS and Parasolid

POSTFEKO and CADFEKO use the HOOPS R


Visualize from Tech Soft 3D for the 3D display
and rendering. CADFEKO also uses the Parasolid R
Kernel Modeller from UGS to represent the
geometry.

31.7 MeshSim

CADFEKO uses MeshSimTM from Simmetrix Inc. to mesh the geometry.

31.8 FFmpeg (export video files)

POSTFEKO utilises the FFmpeg application for the creation of animation videos (ffmpeg.org)
and is included in the FEKO distributions except FEKO LITE. EMSS-SA has obtained (as “video
provider”) from MPEG-LA a MPEG-4 Visual Patent Portfolio License for commercial use. The
included FFmpeg has been compiled to include only a limited subset of the video codecs.

31.9 Microsoft

The 2007 Microsoft Office Fluent User Interface is subject to protection under U.S. and interna-
tional intellectual property laws and is used by EM Software & Systems - S.A. (Pty) Ltd under
license from Microsoft.

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-4

31.10 Copyright of libXML2

The FEKO kernel is using for parts the libXML2 toolkit. The copyright declaration is as follows:

Permission is hereby granted, free of charge, to any person obtaining a copy


of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

31.11 Copyright of Lua

FEKO makes use of the Lua scripting language in its applications. Lua has the following copyright
notice.

Copyright 1994- 2011 Lua.org, PUC-Rio.


Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-5

31.12 Copyright of LuaFileSystem

FEKO makes use of the LuaFileSystem to access the underlying directory structure and file at-
tributes. LuaFileSystem has the following copyright notice.

Copyright (c) 2003 Kepler Project.

Permission is hereby granted, free of charge, to any person obtaining a copy


of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

31.13 Copyright of LuaProfiler

FEKO makes use of the LuaProfiler in its applications. LuaProfiler has the following copyright
notice.

Copyright (c) 2002-2007 Kepler Project.


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-6

31.14 Copyright of LuaXML

FEKO makes use of the LuaXML in its applications for the processing of XML data. LuaXml has
the following copyright notice.

Copyright (C) 2007-2010 Gerald Franz, www.viremo.de


Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

31.15 Copyright of Penlight

FEKO makes use of the Penlight as a collection of common Lua code patterns for tables, arrays,
strings, paths and directories, data, and functional programming. PenLight has the following
copyright notice.

Copyright: 2009 Steve Donovan, David Manura.


Comment: In the Lua community this license is better known as "MIT".
Unfortunately other variants of this license are also known as "MIT".
To obtain a machine intepretable copyright file Debian prefers to name this
version of the MIT license using the non ambiguous term "Expat".
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-7

ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN


ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

31.16 Copyright of winapi

FEKO makes use of the winapi in its applications as a set of Windows API functions. Winapi has
the following copyright notice.

Copyright (C) 2011 Steve Donovan.


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

31.17 Copyright of highlight.js

The FEKO User Manual makes use of the highlight.js to display API code snippets. Highlight.js
has the following copyright notice.

Copyright (c) 2006, Ivan Sagalaev


All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright


notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of highlight.js nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ‘‘AS IS’’ AND ANY

October 2013 FEKO User’s Manual


COPYRIGHT NOTICES AND ACKNOWLEDGEMENTS 31-8

EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

October 2013 FEKO User’s Manual


Part X

Index
Index
** card, 13-3, 14-5 solution control, 12-1
*._14, see file structure, 12-1
*._15, see file *.ray, see file
*._16, see file *.rhs, see file
*._20, see file *.rsd, see file
*._21, see file *.sha, see file
*.afo, see file *.snp, see file
*.bof, see file *.sph, see file
*.cdb, see file *.stl, see file
*.cfm, see file *.str, see file
*.cfr, see file *.vis, see file
*.cfs, see file *.wfg, see file
*.cfx, see file *.x_t/*.x_b, see file
*.cgm, see file 2D graph
*.cir, see file add overlay image, 9-8
*.dbg, see file annotate, 9-14
*.dxf, see file axes, 9-7
*.efe, see file axes grid spacing, 9-11
*.fek, see file axes log scale, 9-11
*.ffe, see file axes normalise, 9-11
*.fim, see file axes number format, 9-11
*.gfe, see file axes range, 9-11
*.gfh, see file Cartesian, 9-4
*.hfe, see file copy, 9-7
*.inc, see file display options, 9-7
*.inp, see file duplicate, 9-7
*.isd, see file duplicate trace, 9-13
*.kbl, see file font colour, 9-17
*.log, see file font style, 9-17
*.lud, see file footer, 9-7
*.mat, see file greyscale, 9-7
*.nas, see file gridlines, 9-8
*.neu, see file legend, 9-9
*.ngf, see file line colour, 9-17
*.ofc, see file line style, 9-17
*.ol, see file line weight, 9-17
*.ops, see file marker colour, 9-17
*.opt, see file marker placement, 9-17
*.out, see file marker size, 9-17
*.out file marker style, 9-17
basis functions, 20-5 math trace, 9-13
excitation, 20-5 mathematical equation, 9-13
geometry, 20-1 measure, 9-14
*.pfg, see file overlay, 9-6
*.pfs, see file polar, 9-4, 9-11
*.pre, see file reference to data cut orientation, 9-8
*.pre file sampling, 9-13
create and edit, 11-1 Smith, 9-4, 9-12
geometry, 12-1 text formatting, 9-10

I-1
title, 9-7 visibility of array base element, 9-29
trace raise/lower, 9-13 visibility of cables, 9-28
transform axes, 9-14 visibility of loads, 9-28
unit, 9-14 visibility of main axes, 9-29
2D result visibility of mini axes, 9-29
sampling settings, 9-13 visibility of named points, 9-28
2D result types visibility of networks, 9-28
POSTFEKO, 9-5 visibility of PBC, 9-29
3D mouse sensitivity, 3-164 visibility of planes/ground, 9-29
3D result visibility of probes, 9-28
colour, 9-34 visibility of receiving antennas, 9-28
discrete colouring, 9-34 visibility of sources, 9-28
grid, 9-34 visibility of symmetry, 9-29
POSTFEKO, 9-18 visibility of tick marks, 9-29
rendering, 9-34 visibility of transmission lines, 9-28
request points, 9-36 zoom, 2-11
sampling settings, 9-34
store local copy, 9-34 A0 card, 14-9
surface, 9-34 A1 card, 14-12
UTD rays, 9-38 A2 card, 14-13
3D result types A3 card, 14-15
current and charge, 9-21 A4 card, 14-17
error estimation, 9-23 A5 card, 14-19
far field, 9-18 A6 card, 14-20
GO, 9-22 A7 card, 14-22
near field, 9-19 AB card, 14-23
SAR, 9-21 ABAQUS, 13-59
UTD, 9-22 Abs (method), 7-29, 10-49
3D view, 2-5, 8-4 Abs (static function), 7-30, 10-50
animation, 9-38 absorption, 3-117, 14-172
annotate, 9-24 AC card, 14-24
arrows, 9-37 ACA, see adaptive cross-approximation
bounding box, 9-24 accelerate symmetry, 3-131
colours, 2-10 acronyms, 30-1
contours, 9-37 ADAPTFEKO, 1-12, 22-1
cutplane, 9-24 *.pre file for, 22-2
display options, 9-24 command line, 22-1
duplicate, 9-34 running, 22-1
duplicate view, 9-23 adaptive cross-approximation, 1-6, 13-30
dynamic range, 9-25 setting, 3-136
greyscale, 9-24 adaptive frequency sampling, 3-76, 14-125, 22-1
legend, 9-25 adaptive refinement, 3-125
legend text, 9-25 Add (method), 7-91, 7-110, 7-374, 7-388, 7-394,
manipulation, 2-10 10-167, 10-190, 10-612, 10-619–10-621,
measure, 9-24 10-623, 10-624, 10-653, 10-688, 10-700,
mesh opacity, 9-31 10-703, 10-706, 10-715, 10-732
mesh rendering options, 9-30 AddAlign (method), 7-383
opacity of planes/ground, 9-29 AddAnalyticalCurve (method), 7-346
pan, 2-11 AddAnalyticalCurveCylindrical (method), 7-347
point entry, 2-11, 2-12 AddAnalyticalCurveSpherical (method), 7-347
request points, 9-36 AddBezierCurve (method), 7-348
rotate, 2-11 AddCone (method), 7-348

I-2
AddConeWithAngleAndHeight (method), 7-349 AllRaysSelected (property), 10-412
AddConeWithAngleAndTopCentre (method), 7-349 AmplitudesEnabled (property), 10-410
AddConeWithTopRadiusAndTopCentre (method), 7- AN card, 14-40
349 analytical curve, 3-35
AddCorner (method), 7-233, 7-239 AnalyticalCurve (object), 7-11
AddCuboid (method), 7-350 AnalyticalCurveDefinitionMethodEnum (enum), 7-
AddCuboidAtCentre (method), 7-350 398
AddCylinder (method), 7-351 angle, 9-32
AddCylinderWithTopCentre (method), 7-351 Kardan, 13-105
AddEllipse (method), 7-351, 7-352 Angle (method), 7-29, 10-49
AddEllipticArc (method), 7-352 Angle (property), 7-42, 7-259, 7-283
AddEllipticArcWithAperture (method), 7-353 Angle (static function), 7-30, 10-50
AddFittedSpline (method), 7-353 angle between points
AddFlare (method), 7-353, 7-354 CADFEKO, 3-158
AddFlareWithBaseCentreAndFlareAngles (method), POSTFEKO, 9-32
7-354 AngleU (property), 7-85
AddFlareWithBaseCorner (method), 7-355 AngleV (property), 7-85
AddFlareWithBaseCornerAndTopCorner (method), 7- AngularAxis (property), 10-377
355 AngularGraphAxis (object), 10-26
AddHelix (method), 7-355, 7-356 AngularLine (property), 10-383
AddHelixWithHeight (method), 7-356 AngularResolution (property), 10-370
AddHelixWithTurns (method), 7-357 animation, 9-38
AddHyperbolicArc (method), 7-357 export, 9-49
AddHyperbolicArcAtApertureCentre (method), 7-358 Animation (property), 10-574
AddLine (method), 7-358 AnimationFormatEnum (enum), 10-766
AddMathTrace (method), 10-42, 10-379 AnimationQualityEnum (enum), 10-767
AddMirrorInUNPlane (method), 7-383 AnimationTypeEnum (enum), 10-768
AddMirrorInUVPlane (method), 7-383 anisotropic layer, 9-30, 14-177
AddMirrorInVNPlane (method), 7-384 anisotropic media, 3-10, 14-112
AddNurbsSurface (method), 7-359 annotation, 9-14, 9-24
AddParabolicArc (method), 7-359 ANSYS, 13-57
AddParabolicArcAtApertureCentre (method), 7-360 Antenna Magus, 3-27
AddParabolicArcAtBaseCentre (method), 7-360 AP card, 14-41
AddParaboloid (method), 7-360, 7-361 aperture, 1-4, 3-145, 14-41
AddPoint (method), 7-79, 7-159 aperture field, 3-96
AddPolygon (method), 7-361 ApertureOpacity (property), 10-301
AddPolyline (method), 7-361 ApertureRadius (property), 7-69
AddRectangle (method), 7-361, 7-362 ApertureVisible (property), 10-293, 10-297, 10-315
AddRectangleAtCentre (method), 7-362 API, 7-1, 10-1
AddRotate (method), 7-384 collection, 7-323, 10-609
AddScale (method), 7-384 constant, 7-428, 10-840
AddSphere (method), 7-362 enumeration, 7-397, 10-763
AddSpheroid (method), 7-362, 7-363 function, 7-396, 10-737
AddTranslate (method), 7-385 object, 7-8, 10-25
advanced solution options, 3-153 type, 7-418, 10-829
AE card, 14-26 API collection
AF card, 14-29 Axes, 10-94
AI card, 14-31 CartesianGraphs, 10-28
AK card, 14-33 Children, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62, 7-
align, 3-49 68, 7-78, 7-84, 7-131, 7-144, 7-151, 7-158,
Align (object), 7-9 7-164, 7-169, 7-177, 7-202, 7-211, 7-217,
Alignment (property), 7-223 7-223, 7-232, 7-238, 7-247, 7-252, 7-264,

I-3
7-277, 7-283, 7-289, 7-294, 7-300, 7-305, SpiceProbes, 10-472
7-313 StoredData, 10-29
Configurations, 10-320 SurfaceCurrents, 10-472
Corners, 7-232, 7-238 TetrahedronRegions, 10-287
CubeRegions, 10-287 Traces, 10-40, 10-212, 10-377, 10-464
CurvilinearTriangleFaces, 10-287 Transforms, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62,
Edges, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62, 7- 7-69, 7-78, 7-85, 7-131, 7-145, 7-151, 7-
68, 7-78, 7-84, 7-131, 7-144, 7-151, 7-158, 158, 7-164, 7-169, 7-177, 7-203, 7-211, 7-
7-164, 7-169, 7-177, 7-202, 7-211, 7-217, 217, 7-223, 7-232, 7-238, 7-247, 7-252, 7-
7-223, 7-232, 7-238, 7-247, 7-252, 7-264, 264, 7-277, 7-283, 7-289, 7-295, 7-300, 7-
7-277, 7-283, 7-289, 7-295, 7-300, 7-305, 305, 7-314
7-314 TransmissionLines, 10-473
ErrorEstimates, 10-471 TRCoefficients, 10-473
Excitations, 10-471 TriangleFaces, 10-287
Faces, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62, 7-69, UnmeshedCylinderRegions, 10-287
7-78, 7-84, 7-131, 7-144, 7-151, 7-158, 7- UnmeshedPolygonFaces, 10-288
164, 7-169, 7-177, 7-203, 7-211, 7-217, 7- Variables, 7-243
223, 7-232, 7-238, 7-247, 7-252, 7-264, 7- Views, 10-29
277, 7-283, 7-289, 7-295, 7-300, 7-305, 7- WireCurrents, 10-473
314 Wires, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62, 7-69,
FarFieldPowerIntegrals, 10-471 7-78, 7-85, 7-131, 7-145, 7-151, 7-158, 7-
FarFields, 10-471 164, 7-169, 7-177, 7-203, 7-211, 7-217, 7-
FormGroupBoxItems, 7-109, 10-189 223, 7-232, 7-238, 7-247, 7-252, 7-264, 7-
FormItems, 7-90, 10-166 278, 7-283, 7-289, 7-295, 7-300, 7-305, 7-
Geometry, 7-243 314
ImportedData, 10-226 Workplanes, 7-243
ImportedDataSets, 10-28 API constant
Loads, 10-471 c0, 7-428, 10-840
MathScripts, 10-28 eps0, 7-428, 10-840
Models, 10-29 mu0, 7-428, 10-840
NamedPoints, 7-243 pi, 7-428, 10-840
NearFieldPowerIntegrals, 10-472 zf0, 7-428, 10-840
NearFields, 10-472 API enumeration
Networks, 10-472 AnalyticalCurveDefinitionMethodEnum, 7-398
Plots, 10-574 AnimationFormatEnum, 10-766
Points, 7-22, 7-78, 7-158 AnimationQualityEnum, 10-767
PolarGraphs, 10-29 AnimationTypeEnum, 10-768
Power, 10-472 AxesScaleEnum, 10-769
Quantities, 10-94 AxesTickMarkSpacingEnum, 10-770
Rays, 10-472 ColourEnum, 10-771
ReceivingAntennas, 10-472 ComplexComponentEnum, 10-772
Regions, 7-13, 7-22, 7-41, 7-47, 7-53, 7-62, 7- ConeDefinitionMethodEnum, 7-399
69, 7-78, 7-85, 7-131, 7-145, 7-151, 7-158, ContourTypeEnum, 10-773
7-164, 7-169, 7-177, 7-203, 7-211, 7-217, ContourValueTypeEnum, 10-774
7-223, 7-232, 7-238, 7-247, 7-252, 7-264, CuboidDefinitionMethodEnum, 7-400
7-277, 7-283, 7-289, 7-295, 7-300, 7-305, CurrentsExportTypeEnum, 10-775
7-314 CylinderDefinitionMethodEnum, 7-401
Reports, 10-29 DataSetAxisEnum, 10-776
SAR, 10-472 DataSetQuantityTypeEnum, 10-777
SegmentWires, 10-287 EllipticArcDefinitionMethodEnum, 7-402
SmithCharts, 10-29 EllipticArcMajorAxisDirectionEnum, 7-403
SParameters, 10-472 ErrorEstimateQuantityTypeEnum, 10-778

I-4
FarFieldQuantityComponentEnum, 10-779 SpheroidDefinitionMethodEnum, 7-416
FarFieldQuantityTypeEnum, 10-780 SpiceProbeValueTypeEnum, 10-821
FarFieldsExportTypeEnum, 10-781 SplitPlanesEnum, 7-417
FlareDefinitionMethodEnum, 7-404 StoredDataTypeEnum, 10-822
FormDataSelectorType, 10-782 SurfaceCurrentsQuantityTypeEnum, 10-823
FormLayoutEnum, 7-405, 10-783 TRCoefficientQuantityTypeEnum, 10-824
FormSeparatorEnum, 7-406, 10-784 ViewDirectionEnum, 10-825
FrequencyUnitEnum, 10-785 ViewLegendPositionEnum, 10-826
GraphLegendPositionEnum, 10-786 WireCurrentsQuantityTypeEnum, 10-827
GridTypeEnum, 10-787 WireCurrentsSortEnum, 10-828
HelixDefinitionMethodEnum, 7-407 API method
HyperbolicArcDefinitionMethodEnum, 7-408 Abs, 7-29, 10-49
ImpedanceQuantityTypeEnum, 10-788 Add, 7-91, 7-110, 7-374, 7-388, 7-394, 10-167,
ImportFileTypeEnum, 10-789 10-190, 10-612, 10-619–10-621, 10-623,
LinearScaleRangeTypeEnum, 10-791 10-624, 10-653, 10-688, 10-700, 10-703,
LineStyleEnum, 10-790 10-706, 10-715, 10-732
LoadingTypeEnum, 10-792 AddAlign, 7-383
LogScaleRangeTypeEnum, 10-793 AddAnalyticalCurve, 7-346
MarkerPlacementEnum, 10-794 AddAnalyticalCurveCylindrical, 7-347
MarkerSymbolEnum, 10-795 AddAnalyticalCurveSpherical, 7-347
MathScriptTypeEnum, 10-796 AddBezierCurve, 7-348
MeshColouringOptionsEnum, 10-797 AddCone, 7-348
MeshEntityTypeEnum, 10-798 AddConeWithAngleAndHeight, 7-349
MeshHighlightingOptionsEnum, 10-799 AddConeWithAngleAndTopCentre, 7-349
MirrorPlaneEnum, 7-409 AddConeWithTopRadiusAndTopCentre, 7-349
ModelUnitEnum, 7-410 AddCorner, 7-233, 7-239
NearFieldQuantityTypeEnum, 10-800 AddCuboid, 7-350
NearFieldsExportTypeEnum, 10-801 AddCuboidAtCentre, 7-350
NetworkParameterFormatEnum, 10-802 AddCylinder, 7-351
NetworkParameterTypeEnum, 10-803 AddCylinderWithTopCentre, 7-351
NetworkQuantityTypeEnum, 10-804 AddEllipse, 7-351, 7-352
NormalisationMethodEnum, 10-805 AddEllipticArc, 7-352
NumberFormatEnum, 10-806 AddEllipticArcWithAperture, 7-353
ParabolicArcDefinitionMethodEnum, 7-411 AddFittedSpline, 7-353
ParasolidExportFileFormatEnum, 7-412 AddFlare, 7-353, 7-354
ParasolidTopologyTypeEnum, 7-413 AddFlareWithBaseCentreAndFlareAngles, 7-354
PathSweepAlignmentEnum, 7-414 AddFlareWithBaseCorner, 7-355
PlotSamplingMethodEnum, 10-807 AddFlareWithBaseCornerAndTopCorner, 7-355
PolarGraphDirectionEnum, 10-808 AddHelix, 7-355, 7-356
PolarGraphOrientationEnum, 10-809 AddHelixWithHeight, 7-356
PolarisationTypeEnum, 10-810 AddHelixWithTurns, 7-357
PowerQuantityTypeEnum, 10-811 AddHyperbolicArc, 7-357
RayFieldTypeEnum, 10-812 AddHyperbolicArcAtApertureCentre, 7-358
RayTypeEnum, 10-813 AddLine, 7-358
RectangleDefinitionMethodEnum, 7-415 AddMathTrace, 10-42, 10-379
ReportDocumentTypeEnum, 10-814 AddMirrorInUNPlane, 7-383
ReportOrientationEnum, 10-815 AddMirrorInUVPlane, 7-383
RequestPointsDisplayTypeEnum, 10-816 AddMirrorInVNPlane, 7-384
RequestsVisualisationTypeEnum, 10-817 AddNurbsSurface, 7-359
SamplingMethodEnum, 10-819 AddParabolicArc, 7-359
SARQuantityTypeEnum, 10-818 AddParabolicArcAtApertureCentre, 7-360
SourcesScaleTypeEnum, 10-820 AddParabolicArcAtBaseCentre, 7-360

I-5
AddParaboloid, 7-360, 7-361 7-154, 7-160, 7-166, 7-171, 7-179, 7-197,
AddPoint, 7-79, 7-159 7-199, 7-205, 7-214, 7-219, 7-225, 7-234,
AddPolygon, 7-361 7-240, 7-249, 7-254, 7-259, 7-261, 7-266,
AddPolyline, 7-361 7-280, 7-285, 7-291, 7-296, 7-302, 7-307,
AddRectangle, 7-361, 7-362 7-309, 7-311, 7-315, 7-318, 7-322, 10-72,
AddRectangleAtCentre, 7-362 10-78, 10-83, 10-87, 10-109, 10-117, 10-
AddRotate, 7-384 126, 10-130, 10-137, 10-146, 10-152, 10-
AddScale, 7-384 160, 10-226, 10-252, 10-267, 10-275, 10-
AddSphere, 7-362 279, 10-320, 10-326, 10-335, 10-341, 10-
AddSpheroid, 7-362, 7-363 351, 10-358, 10-364, 10-391, 10-397, 10-
AddTranslate, 7-385 406, 10-421, 10-426, 10-434, 10-436, 10-
Angle, 7-29, 10-49 444, 10-451, 10-457, 10-528, 10-532, 10-
AxisIndex, 10-100, 10-101 542, 10-546, 10-597, 10-606
AxisName, 10-101 Determinant, 7-35, 7-182, 10-55, 10-282
AxisUnit, 10-101 DistanceTo, 7-229, 10-373
AxisValue, 10-102 Duplicate, 7-16, 7-24, 7-44, 7-49, 7-56, 7-64, 7-
CascadeWindows, 7-18, 10-30 72, 7-80, 7-88, 7-133, 7-147, 7-154, 7-160,
Close, 7-18, 10-30, 10-42, 10-214, 10-379, 10- 7-166, 7-171, 7-179, 7-205, 7-214, 7-219,
465, 10-575, 10-592 7-225, 7-234, 7-240, 7-249, 7-254, 7-266,
CloseAllWindows, 7-18, 10-30 7-280, 7-285, 7-291, 7-297, 7-302, 7-307,
Contains, 7-326, 7-328, 7-331, 7-335, 7-338, 7- 7-316, 10-42, 10-72, 10-78, 10-83, 10-87,
363, 7-374, 7-379, 7-385, 7-388, 7-391, 7- 10-117, 10-126, 10-130, 10-137, 10-146,
395, 10-612, 10-615, 10-621, 10-624, 10- 10-152, 10-160, 10-214, 10-227, 10-252,
627, 10-629, 10-632, 10-635, 10-638, 10- 10-267, 10-275, 10-279, 10-326, 10-335,
641, 10-644, 10-647, 10-650, 10-653, 10- 10-341, 10-351, 10-358, 10-364, 10-379,
656, 10-659, 10-662, 10-665, 10-668, 10- 10-391, 10-397, 10-406, 10-421, 10-434,
671, 10-674, 10-677, 10-679, 10-682, 10- 10-436, 10-444, 10-451, 10-457, 10-466,
685, 10-688, 10-691, 10-694, 10-697, 10- 10-528, 10-542, 10-546, 10-575, 10-606
700, 10-703, 10-706, 10-709, 10-712, 10- DuplicateAsCartesian, 10-379, 10-466
715, 10-718, 10-721, 10-724, 10-727, 10- DuplicateAsPolar, 10-42
729, 10-732, 10-735 DuplicateAsSmith, 10-42
ConvertToPrimitive, 7-15, 7-23, 7-43, 7-49, 7- Explode, 7-16, 7-24, 7-44, 7-50, 7-56, 7-64, 7-
55, 7-63, 7-71, 7-79, 7-87, 7-132, 7-147, 72, 7-80, 7-88, 7-133, 7-148, 7-154, 7-160,
7-153, 7-159, 7-165, 7-170, 7-178, 7-204, 7-166, 7-171, 7-179, 7-205, 7-214, 7-219,
7-213, 7-218, 7-225, 7-233, 7-239, 7-248, 7-226, 7-234, 7-240, 7-249, 7-255, 7-266,
7-254, 7-265, 7-279, 7-284, 7-291, 7-296, 7-280, 7-285, 7-292, 7-297, 7-302, 7-307,
7-301, 7-306, 7-315 7-316
CopyAndRotate, 7-15, 7-24, 7-43, 7-49, 7-55, ExportACIS, 7-135
7-64, 7-71, 7-80, 7-87, 7-132, 7-147, 7- ExportAllWindowsAsImages, 10-31
153, 7-160, 7-165, 7-171, 7-178, 7-204, ExportAnimation, 10-576
7-213, 7-219, 7-225, 7-234, 7-240, 7-248, ExportCATIAV4, 7-135
7-254, 7-266, 7-279, 7-285, 7-291, 7-296, ExportCATIAV5, 7-135
7-301, 7-307, 7-315 ExportCfm, 7-186
CopyAndTranslate, 7-16, 7-24, 7-44, 7-49, 7- ExportData, 10-115, 10-141, 10-330, 10-448,
55, 7-64, 7-72, 7-80, 7-87, 7-132, 7-147, 10-476, 10-478, 10-481, 10-484, 10-486,
7-153, 7-160, 7-165, 7-171, 7-179, 7-205, 10-488, 10-490, 10-492, 10-495, 10-498,
7-213, 7-219, 7-225, 7-234, 7-240, 7-248, 10-500, 10-502, 10-504, 10-507, 10-510,
7-254, 7-266, 7-280, 7-285, 7-291, 7-296, 10-513, 10-516, 10-519, 10-535, 10-600
7-301, 7-307, 7-315 ExportDxf, 7-187
CreateQuickReport, 10-30 ExportFarFields, 10-474
Delete, 7-10, 7-16, 7-24, 7-44, 7-49, 7-55, 7-59, ExportGerber, 7-187
7-64, 7-72, 7-75, 7-80, 7-88, 7-132, 7-147, ExportIGES, 7-135

I-6
ExportImage, 10-42, 10-43, 10-214, 10-379, 10- ImportCATIAV4, 7-139
380, 10-466, 10-576, 10-577, 10-593 ImportCATIAV5, 7-139
ExportNASTRAN, 7-187 ImportCONCEPT, 7-191
ExportNearFields, 10-474 ImportFek, 7-192
ExportParasolid, 7-135 ImportFEMAP, 7-192
ExportSTEP, 7-136 ImportGID, 7-192
ExportSTL, 7-187 ImportIGES, 7-139
ExportTraces, 10-43, 10-214, 10-380, 10-466 ImportNASTRAN, 7-193
ExtractTags, 10-550 ImportNEC, 7-193
FFT, 7-35, 7-182, 10-55, 10-282 ImportParasolid, 7-139
Generate, 10-400, 10-550 ImportPATRAN, 7-193
GetAxisUnit, 10-72, 10-83, 10-137, 10-153, 10- ImportProE, 7-140
161, 10-268, 10-327, 10-342, 10-352, 10- ImportResults, 10-31
365, 10-397, 10-444, 10-532, 10-598, 10- ImportSTEP, 7-140
607 ImportSTL, 7-194
GetDataSet, 10-87, 10-117, 10-141, 10-142, 10- ImportUnigraphics, 7-140
146, 10-234, 10-235, 10-237, 10-238, 10- ImprintPoints, 7-363
240, 10-241, 10-246, 10-247, 10-249, 10- Intersect, 7-363
250, 10-252, 10-254, 10-255, 10-257, 10- Inverse, 7-35, 7-182, 10-55, 10-282
258, 10-262, 10-263, 10-271, 10-272, 10- Item, 7-326, 7-328, 7-331, 7-335, 7-338, 7-364,
330, 10-331, 10-335, 10-355, 10-356, 10- 7-375, 7-379, 7-385, 7-389, 7-391, 7-395,
358, 10-387, 10-388, 10-391, 10-438, 10- 10-612, 10-613, 10-615, 10-621, 10-624,
439, 10-448, 10-449, 10-451, 10-478, 10- 10-627, 10-629, 10-632, 10-635, 10-638,
479, 10-481, 10-482, 10-492, 10-493, 10- 10-641, 10-644, 10-647, 10-648, 10-650,
495, 10-496, 10-504, 10-505, 10-508, 10- 10-653, 10-654, 10-656, 10-659, 10-660,
511, 10-514, 10-517, 10-520, 10-539, 10- 10-662, 10-665, 10-668, 10-671, 10-672,
540, 10-542, 10-565 10-674, 10-675, 10-677, 10-679, 10-682,
GetDefault, 7-395 10-685, 10-688, 10-689, 10-691, 10-694,
GetFixedAxisAvailableValues, 10-72, 10-84, 10- 10-697, 10-701, 10-704, 10-707, 10-709,
138, 10-153, 10-161, 10-268, 10-327, 10- 10-712, 10-715, 10-716, 10-718, 10-721,
342, 10-352, 10-365, 10-398, 10-445, 10- 10-724, 10-727, 10-729, 10-732, 10-733,
457, 10-532, 10-598, 10-607 10-735
GetFixedAxisValue, 10-72, 10-84, 10-138, 10- Items, 7-326, 7-329, 7-332, 7-336, 7-339, 7-
153, 10-161, 10-268, 10-327, 10-342, 10- 364, 7-375, 7-380, 7-386, 7-389, 7-392, 7-
352, 10-365, 10-398, 10-445, 10-457, 10- 395, 10-613, 10-616, 10-621, 10-625, 10-
532, 10-598, 10-607 627, 10-630, 10-633, 10-636, 10-639, 10-
GetMediaDataSet, 10-331–10-333 642, 10-645, 10-648, 10-651, 10-654, 10-
GetPath, 10-320 657, 10-660, 10-663, 10-666, 10-669, 10-
getPointNExpression, 7-205 672, 10-675, 10-677, 10-680, 10-683, 10-
getPoints, 7-206 686, 10-689, 10-692, 10-695, 10-698, 10-
getPointUExpression, 7-206 701, 10-704, 10-707, 10-710, 10-713, 10-
getPointVExpression, 7-206 716, 10-719, 10-722, 10-725, 10-727, 10-
GetSampledDataSet, 10-142–10-144 730, 10-733, 10-736
getWeights, 7-206 Loft, 7-364
IFFT, 7-35, 7-182, 10-55, 10-282 Lower, 10-79, 10-84, 10-126, 10-130, 10-153,
Imag, 7-29, 10-49 10-161, 10-268, 10-279, 10-342, 10-352,
Import, 7-138, 7-189 10-365, 10-398, 10-421, 10-434, 10-445,
ImportABAQUS, 7-190 10-458, 10-528, 10-546, 10-607
ImportACIS, 7-138 Magnitude, 7-29, 10-49
ImportANSYS, 7-190 Maximise, 10-43, 10-214, 10-380, 10-466, 10-
ImportASCII, 7-191 577, 10-593
ImportAutoCAD, 7-138, 7-191

I-7
Minimise, 10-43, 10-214, 10-380, 10-467, 10- 608
577, 10-593 SetMaximum, 7-103, 7-116, 10-183, 10-196
ModifyCorner, 7-235, 7-241 SetMinimum, 7-104, 7-117, 10-184, 10-197
ModifyEnd, 7-25 SetPageCaption, 10-400
ModifyEndTangent, 7-25 SetPageIncluded, 10-400
ModifyPoint, 7-81, 7-161 SetPageTitle, 10-401
ModifyStart, 7-25 setPointNExpression, 7-206
ModifyStartTangent, 7-25 setPoints, 7-207
NewProject, 7-18, 10-32 setPointsAndWeights, 7-207
OpenFile, 7-18, 10-32 setPointUExpression, 7-207
PathSweep, 7-365 setPointVExpression, 7-207
PathSweepParallel, 7-366 SetPosition, 10-43, 10-215, 10-380, 10-467, 10-
Phase, 7-29, 10-49 577, 10-593
ProjectGeometry, 7-366 SetSingleStep, 7-104, 7-117, 10-184, 10-197
Raise, 10-79, 10-84, 10-126, 10-130, 10-153, SetSize, 7-92, 7-114, 10-43, 10-168, 10-194,
10-161, 10-268, 10-279, 10-342, 10-352, 10-215, 10-380, 10-467, 10-577, 10-593
10-365, 10-398, 10-421, 10-434, 10-445, SetTagWindow, 10-551
10-458, 10-528, 10-546, 10-607 SetValueAt, 10-98
Real, 7-30, 10-50 SetViewDirection, 10-577
ReassociateModel, 10-320 setWeights, 7-208
ReEvaluate, 7-16, 7-25, 7-44, 7-50, 7-56, 7-64, Show, 10-44, 10-215, 10-381, 10-467, 10-578,
7-72, 7-81, 7-88, 7-133, 7-148, 7-154, 7- 10-594
161, 7-166, 7-171, 7-179, 7-205, 7-214, 7- Simplify, 7-367
219, 7-226, 7-235, 7-241, 7-249, 7-255, 7- Spin, 7-367
266, 7-280, 7-285, 7-292, 7-297, 7-302, 7- Split, 7-368
307, 7-316 SplitPlaneUN, 7-368
Refresh, 10-227 SplitPlaneVN, 7-369
Remove, 7-92, 7-110, 10-168, 10-190 Stitch, 7-369
RemoveCorner, 7-235, 7-241 Store, 10-126, 10-130, 10-138, 10-154, 10-162,
RemovePoint, 7-81, 7-161 10-269, 10-327, 10-343, 10-353, 10-366,
ReplaceSubMatrix, 7-36, 7-183, 10-56, 10-283 10-398, 10-421, 10-436, 10-445, 10-458,
ResetSize, 7-114, 10-194 10-528, 10-546, 10-608
Restore, 10-43, 10-215, 10-380, 10-467, 10-577, StoreData, 10-94
10-593 SubMatrix, 7-36, 7-183, 10-56, 10-283
ReverseFaceNormals, 7-16, 7-25, 7-44, 7-50, 7- Subtract, 7-369, 7-370
56, 7-65, 7-72, 7-81, 7-88, 7-133, 7-148, Sweep, 7-370
7-154, 7-161, 7-166, 7-172, 7-179, 7-205, TileWindows, 7-19, 10-32
7-214, 7-220, 7-226, 7-235, 7-241, 7-249, Transpose, 7-36, 7-183, 10-56, 10-283
7-255, 7-267, 7-280, 7-286, 7-292, 7-297, Union, 7-370, 7-371
7-302, 7-308, 7-316 ValueAt, 10-98
ReverseNormal, 7-75 ZoomToExtents, 10-44, 10-215, 10-381, 10-467,
Run, 7-92, 10-87, 10-117, 10-146, 10-168, 10- 10-578, 10-594
252, 10-275, 10-335, 10-358, 10-391, 10- API name space
451, 10-542 CharacteristicModes, 10-738
Save, 7-18, 10-32 CustomData, 10-740
SaveAs, 7-18, 10-32 Excitation, 10-742
SetAsDefault, 7-322 FarField, 10-744
SetFilter, 7-106, 10-186 Load, 10-748
SetFixedAxisValue, 10-73, 10-84, 10-138, 10- NearField, 10-750
153, 10-161, 10-268, 10-327, 10-342, 10- Network, 10-753
352, 10-353, 10-365, 10-366, 10-398, 10- Power, 10-755
445, 10-458, 10-533, 10-598, 10-607, 10- SAR, 10-757

I-8
SParameter, 10-759 EllipticArc, 7-66
TRCoefficients, 10-761 ErrorEstimate3DPlot, 10-108
API object ErrorEstimateCollection, 10-626
Align, 7-9 ErrorEstimateData, 10-110
AnalyticalCurve, 7-11 ErrorEstimatesQuantity, 10-112
AngularGraphAxis, 10-26 ExcitationCollection, 10-628
Application, 7-17, 10-27 ExcitationData, 10-113
Arrows3DFormat, 10-33 ExcitationMathScript, 10-116
Axes3DFormat, 10-35 ExcitationQuantity, 10-118
AxisGridSpacing, 10-36 ExcitationSmithQuantity, 10-121
AxisRange, 10-37 ExcitationSmithTrace, 10-123
BezierCurve, 7-20 ExcitationTrace, 10-127
BezierCurvePointCollection, 7-324 Exporter, 7-73
CartesianDescription, 7-26 Face, 7-74
CartesianGraph, 10-38 FaceCollection, 7-330
CartesianGraphCollection, 10-611 FarField3DFormat, 10-131
CartesianGraphGrid, 10-45 FarField3DPlot, 10-134
CartesianGridLines, 10-46 FarFieldCollection, 10-631
ChildOperatorCollection, 7-325 FarFieldData, 10-139
Complex, 7-27, 10-47 FarFieldMathScript, 10-145
ComplexMatrix, 7-33, 10-53 FarFieldPowerIntegralCollection, 10-634
ComplexMatrixIndexer, 7-38, 10-58 FarFieldPowerIntegralData, 10-147
Cone, 7-39 FarFieldPowerIntegralTrace, 10-149
ConfigurationCollection, 10-614 FarFieldQuantity, 10-155
Contours3DFormat, 10-59 FarFieldTrace, 10-157
Cube, 10-61 FittedSpline, 7-76
Cubes, 10-62 FittedSplinePointCollection, 7-333
Cuboid, 7-45 Flare, 7-82
Currents3DFormat, 10-63 FontFormat, 10-163
CurvilinearTriangle, 10-64 Form, 7-89, 10-165
CurvilinearTriangles, 10-65 FormButtonFormat, 7-94, 10-170
CustomData3DFormat, 10-66 FormButtons, 7-95, 10-171
CustomData3DPlot, 10-69 FormCheckBox, 7-96, 10-172
CustomDataQuantity, 10-74 FormComboBox, 7-98, 10-174
CustomDataSmithTrace, 10-76 FormConfigurationSelector, 10-176
CustomDataTrace, 10-80 FormDataSelector, 10-178
CustomMathScript, 10-85 FormDirectoryBrowser, 7-100, 10-180
CustomSmithTraceQuantity, 10-88 FormDoubleSpinBox, 7-102, 10-182
Cylinder, 7-51, 10-90 FormFileBrowser, 7-105, 10-185
Cylinders, 10-91 FormGroupBox, 7-108, 10-188
CylindricalDescription, 7-57 FormGroupBoxItemCollection, 7-334, 10-637
DataSet, 10-92 FormImage, 7-112, 10-192
DataSetAxis, 10-96 FormIntegerSpinBox, 7-115, 10-195
DataSetAxisCollection, 10-617 FormItem, 7-118, 10-198
DataSetIndexer, 10-99 FormItemCollection, 7-337, 10-640
DataSetMetaData, 10-103 FormLabel, 7-120, 10-200
DataSetQuantity, 10-105 FormLineEdit, 7-122, 10-202
DataSetQuantityCollection, 10-622 FormModelSelector, 10-204
DependentAxisFormat, 10-107 FormRadioButtonGroup, 7-124, 10-206
Edge, 7-58 FormSeparator, 7-126, 10-208
EdgeCollection, 7-327 FrameFormat, 10-210
Ellipse, 7-60 Geometry, 7-128

I-9
GeometryCollection, 7-340 MeshEdgesFormat, 10-293
GeometryExporter, 7-134 MeshEntity, 10-295
GeometryImporter, 7-137 MeshExporter, 7-186
GlobalCoordinates, 7-141 MeshFacesFormat, 10-296
Graph, 10-211 MeshImporter, 7-188
GraphAxisLabels, 10-216 MeshLegendFormat, 10-298
GraphAxisTitle, 10-218 MeshRendering, 10-300
GraphLegend, 10-220 MeshSegmentsFormat, 10-305
GraphLineFormat, 10-222 MeshSegmentWire, 10-303
Helix, 7-142 MeshSegmentWireCollection, 10-661
HorizontalGraphAxis, 10-223 MeshTetrahedronRegion, 10-307
HyperbolicArc, 7-149 MeshTetrahedronRegionCollection, 10-664
ImportedDataCollection, 10-643 MeshTriangleFace, 10-309
ImportedDataSetCollection, 10-646 MeshTriangleFaceCollection, 10-667
Importer, 7-155 MeshUnmeshedCylinderRegion, 10-311
ImportSet, 10-225 MeshUnmeshedCylinderRegionCollection, 10-670
ImprintedPointsCollection, 7-372 MeshUnmeshedPolygonFace, 10-313
ImprintPoints, 7-156 MeshUnmeshedPolygonFaceCollection, 10-673
IndependentAxisFormat, 10-228 MeshVerticesFormat, 10-315
Intersect, 7-162 MeshVolumesFormat, 10-317
IsoSurface3DFormat, 10-229 MeshWiresFormat, 10-318
Legend3DLinearRangeFormat, 10-230 Mirror, 7-195
Legend3DLogarithmicRangeFormat, 10-231 Model, 10-319
Line, 7-167 ModelCollection, 10-676
LoadCable, 10-233 NamedPoint, 7-198
LoadCoaxial, 10-236 NamedPointCollection, 7-373
LoadCollection, 10-649 NearField3DFormat, 10-321
LoadComplex, 10-239 NearField3DPlot, 10-323
LoadData, 10-242 NearFieldCollection, 10-678
LoadDistributed, 10-244 NearFieldData, 10-328
LoadEdge, 10-245 NearFieldMathScript, 10-334
LoadFEM, 10-248 NearFieldPowerIntegralCollection, 10-681
LoadMathScript, 10-251 NearFieldPowerIntegralData, 10-336
LoadNetwork, 10-253 NearFieldPowerIntegralTrace, 10-338
LoadParallel, 10-256 NearFieldQuantity, 10-344
LoadQuantity, 10-259 NearFieldTrace, 10-348
LoadSeries, 10-261 NetworkCollection, 10-684
LoadTrace, 10-264 NetworkData, 10-354
LoadVertex, 10-270 NetworkMathScript, 10-357
LocalCoordinates, 7-173 NetworkQuantity, 10-359
LocalWorkplane, 7-174 NetworkTrace, 10-361
Loft, 7-175 Normalisation, 10-367
MathScript, 10-273 NurbsSurface, 7-200
MathScriptCollection, 10-652 ParabolicArc, 7-209
MathTrace, 10-276 Paraboloid, 7-215
Matrix, 7-180, 10-280 PathSweep, 7-221
MatrixIndexer, 7-185, 10-285 Plot3DLegendFormat, 10-368
Mesh, 10-286 PlotSamplingFormat, 10-370
MeshCubeRegion, 10-289 Point, 7-227, 10-371
MeshCubeRegionCollection, 10-655 Points, 10-374
MeshCurvilinearTriangleFace, 10-291 PolarGraph, 10-375
MeshCurvilinearTriangleFaceCollection, 10-658 PolarGraphCollection, 10-687

I-10
PolarGraphGrid, 10-382 SmithChart, 10-462
PolarGridLines, 10-383 SmithChartCollection, 10-714
Polygon, 7-230, 10-384 SmithChartGrid, 10-468
PolygonCornerCollection, 7-376 SolutionConfiguration, 10-469
Polygons, 10-385 SourceAperture, 10-475
Polyline, 7-236 SourceCoaxial, 10-477
PolylineCornerCollection, 7-377 SourceCurrentRegion, 10-480
PowerCollection, 10-690 SourceCurrentSpace, 10-483
PowerData, 10-386 SourceCurrentTriangle, 10-485
PowerIntegralQuantity, 10-389 SourceElectricDipole, 10-487
PowerMathScript, 10-390 SourceMagneticDipole, 10-489
PowerQuantity, 10-392 SourceMagneticFrill, 10-491
PowerTrace, 10-394 SourceModal, 10-494
Project, 7-242 SourcePlaneWave, 10-497
ProjectGeometry, 7-245 SourceRadiationPattern, 10-499
QuickReport, 10-399 SourceSphericalModes, 10-501
RadialGraphAxis, 10-402 SourceVoltageCable, 10-503
Ray3DPlot, 10-404 SourceVoltageEdge, 10-506
RayCollection, 10-693 SourceVoltageNetwork, 10-509
RayData, 10-407 SourceVoltageSegment, 10-512
Rays3DFormat, 10-409 SourceVoltageVertex, 10-515
RaysQuantity, 10-411 SourceWaveguide, 10-518
ReceivingAntennaCollection, 10-696 SParameterCollection, 10-711
ReceivingAntennaData, 10-414 SParameterData, 10-446
ReceivingAntennaQuantity, 10-416 SParameterMathScript, 10-450
ReceivingAntennaTrace, 10-418 SParameterQuantity, 10-452
Rectangle, 7-250 SParameterTrace, 10-454
Region, 7-256 SphericalDescription, 7-274
RegionCollection, 7-378 Spheroid, 7-275
ReportsCollection, 10-699 SpiceProbeCollection, 10-717
RequestPoints3DFormat, 10-422 SpiceProbeData, 10-521
Result3DPlot, 10-424 SpiceProbeQuantity, 10-523
Result3DPlotCollection, 10-702 SpiceProbeTrace, 10-525
ResultData, 10-427 Spin, 7-281
ResultPlot, 10-429 Split, 7-287
ResultTrace, 10-431 Stitch, 7-293
ResultTraceCollection, 10-705 StoredDataCollection, 10-720
Rotate, 7-258 Subtract, 7-298
SAR3DPlot, 10-435 SurfaceCurrents3DPlot, 10-529
SARCollection, 10-708 SurfaceCurrentsCollection, 10-723
SARData, 10-437 SurfaceCurrentsData, 10-534
SARQuantity, 10-440 SurfaceCurrentsQuantity, 10-536
SARTrace, 10-441 Sweep, 7-303
Scale, 7-260 TemplateReport, 10-549
Segment, 10-459 Tetrahedra, 10-552
Segments, 10-460 Tetrahedral, 10-553
ShadowFormat, 10-461 TextBox, 10-554
Simplify, 7-262 TraceAxes, 10-555
SimplifyEdgeSettings, 7-268 TraceLegendFormat, 10-556
SimplifyFaceSettings, 7-270 TraceLineFormat, 10-557
SimplifyPointSettings, 7-272 TraceMarkersFormat, 10-558
SimplifyRegionSettings, 7-273 TraceMathExpression, 10-560

I-11
TraceSamplingFormat, 10-562 AutoRangeEnabled, 10-37
Transform, 7-309 AutoSignificantDigitsEnabled, 10-216
TransformCollection, 7-381 AutoSizingEnabled, 10-67, 10-132
Translate, 7-310 AutoSpacingEnabled, 10-36
TransmissionLineCollection, 10-728 AutoTextEnabled, 10-298, 10-368, 10-554, 10-
TransmissionLineData, 10-563 556
TRCoefficientCollection, 10-726 Axes, 10-77, 10-81, 10-124, 10-128, 10-151,
TRCoefficientData, 10-538 10-159, 10-266, 10-277, 10-340, 10-350,
TRCoefficientMathScript, 10-541 10-363, 10-395, 10-419, 10-433, 10-442,
TRCoefficientTrace, 10-543 10-455, 10-526, 10-544, 10-574, 10-605
Triangle, 10-566 Axis, 7-259
Triangles, 10-567 AxisDirection, 7-283
TRQuantity, 10-547 AxisNames, 10-70, 10-77, 10-82, 10-109, 10-
Union, 7-312 124, 10-128, 10-135, 10-151, 10-159, 10-
Variable, 7-317 266, 10-277, 10-325, 10-340, 10-350, 10-
VariableCollection, 7-387 363, 10-396, 10-405, 10-419, 10-425, 10-
Version, 7-319, 10-568 429, 10-433, 10-436, 10-443, 10-455, 10-
VerticalGraphAxis, 10-570 526, 10-531, 10-544, 10-596, 10-605
View, 10-572 BackColour, 10-40, 10-45, 10-210, 10-213, 10-
View3DAnimationFormat, 10-579 377, 10-382, 10-464, 10-468
View3DAxesFormat, 10-581 Base, 7-42, 7-53, 7-85, 7-217
View3DFormat, 10-583 BaseRadius, 7-42, 7-145
View3DLegendRangeFormat, 10-585 Boldfaced, 10-163
View3DSolutionEntityFormat, 10-587 Border, 10-45, 10-382, 10-468
View3DSourceFormat, 10-590 BottomDepth, 7-85
ViewCollection, 10-731 BottomWidth, 7-85
Window, 10-591 BoundingBoxVisible, 10-301, 10-322
WireCollection, 7-390 Build, 7-319, 10-568
WireCurrents3DPlot, 10-595 Buttons, 7-90, 10-166
WireCurrentsCollection, 10-734 CablesVisible, 10-588
WireCurrentsData, 10-599 Cancel, 7-95, 10-171
WireCurrentsQuantity, 10-601 Caption, 10-218
WireCurrentsTrace, 10-603 CaptionIncludesUnit, 10-218
Workplane, 7-321 CartesianDescription, 7-14
WorkplaneCollection, 7-393 Centre, 7-62, 7-69, 7-145, 7-152, 7-212, 7-278
API property Checked, 7-97, 10-173
Alignment, 7-223 CoatingsVisible, 10-318
AllRaysSelected, 10-412 Colour, 10-33, 10-59, 10-163, 10-222, 10-229,
AmplitudesEnabled, 10-410 10-422, 10-557, 10-558
Angle, 7-42, 7-259, 7-283 ColouredByMagnitude, 10-590
AngleU, 7-85 ColourOption, 10-301
AngleV, 7-85 ColumnCount, 7-35, 7-182, 10-55, 10-282
AngularAxis, 10-377 Columns, 7-203
AngularLine, 10-383 CommonRangeEnabled, 10-277, 10-560
AngularResolution, 10-370 ComplexComponent, 10-75, 10-119, 10-156, 10-
Animation, 10-574 260, 10-345, 10-360, 10-453, 10-524, 10-
ApertureOpacity, 10-301 536, 10-548, 10-602
ApertureRadius, 7-69 Component, 10-156
ApertureVisible, 10-293, 10-297, 10-315 Configuration, 10-110, 10-114, 10-140, 10-147,
Arrows, 10-324, 10-530, 10-596 10-234, 10-237, 10-240, 10-243, 10-244,
AutoCaptionEnabled, 10-218 10-246, 10-249, 10-254, 10-257, 10-262,
AutoExtruded, 10-67, 10-132, 10-321 10-271, 10-329, 10-336, 10-355, 10-407,

I-12
10-414, 10-438, 10-447, 10-475, 10-478, Edges, 10-301
10-481, 10-483, 10-485, 10-487, 10-489, EdgeSettings, 7-264
10-492, 10-495, 10-497, 10-499, 10-501, Enabled, 7-97, 7-99, 7-101, 7-103, 7-106, 7-
10-504, 10-507, 10-510, 10-513, 10-516, 109, 7-113, 7-116, 7-119, 7-121, 7-123, 7-
10-519, 10-521, 10-535, 10-539, 10-564, 125, 7-127, 10-173, 10-175, 10-177, 10-
10-600 179, 10-181, 10-183, 10-186, 10-189, 10-
Conical, 10-104 193, 10-196, 10-199, 10-201, 10-203, 10-
ConnectivityVisible, 10-301 205, 10-207, 10-209, 10-367, 10-560
ContinuousFrequencySamples, 10-580 End, 7-169
Contours, 10-70, 10-135, 10-325, 10-531 EndAngle, 7-70
Count, 7-324, 7-326, 7-328, 7-331, 7-333, 7- EndFrequency, 10-473
335, 7-338, 7-346, 7-372, 7-374, 7-376, EndRadius, 7-145
7-377, 7-379, 7-382, 7-388, 7-391, 7-394, Exporter, 7-243
10-60, 10-62, 10-65, 10-91, 10-97, 10-374, Expression, 7-318, 10-278, 10-561
10-385, 10-460, 10-552, 10-567, 10-612, Extrusion, 10-67, 10-132, 10-322
10-615, 10-618, 10-623, 10-627, 10-629, Faces, 10-301
10-632, 10-635, 10-638, 10-641, 10-644, FaceSettings, 7-264
10-647, 10-650, 10-653, 10-656, 10-659, Family, 10-163
10-662, 10-665, 10-668, 10-671, 10-674, FiniteAntennaArraysVisible, 10-588
10-677, 10-679, 10-682, 10-685, 10-688, FixedAxes, 10-71, 10-82, 10-136, 10-151, 10-
10-691, 10-694, 10-697, 10-700, 10-703, 159, 10-266, 10-325, 10-340, 10-350, 10-
10-706, 10-709, 10-712, 10-715, 10-718, 363, 10-396, 10-443, 10-531, 10-597, 10-
10-721, 10-724, 10-727, 10-729, 10-732, 605
10-735 FixedRangeMax, 10-230, 10-231
Cubes, 10-289 FixedRangeMin, 10-230, 10-231
CuboidVisible, 10-294, 10-297, 10-315 FixedSize, 10-33
CurvilinearTriangles, 10-291 FlatShaded, 10-63, 10-67, 10-132, 10-322
CustomPositionX, 10-220 FlipPathEnds, 7-224
CustomPositionY, 10-221 FocalDepth, 7-212, 7-217
Cylinders, 10-311 Font, 10-216, 10-219, 10-221, 10-554
CylindricalDescription, 7-14 Footer, 10-40, 10-213, 10-377, 10-464
DataSource, 10-70, 10-77, 10-82, 10-109, 10- Format, 10-574
124, 10-128, 10-136, 10-151, 10-159, 10- Frame, 10-219, 10-221, 10-554
266, 10-278, 10-325, 10-340, 10-350, 10- FrequencyConfiguration, 10-473
363, 10-396, 10-405, 10-419, 10-425, 10- FrequencyRate, 10-580
433, 10-436, 10-443, 10-456, 10-526, 10- From, 7-305, 7-311
531, 10-544, 10-596, 10-605 Geometry, 7-73, 7-155
DefinitionMethod, 7-14, 7-42, 7-47, 7-54, 7-69, GreyScaleEnabled, 10-583
7-86, 7-145, 7-152, 7-212, 7-252, 7-278 GreyscaleEnabled, 10-40, 10-213, 10-377, 10-
DensityOption, 10-558 464
Dependent, 10-555 Grid, 10-40, 10-378, 10-464
Depth, 7-48, 7-69, 7-152, 7-212, 7-253 GridType, 10-464
DepthLightingEnabled, 10-583 GridVisible, 10-67, 10-132, 10-322
Description, 7-318, 10-97 GroupsSelected, 10-412
DestinationWorkplane, 7-10 Height, 7-42, 7-48, 7-54, 7-86, 7-91, 7-113, 7-
DielectricVisible, 10-294, 10-297, 10-316 145, 10-40, 10-167, 10-193, 10-213, 10-
Direction, 10-377 378, 10-464, 10-574, 10-592
DisplayType, 10-422 HighlightingOption, 10-301
DocumentHeading, 10-400 HorizontalAxis, 10-40
DynamicRange, 10-402, 10-570 HorizontalLine, 10-46
DynamicRangeMax, 10-231 im, 7-29, 10-49
Eccentricity, 7-70, 7-152 Importer, 7-243

I-13
Included, 7-14, 7-22, 7-42, 7-48, 7-54, 7-62, 7- 481, 10-484, 10-486, 10-488, 10-490, 10-
70, 7-78, 7-86, 7-131, 7-146, 7-152, 7-158, 492, 10-495, 10-498, 10-500, 10-502, 10-
7-164, 7-169, 7-177, 7-203, 7-212, 7-217, 504, 10-507, 10-510, 10-513, 10-516, 10-
7-224, 7-232, 7-238, 7-247, 7-253, 7-265, 519, 10-522, 10-527, 10-531, 10-535, 10-
7-278, 7-283, 7-289, 7-295, 7-300, 7-305, 539, 10-542, 10-545, 10-550, 10-564, 10-
7-314 597, 10-600, 10-605
IncludesPhi, 10-345 Labels, 10-26, 10-223, 10-402, 10-571
IncludesRadius, 10-345 LeftHandRotated, 7-146
IncludesRho, 10-345 Legend, 10-41, 10-71, 10-78, 10-82, 10-109,
IncludesTheta, 10-346 10-125, 10-129, 10-136, 10-151, 10-159,
IncludesX, 10-346 10-213, 10-266, 10-278, 10-302, 10-325,
IncludesY, 10-346 10-340, 10-350, 10-363, 10-378, 10-396,
IncludesZ, 10-346 10-405, 10-420, 10-425, 10-434, 10-436,
Independent, 10-555 10-443, 10-456, 10-464, 10-527, 10-531,
IndependentAxesAvailable, 10-77, 10-82, 10-124, 10-545, 10-574, 10-597, 10-605
10-128, 10-151, 10-159, 10-266, 10-278, Length, 10-582
10-340, 10-350, 10-363, 10-396, 10-419, Line, 10-78, 10-82, 10-125, 10-129, 10-151, 10-
10-433, 10-443, 10-456, 10-527, 10-544, 159, 10-210, 10-266, 10-278, 10-340, 10-
10-605 350, 10-363, 10-396, 10-420, 10-434, 10-
IndependentAxis, 10-77, 10-82, 10-125, 10-129, 443, 10-456, 10-527, 10-545, 10-606
10-151, 10-159, 10-266, 10-278, 10-340, LinearRange, 10-369
10-350, 10-363, 10-396, 10-420, 10-433, LinesVisible, 10-305, 10-410
10-443, 10-456, 10-527, 10-545, 10-605 LoadExpression, 10-119, 10-122
Index, 7-99, 10-175 LoadSubtractionEnabled, 10-119, 10-122
InfinitePlanesOpacity, 10-588 LoadSubtractionType, 10-119, 10-122
InfinitePlanesVisible, 10-588 LoadsVisible, 10-588
InstantaneousPhase, 10-346, 10-537, 10-602 LocalCoordAxes, 10-136, 10-325
InteractionsUpTo, 10-412 LocalMeshSize, 7-59, 7-75, 7-257
IntersectionsVisible, 10-410 LocalMeshSizeEnabled, 7-59, 7-75, 7-257
IsoSurface, 10-325 LocalWireRadius, 7-59
Italicised, 10-164 LocalWireRadiusEnabled, 7-59
KeepWithLocalProperties, 7-268, 7-270, 7-273 LocalWorkplane, 7-14, 7-23, 7-42, 7-48, 7-54,
Label, 7-14, 7-23, 7-42, 7-48, 7-54, 7-59, 7- 7-63, 7-70, 7-79, 7-86, 7-146, 7-152, 7-
62, 7-70, 7-75, 7-79, 7-86, 7-131, 7-146, 159, 7-170, 7-196, 7-203, 7-212, 7-218, 7-
7-152, 7-159, 7-164, 7-170, 7-177, 7-203, 233, 7-239, 7-253, 7-259, 7-278, 7-284, 7-
7-212, 7-218, 7-224, 7-232, 7-238, 7-244, 290, 7-306, 7-311
7-247, 7-253, 7-257, 7-265, 7-278, 7-284, Locked, 7-14, 7-23, 7-42, 7-48, 7-54, 7-63, 7-
7-290, 7-295, 7-300, 7-305, 7-314, 7-321, 70, 7-79, 7-86, 7-131, 7-146, 7-152, 7-159,
10-71, 10-77, 10-82, 10-86, 10-109, 10- 7-164, 7-170, 7-177, 7-203, 7-212, 7-218,
111, 10-115, 10-117, 10-125, 10-129, 10- 7-224, 7-233, 7-239, 7-247, 7-253, 7-265,
136, 10-141, 10-146, 10-148, 10-151, 10- 7-278, 7-284, 7-290, 7-295, 7-300, 7-306,
159, 10-226, 10-234, 10-237, 10-240, 10- 7-314
243, 10-244, 10-246, 10-249, 10-252, 10- LogarithmicRange, 10-369
254, 10-257, 10-262, 10-266, 10-271, 10- LogScaled, 10-223, 10-402, 10-571
275, 10-278, 10-290, 10-292, 10-295, 10- MainVisible, 10-582
303, 10-307, 10-309, 10-312, 10-313, 10- Major, 7-319, 10-45, 10-382, 10-568
320, 10-325, 10-329, 10-335, 10-337, 10- MajorAxisDirection, 7-70
340, 10-350, 10-355, 10-358, 10-363, 10- MajorGrid, 10-26, 10-223, 10-403, 10-571
387, 10-391, 10-396, 10-405, 10-408, 10- Markers, 10-78, 10-82, 10-125, 10-129, 10-152,
415, 10-420, 10-425, 10-428, 10-430, 10- 10-160, 10-267, 10-278, 10-341, 10-351,
434, 10-436, 10-438, 10-443, 10-447, 10- 10-364, 10-396, 10-420, 10-434, 10-443,
451, 10-456, 10-473, 10-476, 10-478, 10- 10-456, 10-527, 10-545, 10-606

I-14
MarkerSize, 10-423 PhiStepSize, 10-580
Math, 10-83, 10-129, 10-152, 10-160, 10-267, PitchAngle, 7-146
10-341, 10-351, 10-364, 10-397, 10-420, Plane, 7-196, 7-290
10-444, 10-456, 10-545, 10-606 PlotType, 10-71, 10-136, 10-325
Max, 10-37 PlotTypesAvailable, 10-71, 10-136, 10-326
MediumNames, 10-104 Points, 10-288
Mesh, 7-73, 7-155, 10-473 PointSettings, 7-265
MeshRendering, 10-574 PolarisationType, 10-548
MetaData, 10-94 Polygons, 10-314
MetallicVisible, 10-294, 10-297, 10-316 Position, 10-221, 10-298, 10-369
Method, 10-367, 10-370, 10-562 PowerScalingEnabled, 10-346
Min, 10-37 PowerScalingFactor, 10-346
MiniVisible, 10-582 ProbesVisible, 10-589
Minor, 7-319, 10-45, 10-382, 10-568 Project, 7-17
Model, 10-473 Quantity, 10-71, 10-78, 10-83, 10-109, 10-125,
ModelExtentsExponent, 7-244 10-129, 10-136, 10-152, 10-160, 10-267,
ModelOpacity, 10-302 10-326, 10-341, 10-351, 10-364, 10-397,
ModelUnit, 7-244 10-405, 10-420, 10-444, 10-456, 10-527,
MSPowerPointInstalled, 10-29 10-531, 10-545, 10-597, 10-606
MSWordInstalled, 10-29 QuantityType, 10-106, 10-602
MultiSelect, 7-106, 10-186 R, 7-274
N, 7-26, 7-57, 7-173 RadialAxis, 10-378
Name, 7-199, 7-318, 10-97, 10-106 RadialLine, 10-383
NamedPointsVisible, 10-588 Radius, 7-54, 7-152, 7-212, 7-218, 7-278, 10-
NetworksVisible, 10-588 305
Normalisation, 10-41, 10-378 RadiusN, 7-278
NoUnit, 10-561 RadiusU, 7-63, 7-70, 7-279
NumberFormat, 10-216 RadiusV, 7-63, 7-71, 7-279
NumbersVisible, 10-410 Range, 10-224, 10-403, 10-571
Offset, 10-228 RayFieldType, 10-412
OK, 7-95, 10-171 RayGroupsVisible, 10-410
Opacity, 10-67, 10-132, 10-322, 10-410 RaysSelected, 10-412
Orientation, 10-378 re, 7-29, 10-49
Origin, 7-48, 7-174, 7-196, 7-253, 7-259, 7- ReactanceAxisFont, 10-465
261, 7-284, 7-290, 7-322, 10-104, 10-132, ReactanceLine, 10-468
10-584 RealTimeDuration, 10-580
OutlineColour, 10-297 ReceivingAntennasVisible, 10-589
OutlineVisible, 10-297 ReferenceImpedance, 10-88
PageOrientation, 10-400 ReferenceImpedanceExpression, 10-119, 10-122
ParametricEnd, 7-14 RegionSettings, 7-265
ParametricStart, 7-14 RemoveBetweenEqualDielectricRegions, 7-270
Patch, 7-320, 10-569 RemoveBetweenEqualMetalRegions, 7-270
Path, 7-244 RemoveBetweenShellRegions, 7-271
PBCVisible, 10-588 RemoveInDielectricSolids, 7-268
Phase, 10-88, 10-122 RemoveInMetalSolids, 7-268
PhaseAdditionEnabled, 10-88, 10-122 RemoveOnDielectricFaces, 7-269
PhaseStepSize, 10-580 RemoveOnMetalFaces, 7-269
PhaseUnwrapped, 10-75, 10-119, 10-156, 10- RemoveRedundant, 7-272
260, 10-346, 10-360, 10-453, 10-524, 10- ReportPageOptions, 10-400
548 RequestPoints, 10-136, 10-326
Phi, 7-57, 7-274 ResistanceAxisFont, 10-465
PhiDirection, 10-584 ResistanceLine, 10-468

I-15
Resolution, 10-562 Symbol, 10-559
Reversed, 7-178 SymmetryVisible, 10-589
Rho, 7-57 Tetrahedra, 10-308
RhoStepSize, 10-104 TetrahedraVisible, 10-294, 10-297, 10-316, 10-
RotationN, 7-196, 7-290 317
RotationU, 7-196, 7-290 Text, 7-94, 10-170, 10-299, 10-369, 10-554, 10-
RotationV, 7-196, 7-290 556
Rounded, 10-585 Theta, 7-274
RowCount, 7-35, 7-182, 10-55, 10-282 ThetaDirection, 10-584
Rows, 7-204 ThetaStepSize, 10-580
Sampling, 10-78, 10-83, 10-125, 10-129, 10- Threshold, 10-410
137, 10-152, 10-160, 10-267, 10-278, 10- TickMarkCount, 10-582
341, 10-351, 10-364, 10-397, 10-420, 10- TickMarkSpacing, 10-582
434, 10-444, 10-457, 10-527, 10-545, 10- TickMarkSpacingOption, 10-582
606 TickMarksVisible, 10-582
Scale, 10-228 TimeConfiguration, 10-474
ScaledByMagnitude, 10-590 Title, 7-91, 10-41, 10-167, 10-213, 10-224, 10-
ScaledToCommonQuantity, 10-585 378, 10-465, 10-571
ScaledToPeakInstantaneousValues, 10-586 To, 7-306, 7-311
ScaledToSelectedDimensions, 10-586 Top, 7-43, 7-54, 7-86
ScaledToSelectedFrequency, 10-586 TopDepth, 7-86
ScaledToSelectedTimeStep, 10-586 TopRadius, 7-43
ScaledToVectorMagnitude, 10-586 TopWidth, 7-86
ScaleFactor, 7-224, 7-261 TransmissionLinesVisible, 10-589
ScaleType, 10-590 TriangleNormalsVisible, 10-302
Script, 10-86, 10-117, 10-146, 10-252, 10-275, Triangles, 10-310
10-335, 10-358, 10-391, 10-451, 10-542 Turns, 7-146
Segments, 10-304, 10-318 TwistAngle, 7-224
SelectorType, 10-179 Type, 7-10, 7-15, 7-18, 7-23, 7-43, 7-48, 7-54,
Shadow, 10-210 7-59, 7-63, 7-71, 7-73, 7-75, 7-79, 7-87, 7-
Signal, 10-527 91, 7-97, 7-99, 7-101, 7-103, 7-106, 7-109,
Signals, 10-528 7-113, 7-116, 7-121, 7-123, 7-125, 7-127,
SignificantDigits, 10-217 7-134, 7-138, 7-146, 7-153, 7-155, 7-159,
Size, 10-33, 10-67, 10-132, 10-164, 10-461, 10- 7-165, 7-170, 7-178, 7-186, 7-189, 7-196,
558 7-199, 7-204, 7-213, 7-218, 7-224, 7-233,
SizeFactor, 10-67, 10-133 7-239, 7-244, 7-248, 7-253, 7-257, 7-259,
SizeOption, 10-582 7-261, 7-265, 7-279, 7-284, 7-290, 7-295,
SolutionEntities, 10-574 7-301, 7-306, 7-311, 7-314, 7-318, 7-322,
SortBy, 10-602 10-29, 10-41, 10-60, 10-71, 10-75, 10-78,
SourceFile, 10-226 10-83, 10-86, 10-89, 10-94, 10-97, 10-106,
SourceFormat, 10-589 10-109, 10-111, 10-112, 10-117, 10-120,
SourcesVisible, 10-589 10-122, 10-125, 10-129, 10-137, 10-141,
SourceWorkplane, 7-10 10-146, 10-148, 10-152, 10-156, 10-160,
Spacing, 10-36 10-167, 10-173, 10-175, 10-177, 10-179,
SParameterRequested, 10-473 10-181, 10-183, 10-186, 10-189, 10-193,
SphericalDescription, 7-15 10-196, 10-201, 10-203, 10-205, 10-207,
Start, 7-170 10-209, 10-226, 10-230, 10-232, 10-234,
StartAngle, 7-71 10-237, 10-240, 10-244, 10-246, 10-249,
StartFrequency, 10-474 10-252, 10-254, 10-257, 10-260, 10-262,
Style, 10-222, 10-557 10-267, 10-271, 10-279, 10-290, 10-292,
SurfacesVisible, 10-305 10-304, 10-308, 10-310, 10-312, 10-314,
SurfaceVisible, 10-68, 10-133, 10-322 10-320, 10-326, 10-330, 10-335, 10-337,

I-16
10-341, 10-346, 10-351, 10-355, 10-358, 7-159, 7-165, 7-170, 7-178, 7-204, 7-213,
10-360, 10-364, 10-378, 10-387, 10-391, 7-218, 7-224, 7-233, 7-239, 7-248, 7-253,
10-392, 10-397, 10-400, 10-405, 10-408, 7-265, 7-279, 7-284, 7-290, 7-296, 7-301,
10-412, 10-415, 10-416, 10-420, 10-436, 7-306, 7-315, 10-34, 10-35, 10-46, 10-60,
10-438, 10-440, 10-444, 10-447, 10-451, 10-71, 10-78, 10-83, 10-109, 10-125, 10-
10-457, 10-465, 10-474, 10-476, 10-478, 130, 10-137, 10-152, 10-160, 10-170, 10-
10-481, 10-484, 10-486, 10-488, 10-490, 173, 10-175, 10-177, 10-179, 10-181, 10-
10-492, 10-495, 10-498, 10-500, 10-502, 183, 10-186, 10-190, 10-193, 10-196, 10-
10-504, 10-507, 10-510, 10-513, 10-516, 199, 10-201, 10-203, 10-205, 10-207, 10-
10-519, 10-522, 10-524, 10-528, 10-531, 209, 10-267, 10-279, 10-326, 10-341, 10-
10-535, 10-537, 10-539, 10-542, 10-545, 351, 10-364, 10-383, 10-397, 10-405, 10-
10-548, 10-550, 10-564, 10-574, 10-580, 421, 10-425, 10-434, 10-436, 10-444, 10-
10-597, 10-600, 10-606 457, 10-461, 10-528, 10-531, 10-546, 10-
U, 7-26, 7-173 597, 10-606
Underlined, 10-164 Visualisation, 10-71, 10-137, 10-326, 10-405,
Unit, 10-97, 10-106, 10-107, 10-228 10-532, 10-597
UnitExpression, 10-561 VisualisationType, 10-423
UnitFactor, 7-244 Volumes, 10-302
UnitIncluded, 10-369 VVector, 7-174, 7-322, 10-104
UseCustomReferenceImpedance, 10-120, 10-122 Weight, 10-222, 10-557
UTDCylinderVisible, 10-294, 10-297 Width, 7-48, 7-91, 7-113, 7-253, 10-41, 10-167,
UTDPolygonVisible, 10-294, 10-297, 10-316 10-193, 10-213, 10-378, 10-465, 10-575,
UVector, 7-174, 7-322, 10-104 10-592
V, 7-26, 7-173 Windows, 10-550
Value, 7-99, 7-101, 7-103, 7-106, 7-113, 7-116, WindowTitle, 10-41, 10-213, 10-379, 10-465,
7-121, 7-123, 7-125, 7-318, 10-175, 10- 10-575, 10-592
177, 10-179, 10-181, 10-183, 10-186, 10- WindscreenOpacity, 10-302
193, 10-196, 10-201, 10-203, 10-205, 10- WindscreenVisible, 10-294, 10-297, 10-316
207, 10-229 Wires, 10-302
ValuePercentage, 10-229 X, 7-141, 7-199, 7-228, 10-372
Values, 10-60, 10-98 XPosition, 10-41, 10-213, 10-379, 10-465, 10-
ValuesNormalised, 10-75, 10-120, 10-156, 10- 575, 10-592
260, 10-347, 10-360, 10-389, 10-393, 10- Y, 7-141, 7-199, 7-228, 10-372
412, 10-417, 10-453, 10-524, 10-537, 10- YPosition, 10-41, 10-213, 10-379, 10-465, 10-
548, 10-602 575, 10-592
ValuesScaledToDB, 10-75, 10-120, 10-156, 10- Z, 7-141, 7-199, 7-228, 10-372
260, 10-347, 10-360, 10-389, 10-393, 10- ZLocked, 10-584
413, 10-417, 10-453, 10-524, 10-537, 10- ZoomDistance, 10-584
548, 10-602 API static function
ValuesScaledToLog, 10-112 Abs, 7-30, 10-50
ValuesType, 10-60 Angle, 7-30, 10-50
Version, 7-18, 10-30 Critical, 7-92, 10-168
VertexIndices, 10-61, 10-64, 10-90, 10-384, 10- Diagonal, 7-36, 7-183, 10-56, 10-283
459, 10-553, 10-566 ForAllValues, 10-94
VerticalAxis, 10-41 GetApplication, 7-396, 10-737
VerticalLine, 10-46 GetDataSet, 10-738–10-743, 10-745, 10-748–
Vertices, 10-302 10-751, 10-753–10-762
VerticesVisible, 10-306 GetMediaDataSet, 10-751, 10-752
Visible, 7-15, 7-23, 7-43, 7-48, 7-55, 7-63, 7-71, GetNames, 10-739, 10-741, 10-743, 10-745, 10-
7-79, 7-87, 7-94, 7-97, 7-99, 7-101, 7-103, 749, 10-752, 10-754, 10-756, 10-758, 10-
7-106, 7-110, 7-113, 7-116, 7-119, 7-121, 760, 10-762
7-123, 7-125, 7-127, 7-132, 7-146, 7-153, GetSampledDataSet, 10-746, 10-747

I-17
Identity, 7-36, 7-183, 10-56, 10-283 arrows
Imag, 7-30, 10-50 3D view, 9-37
Info, 7-92, 10-168 Arrows (property), 10-324, 10-530, 10-596
Magnitude, 7-30, 10-50 Arrows3DFormat (object), 10-33
New, 7-31, 7-37, 7-92, 7-93, 7-97, 7-99, 7-101, AS card, 14-52
7-104, 7-107, 7-110, 7-111, 7-114, 7-117, assembly, 3-54
7-121, 7-123, 7-125, 7-127, 7-184, 7-229, assign configuration name, 13-78
10-51, 10-57, 10-95, 10-168, 10-169, 10- assign label, 13-73
173, 10-175, 10-177, 10-179, 10-181, 10- AutoCAD file, 13-49
184, 10-187, 10-190, 10-191, 10-194, 10- AutoCaptionEnabled (property), 10-218
197, 10-201, 10-203, 10-205, 10-207, 10- AutoExtruded (property), 10-67, 10-132, 10-321
209, 10-284, 10-373 automatic meshing
Ones, 7-37, 7-184, 10-57, 10-284 faces and edges, 3-121
Phase, 7-31, 10-51 region, 3-121
Real, 7-32, 10-52 wires, 3-121
Warning, 7-93, 10-169 AutoRangeEnabled (property), 10-37
Zeros, 7-37, 7-184, 10-57, 10-284 AutoSignificantDigitsEnabled (property), 10-216
API type AutoSizingEnabled (property), 10-67, 10-132
boolean, 7-423, 10-835 AutoSpacingEnabled (property), 10-36
Colour, 10-830 AutoTextEnabled (property), 10-298, 10-368, 10-
Coordinate, 7-419 554, 10-556
Expression, 7-420, 10-831 AV card, 14-58
function, 7-424, 10-836 AW card, 14-60
MagnitudeColour, 10-832 axes
number, 7-425, 10-837 local, 3-20
string, 7-426, 10-838 main, 3-172
table, 7-427, 10-839 mini, 3-172
Unit, 7-421, 10-833 tick marks, 3-172
Variant, 7-422, 10-834 U, V, N, 3-18, 3-20
Application (object), 7-17, 10-27 Axes (collection), 10-94
application menu, 2-5, 2-8, 8-4, 8-5, 11-4, 11-5 Axes (property), 10-77, 10-81, 10-124, 10-128, 10-
approximation, 3-21 151, 10-159, 10-266, 10-277, 10-340, 10-
AR card, 14-47 350, 10-363, 10-395, 10-419, 10-433, 10-
arc, 3-34, 13-14 442, 10-455, 10-526, 10-544, 10-574, 10-
archive, 2-8 605
array, 13-27 Axes3DFormat (object), 10-35
base element, 3-24 AxesScaleEnum (enum), 10-769
custom elements, 3-24 AxesTickMarkSpacingEnum (enum), 10-770
cylindrical/circular, 3-25, 13-28 Axis (property), 7-259
data structure, 12-7 AxisDirection (property), 7-283
display mode, 3-166 AxisGridSpacing (object), 10-36
distribution follows in pre file, 13-27 AxisIndex (method), 10-100, 10-101
domain Green’s function method (DGFM), 3- AxisName (method), 10-101
138 AxisNames (property), 10-70, 10-77, 10-82, 10-109,
highlighting of base element, 9-29 10-124, 10-128, 10-135, 10-151, 10-159,
import from XML, 3-27 10-266, 10-277, 10-325, 10-340, 10-350,
import layout, 13-27 10-363, 10-396, 10-405, 10-419, 10-425,
import magnitude and phase offset, 3-25 10-429, 10-433, 10-436, 10-443, 10-455,
Lua, 7-4 10-526, 10-531, 10-544, 10-596, 10-605
planar/linear, 3-25, 13-28 AxisRange (object), 10-37
solver setting, 3-138 AxisUnit (method), 10-101
array sizes, 26-4, 26-5 AxisValue (method), 10-102

I-18
BackColour (property), 10-40, 10-45, 10-210, 10- coaxial, 3-65, 14-68, 14-74
213, 10-377, 10-382, 10-464, 10-468 combine, 3-71
Base (property), 7-42, 7-53, 7-85, 7-217 complex load, 3-72
base element connection type, 14-36
array, 3-24 connector, 3-72, 14-133
BaseRadius (property), 7-42, 7-145 coupling, 3-68, 14-68, 14-74, 14-90, 14-174
batch current probe, 3-72
mesh, 3-126 fibre, 14-77
beam angle, 3-23, 14-157 ground, 3-72
Bessel function, 12-8 harness, 3-72
Bézier, 3-36 import *.kbl file, 4-2
BezierCurve (object), 7-20 include/exclude instance, 3-70
BezierCurvePointCollection (object), 7-324 inductor, 3-72
BL card, 13-4 interconnect, 14-92
BO card, 14-67 irradiation, 14-68, 14-74, 14-90, 14-174
body LC connected in parallel, 14-37
general, 5-2 LC connected in series, 14-36
manifold, 5-2 loading between connector pins, 14-34
Boldfaced (property), 10-163 multiconductor transmission line (MTL), 3-68,
boolean, 3-42 14-90
Lua, 7-3 NASTRAN, 3-66
boolean (type), 7-423, 10-835 non-conducting, 3-65, 14-77
boolean operations, 3-43 pin, 3-69, 3-72
border pin number, 14-34
PO correction edge, 13-62 probe along cable path, 3-118
PO correction wedge, 13-67 rearrange cross sections, 3-68
Border (property), 10-45, 10-382, 10-468 reference pin, 14-34
BottomDepth (property), 7-85 resistor, 3-72
BottomWidth (property), 7-85 ribbon, 3-65, 14-76
BoundingBoxVisible (property), 10-301, 10-322 search, 3-71
BP card, 13-6 series and parallel source, 14-38
BQ card, 13-8 series source, 14-38
BT card, 13-10 shield properties, 3-65, 14-174
Build (property), 7-319, 10-568 shortest route, 3-70
bundle, 3-65 signal, 3-71, 14-134
bundle (mixed) single conductor, 3-65, 14-74
cable, 14-78 snapping tool, 3-161
Buttons (property), 7-90, 10-166 solid (Schelkunoff), 3-65, 14-174
solution method, 3-68, 14-90
c0 (constant), 7-428, 10-840 SPICE network, 3-72
CA card, 14-68 sub-circuit, 14-34
cable, 2-6 tab, 3-64
braided (Kley), 3-65, 14-174 target, 3-71
bundle (mixed), 3-65, 14-78 termination, 14-92
cabel path, 14-90 transfer of connector name, 14-133
cable connector, 3-69 transfer of signal name, 14-134
cable harness, 3-68 twisted pair, 3-65, 14-77
cable instance, 3-70 voltage probe, 3-72
cable path, 3-66 voltage source, 3-72
cable schematic view, 3-72 voltage/current probe along path, 3-118
capacitor, 3-72 workflow, 3-64
circuit element, 3-72 CableMod, 14-24, 14-87

I-19
CablesVisible (property), 10-588 CartesianGraphCollection (object), 10-611
CAD CartesianGraphGrid (object), 10-45
faults, 2-7 CartesianGraphs (collection), 10-28
CAD fixing, 3-54 CartesianGridLines (object), 10-46
fill hole, 3-62 cascade
remove small features, 3-61 non-radiating network, 14-150
repair and sew, 3-60 CascadeWindows (method), 7-18, 10-30
repair edges, 3-59 CB card, 12-5, 13-12
repair part, 3-55 CD card, 14-74
simplify part representation, 3-57 CDB file, 13-57
tools, 3-54 CEM validate, 3-151
CADFEKO, 1-2, 1-11, 2-1 Centre (property), 7-62, 7-69, 7-145, 7-152, 7-212,
3D view, see 3D view 7-278
geometry fault, 29-1 CF card, 14-80
messages, 3-166 CFIE, see combined field integral equation
optimisation, 6-1 CG card, 14-82
tree, 3-166 character map, 9-10
CADFEKO_BATCH, 1-12, 3-126 characteristic mode, 3-103, 14-154
calculate, 14-159 tracking, 14-154
antenna reception, 3-115, 14-166 CharacteristicModes (namespace), 10-738
cable probe, 3-118 charge
characteristic mode, 14-154 export, 8-8, 14-95
current, 14-155 check
electric field, 14-116 geometry, 3-134, 13-23
error estimates, 3-113, 14-114 mesh element size, 3-134, 13-23
far field, 3-108, 14-121 check for updates, see update, see update, 23-1
modal excitation coefficients, 14-154 Checked (property), 7-97, 10-173
near field, 3-111, 14-116 ChildOperatorCollection (object), 7-325
S-parameters, 3-103, 14-182 Children (collection), 7-13, 7-22, 7-41, 7-47, 7-53,
SAR, 3-117, 14-172 7-62, 7-68, 7-78, 7-84, 7-131, 7-144, 7-
transmission/reflection coefficients, 3-114, 14- 151, 7-158, 7-164, 7-169, 7-177, 7-202,
188 7-211, 7-217, 7-223, 7-232, 7-238, 7-247,
calculator, 3-158 7-252, 7-264, 7-277, 7-283, 7-289, 7-294,
Cancel (property), 7-95, 10-171 7-300, 7-305, 7-313
capacitance CI card, 14-92
loading, 14-140, 14-145, 14-147 circle, 3-33
Caption (property), 10-218 circular
CaptionIncludesUnit (property), 10-218 arc, 3-37
card array, 3-25
control, 11-1 cone, 13-63
edit, 11-3 disc, 13-68
geometry, 11-1 hole, 13-84
card definition panel, 11-4 CL card, 13-14
cards clash, 3-127
colon separated format, 12-2 Close (method), 7-18, 10-30, 10-42, 10-214, 10-
column based format, 12-2 379, 10-465, 10-575, 10-592
format in pre file, 12-2, 13-23 CloseAllWindows (method), 7-18, 10-30
order in pre file, 12-1 cluster, 17-1
Cartesian, 9-6 CM card, 14-87
CartesianDescription (object), 7-26 CN card, 13-16
CartesianDescription (property), 7-14 CO card, 3-144, 14-88
CartesianGraph (object), 10-38 coarse segmentation, 13-61

I-20
coating, 1-4, 3-9, 3-141, 15-7 concatenate
face, 3-143 Lua, 7-3
viewing, 3-151 CONCEPT file, 13-53
wire, 3-147, 14-88 conditional
CoatingsVisible (property), 10-318 Lua, 7-4
coaxial conducting face
attachment approximation, 14-17 on dielectric, 3-143
cable, 14-74 conducting loss, 3-143
coaxial cable, 3-65 conductivity, 3-7, 3-10, 3-141, 14-106, 14-108
coil, 13-37 cone, 3-31, 13-63
Cole-Cole, 3-7, 14-106 Cone (object), 7-39
collapse, 2-7, 3-52 ConeDefinitionMethodEnum (enum), 7-399
collection (API), 7-323, 10-609 Configuration (property), 10-110, 10-114, 10-140,
colon separated format, 12-2 10-147, 10-234, 10-237, 10-240, 10-243,
colour 10-244, 10-246, 10-249, 10-254, 10-257,
dielectrics, 3-5 10-262, 10-271, 10-329, 10-336, 10-355,
icon indicators, 3-5 10-407, 10-414, 10-438, 10-447, 10-475,
Colour (property), 10-33, 10-59, 10-163, 10-222, 10-478, 10-481, 10-483, 10-485, 10-487,
10-229, 10-422, 10-557, 10-558 10-489, 10-492, 10-495, 10-497, 10-499,
Colour (type), 10-830 10-501, 10-504, 10-507, 10-510, 10-513,
ColouredByMagnitude (property), 10-590 10-516, 10-519, 10-521, 10-535, 10-539,
ColourEnum (enum), 10-771 10-564, 10-600
ColourOption (property), 10-301 configuration list, 2-4
column based format, 12-2 configuration name, 13-78
ColumnCount (property), 7-35, 7-182, 10-55, 10- configuration tab, 2-4, 2-6
282 ConfigurationCollection (object), 10-614
Columns (property), 7-203 Configurations (collection), 10-320
COM, 7-1, 7-6 Conical (property), 10-104
combine cable, 3-71 connection point
combined field integral equation, 14-80 definition, 15-2
comma separated values connectivity
CSV, 7-1 rules for, 15-4
command line ConnectivityVisible (property), 10-301
mesh, 3-126 connector, 3-69, 14-133
parameters, 3-153 console, 3-152
comment, 3-165, 13-3, 14-5 constant, 3-4
Lua, 7-3 constant (API), 7-428, 10-840
CommonRangeEnabled (property), 10-277, 10-560 constrained surface, 3-12
Complex (object), 7-27, 10-47 construct tab, 2-4, 2-6
ComplexComponent (property), 10-75, 10-119, 10- constructing solids, 3-142
156, 10-260, 10-345, 10-360, 10-453, 10- contact us, 1-15
524, 10-536, 10-548, 10-602 Contains (method), 7-326, 7-328, 7-331, 7-335, 7-
ComplexComponentEnum (enum), 10-772 338, 7-363, 7-374, 7-379, 7-385, 7-388, 7-
complexity, reducing, 3-51 391, 7-395, 10-612, 10-615, 10-621, 10-
ComplexMatrix (object), 7-33, 10-53 624, 10-627, 10-629, 10-632, 10-635, 10-
ComplexMatrixIndexer (object), 7-38, 10-58 638, 10-641, 10-644, 10-647, 10-650, 10-
Component (property), 10-156 653, 10-656, 10-659, 10-662, 10-665, 10-
component parameters, 3-153 668, 10-671, 10-674, 10-677, 10-679, 10-
authentication, 3-156 682, 10-685, 10-688, 10-691, 10-694, 10-
parallel execution, 3-155 697, 10-700, 10-703, 10-706, 10-709, 10-
remote execution, 3-154 712, 10-715, 10-718, 10-721, 10-724, 10-
SSPI, 3-156 727, 10-729, 10-732, 10-735

I-21
context tab, 2-5 LC, 14-139
continuous frequency, 3-76, 14-125 LD, 14-140
ContinuousFrequencySamples (property), 10-580 LE, 14-141
contours LF, 14-143
3D view, 9-37 LN, 14-144
Contours (property), 10-70, 10-135, 10-325, 10-531 LP, 14-145
Contours3DFormat (object), 10-59 LS, 14-147
ContourTypeEnum (enum), 10-773 LZ, 14-149
ContourValueTypeEnum (enum), 10-774 NW, 14-150
control cards, 12-1, 14-1 OF, 14-153
**, 14-5 OM, 14-154
A0, 14-9 OS, 14-155
A1, 14-12 PR, 14-159
A2, 14-13 PS, 14-160
A3, 14-15 PW, 14-162
A4, 14-17 SH, 14-174
A5, 14-19 SK, 14-177
A6, 14-20 SP, 14-182
A7, 14-22 TL, 14-184
AC, 14-24 TR, 14-188
AE, 14-26 WD, 14-189
AF, 14-29 convergence, 3-76, 14-125
AI, 14-31 ConvertToPrimitive (method), 7-15, 7-23, 7-43, 7-
AK, 14-33 49, 7-55, 7-63, 7-71, 7-79, 7-87, 7-132, 7-
AN, 14-40 147, 7-153, 7-159, 7-165, 7-170, 7-178, 7-
AP, 14-41 204, 7-213, 7-218, 7-225, 7-233, 7-239, 7-
AR, 14-47 248, 7-254, 7-265, 7-279, 7-284, 7-291, 7-
AS, 14-52 296, 7-301, 7-306, 7-315
AV, 14-58 Coordinate (type), 7-419
AW, 14-60 copy, 3-47, 13-104
BO, 14-67 2D graph, 9-7
CA, 14-68 3D view, 9-34
CD, 14-74 geometry, 13-104
CF, 14-80 image, 3-159
CG, 14-82 original part, 3-48
CI, 14-92 CopyAndRotate (method), 7-15, 7-24, 7-43, 7-49,
CM, 14-87 7-55, 7-64, 7-71, 7-80, 7-87, 7-132, 7-147,
CO, 14-88 7-153, 7-160, 7-165, 7-171, 7-178, 7-204,
CS, 14-90 7-213, 7-219, 7-225, 7-234, 7-240, 7-248,
DA, 14-95 7-254, 7-266, 7-279, 7-285, 7-291, 7-296,
DI, 14-106 7-301, 7-307, 7-315
DL, 14-112 CopyAndTranslate (method), 7-16, 7-24, 7-44, 7-
EE, 14-114 49, 7-55, 7-64, 7-72, 7-80, 7-87, 7-132,
EN, 14-115 7-147, 7-153, 7-160, 7-165, 7-171, 7-179,
FE, 14-116 7-205, 7-213, 7-219, 7-225, 7-234, 7-240,
FF, 14-121 7-248, 7-254, 7-266, 7-280, 7-285, 7-291,
FR, 14-125 7-296, 7-301, 7-307, 7-315
GF, 14-128 copyright, 31-1
KC, 14-133 Corners (collection), 7-232, 7-238
KS, 14-134 corrupt data structures, 29-1
L2, 14-135 Count (property), 7-324, 7-326, 7-328, 7-331, 7-
L4, 14-137 333, 7-335, 7-338, 7-346, 7-372, 7-374,

I-22
7-376, 7-377, 7-379, 7-382, 7-388, 7-391, comma separated values, 7-1
7-394, 10-60, 10-62, 10-65, 10-91, 10-97, Cube (object), 10-61
10-374, 10-385, 10-460, 10-552, 10-567, CubeRegions (collection), 10-287
10-612, 10-615, 10-618, 10-623, 10-627, Cubes (object), 10-62
10-629, 10-632, 10-635, 10-638, 10-641, Cubes (property), 10-289
10-644, 10-647, 10-650, 10-653, 10-656, cuboid
10-659, 10-662, 10-665, 10-668, 10-671, create, 3-29
10-674, 10-677, 10-679, 10-682, 10-685, Cuboid (object), 7-45
10-688, 10-691, 10-694, 10-697, 10-700, cuboidal volume element, 13-18, 13-21, 13-94, 13-
10-703, 10-706, 10-709, 10-712, 10-715, 95
10-718, 10-721, 10-724, 10-727, 10-729, definition, 15-1
10-732, 10-735 maximum edge length, 13-61
coupling, 14-182 CuboidDefinitionMethodEnum (enum), 7-400
cable, 14-74 CuboidVisible (property), 10-294, 10-297, 10-315
transmission line, 14-24, 14-87 current
crash, 24-1 calculate, 14-155
crash report utility, 24-1 export, 8-8, 14-95
create line source, 14-24, 14-29, 14-31, 14-58
wire grid parallelogram, 13-120 request, 14-155
arc, 13-14 written to output file, 3-114
circular cone, 13-63 current source, 3-91
cylinder, 13-122 Currents3DFormat (object), 10-63
cylinder (dielectric), 13-21 CurrentsExportTypeEnum (enum), 10-775
cylinder for UTD, 13-115 cursor, 9-16
cylinder with hyperbolic border, 13-36 global maximum, 9-16
disc, 13-68 global minimum, 9-16
ellipsoid, 13-25 local maximum to the left, 9-16
geometry, 12-1 local maximum to the right, 9-16
helix, 13-37 local minimum to the left, 9-16
hyperboloid, 13-40 local minimum to the right, 9-16
NURBS surface, 13-79 curve, 3-34, 3-53
paraboloid, 13-81 arc, 13-14
parallelogram, 13-6 creating surfaces, 3-45
plate with hole, 13-84 curvilinear mesh, 3-122
plate with hyperbolic border, 13-39 CurvilinearTriangle (object), 10-64
polygon, 13-86 CurvilinearTriangleFaces (collection), 10-287
polygonal plate (UTD), 13-92 CurvilinearTriangles (object), 10-65
quadrangle, 13-8 CurvilinearTriangles (property), 10-291
segment, 13-4 custom
solid region, 3-142 array, 3-27
sphere, 13-71 meshing, 3-122
sphere (dielectric/magnetic), 13-18 custom command, 9-47
torus, 13-107 custom command library, 9-47
triangle, 13-10 custom data
create *.fek file, 18-1 export, 8-8
CreateQuickReport (method), 10-30 import, 8-6
creation history custom dialog, 9-45
removing, 3-52 CustomData (namespace), 10-740
CRIPTE, 14-24, 14-87 CustomData3DFormat (object), 10-66
Critical (static function), 7-92, 10-168 CustomData3DPlot (object), 10-69
CS card, 14-90 CustomDataQuantity (object), 10-74
CSV, 3-42 CustomDataSmithTrace (object), 10-76

I-23
CustomDataTrace (object), 10-80 decryption, 17-4
CustomMathScript (object), 10-85 default face type, 3-143
CustomPositionX (property), 10-220 default tab, 2-5, 8-4, 11-4
CustomPositionY (property), 10-221 define
CustomSmithTraceQuantity (object), 10-88 variable, see variables
cutplane, 3-168 define point, 13-20
POSTFEKO, 9-24 DefinitionMethod (property), 7-14, 7-42, 7-47, 7-
through solids, 3-168 54, 7-69, 7-86, 7-145, 7-152, 7-212, 7-252,
cylinder, 3-31, 13-122 7-278
dielectric, 13-21 degenerate
UTD, 3-142, 13-115 geometry, 29-1
Cylinder (object), 7-51, 10-90 delete, 2-11
CylinderDefinitionMethodEnum (enum), 7-401 element, 3-130
Cylinders (object), 10-91 faces and edges, 3-44, 3-51
Cylinders (property), 10-311 from archive, 2-8
cylindrical Delete (method), 7-10, 7-16, 7-24, 7-44, 7-49, 7-
array, 3-25 55, 7-59, 7-64, 7-72, 7-75, 7-80, 7-88, 7-
cylindrical shell, 13-21 132, 7-147, 7-154, 7-160, 7-166, 7-171, 7-
CylindricalDescription (object), 7-57 179, 7-197, 7-199, 7-205, 7-214, 7-219, 7-
CylindricalDescription (property), 7-14 225, 7-234, 7-240, 7-249, 7-254, 7-259, 7-
261, 7-266, 7-280, 7-285, 7-291, 7-296, 7-
DA card, 14-95 302, 7-307, 7-309, 7-311, 7-315, 7-318, 7-
data 322, 10-72, 10-78, 10-83, 10-87, 10-109,
export, 8-8 10-117, 10-126, 10-130, 10-137, 10-146,
import, 8-6 10-152, 10-160, 10-226, 10-252, 10-267,
stored, 8-8 10-275, 10-279, 10-320, 10-326, 10-335,
data block, 14-96 10-341, 10-351, 10-358, 10-364, 10-391,
data storage precision, 3-134 10-397, 10-406, 10-421, 10-426, 10-434,
data structure, 12-7 10-436, 10-444, 10-451, 10-457, 10-528,
dataset 10-532, 10-542, 10-546, 10-597, 10-606
ForAllValues, 10-11 DensityOption (property), 10-558
DataSet (object), 10-92 Dependent (property), 10-555
DataSetAxis (object), 10-96 DependentAxisFormat (object), 10-107
DataSetAxisCollection (object), 10-617 Depth (property), 7-48, 7-69, 7-152, 7-212, 7-253
DataSetAxisEnum (enum), 10-776 depth lighting, 3-163
DataSetIndexer (object), 10-99 DepthLightingEnabled (property), 10-583
DataSetMetaData (object), 10-103 Description (property), 7-318, 10-97
DataSetQuantity (object), 10-105 DestinationWorkplane (property), 7-10
DataSetQuantityCollection (object), 10-622 details browser, 8-4
DataSetQuantityTypeEnum (enum), 10-777 details tree, 2-5, 2-7
DataSource (property), 10-70, 10-77, 10-82, 10-109, Determinant (method), 7-35, 7-182, 10-55, 10-282
10-124, 10-128, 10-136, 10-151, 10-159, DGFM, 3-27, 3-138, 13-27
10-266, 10-278, 10-325, 10-340, 10-350, DI card, 14-106
10-363, 10-396, 10-405, 10-419, 10-425, Diagonal (static function), 7-36, 7-183, 10-56, 10-
10-433, 10-436, 10-443, 10-456, 10-526, 283
10-531, 10-544, 10-596, 10-605 dialog launcher, 2-6, 8-5
DD card, 13-17 dictionary
debug, 3-153 Lua, 7-4
Debye, 3-7, 14-106 dielectric, 3-5, 3-141, 13-75, 14-106, 14-112, 15-6
broadband, 3-7 cuboid, 13-18, 13-94, 13-95
decouple cuboid cylinder, 13-21
solutions, 3-136, 3-137, 13-88, 13-109 for mesh elements, 3-148

I-24
losses, 3-7, 14-106 double precision, 3-134, 13-23
media, 3-7, 3-150, 14-106 DP card, 12-15, 13-20
sphere, 14-128 dragging mouse, 2-10
thin sheet, 14-177 duplicate
dielectric sheet 2D graph, 9-7
viewing, 3-151 3D view, 9-34
DielectricVisible (property), 10-294, 10-297, 10-316 Duplicate (method), 7-16, 7-24, 7-44, 7-49, 7-56,
diffraction theory, 13-111 7-64, 7-72, 7-80, 7-88, 7-133, 7-147, 7-
dimension, scaling, 13-101 154, 7-160, 7-166, 7-171, 7-179, 7-205,
dipole 7-214, 7-219, 7-225, 7-234, 7-240, 7-249,
point electric, 3-94 7-254, 7-266, 7-280, 7-285, 7-291, 7-297,
point magnetic, 3-94 7-302, 7-307, 7-316, 10-42, 10-72, 10-78,
dipole array aperture, 14-41 10-83, 10-87, 10-117, 10-126, 10-130, 10-
direction 137, 10-146, 10-152, 10-160, 10-214, 10-
normal vector, 3-32, 3-46, 3-51, 3-52 227, 10-252, 10-267, 10-275, 10-279, 10-
Direction (property), 10-377 326, 10-335, 10-341, 10-351, 10-358, 10-
disabled solution, 3-149 364, 10-379, 10-391, 10-397, 10-406, 10-
disc, 3-33, 13-68 421, 10-434, 10-436, 10-444, 10-451, 10-
discrete element, 14-143–14-145, 14-147, 14-149 457, 10-466, 10-528, 10-542, 10-546, 10-
display 575, 10-606
axes, 3-172 DuplicateAsCartesian (method), 10-379, 10-466
coating, 3-171 DuplicateAsPolar (method), 10-42
cutplane, 3-168 DuplicateAsSmith (method), 10-42
element normal, 3-167 dynamic memory management, 26-4
entity display, 3-172 dynamic part, 3-132, 13-17
face medium, 3-167 DynamicRange (property), 10-402, 10-570
face normal medium, 3-167 DynamicRangeMax (property), 10-231
items in CADFEKO, 3-169 DZ card, 13-21
mesh connectivity, 3-169
model, 3-166 Eccentricity (property), 7-70, 7-152
model visibility, 3-171 edge, 3-141
opacity, 3-171 definition, 15-2
overlay, 3-166 delete, 3-51
region medium, 3-167 length, 3-119, 3-124
request points, 9-36 port on, 3-81
simulation mesh, 3-166, 3-171 property, 3-126, 3-139
solver, 3-172 Edge (object), 7-58
DisplayType (property), 10-422 EdgeCollection (object), 7-327
distance between points, 2-5, 8-4 edges
CADFEKO, 3-158 properties, 3-148
POSTFEKO, 9-32 Edges (collection), 7-13, 7-22, 7-41, 7-47, 7-53, 7-
DistanceTo (method), 7-229, 10-373 62, 7-68, 7-78, 7-84, 7-131, 7-144, 7-151,
distorted mesh element, 3-128 7-158, 7-164, 7-169, 7-177, 7-202, 7-211,
distributed load, 14-140 7-217, 7-223, 7-232, 7-238, 7-247, 7-252,
distributor, 1-15 7-264, 7-277, 7-283, 7-289, 7-295, 7-300,
Djordevic-Sarkar, 3-7, 14-106 7-305, 7-314
DK card, 13-18 Edges (property), 10-301
DL card, 14-112 EdgeSettings (property), 7-264
documentation, 1-10 edit geometry, 3-42
DocumentHeading (property), 10-400 EDITFEKO, 1-2, 1-11, 11-1
domain decomposition, 3-132, 3-138, 13-17 create geometry, 12-3
domain Green’s function method, see DGFM introduction, 11-1

I-25
keystrokes, 11-7 enum API, 7-397, 10-763
meshing guidelines regarding connectivity, 12-3 enumeration (API), 7-397, 10-763
variable, 11-6 environment variable, 3-157, 26-7
with CADFEKO models, 3-148 eps0 (constant), 7-428, 10-840
workflow, 11-1 equivalent aperture, 14-41
EDITFEKO, program flow when using, 12-1 error estimation, 3-125, 14-114
editor, 9-43, 11-3 3D result types, 9-23
*.pre file, 11-5 error messages, 3-173
editor for model comments, 3-165 ErrorEstimate3DPlot (object), 10-108
EE card, 14-114 ErrorEstimateCollection (object), 10-626
efficiency, 14-162 ErrorEstimateData (object), 10-110
EFIE, see electric field integral equation ErrorEstimateQuantityTypeEnum (enum), 10-778
EG card, 13-23 ErrorEstimates (collection), 10-471
EL card, 13-25 ErrorEstimatesQuantity (object), 10-112
electric dipole, 3-94 evaluate, 1-14
electric field example
calculate, 14-116 Lua, 7-2, 10-2
export, 14-95 excitation, 14-6, see source
electric field integral equation, 14-80 aperture field as source, 14-41
electric scalar potential, 3-111, 14-116 coaxial attachment approximation, 14-17
electric vector potential, 3-111, 14-116 current source, 3-91
element, 13-10 electric Hertzian dipole, 14-19
count, 3-124 FEM modal, 14-23
create, 3-128 FEM modal mode, 3-92
creation, see geometry cards impressed aperture excitation, 3-96
delete, 3-130 impressed current, 3-95
edge length, 3-122 impressed line current, 3-88, 14-24, 14-29, 14-
maximum edge length, 13-61 58
ellipse, 3-33 impressed spherical mode, 3-97, 14-52
Ellipse (object), 7-60 incident plane wave, 3-92, 14-9
ellipsoid, 13-25 line source, 14-31
elliptical arc, 3-37 magnetic dipole, 3-94
elliptical hole, 13-84 magnetic frill, 14-15
EllipticArc (object), 7-66 magnetic Hertzian dipole, 14-20
EllipticArcDefinitionMethodEnum (enum), 7-402 power, 3-77, 14-162
EllipticArcMajorAxisDirectionEnum (enum), 7-403 radiation pattern, 3-99, 14-47
ELSE statement, 12-14 voltage on a radiating cable, 14-33
EN card, 14-115 voltage source, 3-90
Enabled (property), 7-97, 7-99, 7-101, 7-103, 7- voltage source at an edge, 14-22
106, 7-109, 7-113, 7-116, 7-119, 7-121, voltage source on a non-radiating network port,
7-123, 7-125, 7-127, 10-173, 10-175, 10- 14-40
177, 10-179, 10-181, 10-183, 10-186, 10- voltage source on an edge, 14-26
189, 10-193, 10-196, 10-199, 10-201, 10- voltage source to a node, 14-13
203, 10-205, 10-207, 10-209, 10-367, 10- voltage source to a segment, 14-12
560 waveguide mode, 3-90, 14-60
encryption, 17-4 Excitation (namespace), 10-742
End (property), 7-169 ExcitationCollection (object), 10-628
end of geometry, 13-23 ExcitationData (object), 10-113
end of input file, 14-115 ExcitationMathScript (object), 10-116
EndAngle (property), 7-70 ExcitationQuantity (object), 10-118
EndFrequency (property), 10-473 Excitations (collection), 10-471
EndRadius (property), 7-145 ExcitationSmithQuantity (object), 10-121

I-26
ExcitationSmithTrace (object), 10-123 ExportImage (method), 10-42, 10-43, 10-214, 10-
ExcitationTrace (object), 10-127 379, 10-380, 10-466, 10-576, 10-577, 10-
executing runfeko, 19-1 593
EXIT command, 12-14 ExportNASTRAN (method), 7-187
explode, 3-53 ExportNearFields (method), 10-474
Explode (method), 7-16, 7-24, 7-44, 7-50, 7-56, 7- ExportParasolid (method), 7-135
64, 7-72, 7-80, 7-88, 7-133, 7-148, 7-154, ExportSTEP (method), 7-136
7-160, 7-166, 7-171, 7-179, 7-205, 7-214, ExportSTL (method), 7-187
7-219, 7-226, 7-234, 7-240, 7-249, 7-255, ExportTraces (method), 10-43, 10-214, 10-380, 10-
7-266, 7-280, 7-285, 7-292, 7-297, 7-302, 466
7-307, 7-316 expression
export, 3-152 CADFEKO, 3-3
additional data file, 14-95 point, 3-18
animation, 9-38, 9-49 predefined, 12-8
charge, 3-114, 8-8, 14-95 Expression (property), 7-318, 10-278, 10-561
current, 3-114, 8-8, 14-95 Expression (type), 7-420, 10-831
custom data, 8-8 extents, 3-20
electric field, 14-95 ExtractTags (method), 10-550
far field, 3-108, 8-8, 14-95, 14-121 extrude, 9-34
general CAD formats, 5-1 far field, 8-7
general geometry formats, 5-1 Extrusion (property), 10-67, 10-132, 10-322
general mesh formats, 5-3
geometry, 5-2 FA card, 13-27
Gerber mesh, 5-3 face, 3-32, 3-53, 3-141, see surface
graph data, 8-8 coating, 3-143
image, 3-159, 9-38, 9-49 conducting, 3-143
magnetic field, 14-95 default type, 3-143
NASTRAN mesh, 5-3 delete, 3-51
near field, 3-111, 8-8, 14-95 property, 3-126, 3-139, 3-143
Parasolid, 3-20, 5-2 reverse normal, 3-52
planar structure, 5-3 solution method, 3-151
S-parameters, 3-103, 14-95 Face (object), 7-74
Touchstone, 8-8 face displacement, 2-10
ExportACIS (method), 7-135 FaceCollection (object), 7-330
ExportAllWindowsAsImages (method), 10-31 Faces (collection), 7-13, 7-22, 7-41, 7-47, 7-53, 7-
ExportAnimation (method), 10-576 62, 7-69, 7-78, 7-84, 7-131, 7-144, 7-151,
ExportCATIAV4 (method), 7-135 7-158, 7-164, 7-169, 7-177, 7-203, 7-211,
ExportCATIAV5 (method), 7-135 7-217, 7-223, 7-232, 7-238, 7-247, 7-252,
ExportCfm (method), 7-186 7-264, 7-277, 7-283, 7-289, 7-295, 7-300,
ExportData (method), 10-115, 10-141, 10-330, 10- 7-305, 7-314
448, 10-476, 10-478, 10-481, 10-484, 10- Faces (property), 10-301
486, 10-488, 10-490, 10-492, 10-495, 10- faces and edges
498, 10-500, 10-502, 10-504, 10-507, 10- automatic meshing, 3-121
510, 10-513, 10-516, 10-519, 10-535, 10- FaceSettings (property), 7-264
600 Family (property), 10-163
ExportDxf (method), 7-187 far field, 3-108
Exporter (object), 7-73 adaptive sampling, 3-110, 14-121
Exporter (property), 7-243 annotate, 9-24
ExportFarFields (method), 10-474 calculate, 14-121
ExportGerber (method), 7-187 calculate continuous data, 9-13, 9-34
ExportIGES (method), 7-135 export, 8-8, 14-95
extrude, 8-7

I-27
import, 8-6 region, 14-29
maximum mode index, 14-121 setting, 3-136, 3-138
per label, 3-109 FEMAP, 13-43
sampling settings, 9-13, 9-34 FEST3D, 14-95
far field (3D) FF card, 14-121
extrude, 9-34 FFT (method), 7-35, 7-182, 10-55, 10-282
offset, 9-34 fibre
size, 9-34 cable, 14-77
FarField (namespace), 10-744 non-conducting, 14-77
FarField3DFormat (object), 10-131 file
FarField3DPlot (object), 10-134 *._14, 27-1
FarFieldCollection (object), 10-631 *._15, 27-1
FarFieldData (object), 10-139 *._16, 27-1
FarFieldMathScript (object), 10-145 *._20, 27-1
FarFieldPowerIntegralCollection (object), 10-634 *._21, 27-1
FarFieldPowerIntegralData (object), 10-147 *.afo, 27-1
FarFieldPowerIntegrals (collection), 10-471 *.bof, 8-2, 8-5, 12-1, 15-1, 27-1
FarFieldPowerIntegralTrace (object), 10-149 *.cdb, 27-1
FarFieldQuantity (object), 10-155 *.cfm, 2-2, 3-131, 3-152, 12-1, 15-1, 27-1
FarFieldQuantityComponentEnum (enum), 10-779 *.cfr, 27-1
FarFieldQuantityTypeEnum (enum), 10-780 *.cfs, 2-2, 15-1, 27-1
FarFields (collection), 10-471 *.cfx, 2-2, 15-1, 27-1
FarFieldsExportTypeEnum (enum), 10-781 *.cgm, 14-95, 27-1
FarFieldTrace (object), 10-157 *.chr, 14-95
farm out, 21-14 *.cir, 27-1
fault, 2-7 *.dbg, 13-109, 27-1
FE card, 14-116 *.dxf, 27-1
feed, see source *.efe, 14-95, 27-1
FEK file format, 18-1 *.fek, 2-2, 4-6, 8-2, 8-5, 12-1, 15-1, 27-1
FEKO, 1-12, 19-1 *.ffe, 14-47, 14-95, 27-1
FEKO command line update utility, 23-3 *.fim, 14-62, 27-1
FEKO crash report utility, 24-1 *.fse, 14-95
FEKO GUI update, 1-11 *.gbr, 5-3
FEKO GUI update utility, 23-1 *.gfe, 27-1
FEKO kernel *.gfh, 27-1
command line, 19-1 *.hfe, 14-95, 27-1
running on remote host, 19-7 *.inc, 27-1
running parallel, 19-3 *.inp, 27-1
running sequential version, 19-1 *.isd, 27-1
FEKO LITE, 1-14 *.kbl, 4-2
FEKO software updater, 23-1 *.log, 21-15, 27-1
FEKO solver, 1-2 *.lud, 3-135, 27-1
FEM, 1-8, 13-34, 15-6 *.mat, 3-135, 27-1
guidelines regarding connectivity, 15-5 *.nas, 13-23, 27-1
impressed current, 3-88 *.neu, 27-1
line port, 3-88 *.ngf, 3-132, 13-17
mesh elements, 15-4 *.ofc, 27-1
modal excitation, 3-92, 14-23 *.ol, 14-95, 27-1
modal mode, 3-92 *.ops, 27-1
modal port, 3-87, 13-74 *.opt, 2-2, 27-1
preconditioner, 3-138, 14-80 *.os, 14-95, 27-1
reducing memory requirement, 15-4 *.out, 8-2, 12-1, 13-23, 14-95, 15-1, 27-1

I-28
*.pcr, 27-1 create triangle, 3-128
*.pfg, 2-2, 8-2, 27-1 merge meshes, 3-129
*.pfs, 8-2, 8-5, 27-1 merge vertices, 3-130
*.pre, 2-2, 3-152, 11-2, 12-1, 15-1, 27-1 relabel mesh element, 3-131
*.ray, 27-1 remove collapsed elements, 3-130
*.rhs, 27-1 remove duplicate elements, 3-130
*.rsd, 27-1 FixedAxes (property), 10-71, 10-82, 10-136, 10-151,
*.sha, 27-1 10-159, 10-266, 10-325, 10-340, 10-350,
*.snp, 14-95, 27-1 10-363, 10-396, 10-443, 10-531, 10-597,
*.sph, 14-95, 27-1 10-605
*.stl, 13-23 FixedRangeMax (property), 10-230, 10-231
*.str, 3-135, 27-1 FixedRangeMin (property), 10-230, 10-231
*.vis, 27-1 FixedSize (property), 10-33
*.wfg, 27-1 flare, 3-29
*.x_t/*.x_b, 27-1 Flare (object), 7-82
format of cards in pre file, 12-2 FlareDefinitionMethodEnum (enum), 7-404
input, 12-1 FlatShaded (property), 10-63, 10-67, 10-132, 10-
open project, 8-5 322
order of cards in pre file, 12-1 FlipPathEnds (property), 7-224
output, 20-1 FM card, 13-30
Parasolid, 4-2 FO card, 13-32
save project, 8-5 FocalDepth (property), 7-212, 7-217
structure of pre file, 12-2 Fock area, 13-32
summary of, 27-1 Font (property), 10-216, 10-219, 10-221, 10-554
temporary, 3-157 FontFormat (object), 10-163
used by components, 12-1, 15-1 Footer (property), 10-40, 10-213, 10-377, 10-464
file format, 18-1 for
*.efe, 14-96 Lua, 7-5
*.ffe, 14-96 FOR/NEXT loops, 12-12
*.hfe, 14-96 ForAllValues
*.ol, 14-96 dataset, 10-11
*.os, 14-96 ForAllValues (static function), 10-94
other supported, 14-96 form, 9-45
structure, 14-96 Form (object), 7-89, 10-165
file type, 2-2 Format (property), 10-574
FILEREAD FormButtonFormat (object), 7-94, 10-170
function, 12-10, 12-12, 12-14 FormButtons (object), 7-95, 10-171
fill hole tool, 3-62 FormCheckBox (object), 7-96, 10-172
find FormComboBox (object), 7-98, 10-174
clashing geometry, 3-127 FormConfigurationSelector (object), 10-176
distorted element, 3-128 FormDataSelector (object), 10-178
intersecting element, 3-128 FormDataSelectorType (enum), 10-782
oversized element, 3-128 FormDirectoryBrowser (object), 7-100, 10-180
find cable, 3-71 FormDoubleSpinBox (object), 7-102, 10-182
finite antenna array, see array FormFileBrowser (object), 7-105, 10-185
finite conductivity, 3-9, 14-109 FormGroupBox (object), 7-108, 10-188
finite element method, 1-8 FormGroupBoxItemCollection (object), 7-334, 10-
FiniteAntennaArraysVisible (property), 10-588 637
fitted spline, 3-36 FormGroupBoxItems (collection), 7-109, 10-189
FittedSpline (object), 7-76 FormImage (object), 7-112, 10-192
FittedSplinePointCollection (object), 7-333 FormIntegerSpinBox (object), 7-115, 10-195
fix FormItem (object), 7-118, 10-198

I-29
FormItemCollection (object), 7-337, 10-640 From (property), 7-305, 7-311
FormItems (collection), 7-90, 10-166 function
FormLabel (object), 7-120, 10-200 ABS, 12-8
FormLayoutEnum (enum), 7-405, 10-783 ARCCOS, 12-8
FormLineEdit (object), 7-122, 10-202 ARCCOT, 12-8
FormModelSelector (object), 10-204 ARCSIN, 12-8
FormRadioButtonGroup (object), 7-124, 10-206 ARCTAN, 12-8
FormSeparator (object), 7-126, 10-208 ATAN2, 12-8
FormSeparatorEnum (enum), 7-406, 10-784 BESI, 12-8
formulation BESJ, 12-8
ACA, see adaptive cross-approximation BESK, 12-8
aperture, 1-4 Bessel, 12-8
choose, 1-9 BESY, 12-8
DGFM, 3-27, 3-138 built-in, 12-8
FEM, see finite element method CADFEKO, 3-3
GO, see geometrical optics (ray launching) CEIL, 12-8
ground, 1-4 coordinate functions, 12-8
LEPO, see large element physical optics COS, 12-8
MLFMM, see multilevel fast multipole method COSH, 12-8
non-radiating network, 1-8 COT, 12-8
PBC, see periodic boundary condition data, 12-10
PO, see physical optics DEG, 12-8
Popovic, 1-4 EXP, 12-8
select, 1-9 FILEREAD, 12-10, 12-12, 12-14
Sommerfeld, 1-4 FLOOR, 12-8
thin dielectric sheet, 1-4 FMOD, 12-8
UTD, see uniform theory of diffraction LN, 12-8
windscreen, 1-4 LOG, 12-8
wire coating, 1-4 Lua, 7-2, 7-5, 10-2
formulations MAX, 12-8
Green’s function, see multilayer substrate MIN, 12-8
in FEKO, 1-1 miscellaneous, 12-8
MoM, see method of moments RAD, 12-8
multilayer substrate, see multilayer substrate RANDOM, 12-8
SEP, see surface equivalence principle SIN, 12-8
VEP, see volume equivalence principle SINH, 12-8
FP card, 13-34 SQRT, 12-8
FR card, 14-125, 22-1 STEP, 12-8
Frame (property), 10-219, 10-221, 10-554 TAN, 12-8
FrameFormat (object), 10-210 TANH, 12-8
free edges, 3-127 trigonometric, 12-8
free space, 3-142 X_COORD, 12-8
frequency, 3-76, 14-125 Y_COORD, 12-8
adaptive sampling, 22-1 function (API), 7-396, 10-737
continuous (interpolated) range, 3-76 function (type), 7-424, 10-836
linearly spaced discrete points, 3-76
list of discrete points, 3-76 general comments, 15-1
point entry, 2-12, 3-76 general network, see non-radiating network
single, 3-76 general non-radiating network, see non-radiating net-
FrequencyConfiguration (property), 10-473 work
FrequencyRate (property), 10-580 Generate (method), 10-400, 10-550
FrequencyUnitEnum (enum), 10-785 generate crash report, 24-1

I-30
geometrical optics (ray launching), 1-6, 13-111 FO, 13-32
geometry FP, 13-34
align, 3-49 HC, 13-36
CAD translation, 4-2 HE, 13-37
create, 12-1 HP, 13-39
degenerate, 29-1 HY, 13-40
entering, 13-41 IN, 13-41
extent, 3-20 IP, 13-61
import, 4-2 KA, 13-62
import log, 4-5 KK, 13-63
imprint, 3-50 KL, 13-67
include/exclude, 2-14 KR, 13-68
invalid, 29-1 KU, 13-71
mirror, 3-48, 13-104 LA, 13-73
missing, 29-1 MB, 13-74
modify, 3-42 ME, 13-75
operator, 3-42 NC, 13-78
point entry, 2-12 NU, 13-79
point import, 3-41 PB, 13-81
port, 3-79 PH, 13-84
project, 3-50 PM, 13-86
re-evaluate, 3-53 PO, 13-88
reverse face normal, 3-52 PY, 13-92
rotate, 3-49 QT, 13-94
scale, 3-49, 13-101 QU, 13-95
self-intersecting, 29-1 RM, 13-97
show/hide parts, 3-169 SF, 13-101
solid, 3-28 SY, 13-103
surface, 3-32 TG, 13-104
transform, 3-47, 13-104 TO, 13-107
translate, 3-48, 13-104 TP, 13-109
validation, 3-127 UT, 13-111
wire, 3-34 UZ, 13-115
Geometry (collection), 7-243 VS, 13-116
Geometry (object), 7-128 WA, 13-119
Geometry (property), 7-73, 7-155 WG, 13-120
geometry cards, 12-1, 13-1 WR, 13-121
**, 13-3 ZY, 13-122
BL, 13-4 geometry consistency checks, 3-127
BP, 13-6 geometry fault, 29-1
BQ, 13-8 geometry fixing, 3-54
BT, 13-10 fill hole, 3-62
CB, 13-12 remove small features, 3-61
CL, 13-14 repair and sew, 3-60
CN, 13-16 repair edges, 3-59
DK, 13-18 repair part, 3-55
DP, 13-20 simplify part representation, 3-57
DZ, 13-21 geometry import log, 4-5
EG, 13-23 geometry manipulation
EL, 13-25 tools, 3-54
FA, 13-27 geometry not G1-continuous, 29-1
FM, 13-30 geometry part, 2-7

I-31
GeometryCollection (object), 7-340 guidelines regarding connectivity, 15-4
GeometryExporter (object), 7-134 mesh elements, 15-3
GeometryImporter (object), 7-137 setting, 3-137
Gerber mesh export, 5-3 viewing, 3-151
GetApplication (static function), 7-396, 10-737 GPU
GetAxisUnit (method), 10-72, 10-83, 10-137, 10- acceleration, 3-154, 19-1
153, 10-161, 10-268, 10-327, 10-342, 10- multiple, 3-154, 19-1
352, 10-365, 10-397, 10-444, 10-532, 10- gradient of scalar electric potential, 3-111, 14-116
598, 10-607 gradient of scalar magnetic potential, 3-111, 14-116
GetDataSet (method), 10-87, 10-117, 10-141, 10- Graph (object), 10-211
142, 10-146, 10-234, 10-235, 10-237, 10- graph data
238, 10-240, 10-241, 10-246, 10-247, 10- export, 8-8
249, 10-250, 10-252, 10-254, 10-255, 10- GraphAxisLabels (object), 10-216
257, 10-258, 10-262, 10-263, 10-271, 10- GraphAxisTitle (object), 10-218
272, 10-330, 10-331, 10-335, 10-355, 10- graphical user interface, see GUI, see GUI, see GUI
356, 10-358, 10-387, 10-388, 10-391, 10- GraphLegend (object), 10-220
438, 10-439, 10-448, 10-449, 10-451, 10- GraphLegendPositionEnum (enum), 10-786
478, 10-479, 10-481, 10-482, 10-492, 10- GraphLineFormat (object), 10-222
493, 10-495, 10-496, 10-504, 10-505, 10- Greek symbol, 9-10
508, 10-511, 10-514, 10-517, 10-520, 10- Green’s function, 1-4, 3-21, 3-145, 14-128, 15-7
539, 10-540, 10-542, 10-565 limit to region, 14-130
GetDataSet (static function), 10-738–10-743, 10-745, GreyScaleEnabled (property), 10-583
10-748–10-751, 10-753–10-762 GreyscaleEnabled (property), 10-40, 10-213, 10-377,
GetDefault (method), 7-395 10-464
GetFixedAxisAvailableValues (method), 10-72, 10- grid, 3-18
84, 10-138, 10-153, 10-161, 10-268, 10- Grid (property), 10-40, 10-378, 10-464
327, 10-342, 10-352, 10-365, 10-398, 10- GridType (property), 10-464
445, 10-457, 10-532, 10-598, 10-607 GridTypeEnum (enum), 10-787
GetFixedAxisValue (method), 10-72, 10-84, 10-138, GridVisible (property), 10-67, 10-132, 10-322
10-153, 10-161, 10-268, 10-327, 10-342, ground, 1-4, 2-6, 3-21
10-352, 10-365, 10-398, 10-445, 10-457, ground plane, 3-21
10-532, 10-598, 10-607 perfectly electric, 14-67
GetMediaDataSet (method), 10-331–10-333 perfectly magnetic, 14-67
GetMediaDataSet (static function), 10-751, 10-752 reflection coefficient, 14-67
GetNames (static function), 10-739, 10-741, 10-743, GroupsSelected (property), 10-412
10-745, 10-749, 10-752, 10-754, 10-756, GUI, 2-4, 8-3, 11-3
10-758, 10-760, 10-762
GetPath (method), 10-320 half space
getPointNExpression (method), 7-205 Green’s function, 3-21
getPoints (method), 7-206 Sommerfeld, 3-22
getPointUExpression (method), 7-206 harness description list, 4-2
getPointVExpression (method), 7-206 Havrillak-Negami, 3-7, 14-106
GetSampledDataSet (method), 10-142–10-144 HC card, 13-36
GetSampledDataSet (static function), 10-746, 10- HE card, 13-37
747 header block, 14-96
getWeights (method), 7-206 Height (property), 7-42, 7-48, 7-54, 7-86, 7-91, 7-
GF card, 14-128 113, 7-145, 10-40, 10-167, 10-193, 10-213,
GiD, 13-60 10-378, 10-464, 10-574, 10-592
glass, 1-4 helix, 3-40, 13-37
GlobalCoordinates (object), 7-141 Helix (object), 7-142
GO, 1-6, 3-145, 13-111 HelixDefinitionMethodEnum (enum), 7-407
3D result types, 9-22 help, 1-10, 2-5, 8-4, 9-56, 11-4

I-32
Hertzian electric dipole, 14-19 sheet, 3-9, 14-109
hide impedance boundary condition, 14-177
items behind cutplane, 3-168 impedance sheet, 3-141
single item, 2-6, 3-169 ImpedanceQuantityTypeEnum (enum), 10-788
hierarchial basis function, 1-3, 13-34 import
higher order basis function, 1-3, 3-143, 3-146, 13- *.cdb, 13-57
34 *.cfm, 13-55
enable, 3-135 *.dxf, 13-49
HighlightingOption (property), 10-301 *.inp, 13-59
histogram, 3-124 *.msh, 13-60
history *.nec, 13-52
removing, 3-52 *.neu, 13-43
HOBF, see higher order basis function *.pat, 13-56
Home tab *.pre, 13-42
CADFEKO, 3-2 *.stl, 13-54
HorizontalAxis (property), 10-40 ABAQUS mesh, 4-6
HorizontalGraphAxis (object), 10-223 ACIS (geometry), 4-2
HorizontalLine (property), 10-46 advanced options, 4-4
hot-keys, 3-173, 9-57, 11-7 ANSYS mesh, 4-6
HP card, 13-39 ASCII data, 13-44
HY card, 13-40 ASCII data mesh, 4-6
hyperbolic, 13-36, 13-39, 13-40 auto-merge wires, 4-4
hyperbolic arc, 3-39 auto-stitch faces, 4-4
HyperbolicArc (object), 7-149 AutoCAD (geometry), 4-2
HyperbolicArcDefinitionMethodEnum (enum), 7-408 AutoCAD mesh, 4-6
CAD fixing tools, 3-54
ideal receiving antenna, 14-166 CAD formats, 4-2
ideal transmission line CADFEKO model (*.cfx), 4-1
applying excitation, 3-164 CATIA V4 (geometry), 4-2
applying loads, 3-164 CATIA V5 (geometry), 4-2
connecting, 3-164 concept file, 13-53
create, 3-101, 14-184 Concept mesh, 4-6
Identity (static function), 7-36, 7-183, 10-56, 10- CSV file, 3-42
283 custom data, 8-6
if default wire radius (mesh), 4-7
Lua, 7-4 extrude (geometry), 4-4
IF statement, 12-14 far field, 8-6
IFFT (method), 7-35, 7-182, 10-55, 10-282 FEKO model, 4-6
illuminate, 3-145 FEMAP neutral mesh, 4-6
im (property), 7-29, 10-49 fill hole, 3-62
Imag (method), 7-29, 10-49 general CAD formats, 4-2
Imag (static function), 7-30, 10-50 general mesh formats, 4-6
image geometry, 4-2, 13-41
add overlay to 2D graph, 9-8 geometry import log, 4-5
copy, 3-159 GiD mesh, 4-6
export, 3-159, 9-49 harness description list (*.kbl), 4-2
reference to data cut orientation, 9-8 healing (geometry), 4-4
impedance, 14-143, 14-144, 14-149 IGES (geometry), 4-2
complex, 14-135, 14-137, 14-139, 14-141, 14- media, 14-109
143, 14-149 mesh, 4-6, 12-1, 13-41
loading, 3-100, 14-141, 14-143, 14-144 mesh formats, 4-6
microstrip fed, 14-141 mesh import log, 4-9

I-33
mesh vertex tolerance, 4-7 ImportNASTRAN (method), 7-193
NASTRAN, 13-47 ImportNEC (method), 7-193
near field, 8-6 ImportParasolid (method), 7-139
NEC mesh, 4-6 ImportPATRAN (method), 7-193
Parasolid (geometry), 4-2 ImportProE (method), 7-140
Parasolid model, 4-2 ImportResults (method), 10-31
PATRAN mesh, 4-6 ImportSet (object), 10-225
point, 3-41 ImportSTEP (method), 7-140
Pro/Engineer (geometry), 4-2 ImportSTL (method), 7-194
refresh file, 8-7 ImportUnigraphics (method), 7-140
remove small features, 3-61 impressed aperture excitation, 3-96
repair and sew, 3-60 impressed current, 3-95
repair edges, 3-59 impressed line current, 14-24, 14-29, 14-31, 14-58
repair part, 3-55 in FEM region, 3-88
reselect import file, 8-7 impressed spherical mode, 3-97
scale factor to metres (mesh), 4-7 impressed spherical mode source, 14-52
segment length (mesh), 4-7 imprint points, 3-50
simplify model (geometry), 4-4 ImprintedPointsCollection (object), 7-372
simplify part representation, 3-57 ImprintPoints (method), 7-363
STEP (geometry), 4-2 ImprintPoints (object), 7-156
stitch trimmed faces (geometry), 4-4 IN card, 13-41
STL mesh, 4-6 incident plane wave, 14-9
Touchstone, 8-6 include file, 13-41
two step process (geometry), 4-4 include/exclude, 2-14, 3-70, 3-103
Unigraphics (geometry), 4-2 Included (property), 7-14, 7-22, 7-42, 7-48, 7-54, 7-
with new settings, 8-7 62, 7-70, 7-78, 7-86, 7-131, 7-146, 7-152,
Import (method), 7-138, 7-189 7-158, 7-164, 7-169, 7-177, 7-203, 7-212,
import cable path 7-217, 7-224, 7-232, 7-238, 7-247, 7-253,
NASTRAN, 3-66 7-265, 7-278, 7-283, 7-289, 7-295, 7-300,
import mode 7-305, 7-314
FEST3D, 14-62 IncludesPhi (property), 10-345
import point IncludesRadius (property), 10-345
NASTRAN, 3-41 IncludesRho (property), 10-345
ImportABAQUS (method), 7-190 IncludesTheta (property), 10-346
ImportACIS (method), 7-138 IncludesX (property), 10-346
ImportANSYS (method), 7-190 IncludesY (property), 10-346
ImportASCII (method), 7-191 IncludesZ (property), 10-346
ImportAutoCAD (method), 7-138, 7-191 Independent (property), 10-555
ImportCATIAV4 (method), 7-139 IndependentAxesAvailable (property), 10-77, 10-82,
ImportCATIAV5 (method), 7-139 10-124, 10-128, 10-151, 10-159, 10-266,
ImportCONCEPT (method), 7-191 10-278, 10-340, 10-350, 10-363, 10-396,
ImportedData (collection), 10-226 10-419, 10-433, 10-443, 10-456, 10-527,
ImportedDataCollection (object), 10-643 10-544, 10-605
ImportedDataSetCollection (object), 10-646 IndependentAxis (property), 10-77, 10-82, 10-125,
ImportedDataSets (collection), 10-28 10-129, 10-151, 10-159, 10-266, 10-278,
Importer (object), 7-155 10-340, 10-350, 10-363, 10-396, 10-420,
Importer (property), 7-243 10-433, 10-443, 10-456, 10-527, 10-545,
ImportFek (method), 7-192 10-605
ImportFEMAP (method), 7-192 IndependentAxisFormat (object), 10-228
ImportFileTypeEnum (enum), 10-789 Index (property), 7-99, 10-175
ImportGID (method), 7-192 inductance
ImportIGES (method), 7-139 loading, 14-140, 14-145, 14-147

I-34
infinite, 1-4, 1-8, 2-6, 3-21, 3-23, 14-128, 14-157 694, 10-697, 10-701, 10-704, 10-707, 10-
infinite plane, 3-21, 14-128 709, 10-712, 10-715, 10-716, 10-718, 10-
InfinitePlanesOpacity (property), 10-588 721, 10-724, 10-727, 10-729, 10-732, 10-
InfinitePlanesVisible (property), 10-588 733, 10-735
Info (static function), 7-92, 10-168 Items (method), 7-326, 7-329, 7-332, 7-336, 7-339,
information 7-364, 7-375, 7-380, 7-386, 7-389, 7-392,
Kernel version, 9-2 7-395, 10-613, 10-616, 10-621, 10-625, 10-
machine ID, 9-2 627, 10-630, 10-633, 10-636, 10-639, 10-
memory per process, 9-2 642, 10-645, 10-648, 10-651, 10-654, 10-
solution, 9-2 657, 10-660, 10-663, 10-666, 10-669, 10-
total CPU-time, 9-2 672, 10-675, 10-677, 10-680, 10-683, 10-
total runtime, 9-2 686, 10-689, 10-692, 10-695, 10-698, 10-
inspect 701, 10-704, 10-707, 10-710, 10-713, 10-
Lua, 7-4 716, 10-719, 10-722, 10-725, 10-727, 10-
InstantaneousPhase (property), 10-346, 10-537, 10- 730, 10-733, 10-736
602 iterate
insulation, 3-141 ForAllValues, 10-11
interaction, 2-10 Lua, 7-5
InteractionsUpTo (property), 10-412
interface, 7-1, 10-1 KA card, 13-62
interpolate, 3-76, 14-126 Kardan angles, 13-105
intersect, 3-44 KC card, 14-133
Intersect (method), 7-363 KeepWithLocalProperties (property), 7-268, 7-270,
Intersect (object), 7-162 7-273
intersecting mesh element, 3-128 kernel, 1-2, 19-1
IntersectionsVisible (property), 10-410 Kernel version, 9-2
introduction, 1-1 keyboard, 2-12, 3-173, 9-57
CADFEKO, 2-1 EDITFEKO, 11-7
EDITFEKO, 11-1 shortcut key, 2-11
POSTFEKO, 8-1 KK card, 13-63
invalid KL card, 13-67
geometry, 29-1 Kley, 3-65
invalid/duplicate identifiers, 29-1 KR card, 13-68
Inverse (method), 7-35, 7-182, 10-55, 10-282 KS card, 14-134
IP card, 13-61 KU card, 13-71
irradiating, 3-68
L2 card, 14-135
irradiation
L4 card, 14-137
cable, 14-74
LA card, 13-73
IsoSurface (property), 10-325
label, 3-54, 12-5, 13-73, 13-74
IsoSurface3DFormat (object), 10-229
assign, 13-73
isotropic
change, 3-131
media, 3-9, 14-112
reassign, 13-12
Italicised (property), 10-164
selected calculation, 14-153
Item (method), 7-326, 7-328, 7-331, 7-335, 7-338,
using, 3-131, 3-149
7-364, 7-375, 7-379, 7-385, 7-389, 7-391,
Label (property), 7-14, 7-23, 7-42, 7-48, 7-54, 7-
7-395, 10-612, 10-613, 10-615, 10-621, 10-
59, 7-62, 7-70, 7-75, 7-79, 7-86, 7-131, 7-
624, 10-627, 10-629, 10-632, 10-635, 10-
146, 7-152, 7-159, 7-164, 7-170, 7-177, 7-
638, 10-641, 10-644, 10-647, 10-648, 10-
203, 7-212, 7-218, 7-224, 7-232, 7-238, 7-
650, 10-653, 10-654, 10-656, 10-659, 10-
244, 7-247, 7-253, 7-257, 7-265, 7-278, 7-
660, 10-662, 10-665, 10-668, 10-671, 10-
284, 7-290, 7-295, 7-300, 7-305, 7-314, 7-
672, 10-674, 10-675, 10-677, 10-679, 10-
321, 10-71, 10-77, 10-82, 10-86, 10-109,
682, 10-685, 10-688, 10-689, 10-691, 10-

I-35
10-111, 10-115, 10-117, 10-125, 10-129, Legend3DLogarithmicRangeFormat (object), 10-231
10-136, 10-141, 10-146, 10-148, 10-151, length, 3-158, 9-32
10-159, 10-226, 10-234, 10-237, 10-240, Lua, 7-3
10-243, 10-244, 10-246, 10-249, 10-252, tetrahedral, 3-122
10-254, 10-257, 10-262, 10-266, 10-271, triangle, 3-122
10-275, 10-278, 10-290, 10-292, 10-295, wire segment, 3-122
10-303, 10-307, 10-309, 10-312, 10-313, Length (property), 10-582
10-320, 10-325, 10-329, 10-335, 10-337, lens, 13-36, 13-39, 13-40
10-340, 10-350, 10-355, 10-358, 10-363, LEPO, see large element physical optics
10-387, 10-391, 10-396, 10-405, 10-408, LF card, 14-143
10-415, 10-420, 10-425, 10-428, 10-430, library
10-434, 10-436, 10-438, 10-443, 10-447, media, 3-6
10-451, 10-456, 10-473, 10-476, 10-478, licence, 1-14, 16-1
10-481, 10-484, 10-486, 10-488, 10-490, academic, 1-14
10-492, 10-495, 10-498, 10-500, 10-502, bronze, 16-1
10-504, 10-507, 10-510, 10-513, 10-516, check in, 16-5
10-519, 10-522, 10-527, 10-531, 10-535, configuration file, 16-6
10-539, 10-542, 10-545, 10-550, 10-564, create request file, 16-6
10-597, 10-600, 10-605 excluded, 16-1
Labels (property), 10-26, 10-223, 10-402, 10-571 expired, 16-1
language floating, 16-1, 16-3
Lua, 7-1, 7-2 gold, 16-1
large element physical optics, 1-7, 3-145, 13-90 include/exclude, 16-5
mesh elements, 15-3 information, 16-1
large model, 12-4 LITE, 1-14
launch, 3-2, 9-1, 11-4 node-locked, 16-1
layer, 3-22 platinum, 16-1
layered dielectric (anisotropic), 3-10, 14-112 preferred, 16-4
layered dielectric (isotropic), 14-112 premium option, 16-1
layered media, 14-188 server, 16-4
layout silver, 16-1
CADFEKO, 2-4 licence manager, 16-1
EDITFEKO, 11-3 limit, 1-14
POSTFEKO, 8-3 line, 3-34, 3-35
LC card, 14-139 Line (object), 7-167
LD card, 14-140 Line (property), 10-78, 10-82, 10-125, 10-129, 10-
LE card, 14-141 151, 10-159, 10-210, 10-266, 10-278, 10-
LeftHandRotated (property), 7-146 340, 10-350, 10-363, 10-396, 10-420, 10-
legend 434, 10-443, 10-456, 10-527, 10-545, 10-
2D graph, 9-9 606
3D view, 9-25 line segment, see segment
data range, 9-25 linear
position, 9-9, 9-25 array, 3-25
text, 9-9, 9-25 linear set of equations, 14-82
Legend (property), 10-41, 10-71, 10-78, 10-82, 10- LinearRange (property), 10-369
109, 10-125, 10-129, 10-136, 10-151, 10- LinearScaleRangeTypeEnum (enum), 10-791
159, 10-213, 10-266, 10-278, 10-302, 10- LineStyleEnum (enum), 10-790
325, 10-340, 10-350, 10-363, 10-378, 10- LinesVisible (property), 10-305, 10-410
396, 10-405, 10-420, 10-425, 10-434, 10- LITE, 1-14
436, 10-443, 10-456, 10-464, 10-527, 10- LN card, 14-144
531, 10-545, 10-574, 10-597, 10-605 Load (namespace), 10-748
Legend3DLinearRangeFormat (object), 10-230 LoadCable (object), 10-233

I-36
LoadCoaxial (object), 10-236 CAD, 2-14
LoadCollection (object), 10-649 part, 2-14
LoadComplex (object), 10-239 point entry field, 2-13
LoadData (object), 10-242 Locked (property), 7-14, 7-23, 7-42, 7-48, 7-54, 7-
LoadDistributed (object), 10-244 63, 7-70, 7-79, 7-86, 7-131, 7-146, 7-152,
LoadEdge (object), 10-245 7-159, 7-164, 7-170, 7-177, 7-203, 7-212,
LoadExpression (property), 10-119, 10-122 7-218, 7-224, 7-233, 7-239, 7-247, 7-253,
LoadFEM (object), 10-248 7-265, 7-278, 7-284, 7-290, 7-295, 7-300,
loading, 14-68, 14-184 7-306, 7-314
an edge, 14-141 loft, 3-47
cable, 14-139 Loft (method), 7-364
coaxial attachment point, 14-137 Loft (object), 7-175
complex impedance, 14-139, 14-141 log files, 3-173
distributed, 14-140 LogarithmicRange (property), 10-369
FEM, 14-143 logical
impedance, 3-100 operator, 12-10
microstrip line, 14-141 LogScaled (property), 10-223, 10-402, 10-571
network, 14-144 LogScaleRangeTypeEnum (enum), 10-793
node, 14-135 loop
parallel circuit, 3-100, 14-139, 14-141, 14-145 Lua, 7-4
segment, 14-149 loss
series circuit, 3-100, 14-139, 14-141, 14-147 on face, 3-143
LoadingTypeEnum (enum), 10-792 losses, 3-141, 14-162
LoadMathScript (object), 10-251 conducting, 3-143
LoadNetwork (object), 10-253 finite conductivity, 3-10, 14-108
LoadParallel (object), 10-256 on wires, 3-147
LoadQuantity (object), 10-259 low frequency stabilisation, 3-134, 13-23
Loads (collection), 10-471 Lower (method), 10-79, 10-84, 10-126, 10-130, 10-
LoadSeries (object), 10-261 153, 10-161, 10-268, 10-279, 10-342, 10-
LoadSubtractionEnabled (property), 10-119, 10-122 352, 10-365, 10-398, 10-421, 10-434, 10-
LoadSubtractionType (property), 10-119, 10-122 445, 10-458, 10-528, 10-546, 10-607
LoadsVisible (property), 10-588 LP card, 14-145
LoadTrace (object), 10-264 LS card, 14-147
LoadVertex (object), 10-270 Lua, 7-1, 10-1
local mesh parameter, 3-126 array, 7-4
local properties basics, 7-1
setting, 3-141 boolean, 7-3
local update repository comment, 7-3
create, 23-4 concatenate, 7-3
LocalCoordAxes (property), 10-136, 10-325 conditional, 7-4
LocalCoordinates (object), 7-173 dictionary, 7-4
LocalMeshSize (property), 7-59, 7-75, 7-257 editor, 9-43
LocalMeshSizeEnabled (property), 7-59, 7-75, 7-257 example, 7-2, 10-2
LocalWireRadius (property), 7-59 for, 7-5
LocalWireRadiusEnabled (property), 7-59 function, 7-2, 7-5, 10-2
LocalWorkplane (object), 7-174 if, 7-4
LocalWorkplane (property), 7-14, 7-23, 7-42, 7-48, inspect, 7-4
7-54, 7-63, 7-70, 7-79, 7-86, 7-146, 7-152, introduction, 7-1
7-159, 7-170, 7-196, 7-203, 7-212, 7-218, iterate, 7-5
7-233, 7-239, 7-253, 7-259, 7-278, 7-284, language, 7-2
7-290, 7-306, 7-311 length, 7-3
lock, 2-7 loop, 7-4

I-37
math, 7-4 Math (property), 10-83, 10-129, 10-152, 10-160,
method, 7-2, 10-2 10-267, 10-341, 10-351, 10-364, 10-397,
module, 7-1 10-420, 10-444, 10-456, 10-545, 10-606
name space, 7-2, 10-2 math trace, 9-13, see 2D graph
nil, 7-3 mathematical
package, 7-1 operator, 12-10
print, 7-3 MathScript (object), 10-273
random, 7-4 MathScriptCollection (object), 10-652
repeat, 7-4 MathScripts (collection), 10-28
static function, 7-2, 10-2 MathScriptTypeEnum (enum), 10-796
string, 7-3 MathTrace (object), 10-276
table, 7-4 Matrix (object), 7-180, 10-280
variable, 7-3 MatrixIndexer (object), 7-185, 10-285
while, 7-4 Max (property), 10-37
Ludwig III, 9-18 maxalloc(m), 26-4, 26-5
LZ card, 14-149 Maximise (method), 10-43, 10-214, 10-380, 10-466,
10-577, 10-593
machine codes, 16-6 maximum constants, 26-4, 26-5
machine ID, 9-2 MB card, 13-74
machines file, 19-4 ME card, 13-75
magnetic cuboid, 13-18 measure
magnetic dipole, 3-94, 14-20 bandwidth, 9-14
magnetic field beamwidth, 9-15
export, 14-95 cursor, 9-16
magnetic ring current, 14-15 delta, 9-15
magnetic scalar potential, 3-111, 14-116 derived width, 9-15
magnetic vector potential, 3-111, 14-116 first null beamwidth, 9-15
magnitude global maximum, 9-15, 9-16
peak, 3-77, 14-162 global minimum, 9-15, 9-16
Magnitude (method), 7-29, 10-49 local maximum to the left, 9-16
Magnitude (static function), 7-30, 10-50 local maximum to the right, 9-16
MagnitudeColour (type), 10-832 local minimum to the left, 9-16
MainVisible (property), 10-582 local minimum to the right, 9-16
Major (property), 7-319, 10-45, 10-382, 10-568 null to null, 9-15
MajorAxisDirection (property), 7-70 second maximum, 9-15
MajorGrid (property), 10-26, 10-223, 10-403, 10- second minimum, 9-15
571 sidelobe level, 9-15
make primitive, 3-52 single point, 9-15
manipulate, 2-11 specify independent axis value, 9-15
manual solution control, 26-1 media
MarkerPlacementEnum (enum), 10-794 colour, 3-5
Markers (property), 10-78, 10-82, 10-125, 10-129, dielectric, 3-5, 3-7, 13-75, 13-94, 13-95, 14-106
10-152, 10-160, 10-267, 10-278, 10-341, impedance sheet, 3-9, 14-109
10-351, 10-364, 10-396, 10-420, 10-434, import, 14-109
10-443, 10-456, 10-527, 10-545, 10-606 layered dielectric (anisotropic), 3-10, 14-112
MarkerSize (property), 10-423 layered dielectric (isotropic), 3-9, 14-112
MarkerSymbolEnum (enum), 10-795 library, 3-6
matching circuit generation, 3-2 lists of, 3-5
matching networks, 25-1 magnetic, 13-94, 13-95
math metallic, 3-5, 3-10, 14-108
Lua, 7-4 on imported meshes, 3-148
script, 10-1 on imported models, 3-141

I-38
properties, 3-150 small features, 3-122
setting, 3-141 small geometry features, 3-119
using, 3-5 smoothing, 3-122
medium, 2-6, 2-7 symmetry, 3-131
Cole-Cole, 3-7, 14-106 tetrahedra, 3-122
Debye, 3-7, 14-106 union, 3-129
Djordevic-Sarkar, 3-7, 14-106 unlink, 3-119
Havrillak-Negami, 3-7, 14-106 Mesh (object), 10-286
homogeneous, 14-129 Mesh (property), 7-73, 7-155, 10-473
MediumNames (property), 10-104 mesh element
memory visibility, 9-31
allocation, 26-4 mesh import log, 4-9
reducing FEM requirement, 15-4 MeshColouringOptionsEnum (enum), 10-797
memory per process, 9-2 MeshCubeRegion (object), 10-289
menu, 2-5, 2-8, 8-4, 8-5, 11-4, 11-5 MeshCubeRegionCollection (object), 10-655
application, 2-5, 8-4, 11-4 MeshCurvilinearTriangleFace (object), 10-291
context, 2-6 MeshCurvilinearTriangleFaceCollection (object), 10-
merge 658
mesh, 3-129 MeshEdgesFormat (object), 10-293
vertices, 3-130 MeshEntity (object), 10-295
mesh, 3-119, 15-1 MeshEntityTypeEnum (enum), 10-798
adaptive refinement, 3-113, 3-125, 13-95, 14- MeshExporter (object), 7-186
114 MeshFacesFormat (object), 10-296
add triangle, 3-128 MeshHighlightingOptionsEnum (enum), 10-799
batch, 3-126 MeshImporter (object), 7-188
command line, 3-126 meshing
connectivity, 3-169, 12-3 PREFEKO, 18-1
curvilinear, 3-122 automatic, 3-120
elongated triangle, 3-122 custom, 3-122
enable smoothing, 3-122 meshing guidelines, 15-1
import, 4-6, 12-1 MeshLegendFormat (object), 10-298
import log, 4-9 MeshRendering (object), 10-300
information, 3-124 MeshRendering (property), 10-574
local settings, 3-126 MeshSegmentsFormat (object), 10-305
merge, 3-129 MeshSegmentWire (object), 10-303
minimum element size, 3-122 MeshSegmentWireCollection (object), 10-661
model, 3-119 MeshTetrahedronRegion (object), 10-307
non-uniform, 13-6, 13-8, 13-10 MeshTetrahedronRegionCollection (object), 10-664
part, 2-7 MeshTriangleFace (object), 10-309
point refinement, 3-125, 13-95 MeshTriangleFaceCollection (object), 10-667
polyline refinement, 3-125, 13-95 MeshUnmeshedCylinderRegion (object), 10-311
port, 3-79 MeshUnmeshedCylinderRegionCollection (object), 10-
properties, 3-148 670
quality, 3-119 MeshUnmeshedPolygonFace (object), 10-313
refine, 2-6, 13-95, 13-97 MeshUnmeshedPolygonFaceCollection (object), 10-
refinement factor, 3-122 673
remove collapsed elements, 3-130 MeshVerticesFormat (object), 10-315
remove duplicate elements, 3-130 MeshVolumesFormat (object), 10-317
rules, 12-3, 15-3, 15-4 MeshWiresFormat (object), 10-318
setting media, 3-148 message window, 2-5
show/hide parts, 3-169 messages, 3-173
simulation, 3-119 MetaData (property), 10-94

I-39
metallic media, 3-10, 14-108 MPI
MetallicVisible (property), 10-294, 10-297, 10-316 environment, 19-6
method, see formulation options, 19-6
Lua, 7-2, 10-2 MSPowerPointInstalled (property), 10-29
Method (property), 10-367, 10-370, 10-562 MSWordInstalled (property), 10-29
method of moments, 1-3 mu0 (constant), 7-428, 10-840
mesh elements, 15-3 multiconductor transmission line (MTL), 3-68, 14-
microstrip port, see ports 90
Min (property), 10-37 multidimension data structure, 12-7
Minimise (method), 10-43, 10-214, 10-380, 10-467, multilayer substrate, see planar multilayer substrate
10-577, 10-593 defining, 14-128
MiniVisible (property), 10-582 multilevel fast multipole method, 1-4, 13-30
Minor (property), 7-319, 10-45, 10-382, 10-568 preconditioner, 3-138, 14-80
mirror, 3-48 setting, 3-136
Mirror (object), 7-195 multiple configurations, 3-102
MirrorPlaneEnum (enum), 7-409 add configuration, 3-103
mismatch loss, 3-77, 14-162 characteristic mode configuration, 3-103
missing configuration specific, 3-106
geometry, 29-1 global, 3-106
MLFMM, see multilevel fast multipole method import of *.cfx file, 4-1
modal port, 13-74 include/exclude, 3-103
model order of calculation, 3-103
extent, 3-20 S-parameter configuration, 3-103
unit, 2-5, 3-20 standard configuration, 3-103
validation, 3-151 multiple CPU, 19-3
Model (object), 10-319 multiple reflections, 13-88
Model (property), 10-473 multiple variable edit, 3-5
model browser, 8-3 multiple-core CPU, 19-3
model mesh, 3-119 MultiSelect (property), 7-106, 10-186
model tree, 2-4, 2-6
ModelCollection (object), 10-676 N (property), 7-26, 7-57, 7-173
ModelExtentsExponent (property), 7-244 N axis, 3-18, 3-20
modelling name, 3-54
guidelines, 15-1 Name (property), 7-199, 7-318, 10-97, 10-106
rules, 15-1 name space
ModelOpacity (property), 10-302 Lua, 7-2, 10-2
Models (collection), 10-29 named point, 2-6, 3-18
ModelUnit (property), 7-244 *.pre file, 3-150
ModelUnitEnum (enum), 7-410 define, 13-20
modify geometry, 3-42 name, see node
ModifyCorner (method), 7-235, 7-241 NamedPoint (object), 7-198
ModifyEnd (method), 7-25 NamedPointCollection (object), 7-373
ModifyEndTangent (method), 7-25 NamedPoints (collection), 7-243
ModifyPoint (method), 7-81, 7-161 NamedPointsVisible (property), 10-588
ModifyStart (method), 7-25 names, 3-149
ModifyStartTangent (method), 7-25 NASTRAN
module import cable path, 3-66
Lua, 7-1 import point, 3-41
MoM, see method of moments, 13-34 NASTRAN file, 13-47
guidelines regarding connectivity, 15-4 NC card, 13-78
mouse, 2-10 near field, 3-111, 14-116
point entry, 2-12 annotate, 9-24

I-40
boundary, 9-36 non-conducting
calculate, 14-116 cable, 14-77
calculation offset, 14-153 fibre, 14-77
export, 8-8 non-conducting element, 3-65
import, 8-6 non-ideal, 3-141
per label, 3-112 non-radiating network, 1-8, 14-68, 14-184
specified labels, 14-153 applying excitation, 3-164
NearField (namespace), 10-750 applying loads, 3-164
NearField3DFormat (object), 10-321 cascade, 14-150
NearField3DPlot (object), 10-323 connecting, 3-164
NearFieldCollection (object), 10-678 creating, 3-101, 14-150
NearFieldData (object), 10-328 feeding, 14-40
NearFieldMathScript (object), 10-334 loading, 14-144
NearFieldPowerIntegralCollection (object), 10-681 normal, 3-43
NearFieldPowerIntegralData (object), 10-336 normal vector, 3-46, 3-51, 13-16
NearFieldPowerIntegrals (collection), 10-472 reverse, 3-52
NearFieldPowerIntegralTrace (object), 10-338 Normalisation (object), 10-367
NearFieldQuantity (object), 10-344 Normalisation (property), 10-41, 10-378
NearFieldQuantityTypeEnum (enum), 10-800 NormalisationMethodEnum (enum), 10-805
NearFields (collection), 10-472 notes view, 2-5, 3-165
NearFieldsExportTypeEnum (enum), 10-801 NoUnit (property), 10-561
NearFieldTrace (object), 10-348 NU card, 13-79
NEC file, 13-52 number (type), 7-425, 10-837
network, see non-radiating network number of modes, 14-154
Network (namespace), 10-753 number of processes, 19-4
network schematic view, 3-164 NumberFormat (property), 10-216
NetworkCollection (object), 10-684 NumberFormatEnum (enum), 10-806
NetworkData (object), 10-354 NumbersVisible (property), 10-410
NetworkMathScript (object), 10-357 NURBS, 3-34, 13-79
NetworkParameterFormatEnum (enum), 10-802 NurbsSurface (object), 7-200
NetworkParameterTypeEnum (enum), 10-803 NW card, 14-150
NetworkQuantity (object), 10-359
NetworkQuantityTypeEnum (enum), 10-804 object (API), 7-8, 10-25
Networks (collection), 10-472 OF card, 14-153
NetworksVisible (property), 10-588 Offset (property), 10-228
NetworkTrace (object), 10-361 offset for near field calculation, 14-153
Neutral files, 13-43 ohmic loss, 3-10, 3-143, 3-147, 14-108, 14-177
New (static function), 7-31, 7-37, 7-92, 7-93, 7-97, OK (property), 7-95, 10-171
7-99, 7-101, 7-104, 7-107, 7-110, 7-111, 7- old models
114, 7-117, 7-121, 7-123, 7-125, 7-127, 7- re-evaluate, 3-53
184, 7-229, 10-51, 10-57, 10-95, 10-168, OM card, 14-154
10-169, 10-173, 10-175, 10-177, 10-179, Ones (static function), 7-37, 7-184, 10-57, 10-284
10-181, 10-184, 10-187, 10-190, 10-191, Opacity (property), 10-67, 10-132, 10-322, 10-410
10-194, 10-197, 10-201, 10-203, 10-205, OpenFile (method), 7-18, 10-32
10-207, 10-209, 10-284, 10-373 operator
NewProject (method), 7-18, 10-32 geometry, 3-42
nil logical, 12-10
Lua, 7-3 mathematical, 12-10
node Optenni lab, 3-2
define, 13-20 optenni lab, 25-1
definition, 15-2 OPTFEKO, 1-12, 21-1
variable name, 12-15, 13-20 command line, 21-13

I-41
optimisation method, 21-2 overview, 1-1
output, 21-15 ADAPTFEKO, 1-12
optimisation, 2-6, 15-1, 21-1 CADFEKO, 1-11
CADFEKO, 6-1 CADFEKO_BATCH, 1-12
far field goal, 6-13 EDITFEKO, 1-11
farming, 21-13, 21-14 FEKO, 1-12
genetic algorithm (GA), 21-8 FEKO GUI update, 1-11
goal, 9-5 OPTFEKO, 1-12
goal combination tool, 6-18 POSTFEKO, 1-11
goal weighting, 6-18 PREFEKO, 1-12
goals, 6-6 QUEUEFEKO, 1-11
grid search, 21-10 SECFEKO, 1-12
impedance goal, 6-10 SECFEKO_GUI, 1-11
mask, 9-5
masks, 6-5 package, 17-1
method, 6-2 Lua, 7-1
modifying the *.pre file, 6-20 PageOrientation (property), 10-400
near field goal, 6-11 pan, 2-11
parameter, 9-5 parabolic arc, 3-38
parameters, 6-4 ParabolicArc (object), 7-209
particle swarm (PSO), 21-5 ParabolicArcDefinitionMethodEnum (enum), 7-411
POSTFEKO, 9-5 paraboloid, 3-34, 13-81
running, 21-13 Paraboloid (object), 7-215
S-parameter goal, 6-14 parallel execution, 3-155, 19-3
SAR goal, 6-16 options, 19-4
search, 6-2 parallel host configuration, 19-3
sensitivity analysis, 21-12 parallelogram, 13-6
Simplex, 21-2 parameter
stopping criteria, 6-2 points, 3-18
the global goal, 6-18 segmentation, 13-61
optimisation search parametric, 3-3
defining, 6-2 parametric model, 2-1
multiple, 6-3 ParametricEnd (property), 7-14
options ParametricStart (property), 7-14
debug, 3-153 Parasolid, 4-2
rendering, 2-10 ParasolidExportFileFormatEnum (enum), 7-412
solution components, 3-153 ParasolidTopologyTypeEnum (enum), 7-413
view, 3-162 parts
order of precedence, 12-10 show/hide, 3-169
Orientation (property), 10-378 Patch (property), 7-320, 10-569
Origin (property), 7-48, 7-174, 7-196, 7-253, 7-259, Path (property), 7-244
7-261, 7-284, 7-290, 7-322, 10-104, 10- path sweep, 3-46
132, 10-584 PathSweep (method), 7-365
OS card, 14-155 PathSweep (object), 7-221
out-of-core, 26-4 PathSweepAlignmentEnum (enum), 7-414
OutlineColour (property), 10-297 PathSweepParallel (method), 7-366
OutlineVisible (property), 10-297 PATRAN file, 13-56
output file, 20-1 patterned point source, 3-99, 14-47
overlap, 3-127 PB card, 13-81
overlay PBC, see periodic boundary condition
2D graph, 9-6 PBCVisible (property), 10-588
oversized mesh element, 3-128 PCB, 5-3

I-42
PCBMod, 14-24, 14-87 setting, 3-137, 13-88
PDF, 10-4 viewing, 3-151
PE card, 13-83 visibility, 13-116
peak magnitude, 3-77, 14-162 wedge border, 13-67
PEC, 3-21 PO card, 13-88
periodic boundary condition, 1-8, 3-23, 13-83, 14- point, see named point
157 NASTRAN, 3-41
beam angle, 3-23, 14-157 Point (object), 7-227, 10-371
calculate far field, 3-110, 14-121 point dipole, 3-94
squint angle, 3-23, 14-157 point entry, 2-12, 3-18, 3-76
permeability, 3-7, 14-106 lock, see lock
permittivity, 3-7, 14-106 snap mode, 2-11
PH card, 13-84 point refinement, 3-125
Phase (method), 7-29, 10-49 point source with pattern, 3-99, 14-47
Phase (property), 10-88, 10-122 points
Phase (static function), 7-31, 10-51 *.pre file, 3-150
PhaseAdditionEnabled (property), 10-88, 10-122 angle, 3-158
PhaseStepSize (property), 10-580 distance, 3-158
PhaseUnwrapped (property), 10-75, 10-119, 10-156, imprint, 3-50
10-260, 10-346, 10-360, 10-453, 10-524, named, 3-18
10-548 Points (collection), 7-22, 7-78, 7-158
Phi (property), 7-57, 7-274 Points (object), 10-374
PhiDirection (property), 10-584 Points (property), 10-288
PhiStepSize (property), 10-580 PointSettings (property), 7-265
physical optics, 1-7, 13-88 polar, 9-6
pi (constant), 7-428, 10-840 direction, 9-11
pin, 3-69, 3-72 orientation, 9-11
PitchAngle (property), 7-146 reference to data cut orientation, 9-8
planar PolarGraph (object), 10-375
array, 3-25 PolarGraphCollection (object), 10-687
planar Green’s function, 1-4 PolarGraphDirectionEnum (enum), 10-808
planar multilayer substrate, 1-4, 3-22, 3-142, 14- PolarGraphGrid (object), 10-382
128, 14-130, 15-7 PolarGraphOrientationEnum (enum), 10-809
planar structure, 5-3 PolarGraphs (collection), 10-29
plane, 2-6 PolarGridLines (object), 10-383
Plane (property), 7-196, 7-290 polarisation
plane wave, 14-188 incident wave, 3-92
plane wave excitation, 3-92, 14-9 PolarisationType (property), 10-548
plate with hole, 13-84 PolarisationTypeEnum (enum), 10-810
platform, 1-14 polygon
Plot3DLegendFormat (object), 10-368 definition, 15-2
Plots (collection), 10-574 meshed, 13-86
PlotSamplingFormat (object), 10-370 polygonal plate, 13-92
PlotSamplingMethodEnum (enum), 10-807 UTD formulation, 13-111
PlotType (property), 10-71, 10-136, 10-325 Polygon (object), 7-230, 10-384
PlotTypesAvailable (property), 10-71, 10-136, 10- polygon selection, 3-159
326 PolygonCornerCollection (object), 7-376
PM card, 13-86 polygons, 3-32
PMC, 3-21 Polygons (object), 10-385
PO, 1-7, 3-145 Polygons (property), 10-314
edge border, 13-62 polyline, 3-35
mesh elements, 15-3 Polyline (object), 7-236

I-43
polyline refinement, 3-125 preconditioner, 3-136, 3-138, 14-80
PolylineCornerCollection (object), 7-377 predefined variables, 12-11
Popovic, 1-4 PREFEKO, 1-12, 18-1
port, 3-79 command line, 18-1
edge, 3-81 options, 18-1
licence server, 16-3 preferences, 2-9, 11-5
microstrip, 3-83 preferred licence, 16-4
modal, 13-74 preprocessor, 18-1
on wires, 3-80 preview mode, 2-13
waveguide, 3-85 primitive, 2-7
Position (property), 10-221, 10-298, 10-369 analytical curve, 3-35
POSTFEKO, 1-2, 1-11, 8-1 bezier, 3-36
2D graph, 9-2 circle, 3-33
2D result types, 9-5 circular arc, 3-37
3D result, 9-18, 9-33 collapsing part tree, 3-52
3D view, 9-2, 9-23 cone, 3-31
custom command library, 9-47 cuboid, 3-29
custom dialog, 9-45 cylinder, 3-31
display result, 9-2 disc, 3-33
errors and warnings, 9-55 ellipse, 3-33
generate quick report, 9-49 elliptical arc, 3-37
generate report, 9-49 fitted spline, 3-36
generate report from template, 9-50 flare, 3-29
help, 9-56 helix, 3-40
introduction, 8-1 hyperbolic, 3-39
time analysis, 9-40 line, 3-35
tools, 9-32 NURBS, 3-34
workflow, 8-1 parabolic arc, 3-38
working with large model, 9-23 paraboloid, 3-34
POSTFEKO project polygon, 3-32
add file, 9-2 polyline, 3-35
add model, 9-2 rectangle, 3-33
Power (collection), 10-472 solid, 3-28
Power (namespace), 10-755 sphere, 3-30
power input, 3-77, 14-162 spiral, 3-40
PowerCollection (object), 10-690 spline, 3-36
PowerData (object), 10-386 surface, 3-32
PowerIntegralQuantity (object), 10-389 wire, 3-34
PowerMathScript (object), 10-390 print
PowerQuantity (object), 10-392 Lua, 7-3
PowerQuantityTypeEnum (enum), 10-811 PRINT command, 12-15
PowerScalingEnabled (property), 10-346 priority
PowerScalingFactor (property), 10-346 setting, 19-2
PowerTrace (object), 10-394 privacy policy, 24-1
Poynting vector, 9-5 probe
instantaneous, 9-19 current/voltage, 3-118, 14-159
PP card, 14-157 ProbesVisible (property), 10-589
PR card, 14-159 program execution control, 14-160
*.pre files program flow, 15-1
named points, 3-150 programming, 7-1, 10-1
variables, 3-150 project, 3-50
precision, 3-134, 13-23 Project (object), 7-242

I-44
Project (property), 7-17 radiating, 3-68
project browser, 8-3 radiation
project control, 2-8 pattern, 14-121
project notes, 3-165 pattern as source, 3-99, 14-47
project session radius
add model, 8-5 segment, 3-119, 3-126
open, 8-5 Radius (property), 7-54, 7-152, 7-212, 7-218, 7-
save, 8-5 278, 10-305
ProjectGeometry (method), 7-366 radius of wire segment, 13-61
ProjectGeometry (object), 7-245 RadiusN (property), 7-278
properties RadiusU (property), 7-63, 7-70, 7-279
medium, 3-142 RadiusV (property), 7-63, 7-71, 7-279
mesh, 3-126, 3-148 Raise (method), 10-79, 10-84, 10-126, 10-130, 10-
modify, 3-42 153, 10-161, 10-268, 10-279, 10-342, 10-
setting local, 3-141 352, 10-365, 10-398, 10-421, 10-434, 10-
proxy settings, 23-4 445, 10-458, 10-528, 10-546, 10-607
PS card, 14-160 random
PW card, 14-162 Lua, 7-4
PY card, 13-92 range, 3-76, 14-125
Range (property), 10-224, 10-403, 10-571
QT card, 13-94 Rao-Wilton-Glisson, 1-3, 13-35
QU card, 13-95 ray file, 3-137
quadrangle, 13-8 ray launching, see geometrical optics (ray launch-
Quantities (collection), 10-94 ing)
Quantity (property), 10-71, 10-78, 10-83, 10-109, Ray3DPlot (object), 10-404
10-125, 10-129, 10-136, 10-152, 10-160, RayCollection (object), 10-693
10-267, 10-326, 10-341, 10-351, 10-364, RayData (object), 10-407
10-397, 10-405, 10-420, 10-444, 10-456, RayFieldType (property), 10-412
10-527, 10-531, 10-545, 10-597, 10-606 RayFieldTypeEnum (enum), 10-812
QuantityType (property), 10-106, 10-602 RayGroupsVisible (property), 10-410
QUEUEFEKO, 1-11, 17-1 rays, 3-145
add package to execution queue, 17-6 Rays (collection), 10-472
cluster options, 17-4 Rays3DFormat (object), 10-409
configuration files, 17-2 RaysQuantity (object), 10-411
create package, 17-2 RaysSelected (property), 10-412
decryption of package, 17-6 RayTypeEnum (enum), 10-813
execution queue, 17-6 RCS
extract package, 17-2, 17-6 radar cross section, 3-108, 14-121
FEKO options, 17-4 re (property), 7-29, 10-49
generate package, 17-6 re-evaluate
include package files, 17-3 geometry, 3-53
set preferences, 17-6 re-use
system overview, 17-1 solution, 14-160
use encryption, 17-4 re-use solution, 3-134, 3-135
quick access toolbar, 2-4, 8-3, 11-3 ReactanceAxisFont (property), 10-465
QuickReport (object), 10-399 ReactanceLine (property), 10-468
Real (method), 7-30, 10-50
R (property), 7-274
Real (static function), 7-32, 10-52
RA card, 14-166
real ground, 14-67
RadialAxis (property), 10-378
RealTimeDuration (property), 10-580
RadialGraphAxis (object), 10-402
ReassociateModel (method), 10-320
RadialLine (property), 10-383
receiving antenna, 3-115, 14-166

I-45
far field pattern, 3-116, 9-3, 14-166 SSH/RSH method, 19-7
near field aperture, 3-116, 9-3, 14-168 remove, 2-11
spherical modes, 3-116, 9-3, 14-169 Remove (method), 7-92, 7-110, 10-168, 10-190
ReceivingAntennaCollection (object), 10-696 remove small features tool, 3-61
ReceivingAntennaData (object), 10-414 RemoveBetweenEqualDielectricRegions (property),
ReceivingAntennaQuantity (object), 10-416 7-270
ReceivingAntennas (collection), 10-472 RemoveBetweenEqualMetalRegions (property), 7-270
ReceivingAntennasVisible (property), 10-589 RemoveBetweenShellRegions (property), 7-271
ReceivingAntennaTrace (object), 10-418 RemoveCorner (method), 7-235, 7-241
rectangle, 3-33 RemoveInDielectricSolids (property), 7-268
Rectangle (object), 7-250 RemoveInMetalSolids (property), 7-268
rectangle selection, 3-159 RemoveOnDielectricFaces (property), 7-269
RectangleDefinitionMethodEnum (enum), 7-415 RemoveOnMetalFaces (property), 7-269
reduce CPU time, 3-132 RemovePoint (method), 7-81, 7-161
reduce memory requirements, 3-131 RemoveRedundant (property), 7-272
ReEvaluate (method), 7-16, 7-25, 7-44, 7-50, 7-56, rename
7-64, 7-72, 7-81, 7-88, 7-133, 7-148, 7- geometry, 3-42
154, 7-161, 7-166, 7-171, 7-179, 7-205, mesh element, 3-131
7-214, 7-219, 7-226, 7-235, 7-241, 7-249, rendering options, 2-10
7-255, 7-266, 7-280, 7-285, 7-292, 7-297, repair and sew tool, 3-60
7-302, 7-307, 7-316 repair edges tool, 3-59
reference impedance, 9-5 repair part tool, 3-55
ReferenceImpedance (property), 10-88 repeat
ReferenceImpedanceExpression (property), 10-119, Lua, 7-4
10-122 ReplaceSubMatrix (method), 7-36, 7-183, 10-56, 10-
referencing elements, 3-149 283
refine, see mesh refine report, 9-49
reflectors, 3-34 content controls, 9-50
Refresh (method), 10-227 crash, 24-1
region, 3-141 from template, 9-50
automatic meshing, 3-121 quick, 9-49
dielectric, 13-75 rectangular placeholders, 9-50
property, 3-126, 3-139, 3-142 report generation, 10-4
Region (object), 7-256 ReportDocumentTypeEnum (enum), 10-814
RegionCollection (object), 7-378 ReportOrientationEnum (enum), 10-815
Regions (collection), 7-13, 7-22, 7-41, 7-47, 7-53, 7- ReportPageOptions (property), 10-400
62, 7-69, 7-78, 7-85, 7-131, 7-145, 7-151, Reports (collection), 10-29
7-158, 7-164, 7-169, 7-177, 7-203, 7-211, ReportsCollection (object), 10-699
7-217, 7-223, 7-232, 7-238, 7-247, 7-252, request
7-264, 7-277, 7-283, 7-289, 7-295, 7-300, antenna reception, 3-115, 14-166
7-305, 7-314 cable probe, 14-159
RegionSettings (property), 7-265 current, 3-114, 14-155
registry key, 26-7 error estimates, 3-113, 14-114
relative far field, 3-108, 14-121
permeability, 3-7, 14-106 near field, 3-111, 14-116
permittivity, 3-7, 14-106 S-parameters, 3-103, 14-182
remesh, 13-97 SAR, 3-117, 14-172
CADFEKO model, 12-4 transmission/reflection coefficients, 3-114, 14-
remote, 17-1 188
remote execution, 3-154 voltage/current probe along path, 3-118
remote host RequestPoints (property), 10-136, 10-326
MPI method, 19-7 RequestPoints3DFormat (object), 10-422

I-46
RequestPointsDisplayTypeEnum (enum), 10-816 205, 7-214, 7-220, 7-226, 7-235, 7-241, 7-
RequestsVisualisationTypeEnum (enum), 10-817 249, 7-255, 7-267, 7-280, 7-286, 7-292, 7-
ResetSize (method), 7-114, 10-194 297, 7-302, 7-308, 7-316
resistance ReverseNormal (method), 7-75
loading, 14-143–14-145 Rho (property), 7-57
resistance loading, 14-140, 14-141, 14-147 RhoStepSize (property), 10-104
ResistanceAxisFont (property), 10-465 ribbon, 2-4, 2-5, 3-65, 8-3, 8-4, 11-3, 11-4
ResistanceLine (property), 10-468 application menu, 2-8, 8-5, 11-5
Resolution (property), 10-562 cable, 14-76
resonant, 3-76, 14-125 context tab, 2-5, 8-4
restore default tab, 2-5, 11-4
deleted faces/edges, 3-48 dialog launcher, 2-6, 8-5
Restore (method), 10-43, 10-215, 10-380, 10-467, group, 2-6, 8-5, 11-4
10-577, 10-593 rich text formatting, 9-10
result RM card, 13-97
characteristic mode, 9-4 rotate, 2-11, 3-49
current, 9-3 geometry, 13-104
current probe, 9-3 parts, 3-45
error estimate, 9-3 point, 13-109
excitation, 9-3 Rotate (object), 7-258
far field, 9-3 RotationN (property), 7-196, 7-290
imported data, 9-4 RotationU (property), 7-196, 7-290
load, 9-3 RotationV (property), 7-196, 7-290
near field, 9-3 Rounded (property), 10-585
network, 9-3 routing, 3-70
optimisation, 9-4 RowCount (property), 7-35, 7-182, 10-55, 10-282
power, 9-3 Rows (property), 7-204
rays, 9-3 ruled surface, 3-47
receiving antenna, 9-3 run
S-parameters, 9-3 components, 3-152
SAR, 9-3 multiple processes, 19-3
SPICE probe, 9-3 Run (method), 7-92, 10-87, 10-117, 10-146, 10-
transmission/reflection, 9-4 168, 10-252, 10-275, 10-335, 10-358, 10-
voltage probe, 9-3 391, 10-451, 10-542
result palette, 8-4 runfeko, 19-1
Result3DPlot (object), 10-424 options, 19-1
Result3DPlotCollection (object), 10-702 running parallel
ResultData (object), 10-427 options, 19-4
ResultPlot (object), 10-429 RWG (Rao-Wilton-Glisson), 1-3, 13-35
results, 3-106
checking validity, 15-8 S-parameters, 3-103, 14-182
continuous, 22-1 export, 14-95
ResultTrace (object), 10-431 SA card, 14-172
ResultTraceCollection (object), 10-705 sample, 3-76, 14-125
reuse objects, 3-47, 13-104 Sampling (property), 10-78, 10-83, 10-125, 10-129,
reverse normal, 3-43 10-137, 10-152, 10-160, 10-267, 10-278,
face, 3-52 10-341, 10-351, 10-364, 10-397, 10-420,
reverse normal vector, 13-16 10-434, 10-444, 10-457, 10-527, 10-545,
Reversed (property), 7-178 10-606
ReverseFaceNormals (method), 7-16, 7-25, 7-44, 7- SamplingMethodEnum (enum), 10-819
50, 7-56, 7-65, 7-72, 7-81, 7-88, 7-133, 7- SAR
148, 7-154, 7-161, 7-166, 7-172, 7-179, 7- 3D result types, 9-21

I-47
specific absorption rate, 3-117, 14-172 types, 10-1
standards, 9-22 Script (property), 10-86, 10-117, 10-146, 10-252,
SAR (collection), 10-472 10-275, 10-335, 10-358, 10-391, 10-451,
SAR (namespace), 10-757 10-542
SAR3DPlot (object), 10-435 script editor, 9-43
SARCollection (object), 10-708 *.pre file, 11-5
SARData (object), 10-437 comment, 11-5
SARQuantity (object), 10-440 goto line, 11-5
SARQuantityTypeEnum (enum), 10-818 syntax highlighting, 11-5
SARTrace (object), 10-441 uncomment, 11-5
Save (method), 7-18, 10-32 scripting, 7-1, 10-1, 10-5, 15-1
SaveAs (method), 7-18, 10-32 scripting editor area, 11-3
SBR, 13-111 search bar, 2-4, 2-5, 8-4, 11-4
scale, 3-49, 13-101 search for cable, 3-71
geometry, 13-101, 13-104 SECFEKO, 1-12
Parasolid, 4-2 command line, 16-6
unit, 3-20 SECFEKO_GUI, 1-11, 16-1
units, 3-149 security, 17-4
Scale (object), 7-260 segment, 13-4
Scale (property), 10-228 arc, 13-14
ScaledByMagnitude (property), 10-590 coating, 14-88
ScaledToCommonQuantity (property), 10-585 creation, see geometry cards
ScaledToPeakInstantaneousValues (property), 10-586 definition, 15-1
ScaledToSelectedDimensions (property), 10-586 helix, 13-37
ScaledToSelectedFrequency (property), 10-586 meshing guidelines, 15-3
ScaledToSelectedTimeStep (property), 10-586 radius, 3-119, 3-126
ScaledToVectorMagnitude (property), 10-586 Segment (object), 10-459
ScaleFactor (property), 7-224, 7-261 segmentation
ScaleType (property), 10-590 parameter, 13-61
scattering, 3-108, 14-121 rules for, 12-3, 15-3, 15-4
Schelkunoff, 3-65 segments
schematic view, 3-164 ports on, 3-80
zoom to extents, 3-72 Segments (object), 10-460
cable cross section, 3-72 Segments (property), 10-304, 10-318
capacitor, 3-72 SegmentWires (collection), 10-287
compact, 3-72 select edge loop tool, 3-160
complex load, 3-72 select laminar edges, 3-160
connection, 3-72 selection
connector, 3-72 in 3D view, 3-159
connector spacing, 3-72 items, 3-159
ground, 3-72 laminar edges, 3-160
harness, 3-72 polygon, 3-159
inductor, 3-72 rectangle, 3-159
interaction, 3-72 select edge loop tool, 3-160
projection type, 3-72 single, 3-159
resistor, 3-72 toolbar, 3-159
SPICE circuit, 3-72 tools, 3-160
wire mode, 3-72 type, 3-160
zooming, 3-72 undo/redo, 3-161
script SelectorType (property), 10-179
API, 7-1, 10-1 self-intersecting
math, 10-1 geometry, 29-1

I-48
SEMCAD, 3-111, 14-96 signal, 3-70, 14-134
SEP, see surface equivalence principle Signal (property), 10-527
server Signals (property), 10-528
licence, 16-3 SignificantDigits (property), 10-217
SetAsDefault (method), 7-322 simplify, 3-51
SetFilter (method), 7-106, 10-186 Simplify (method), 7-367
SetFixedAxisValue (method), 10-73, 10-84, 10-138, Simplify (object), 7-262
10-153, 10-161, 10-268, 10-327, 10-342, simplify part representation tool, 3-57
10-352, 10-353, 10-365, 10-366, 10-398, SimplifyEdgeSettings (object), 7-268
10-445, 10-458, 10-533, 10-598, 10-607, SimplifyFaceSettings (object), 7-270
10-608 SimplifyPointSettings (object), 7-272
SetMaximum (method), 7-103, 7-116, 10-183, 10- SimplifyRegionSettings (object), 7-273
196 simulation mesh, 3-119, 3-148
SetMinimum (method), 7-104, 7-117, 10-184, 10- edit, 3-119
197 unlink, 3-119
SetPageCaption (method), 10-400 single conductor, 3-65
SetPageIncluded (method), 10-400 cable, 14-74
SetPageTitle (method), 10-401 single precision, 3-134, 13-23
setPointNExpression (method), 7-206 single selection, 3-159
setPoints (method), 7-207 size
setPointsAndWeights (method), 7-207 mesh rules, 15-3
setPointUExpression (method), 7-207 Size (property), 10-33, 10-67, 10-132, 10-164, 10-
setPointVExpression (method), 7-207 461, 10-558
SetPosition (method), 10-43, 10-215, 10-380, 10- SizeFactor (property), 10-67, 10-133
467, 10-577, 10-593 SizeOption (property), 10-582
SetSingleStep (method), 7-104, 7-117, 10-184, 10- SK card, 3-143, 14-177
197 skin depth, 14-177, 15-3
SetSize (method), 7-92, 7-114, 10-43, 10-168, 10- slot, 3-145
194, 10-215, 10-380, 10-467, 10-577, 10- small features
593 remove, 3-122
SetTagWindow (method), 10-551 Smith
setting media, 3-141 admittance, 9-12
settings chart, 9-6
CADFEKO, 2-9 impedance, 9-12
colour, 2-10 SmithChart (object), 10-462
EDITFEKO, 11-5 SmithChartCollection (object), 10-714
rendering, 2-10 SmithChartGrid (object), 10-468
SetValueAt (method), 10-98 SmithCharts (collection), 10-29
SetViewDirection (method), 10-577 snap mode, 2-5, 8-4
setWeights (method), 7-208 mouse, 2-11
SF card, 13-101 snapping, 3-161
SH card, 14-174 solid body, 3-142
Shadow (property), 10-210 versus shell body, 3-142, 3-150
ShadowFormat (object), 10-461 solid boy, 3-28
shell, 3-142 solution
shield, 3-65 advanced control, 26-1
shooting and bouncing rays, 13-111 component parameters, 3-153
shortcut key, see keyboard disabled, 3-149
show NGF, 3-132
single item, 2-6, 3-169 numerical Green’s function, 3-132
Show (method), 10-44, 10-215, 10-381, 10-467, 10- viewing, 3-151
578, 10-594 solution accuracy, 13-23

I-49
solution block, 14-96 Hertzian electric dipole, 3-94
solution block header, 14-96 magnetic dipole, 3-94
solution configuration, 3-157 SourceSphericalModes (object), 10-501
solution information, 9-2 SourcesScaleTypeEnum (enum), 10-820
solution method, 13-34 SourcesVisible (property), 10-589
solution setting, 3-137, 13-88, 13-109 SourceVoltageCable (object), 10-503
SolutionConfiguration (object), 10-469 SourceVoltageEdge (object), 10-506
SolutionEntities (property), 10-574 SourceVoltageNetwork (object), 10-509
solver, 1-2, 19-1 SourceVoltageSegment (object), 10-512
settings, 3-134, 3-137, 3-139, 13-88, 13-109 SourceVoltageVertex (object), 10-515
solving, 3-152 SourceWaveguide (object), 10-518
Sommerfeld, 3-22 SourceWorkplane (property), 7-10
SortBy (property), 10-602 SP card, 14-182
source, 14-6 Spacing (property), 10-36
aperture field as, 14-41 SParameter (namespace), 10-759
current source, 3-91 SParameterCollection (object), 10-711
Hertzian electric dipole, 14-19 SParameterData (object), 10-446
impressed aperture excitation, 3-96 SParameterMathScript (object), 10-450
impressed current, 3-95 SParameterQuantity (object), 10-452
impressed line current, 3-88, 14-24, 14-29, 14- SParameterRequested (property), 10-473
31, 14-58 SParameters (collection), 10-472
impressed spherical mode, 3-97, 14-52 SParameterTrace (object), 10-454
incident plane wave, 3-92, 14-9 SPARK3D, 3-111
magnetic dipole, 14-20 specified vertex, 3-126
magnetic ring current, 14-15 sphere, 3-30, 13-71
microstrip line, 14-26 dielectric/magnetic, 13-18
patch feed pin, 14-17 layered dielectric, 14-129
port, 3-79 spherical mode, 14-52
power, 3-77, 14-162 spherical wave expansion, 14-95
radiation pattern, 3-99, 14-47 SphericalDescription (object), 7-274
voltage on a node, 14-13 SphericalDescription (property), 7-15
voltage on a non-radiating network port, 14-40 Spheroid (object), 7-275
voltage on a radiating cable, 14-33 SpheroidDefinitionMethodEnum (enum), 7-416
voltage on a segment, 14-12 SPICE3f5
voltage on an edge, 14-22, 14-26 general structure, conventions and syntax, 28-1
voltage source, 3-90 SpiceProbeCollection (object), 10-717
waveguide mode, 14-60 SpiceProbeData (object), 10-521
SourceAperture (object), 10-475 SpiceProbeQuantity (object), 10-523
SourceCoaxial (object), 10-477 SpiceProbes (collection), 10-472
SourceCurrentRegion (object), 10-480 SpiceProbeTrace (object), 10-525
SourceCurrentSpace (object), 10-483 SpiceProbeValueTypeEnum (enum), 10-821
SourceCurrentTriangle (object), 10-485 spin, 3-46
SourceElectricDipole (object), 10-487 Spin (method), 7-367
SourceFile (property), 10-226 Spin (object), 7-281
SourceFormat (property), 10-589 spiral, 3-40, 13-37
SourceMagneticDipole (object), 10-489 spline, 3-36
SourceMagneticFrill (object), 10-491 split, 3-44
SourceModal (object), 10-494 Split (method), 7-368
SourcePlaneWave (object), 10-497 Split (object), 7-287
SourceRadiationPattern (object), 10-499 SplitPlanesEnum (enum), 7-417
sources SplitPlaneUN (method), 7-368
FEM modal, 3-87 SplitPlaneVN (method), 7-369

I-50
squint angle, 3-23, 14-157 surface current
SSPI, 3-156 distribution, 14-155
Start (property), 7-170 surface equivalence principle, 1-3, 15-6
start page, 2-3, 8-2, 11-2 surface impedance, 3-9, 3-141, 14-109
StartAngle (property), 7-71 surface mesh element
StartFrequency (property), 10-474 meshing guidelines, 15-3
static function surface mesh elements, 15-3
Lua, 7-2, 10-2 surface triangle, see element
static part, 3-132, 13-17 SurfaceCurrents (collection), 10-472
status bar SurfaceCurrents3DPlot (object), 10-529
cursor, 8-4 SurfaceCurrentsCollection (object), 10-723
cursor position, 11-4 SurfaceCurrentsData (object), 10-534
distance, 2-5, 8-4 SurfaceCurrentsQuantity (object), 10-536
find geometry, 8-4 SurfaceCurrentsQuantityTypeEnum (enum), 10-823
model unit, 2-5 surfaces
overwrite indication, 11-4 creating solids, 3-45
snap mode, 2-5, 8-4 SurfacesVisible (property), 10-305
stitch, 3-44 SurfaceVisible (property), 10-68, 10-133, 10-322
Stitch (method), 7-369 suspect, 3-42
Stitch (object), 7-293 sweep, 3-42, 3-45
STL file, 13-54 Sweep (method), 7-370
store Sweep (object), 7-303
calculated result, 8-8 SY card, 13-103
local copy of data, 9-13 Symbol (property), 10-559
Store (method), 10-126, 10-130, 10-138, 10-154, symbolic variable, 12-7
10-162, 10-269, 10-327, 10-343, 10-353, symmetry, 3-131, 13-103, 26-1
10-366, 10-398, 10-421, 10-436, 10-445, application, 26-2
10-458, 10-528, 10-546, 10-608 electric, 26-1
store solution, 3-135 geometric, 26-1
stored data, 8-8 magnetic, 26-2
StoreData (method), 10-94 SymmetryVisible (property), 10-589
StoredData (collection), 10-29
StoredDataCollection (object), 10-720 tab
StoredDataTypeEnum (enum), 10-822 cables, 3-64
string re-order, 8-4
Lua, 7-3 rename, 8-4
string (type), 7-426, 10-838 windscreen, 3-12
stripline table
feeding, 14-26 Lua, 7-4
loading, 14-137 table (type), 7-427, 10-839
Style (property), 10-222, 10-557 techniques, see formulations
SubMatrix (method), 7-36, 7-183, 10-56, 10-283 TemplateReport (object), 10-549
substrate terminal, 3-152
finite, 3-21, 3-142, 14-128 Tetrahedra (object), 10-552
infinite, 3-21, 14-128 Tetrahedra (property), 10-308
subtract, 2-7, 3-43 tetrahedral
Subtract (method), 7-369, 7-370 length, 3-122
Subtract (object), 7-298 maximum edge length, 13-61
surface, 2-7, 3-32, 3-53 mesh, 14-116
conducting, 3-143 volume element, 13-94
constrained, 3-12 Tetrahedral (object), 10-553
surface body, 3-32 tetrahedral volume element

I-51
definition, 15-2 CAD fixing, 3-54
TetrahedraVisible (property), 10-294, 10-297, 10- select edge loop tool, 3-160
316, 10-317 windscreen, 3-12
TetrahedronRegions (collection), 10-287 Top (property), 7-43, 7-54, 7-86
text TopDepth (property), 7-86
bold, 9-10 TopRadius (property), 7-43
italics, 9-10 TopWidth (property), 7-86
subscript, 9-10 toroidal segment, 13-107
superscript, 9-10 total CPU-time, 9-2
underline, 9-10 total runtime, 9-2
Text (property), 7-94, 10-170, 10-299, 10-369, 10- Touchstone, 1-8, 14-95
554, 10-556 export, 8-8
text editor, 11-1 import, 8-6
text formatting, 9-10 TP card, 13-109
TextBox (object), 10-554 TR card, 14-188
TG card, 13-104 TraceAxes (object), 10-555
Theta (property), 7-274 TraceLegendFormat (object), 10-556
ThetaDirection (property), 10-584 TraceLineFormat (object), 10-557
ThetaStepSize (property), 10-580 TraceMarkersFormat (object), 10-558
thin dielectric sheet, 1-4, 3-9, 3-141, 3-143, 14-177, TraceMathExpression (object), 10-560
15-7 Traces (collection), 10-40, 10-212, 10-377, 10-464
third party, 25-1 TraceSamplingFormat (object), 10-562
Threshold (property), 10-410 transform, 3-47, 13-104
TickMarkCount (property), 10-582 point, 13-109
TickMarkSpacing (property), 10-582 view, 3-163
TickMarkSpacingOption (property), 10-582 Transform (object), 7-309
TickMarksVisible (property), 10-582 TransformCollection (object), 7-381
TileWindows (method), 7-19, 10-32 Transforms (collection), 7-13, 7-22, 7-41, 7-47, 7-
time analysis, 9-40 53, 7-62, 7-69, 7-78, 7-85, 7-131, 7-145,
define pulse mathematically, 9-40 7-151, 7-158, 7-164, 7-169, 7-177, 7-203,
double exponential pulse 1 (charge/discharge), 7-211, 7-217, 7-223, 7-232, 7-238, 7-247,
9-40 7-252, 7-264, 7-277, 7-283, 7-289, 7-295,
double exponential pulse 2 (lightning), 9-40 7-300, 7-305, 7-314
Gaussian pulse (normal distribution), 9-40 translate, 3-48, 13-104, 13-109
ramp pulse, 9-40 Translate (object), 7-310
triangular pulse, 9-40 transmission line, 14-184
TimeConfiguration (property), 10-474 coupling, 14-24, 14-87
Title (property), 7-91, 10-41, 10-167, 10-213, 10- transmission line theory, 14-68
224, 10-378, 10-465, 10-571 transmission/reflection coefficients, 3-114, 14-188
TL card, 14-184 TransmissionLineCollection (object), 10-728
To (property), 7-306, 7-311 TransmissionLineData (object), 10-563
TO card, 13-107 TransmissionLines (collection), 10-473
tolerance, 3-130 TransmissionLinesVisible (property), 10-589
tool, 3-127, 3-128, 3-158, 3-159 Transpose (method), 7-36, 7-183, 10-56, 10-283
find elements, 9-32 TRCoefficientCollection (object), 10-726
highlight, 9-32 TRCoefficientData (object), 10-538
measure angle, 9-32 TRCoefficientMathScript (object), 10-541
measure distance, 9-32 TRCoefficientQuantityTypeEnum (enum), 10-824
mesh connectivity, 9-32 TRCoefficients (collection), 10-473
toolbar, 2-4, 8-3, 11-3 TRCoefficients (namespace), 10-761
selection, 3-159 TRCoefficientTrace (object), 10-543
tools tree

I-52
CADFEKO, 2-4, 2-6 U (property), 7-26, 7-173
POSTFEKO, 8-3 U axis, 3-18, 3-20
triangle, see element unconnected edges, 3-127
Triangle (object), 10-566 Underlined (property), 10-164
TriangleFaces (collection), 10-287 undo
TriangleNormalsVisible (property), 10-302 list depth, 2-9, 11-5
Triangles (object), 10-567 uniform theory of diffraction, 1-6
Triangles (property), 10-310 union, 3-43
trigonometry, 3-3 mesh, 3-129
TRQuantity (object), 10-547 Union (method), 7-370, 7-371
Turns (property), 7-146 Union (object), 7-312
TwistAngle (property), 7-224 unit, 3-20, 3-149
twisted pair, 3-65 Unit (property), 10-97, 10-106, 10-107, 10-228
cable, 14-77 Unit (type), 7-421, 10-833
type (API), 7-418, 10-829 UnitExpression (property), 10-561
Type (property), 7-10, 7-15, 7-18, 7-23, 7-43, 7-48, UnitFactor (property), 7-244
7-54, 7-59, 7-63, 7-71, 7-73, 7-75, 7-79, 7- UnitIncluded (property), 10-369
87, 7-91, 7-97, 7-99, 7-101, 7-103, 7-106, unlink, 3-148
7-109, 7-113, 7-116, 7-121, 7-123, 7-125, UnmeshedCylinderRegions (collection), 10-287
7-127, 7-134, 7-138, 7-146, 7-153, 7-155, UnmeshedPolygonFaces (collection), 10-288
7-159, 7-165, 7-170, 7-178, 7-186, 7-189, update, 2-9, 11-5, 23-1
7-196, 7-199, 7-204, 7-213, 7-218, 7-224, proxy settings, 23-4
7-233, 7-239, 7-244, 7-248, 7-253, 7-257, schedule, 23-1
7-259, 7-261, 7-265, 7-279, 7-284, 7-290, update utility, 23-1
7-295, 7-301, 7-306, 7-311, 7-314, 7-318, UseCustomReferenceImpedance (property), 10-120,
7-322, 10-29, 10-41, 10-60, 10-71, 10-75, 10-122
10-78, 10-83, 10-86, 10-89, 10-94, 10-97, UT card, 13-111
10-106, 10-109, 10-111, 10-112, 10-117, UTD, 1-6, 3-145, 13-111
10-120, 10-122, 10-125, 10-129, 10-137, 3D result types, 9-22
10-141, 10-146, 10-148, 10-152, 10-156, cylinder, 3-142, 13-115
10-160, 10-167, 10-173, 10-175, 10-177, guidelines regarding connectivity, 15-4
10-179, 10-181, 10-183, 10-186, 10-189, polygonal plate, 13-92
10-193, 10-196, 10-201, 10-203, 10-205, setting, 3-137, 13-109
10-207, 10-209, 10-226, 10-230, 10-232, viewing, 3-151
10-234, 10-237, 10-240, 10-244, 10-246, UTDCylinderVisible (property), 10-294, 10-297
10-249, 10-252, 10-254, 10-257, 10-260, UTDPolygonVisible (property), 10-294, 10-297, 10-
10-262, 10-267, 10-271, 10-279, 10-290, 316
10-292, 10-304, 10-308, 10-310, 10-312, UVector (property), 7-174, 7-322, 10-104
10-314, 10-320, 10-326, 10-330, 10-335, UZ card, 13-115
10-337, 10-341, 10-346, 10-351, 10-355,
10-358, 10-360, 10-364, 10-378, 10-387, V (property), 7-26, 7-173
10-391, 10-392, 10-397, 10-400, 10-405, V axis, 3-18, 3-20
10-408, 10-412, 10-415, 10-416, 10-420, validation, 3-151, 15-8
10-436, 10-438, 10-440, 10-444, 10-447, geometry, 3-127
10-451, 10-457, 10-465, 10-474, 10-476, Value (property), 7-99, 7-101, 7-103, 7-106, 7-113,
10-478, 10-481, 10-484, 10-486, 10-488, 7-116, 7-121, 7-123, 7-125, 7-318, 10-175,
10-490, 10-492, 10-495, 10-498, 10-500, 10-177, 10-179, 10-181, 10-183, 10-186,
10-502, 10-504, 10-507, 10-510, 10-513, 10-193, 10-196, 10-201, 10-203, 10-205,
10-516, 10-519, 10-522, 10-524, 10-528, 10-207, 10-229
10-531, 10-535, 10-537, 10-539, 10-542, ValueAt (method), 10-98
10-545, 10-548, 10-550, 10-564, 10-574, ValuePercentage (property), 10-229
10-580, 10-597, 10-600, 10-606 Values (property), 10-60, 10-98

I-53
ValuesNormalised (property), 10-75, 10-120, 10-156, 2D chart, 8-4
10-260, 10-347, 10-360, 10-389, 10-393, 3D, 3-164
10-412, 10-417, 10-453, 10-524, 10-537, 3D model, 2-5, 8-4
10-548, 10-602 create, 3-164
ValuesScaledToDB (property), 10-75, 10-120, 10-156, notes, 2-5
10-260, 10-347, 10-360, 10-389, 10-393, preset, 3-162
10-413, 10-417, 10-453, 10-524, 10-537, rotate, 3-162
10-548, 10-602 schematic, 3-164
ValuesScaledToLog (property), 10-112 settings, 3-163
ValuesType (property), 10-60 transform, 3-163
variable, 2-6, 3-3, 3-158 View (object), 10-572
*.pre file, 3-150 View3DAnimationFormat (object), 10-579
# View3DAxesFormat (object), 10-581
x, 12-11 View3DFormat (object), 10-583
y, 12-11 View3DLegendRangeFormat (object), 10-585
z, 12-11 View3DSolutionEntityFormat (object), 10-587
#c0, 12-11 View3DSourceFormat (object), 10-590
#eps0, 12-11 ViewCollection (object), 10-731
#false, 12-11 ViewDirectionEnum (enum), 10-825
#mu0, 12-11 ViewLegendPositionEnum (enum), 10-826
#pi, 12-11 Views (collection), 10-29
#true, 12-11 visibility
#zf0, 12-11 aperture, 9-31
environment, 26-7 cuboid, 9-31
in point name, 12-15 dielectric, 9-31
Lua, 7-3 metal, 9-31
memory allocation, 26-4 PO, 13-116
multiple, 3-5 segment, 9-31
predefined, 3-4, 12-11, 26-4 tetrahedra, 9-31
symbolic, 12-7 UTD cylinder, 9-31
Variable (object), 7-317 UTD polygon, 9-31
VariableCollection (object), 7-387 Visible (property), 7-15, 7-23, 7-43, 7-48, 7-55, 7-
Variables (collection), 7-243 63, 7-71, 7-79, 7-87, 7-94, 7-97, 7-99, 7-
Variant (type), 7-422, 10-834 101, 7-103, 7-106, 7-110, 7-113, 7-116,
VBA, 7-1 7-119, 7-121, 7-123, 7-125, 7-127, 7-132,
VEP, see volume equivalence principle 7-146, 7-153, 7-159, 7-165, 7-170, 7-178,
Version (object), 7-319, 10-568 7-204, 7-213, 7-218, 7-224, 7-233, 7-239,
Version (property), 7-18, 10-30 7-248, 7-253, 7-265, 7-279, 7-284, 7-290,
vertex 7-296, 7-301, 7-306, 7-315, 10-34, 10-35,
definition, 15-2 10-46, 10-60, 10-71, 10-78, 10-83, 10-109,
loading, 14-135 10-125, 10-130, 10-137, 10-152, 10-160,
merge, 3-130 10-170, 10-173, 10-175, 10-177, 10-179,
ports on, 3-80 10-181, 10-183, 10-186, 10-190, 10-193,
specified location, 3-126 10-196, 10-199, 10-201, 10-203, 10-205,
VertexIndices (property), 10-61, 10-64, 10-90, 10- 10-207, 10-209, 10-267, 10-279, 10-326,
384, 10-459, 10-553, 10-566 10-341, 10-351, 10-364, 10-383, 10-397,
VerticalAxis (property), 10-41 10-405, 10-421, 10-425, 10-434, 10-436,
VerticalGraphAxis (object), 10-570 10-444, 10-457, 10-461, 10-528, 10-531,
VerticalLine (property), 10-46 10-546, 10-597, 10-606
Vertices (property), 10-302 Visualisation (property), 10-71, 10-137, 10-326, 10-
VerticesVisible (property), 10-306 405, 10-532, 10-597
view VisualisationType (property), 10-423

I-54
voltage source, 3-90 WindscreenVisible (property), 10-294, 10-297, 10-
on a node, 14-13 316
on a non-radiating network port, 14-40 wire, 2-7, 3-34, 3-141
on a radiating cable, 14-33 curved, 13-14
on a segment, 14-12 grid, 13-120
on an edge, 14-22, 14-26 maximum segment length, 13-61
port, 3-79 mesh into segment, 3-119
voltage standing wave ratio, 9-5 property, 3-139
volume equivalence principle, 1-3, 15-6 segment, see segment
volume mesh elements, 15-4 segment length, 3-122
Volumes (property), 10-302 wire bodies, 3-34
VS card, 13-116 wire coating, 1-4
VSWR, see voltage standing wave ratio WireCollection (object), 7-390
VVector (property), 7-174, 7-322, 10-104 WireCurrents (collection), 10-473
WireCurrents3DPlot (object), 10-595
WA card, 13-119 WireCurrentsCollection (object), 10-734
Warning (static function), 7-93, 10-169 WireCurrentsData (object), 10-599
warnings and errors WireCurrentsQuantity (object), 10-601
segmentation, 15-4 WireCurrentsQuantityTypeEnum (enum), 10-827
waveguide WireCurrentsSortEnum (enum), 10-828
excitation, 3-90, 14-60 WireCurrentsTrace (object), 10-603
import modes from FEST3D, 14-62 wires
mode, 3-90, 14-60 automatic meshing, 3-121
port, 3-85 coatings, 3-147
WD card, 14-189 lossy, 3-147
wedge, 13-67 ports on, 3-80
wedge as PO border, 13-67 properties, 3-147
Weight (property), 10-222, 10-557 Wires (collection), 7-13, 7-22, 7-41, 7-47, 7-53, 7-
WG card, 13-120 62, 7-69, 7-78, 7-85, 7-131, 7-145, 7-151,
while 7-158, 7-164, 7-169, 7-177, 7-203, 7-211,
Lua, 7-4 7-217, 7-223, 7-232, 7-238, 7-247, 7-252,
Width (property), 7-48, 7-91, 7-113, 7-253, 10-41, 7-264, 7-278, 7-283, 7-289, 7-295, 7-300,
10-167, 10-193, 10-213, 10-378, 10-465, 7-305, 7-314
10-575, 10-592 Wires (property), 10-302
window, 2-4, 8-3, 11-3 work surface, 3-12
Window (object), 10-591 workflow, 3-1, 9-1
Windows (property), 10-550 CADFEKO, 1-12, 2-1
WindowTitle (property), 10-41, 10-213, 10-379, 10- EDITFEKO, 1-13, 11-1
465, 10-575, 10-592 POSTFEKO, 1-12, 8-1
windscreen, 1-4, 3-141, 3-145 workplane, 2-6, 3-18, 3-172
active element, 3-11, 13-119 coordinates, 3-20
constrained surface, 3-12 grid, 3-172
dielectric, 3-11, 14-189 Workplane (object), 7-321
reference, 3-11, 13-121 WorkplaneCollection (object), 7-393
tab, 3-12 Workplanes (collection), 7-243
tools, 3-12 WR card, 13-121
WA, 13-119
WD, 14-189 X (property), 7-141, 7-199, 7-228, 10-372
work surface, 3-12 XML, 7-1, 14-109
WR, 13-121 array import, 3-27
WindscreenOpacity (property), 10-302 XPosition (property), 10-41, 10-213, 10-379, 10-
465, 10-575, 10-592

I-55
Y (property), 7-141, 7-199, 7-228, 10-372
YPosition (property), 10-41, 10-213, 10-379, 10-
465, 10-575, 10-592

Z (property), 7-141, 7-199, 7-228, 10-372


Zeros (static function), 7-37, 7-184, 10-57, 10-284
zf0 (constant), 7-428, 10-840
ZLocked (property), 10-584
zoom, 2-11
to selection, 2-11
ZoomDistance (property), 10-584
ZoomToExtents (method), 10-44, 10-215, 10-381,
10-467, 10-578, 10-594
ZY card, 13-122

I-56

You might also like