FEM Simulation
FEM Simulation
FEM Simulation
2015.01
FEM Simulation
Notice
Keysight Technologies, Inc. 2007-2015
1400 Fountaingrove Pkwy., Santa Rosa, CA 95403-1738, United States
No part of this documentation may be reproduced in any form or by any means (including electronic storage
and retrieval or translation into a foreign language) without prior agreement and written consent from
Keysight Technologies, Inc. as governed by United States and international copyright laws.
Acknowledgments
Mentor Graphics is a trademark of Mentor Graphics Corporation in the U.S. and other countries. Microsoft,
Windows, MS Windows, Windows NT, and MS-DOS are U.S. registered trademarks of Microsoft
Corporation. Pentium is a U.S. registered trademark of Intel Corporation. PostScript and Acrobat are
trademarks of Adobe Systems Incorporated. UNIX is a registered trademark of the Open Group. Java is a
U.S. trademark of Sun Microsystems, Inc. SystemC is a registered trademark of Open SystemC Initiative,
Inc. in the United States and other countries and is used with permission. MATLAB is a U.S. registered
trademark of The Math Works, Inc.. HiSIM2 source code, and all copyrights, trade secrets or other intellectual
property rights in and to the source code in its entirety, is owned by Hiroshima University and STARC.
ARpack
BSD Software License
Pertains to ARPACK and P_ARPACK
Copyright (c) 1996-2008 Rice University.
Developed by D.C. Sorensen, R.B. Lehoucq, C. Yang, and K. Maschhoff.
All rights reserved.
Redistribution and use in source and binary forms, with or withoutmodification, 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 listed in this license in the documentation and/or other materials provided with the
distribution.
- Neither the name of the copyright holders 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.
CUDA Complex
Copyright (c) 2008 Christian Buchner <[email protected]>
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.
THIS SOFTWARE IS PROVIDED BY Christian Buchner ''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 Christian Buchner 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.
DejaVu Fonts
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts
are (c) Tavmjung Bah (see below)
Bitstream Vera Fonts Copyright
-----------------------------Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this
license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the
Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell
copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject
to the following conditions:
The above copyright and trademark notices and this permission notice shall be included in all copies of one or
more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters
in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts
are renamed to names not containing either the words "Bitstream" or the word "Vera".
This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified
and is distributed under the "Bitstream Vera" names.
The Font Software may be sold as part of a larger software package but no copy of one or more of the Font
Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT
SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not
be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without
prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information,
contact: fonts at gnome dot org.
Arev Fonts Copyright
-----------------------------Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this
license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the
modifications to the Bitstream Vera Font Software, including without limitation the rights to use, copy,
merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font
Software is furnished to do so, subject to the following conditions:
The above copyright and trademark notices and this permission notice shall be included in all copies of one or
more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters
in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts
are renamed to names not containing either the words "Tavmjong Bah" or the word "Arev".
This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified
and is distributed under the "Tavmjong Bah Arev" names.
The Font Software may be sold as part of a larger software package but no copy of one or more of the Font
Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT
SHALL TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY
GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the name of Tavmjong Bah shall not be used in advertising or otherwise to
promote the sale, use or other dealings in this Font Software without prior written authorization from
Tavmjong Bah. For further information, contact: tavmjong @ free . fr.
Google Breakpad
Copyright (c) 2006, Google Inc.
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 Google Inc. 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.
HOOMD
Highly Optimized Object-Oriented Molecular Dynamics (HOOMD) Open Source Software License
Copyright (c) 2008 Ames Laboratory Iowa State University
All rights reserved.
Redistribution and use of HOOMD, 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 the copyright holder nor the names HOOMD's contributors may be used to endorse or
promote products derived from this software without specific prior written permission.
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER 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 HOLDER 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.
Lass
Lass subject to the Common Public Attribution License Version 1.0 (the "License"); you may not use Lass
except in compliance with the License. You may obtain a copy of the License at
http://lass.cocamware.com/cpal-license or at http://www.opensource.org/licenses/cpal_1.0.
The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to
cover use of software over a computer network and provide for limited attribution for the Original Developer.
In addition, Exhibit A has been modified to be consistent with Exhibit B.
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
KIND, either express or implied. See the License for the specific language governing rights and limitations
under the License.
The Original Code is LASS - Library of Assembled Shared Sources. The Initial Developer of the Original Code
is Bram de Greve and Tom De Muer. The Original Developer is the Initial Developer.
All portions of the code written by the Initial Developer are:
Copyright (C) 2004-2012 the Initial Developer.
All Rights Reserved.
Contributor(s):
Alternatively, the contents of this file may be used under the terms of the GNU General Public License
Version 2 or later (the GPL), in which case the provisions of GPL are applicable instead of those above. If you
wish to allow use of your version of this file only under the terms of the GPL and not to allow others to use
your version of this file under the CPAL, indicate your decision by deleting the provisions above and replace
them with the notice and other provisions required by the GPL License. If you do not delete the provisions
above, a recipient may use your version of this file under either the CPAL or the GPL.
MPFR
GNU LESSER GENERAL PUBLIC LICENSE
The object code form of an Application may incorporate material from a header file that is part of the Library.
You may convey such object code under terms of your choice, provided that, if the incorporated material is
not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions
and templates (ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library
and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict
modification of the portions of the Library contained in the Combined Work and reverse engineering for
debugging such modifications, if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the
Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the
Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this
license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding
Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the
Application with a modified version of the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a)
uses at run time a copy of the Library already present on the user's computer system, and (b) will operate
properly with a modified version of the Library that is interface-compatible with the Linked Version.
e) Provide Installation Information, but only if you would otherwise be required to provide such information
under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and
execute a modified version of the Combined Work produced by recombining or relinking the Application with
a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must
provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side by side in a single library together
with other library facilities that are not Applications and are not covered by this License, and convey such a
combined library under terms of your choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any
other library facilities, conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it is a work based on the Library, and
explaining where to find the accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public
License from time to time. Such new versions will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library as you received it specifies that a certain
numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that published version or of any later version published
by the Free Software Foundation. If the Library as you received it does not specify a version number of the
GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License
ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser
General Public License shall apply, that proxy's public statement of acceptance of any version is permanent
authorization for you to choose that version for the Library.
MPIR
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Copyright 2009 William Hart
This file is part of the MPIR Library. The MPIR Library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
The MPIR Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library;
see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
PVM
PVM version 3.4: Parallel Virtual Machine System
University of Tennessee, Knoxville TN.
Oak Ridge National Laboratory, Oak Ridge TN.
Emory University, Atlanta GA.
Authors: J. J. Dongarra, G. E. Fagg, G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci, P. M. Papadopoulos, S. L.
Scott, and V. S. Sunderam
(C) 2009 All Rights Reserved
NOTICE
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted provided that the above copyright notice appear in all copies and that both the
copyright notice and this permission notice appear in supporting documentation.
Neither the Institutions (Emory University, Oak Ridge National Laboratory, and University of Tennessee) nor
the Authors make any representations about the suitability of this software for any purpose. This software is
provided ``as is'' without express or implied warranty.
PVM version 3 was funded in part by the U.S. Department of Energy, the National Science Foundation and the
State of Tennessee.
Python
A. HISTORY OF THE SOFTWARE
==========================
Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see
http://www.cwi.nl) in the Netherlandsas a successor of a language called ABC. Guido remains Python's
principal author, although it includes many contributions from others.
In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives (CNRI, see
http://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software.
In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen
PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations (now Zope
Corporation, see http://www.zope.com). In 2001, the Python Software Foundation (PSF, see
http://www.python.org/psf/) was formed, a non-profit organization created specifically to own
Python-related Intellectual Property. Zope Corporation is a sponsoring member of the PSF.
All Python releases are Open Source (see http://www.opensource.org for the Open Source Definition).
Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes
the various releases.
Release Derived Year Owner GPL- from compatible? (1)
0.9.0 thru 1.2 1991-1995 CWI yes
1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
1.6 1.5.2 2000 CNRI no
2.0 1.6 2000 BeOpen.com no
1.6.1 1.6 2001 CNRI yes (2)
2.1 2.0+1.6.1 2001 PSF no
2.0.1 2.0+1.6.1 2001 PSF yes
2.1.1 2.1+2.0.1 2001 PSF yes
2.2 2.1.1 2001 PSF yes
2.1.2 2.1.1 2002 PSF yes
(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, because its license has a choice of law
clause. According to CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 is "not incompatible"
with the GPL.
Thanks to the many outside volunteers who have worked under Guido's direction to make these releases
possible.
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
===============================================================
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
-------------------------------------------1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or
Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive,
royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare
derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however,
that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved" are retained in Python
alone or in any derivative version prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part
thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby
agrees to include in any such work a brief summary of the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR
WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL,
SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR
OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY
THEREOF.
6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or
joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or
any third party.
8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions
of this License Agreement.
BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
-------------------------------------------
2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a
nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version,
provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6.1
alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement,
Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to
the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be
located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013.
This Agreement may also be obtained from a proxy server on the Internet using the following URL:
http://hdl.handle.net/1895.22/1013".
3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part
thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby
agrees to include in any such work a brief summary of the changes made to Python 1.6.1.
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO
REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION,
CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR
FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT INFRINGE ANY
THIRD PARTY RIGHTS.
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY
INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING,
DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF
THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
7. This License Agreement shall be governed by the federal intellectual property law of the United States,
including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply,
by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding
the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material
that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of
Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4,
5, and 7 of this License Agreement. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement
does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python
1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
ACCEPT
CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
-------------------------------------------------Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
The Netherlands. All rights reserved.
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of
the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
bzip2
----This copy of Python includes a copy of bzip2, which is licensed under the following terms:
-------------------------------------------------------------------------This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2007
Julian R Seward. 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. The origin of this software must not be misrepresented; you must not claim that you wrote the original
software. If you use this software in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the
original software.
4. The name of the author may not be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
Julian Seward, [email protected]
bzip2/libbzip2 version 1.0.5 of 10 December 2007
--------------------------------------------------------------------------
OpenSSL
------This copy of Python includes a copy of openssl, which is licensed under the following terms:
LICENSE ISSUES
==============
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the
original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are
BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact
[email protected].
OpenSSL License
--------------
/* ====================================================================
* Copyright (c) 1998-2008 The OpenSSL Project. 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. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* [email protected].
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED 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 OpenSSL PROJECT OR
* ITS 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.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
Tcl
--This copy of Python includes a copy of Tcl, which is licensed under the following terms:
This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics
Corporation, ActiveState Corporation and other parties. The following terms apply to all files associated with
the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute, and license this software and its
documentation for any purpose, provided that existing copyright notices are retained in all copies and that
this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required
for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need
not follow the licensing terms described here, provided that the new terms are clearly indicated on the first
page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS
DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND
DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
OR
MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government
shall have only "Restricted Rights" in the software and related documentation as defined in the Federal
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the
Department of Defense, the software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs.
Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the terms specified in this license.
Tk
-This copy of Python includes a copy of Tk, which is licensed under the following terms:
This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., and other
parties. The following terms apply to all files associated with the software unless explicitly disclaimed in
individual files.
The authors hereby grant permission to use, copy, modify, distribute, and license this software and its
documentation for any purpose, provided that existing copyright notices are retained in all copies and that
this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required
for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need
not follow the licensing terms described here, provided that the new terms are clearly indicated on the first
page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS
DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND
DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
OR
MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government
shall have only "Restricted Rights" in the software and related documentation as defined in the Federal
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the
Department of Defense, the software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs.
Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the terms specified in this license.
Mersenne Twister
---------------The _random module includes code based on a download from http://www.math.keio.ac.jp/
matumoto/MT2002/emt19937ar.html. The following are the verbatim comments from the original code:
A C-program for MT19937, with initialization improved 2002/1/26. Coded by Takuji Nishimura and Makoto
Matsumoto.
Before using, initialize the state by using init_genrand(seed) or init_by_array(init_key, key_length).
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
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. The names of its contributors may not 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.
Any feedback is very welcome.
http://www.math.keio.ac.jp/matumoto/emt.html
email: [email protected]
Sockets
------The socket module uses the functions, getaddrinfo(), and getnameinfo(), which are coded in separate source
files from the WIDE Project, http://www.wide.ad.jp/.
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
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 the project 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 PROJECT AND CONTRIBUTORS ``AS IS'' AND GAI_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
PROJECT OR CONTRIBUTORS BE LIABLE FOR GAI_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 GAI_ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN GAI_ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2002-04-13 lpd Removed support for non-ANSI compilers; removed references to Ghostscript; clarified
derivation from RFC 1321; now handles byte order either statically or dynamically. 1999-11-04 lpd Edited
comments slightly for automatic TOC extraction. 1999-10-18 lpd Fixed typo in header comment (ansi2knr
rather than md5); added conditionalization for C++ compilation from Martin Purschke < [email protected]>.
1999-05-03 lpd Original version.
Asynchronous socket services
---------------------------The asynchat and asyncore modules contain the following notice:
Copyright 1996 by Sam Rushing
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Sam Rushing not be used in advertising or publicity pertaining to distribution of the software without specific,
written prior permission.
SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
Cookie management
----------------The Cookie module contains the following notice:
Copyright 2000 by Timothy O'Malley <[email protected]>
All Rights Reserved
Permission to use, copy, modify, and distribute this softwareand its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Timothy O'Malley not be used in advertising or publicity pertaining to distribution of the software without
specific, written prior permission.
Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE
LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
Profiling
Permission to use, copy, modify, and distribute this Python software and its associated documentation for any
purpose without fee is hereby granted, provided that the above copyright notice appears in all copies, and
that both that copyright notice and this permission notice appear in supporting documentation, and that the
name of neither Automatrix, Bioreason or Mojam Media be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
UUencode and UUdecode functions
------------------------------The uu module contains the following notice:
Copyright 1994 by Lance Ellinghouse
Cathedral City, California Republic, United States of America.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Lance Ellinghouse not be used in advertising or publicity pertaining to distribution of the software without
specific, written prior permission.
LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE
CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.
Modified by Jack Jansen, CWI, July 1995:
- Use binascii module to do the actual line-by-line conversion between ascii and binary. This results in a
1000-fold speedup. The C version is still 5 times faster, though.
- Arguments more compliant with Python standard XML Remote Procedure Calls
-------------------------The xmlrpclib module contains the following notice:
The XML-RPC client interface is
Copyright (c) 1999-2002 by Secret Labs AB
Copyright (c) 1999-2002 by Fredrik Lundh
By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you
have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its associated documentation for any
purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies,
and that both that copyright notice and this permission notice appear in supporting documentation, and that
the name of Secret Labs AB or the author not be used in advertising or publicity pertaining to distribution of
the software without specific, written prior permission.
SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- ABILITY AND FITNESS. IN NO EVENT SHALL SECRET
LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.
test_epoll
---------The test_epoll contains the following notice:
Copyright (c) 2001-2006 Twisted Matrix Laboratories.
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.
Select kqueue
------------The select and contains the following notice for the kqueue interface:
Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes
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.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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
AUTHOR 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.
strtod and dtoa
--------------The file Python/dtoa.c, which supplies C functions dtoa and strtod for conversion of C doubles to and from
strings, is derived from the file of the same name by David M. Gay, currently available from
http://www.netlib.org/fp/. The original file, as retrieved on March 16, 2009, contains the following copyright
and licensing notice:
/****************************************************************
*
* The author of this software is David M. Gay.
*
* Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
*
* 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 AUTHOR NOR LUCENT MAKES ANY
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
*
***************************************************************/
expat
----The pyexpat extension is built using an included copy of the expat sources unless the build is configured
--with-system-expat:
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper
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.
libffi
-----The _ctypes extension is built using an included copy of the libffi sources unless the build is configured
--with-system-libffi:
Copyright (c) 1996-2008 Red Hat, Inc and others.
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 includedin 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.
zlib
---The zlib extension is built using an included copy of the zlib sources unless the zlib version found on the
system is too old to be used for the build:
This library is free software; you can distribute it and/or modify it under the terms of the GNU Lesser General
Public License (LGPL), as published by the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LGPL in the file
COPYING for more details.
haslib++
hashlib++ - a simple hash library for C++
Copyright (c) 2007,2008 Benjamin Grdelbach
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.
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.
pstdint
A portable stdint.h
Copyright (c) 2005-2007 Paul Hsieh
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 not misrepresent the orignal source in the documentation and/or other
materials provided with the distribution.
The names of the authors nor 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.
pywin32
Unless stated in the specfic source file, this work is
Copyright (c) 1994-2008, Mark Hammond
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 name of Mark Hammond nor the name of 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
REGENTS 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.
win32com
-------Unless stated in the specfic source file, this work is Copyright (c) 1996-2008, Greg Stein and Mark Hammond.
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 names of Greg Stein, Mark Hammond nor the name of 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
REGENTS 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.
adodbapi
-------adodbapi - A python DB API 2.0 (PEP 249) interface to Microsoft ADO
Copyright (C) 2002 Henrik Ekelund, version 2.1 by Vernon Cole
* http://sourceforge.net/projects/pywin32
* http://sourceforge.net/projects/adodbapi
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write
to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
django adaptations and refactoring by Adam Vandenberg isapi
----Copyright 2002-2003 by Blackdog Software Pty Ltd.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Blackdog Software not be used in advertising or publicity pertaining to distribution of the software without
specific, written prior permission.
BLACKDOG SOFTWARE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL BLACKDOG SOFTWARE
BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
Scintilla and SciTE
------------------Copyright 1998-2003 by Neil Hodgson <[email protected]>
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation.
NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
Errata
The EMPro product may contain references to "HP" or "HPEESOF" such as in file names and directory names.
The business entity formerly known as "HP EEsof" is now part of Keysight Technologies and is known as
"Keysight EEsof". To avoid broken functionality and to maintain backward compatibility for our customers, we
did not change all the names and labels that contain "HP" or "HPEESOF" references.
Warranty
The material contained in this document is provided "as is", and is subject to being changed, without notice,
in future editions. Further, to the maximum extent permitted by applicable law, Keysight disclaims all
warranties, either express or implied, with regard to this documentation and any information contained
herein, including but not limited to the implied warranties of merchantability and fitness for a particular
purpose. Keysight shall not be liable for errors or for incidental or consequential damages in connection with
the furnishing, use, or performance of this document or of any information contained herein. Should Keysight
and the user have a separate written agreement with warranty terms covering the material in this document
that conflict with these terms, the warranty terms in the separate agreement shall control.
Technology Licenses
The hardware and/or software described in this document are furnished under a license and may be used or
copied only in accordance with the terms of such license. Portions of this product include the SystemC
software licensed under Open Source terms, which are available for download at http://systemc.org/. This
software is redistributed by Keysight. The Contributors of the SystemC software provide this software "as is"
and offer no warranty of any kind, express or implied, including without limitation warranties or conditions or
title and non-infringement, and implied warranties or conditions merchantability and fitness for a particular
purpose. Contributors shall not be liable for any damages of any kind including without limitation direct,
indirect, special, incidental and consequential damages, such as lost profits. Any provisions that differ from
this disclaimer are offered by Keysight only.
Restricted Rights Legend
If software is for use in the performance of a U.S. Government prime contract or subcontract, Software is
delivered and licensed as "Commercial computer software" as defined in DFAR 252.227-7014 (June 1995), or
as a "commercial item" as defined in FAR 2.101(a) or as "Restricted computer software" as defined in FAR
52.227-19 (June 1987) or any equivalent agency regulation or contract clause.
Use, duplication or disclosure of Software is subject to Keysight Technologies' standard commercial license
terms, and non-DOD Departments and Agencies of the U.S. Government will receive no greater than
Restricted Rights as defined in FAR 52.227-19(c)(1-2) (June 1987). U.S. Government users will receive no
greater than Limited Rights as defined in FAR 52.227-14 (June 1987) or DFAR 252.227-7015 (b)(2)
(November 1995), as applicable in any technical data.
Table of Contents
FEM-based Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
FEM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
The Finite Element Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Representation of a Field Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Field Quantities are Interpolated from Nodal Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Basis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Size of Mesh Versus Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Field Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Implementation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
The Solution Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Adaptive Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Non-adaptive Discrete Frequency Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Non-adaptive Fast Frequency Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
The Mesher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2D Mesh Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Modes, Reflections, and Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Modes and Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Modes and Multiple Ports on a Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
The 3D Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Port Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Absorbing (Radiation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Computing Radiated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Implementing Green's Function When Computing Radiated Fields . . . . . . . . . . . . . . . . . . . . . . 55
Displaying Field Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Setting Mesh Refinement Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Adding Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Completing the Process of Specifying Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Running Eigenmode Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Creating a Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Initial Mesh Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Target Mesh Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Conductor Mesh Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Further Customizing Mesh Lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Meshing Properties Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Group Application of Mesh Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Edge Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Vertex Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Surface Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Combined Edge and Surface Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
General Settings and GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Using Initial Mesh Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Initial Target Mesh Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Initial Minimum Mesh Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
FEM Meshing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Meshing Properties Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Edge Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Vertex Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Surface Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Combined Edge and Surface Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
General Settings and GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Edge and Vertex Meshing Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Adaptive vs Initial Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
PV Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
VI Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Choice of Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
De-embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Derivation of Wave Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Maxwell Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Phasor Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Electric and Magnetic Fields Can Be Represented as Phasors . . . . . . . . . . . . . . . . . . . . 147
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Conductivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Dielectric Loss Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Magnetic Loss Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Definition of Freespace Phase Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
FEM Simulation
The Finite Element Method (FEM) Simulator provides a complete solution for electromagnetic simulation of
arbitrarily-shaped and passive three-dimensional structures. It provides a complete 3D EM simulation for designers
working with RF circuits, MMIC, PC boards, modules, and Signal Integrity applications. Developed with the designer of
high-frequency/high-speed circuits, FEM Simulator offers a powerful finite-element EM simulator that solves a wide array
of applications with impressive accuracy and speed.
The FEM simulation technology provides the following features:
Conductors, isotropic dielectrics, isotropic linear magnetic material modeling that allow a wide range of application
coverage.
An unlimited number of ports, which enables simulating multi I/O design applications such as packages.
Electric and magnetic fields modeling, enabling visualization of EM fields in a design.
Absorbing boundary condition (free space), enabling antenna modeling.
Full-wave, EM-accuracy for first-pass design success.
Antenna parameters (such as gain, directivity, and polarization), to enable better insight into antenna design.
FEM Simulator and ADS integration provides an integrated approach to EM and Circuit designs.
This section provides information about the following topics:
FEM-based Simulations
FEM Overview
Eigenmode Overview
FEM 2D Port Solver Overview
Specifying FEM Simulation Setup
Specifying Frequency Plans in FEM
Specifying Mesh and Refinement Properties in FEM
Selecting a Solver in FEM
Remote and Distributed Simulation
Specifying FEM 2D Port Simulation Setup
Specifying Eigenmode Simulation Setup
Creating a Mesh
Initial Mesh Settings
Guidelines for Specifying Mesh Settings
Performing FEM Broadband Refinement
Viewing FEM Mesh
Reusing Mesh and Frequency Points
Troubleshooting Mesh Failures
Using Ports in FEM Simulation
46
FEM Simulation
Creating Waveguide Ports
Setting up Waveguide Ports
Specifying Port Dimensions
Specifying Port Properties
Creating an Impedance Line
Calculating S-Parameters in FEM Simulation
Using FEM RLC Loads
Viewing FEM Simulation Results
Viewing Eigenmode Simulation Results
Advanced Visualization of FEM Results
Specifying Visualization Properties
Controlling Visualization Excitations
Setting up Plots
Viewing the Far-Field Pattern of a Multi-Port Antenna
Exporting Field Data
Hybrid FEM-MoM Boundary Conditions
Examples How to Simulate using FEM
47
FEM Simulation
FEM-based Simulations
FEM Overview
Eigenmode Overview
FEM 2D Port Solver Overview
FEM Overview
The FEM simulation technique used to calculate the full three-dimensional electromagnetic field inside a structure is
based on the finite element method. This section provides an overview of the FEM simulation process, its implementation
in EMPro, and a description of how S-parameters are computed from the simulated electric and magnetic fields.
48
FEM Simulation
The components of a field that are tangential to the edges of an element are explicitly stored at the vertices.
The component of a field that is tangential to the face of an element and normal to an edge is explicitly stored at the
midpoint of the selected edges.
The value of a vector field at an interior point is interpolated from the nodal values.
By representing field quantities in this way, Maxwell's equations can be transformed into matrix equations that are solved
using traditional numerical methods.
Basis Functions
A first-order tangential element basis function interpolates field values from vector functions associated with edges.
First-order tangential elements have 6 unknowns per tetrahedron. Second-order tangential basis functions interpolate
field values from vector functions associated with edges and faces. Second-order tangential elements have 20 unknowns
per tetrahedron.
Order of Basis Function
Polynomial Model of
Polynomial Model of
E-fields
H-fields
Tetrahedron
Linear
Constant
Quadratic
Linear
20
Field Solutions
During the iterative solution process, the S-parameters typically stabilize before the full field solution. Therefore, when
you are interested in analyzing the field solution associated with a structure, it may be desirable to use convergence
criteria that is tighter than usual.
In addition, for any given number of adaptive iterations, the magnetic field (H-field) is less accurate than the solution for
the electric field (E-field) because the H-field is computed from the E-field using the following relationship:
49
FEM Simulation
This lowers the polynomial interpolation function than those used for the electric field.
Implementation Overview
To calculate the S-matrix associated with a structure, the following steps are performed:
3. The full electromagnetic field pattern inside the structure is computed, assuming that each of the ports is excited
by one of the waves.
4. The generalized S-matrix is computed from the amount of reflection and transmission that occurs.
The final result is an S-matrix that allows the magnitude of transmitted and reflected signals to be computed directly from
a given set of input signals, reducing the full three-dimensional electromagnetic behavior of a structure to a set of high
frequency circuit values.
Adaptive Solution
An adaptive solution is one in which a finite element mesh is created and automatically refined to increase the accuracy of
succeeding adaptive solutions. The adaptive solution is performed at a single frequency. (Often, this is the first step in
generating a non-adaptive frequency sweep or a fast frequency sweep).
50
FEM Simulation
The Mesher
A mesh is the basis from which a simulation begins. Initially, the structure's geometry is divided into a number of relatively
coarse tetrahedra, with each tetrahedron having four triangular faces. The mesher uses the vertices of objects as the
initial set of tetrahedra vertices. Other points are added to serve as the vertices of tetrahedra only as needed to create a
robust mesh. Adding points is referred to as seeding the mesh.
After the initial field solution has been created, if adaptive refinement is enabled, the mesh is refined further.
2D Mesh Refinement
For 2D objects or ports, the mesher treats its computation of the excitation field pattern as a two-dimensional finite
element problem. The mesh associated with each port is simply the 2D mesh of triangles corresponding to the face of
tetrahedra that lie on the port surface.
The mesher performs an iterative refinement of this 2D mesh as follows:
1. Using the triangular mesh formed by the tetrahedra faces of the initial mesh, solutions for the electric field, E, are
calculated.
Modes
For a waveguide or transmission line with a given cross section, there is a series of basic field patterns (modes) that
satisfy Maxwell's equations at a specific frequency. Any linear combination of these modes can exist in the waveguide.
51
FEM Simulation
For example, if the mode 2 wave associated with a certain port decays to near zero in 0.5 mm, then the "constant cross
section" portion of the geometric model leading up to the port should be at least 0.5 mm long. Otherwise, for accurate
S-parameters, the mode 2 S-parameters must be included in the S-matrix.
The length of the constant cross section segment to be included in the model depends on the value of the mode's
attenuation constant, .
The 3D Solver
To calculate the full 3D field solution, the following wave equation is solved:
where:
This is the same equation that the 2D solver solves for in calculating the 2D field pattern at each port. The difference is
that the 3D solver does not assume that the electric field is a traveling wave propagating in a single direction. It assumes
that the vector E is a function of x, y, and z. The physical electric field, E(x,y,z,t) , is the real part of the product of the
phasor, E(x,y,z) , and j t :
52
FEM Simulation
Boundary Conditions
FEM Simulator imposes boundary conditions at all surfaces exposed to the edge of the meshed problem region. This
includes all outer surfaces and all surfaces exposed to voids and surface discontinuities within the structure.
The following types of boundary conditions are recognized by the 3D solver:
Port
Absorbing (Radiation)
PEC (Perfect Electric Conductor)
PMC (Perfect Magnetic Conductor)
ESymmetry (Electric Symmetry condition - odd symmetry of tangential E-fields)
MSymmetry (Magnetic Symmetry condition - even symmetry of tangential E-fields)
Port Boundaries
The 2D field solutions generated by the 2D solver for each port serve as boundary conditions at those ports. The final field
solution that is computed for the structure must match the 2D field pattern at each port.
FEM Simulator solves several problems in parallel. Consider the case of analyzing modes 1 and 2 in a two-port device. To
compute how much of a mode 1 excitation at port 1 is transmitted as a mode 2 wave at port 2, the 3D mesher uses the
following as boundary conditions:
A "mode 1" field pattern at port 1.
A "mode 2" field pattern at port 2.
To compute the full set of S-parameters, solutions involving other boundary conditions must also be solved. Because the
S-matrix is symmetric for reciprocal structures (that is, S 12 is the same as S 21 ), only half of the S-parameters need to be
explicitly computed.
Absorbing (Radiation)
Radiation boundaries model surfaces that represent open space. Energy is allowed to radiate from these boundaries
instead of being contained within them. At these surfaces, the second order radiation boundary condition is employed:
where:
j is equal to
53
FEM Simulation
To ensure accurate results, radiation boundaries should be applied at least one quarter of a wavelength away from the
source of the signal. However, they do not have to be spherical. The only restriction regarding their shape is that they be
convex with regard to the radiation source.
where:
H tan is the component of the magnetic field that is tangential to the surface.
H normal is the component of the magnetic field that is normal to the surface.
E tan is the component of the electric field that is tangential to the surface.
G is the free space Green's Function, given by:
where:
r and
represent, respectively.
54
FEM Simulation
55
FEM Simulation
If one models N-conductor structures where N>2, then FEM Simulator uses a different algorithm for computing Z pv and Z
pi . The user must define an impedance line for each interior conductor. The impedance lines should go from the center of
each interior conductor to the outer conductor.
The port solver computes a voltage along the first N line segments for each of the first N modes when the port solver
detects that there are N+1 conductors. This becomes a "voltage vector"
(of length N) for each of the N quasi-TEM modes. Then, when computing Z pv , the square of the scalar voltage is now
replaced by the dot product of the voltage vectors, for example:
For a more detailed explanation as to why this is done, refer to reference "1" at the end of this section.
For Z pi , the current is generally computed by adding the currents flowing into and out of the port and taking the average
of the two. (If the simulator computed currents to perfect accuracy, the inward and outward currents would be identical.)
For all mode numbers >= N, where N = number of conductors, the currents are calculated in this way.
For the first (N-1) quasi-TEM modes, the currents are computed on the N-1 interior conductors producing a current
eigenvector. Then the impedance:
The result is that the FEM Simulator impedance computations for such structures as coupled microstrip lines match the
published equations for even- and odd-mode impedances.
As an example, take a CPW modeled as three interior strips surrounded by an enclosure. The ground strips do not touch
the enclosure. Such a model is in the examples directory of FEM Simulator and is called cpwtaper . The port solver shows
us that the desired CPW mode is not the dominant mode, but is actually mode 3. To identify the modes, one can use the
arrow plots in the Port Calibration menu or the Arrow display of the E-field in the post processor.
Each port consists of a 4 conductor system, the outer (ground) conductor, the inner strip, and the two "ground" strips.
This results in 3 quasi-TEM modes. Mode 1 has E-field lines predominately in the substrate, all pointing in the same
direction. This is the common mode (+V, +V, +V). Mode 2 also has E-field lines predominately in the substrate, but in
opposite directions under the two "ground" strips. This is the slot mode (-V, 0, +V). Mode 3 has nearly zero E-fields
everywhere because the fields are predominately between the inner strip and the "ground" strips. This is the CPW mode
(0, +V, 0).
For further help in identifying modes in such a structure, one can look at the distributions with the "full" scale. One will
notice that modes 1 and 3 obviously have the same "even" symmetry in the E fields, while mode 2 has an odd symmetry.
The CPW mode has an "even" symmetry, so it has to be mode 1 or 3.
Modes 1 and 2 have significant E-field strengths in the substrate, especially under the "ground" strips. So, there is a
potential difference between the "ground" strips and the outer ground for these two modes. However, for mode 3, the
"ground" strips are at the same potential as the outer ground, which is consistent with the CPW mode.
56
FEM Simulation
Thus one can identify the modes. For mode 3, the "ground" strips are at 0 volts with respect to the outer ground, and the
signal line has +V. The Z pv impedance computed for this mode using a dot product of the voltage vector for mode 3 gives
the same Z pv as by computing the simple voltage between center strip and either "ground" strip. That is because the
voltage vector for mode 3 along the three impedance lines is
=[0,V,0] and
However, the impedances for the other modes now match accepted impedance definitions found in the literature for
multi-conductor transmission lines.
Application Areas
EM modeling tools are known for their great accuracy. FEM Simulator redefines this term with broad application
coverage, including the following:
Microstrip, stripline, CPW elements (filters, couplers, spiral inductors, via holes, air bridges, meander lines...)
Multilayer structures
Ceramic filters
Adapters/transitions
Antennas
Couplers
Power splitters/combiners
1. Create a physical design: Create a physical design for your FEM simulation in EMPro.
2. Set Simulation Options: A mesh is a pattern of tetrahedra that is applied to a design in order to break down
(discretize) the design into small cells. A mesh is required in order to simulate the design effectively. You can
specify a variety of mesh parameters to customize the mesh to your design, or use default values and let FEM
generate an optimal mesh automatically.
57
FEM Simulation
3. Simulate the circuit: You set up a simulation by specifying the parameters of a frequency plan, such as the
frequency range of the simulation and the sweep type. When the setup is complete, you run the simulation. The
simulation process uses the mesh pattern, and the electric fields in the design are calculated. S-parameters are
then computed based on the electric fields. If the Adaptive Frequency Sample sweep type is chosen, a fast,
accurate simulation is generated, based on a rational fit model.
4. View the results: The data from an FEM simulation is saved as S-parameters or as fields.
5. FEM Advance Visualization: The FEM Advance Visualization tool enables you to view and analyze, S-parameters,
far-fields, and antenna parameters. Data can be analyzed in a variety of 2D and 3D plot formats. Some types of
data are displayed in tabular form.
6. Radiation patterns: Once the electric fields on the circuit are known, the electromagnetic fields can be computed.
They can be expressed in the spherical coordinate system attached to your circuit.
58
FEM Simulation
Accurate DC and low frequency EM simulation are significant in RF/microwave and high-speed digital (HSD) designs. An
accurate and efficient low frequency solution is also required to capture resonances at very low frequencies.
Eigenmode Overview
You can use an Eigenmode solver to generate resonance properties (eigenmodes) of a closed structure without enforcing
excitations. In the results, you can view the Eigen frequencies, Q value, Eigen field, and surface currents at each Eigen
mode. This new solver quickly finds the resonant frequencies for devices such as cavity filters, which is a common
high-frequency component used in wireless communication systems. Filter designers can also visualize the resulting
electromagnetic fields at each resonant frequency and make adjustments to the cavity structure to optimize filter
performance.
The Eigenmode solver is based on FEM technology and you need an FEM Simulator Element license. The existing EMPro
FEM solver, regular mode solver, is driven by excitations and generates S parameters and/or radiation fields. The
Eigenmode solver process is similar to a typical FEM or FDTD flow in 3D EM simulations.
The following figure displays the visualization results of an Eigenmode simulation:
Tetrahedron sampling
Eigenmode solver in EMPro is based on FEM technology, where the solution space is subdivided to a number of mesh
cells. Each mesh cell is a tetrahedron. 1st and 2nd order basis functions are built to represent the field in each cell in
following figure:
59
FEM Simulation
60
FEM Simulation
Where fi is the ith eigenfrequency and xi is the ith eigenfield. Note that fi can be a complex number where the real part
represents the resonant frequency and the imaginary part is related to the quality factor of the resonator.
61
FEM Simulation
Result Display
The results of the eigenmode solver include the eigenvalues (eigenfrequencies and quality factors) and eigenvectors
(eigenfields). The eigenvalues are printed in the EMPro Simulation log window as shown in the following figure. They also
available from the Results window.
The eigen fields are available in the Advanced Visualization and EMPro Results window.
Excitation Fields
The assumption is that each port is connected to a uniform waveguide that has the same cross section as the port. The
port interface is assumed to lie on the z=0 plane. Therefore,
the excitation field is the field associated with traveling waves propagating along the waveguide to which the port is
connected:
where:
Re is the real part of a complex number or function.
E(x,y) is a phasor field quantity.
j is the imaginary unit, .
w is angular frequency, 2pf.
g =a + jb is the complex propagation constant,
a is the attenuation constant of the wave.
b is the propagation constant associated with the wave that determines, at a given time t, how the phase angle
varies with z.
In this context, the x and y axes are assumed to lie in the cross section of the port; the z axis lies along the direction of
propagation.
62
FEM Simulation
Wave Equation
The field pattern of a traveling wave inside a waveguide can be determined by solving Maxwell equations. The following
equation that is solved by the 2D solver is derived directly
from Maxwell equation.
where:
E(x,y) is a phasor representing an oscillating electric field.
k0 is the free space wave number, ,
w is the angular frequency, 2pf.
r(x, y) is the complex relative permeability.
er(x, y) is the complex relative permittivity.
To solve this equation, the 2D solver obtains an excitation field pattern in the form of a phasor solution, E(x,y). These
phasor solutions are independent of z and t; only after being
multiplied by eg z do they become traveling waves. Also note that the excitation field pattern computed is valid only at a
single frequency. A different excitation field pattern is computed for each frequency point of interest.
Modes
For a waveguide or transmission line with a given cross section, there is a series of basic field patterns (modes) that
satisfy Maxwells equations at a specific frequency. Any
linear combination of these modes can exist in the waveguide.
Mode Conversion
In some cases it is necessary to include the effects of higher- order modes because the structure acts as a mode
converter. For example, if the mode 1 (dominant) field at one port is converted (as it passes through a structure) to a
mode 2 field pattern at another, then it is necessary to obtain the S- parameters for the mode 2 field.
63
FEM Simulation
For example, if the mode 2 wave associated with a certain port decays to near zero in 0.5 mm, then the constant cross
section portion of the geometric model leading up to the
port should be at least 0.5 mm long. Otherwise, for accurate S-parameters, the mode 2 S- parameters must be included
in the S-matrix.
The length of the constant cross section segment to be included in the model depends on the value of the modes
attenuation constant,
64
FEM Simulation
1. Select FEM from the drop-down list available in the Simulation toolbar.
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
displayed.
3. Type a name for your FEM simulation name in the Name field. You can also use the default name that is specified
in the Setup FEM Simulation window. The invalid symbol on the window refers that you have not entered any
frequency plan or boundary conditions are not correct for FEM simulations.
65
FEM Simulation
Selecting a Solver in FEM
If you want to add any notes or observation with your simulation, you can specify it in the Notes text
box. Click Notes in the Setup FEM Simulation window to display the Notes screen.
You can specify the following options for creating a frequency plan:
Sweep Type
Generally, sweeps of individual parameters can be performed most efficiently from within many of the simulator dialog
boxes themselves. The ability to step through a series of values automatically is incorporated into all the standard
simulation controllers.
66
FEM Simulation
Adaptive: It is the preferred sweep type. It uses a fast and accurate method of comparing sampled S-parameter
data points to a rational fitting model. The value entered in the Sample Points Limit field is the maximum number
of samples used in an attempt to achieve convergence. The solutions from the final attempt will be saved. If
convergence is achieved using fewer samples, the solutions are saved and the simulation will end.
Linear: It simulates over a frequency range, selecting the frequency points to be simulated in linear increments
based on the step size you specify. Type the start and the stop frequencies in the Start and Stop fields, and select
frequency units for each. Enter the step size in the Step field, and select units.
Log:It simulates over a frequency range, selecting the frequency points to be simulated in logarithmic increments.
Type the start and the stop frequencies in the Start and Stop fields, and select frequency units for each. Enter the
number of frequency points to be simulated per decade of frequency in the Points/Decade field, and select units.
Single: It simulates at a single frequency point. Type the value in the Frequency field and select the units.
Start Frequency
Specify the start frequency value in GHz.
Stop Frequency
Specify the stop frequency value in GHz.
3. Click once in the Type field and select a sweep type from the drop-down list.
4. Type a value in the Start Frequency text box or you can accept the default minFreq value.
5. Type a value in the Stop Frequency text box or you can accept the default maxFreq value.
You can modify a frequency plan by clicking Update. To delete a frequency plan, click Delete.
67
FEM Simulation
Option
Description
frequency
No field data
Field data will not stored for any of the frequencies used in
calculation.
This will save space on hard disk. If the intention is just to
see S parameter, this option can be used.
68
FEM Simulation
Description
Delta Error
Memory Limit
69
FEM Simulation
Option
Description
Description
Maximum frequency
70
FEM Simulation
Option
Description
Manual Selection
The following table describes the Target Mesh and Conductor Mesh options:
Option
Description
Target Mesh
71
FEM Simulation
Option
Description
Conductor mesh
For more information about the initial mesh options, see Initial Mesh Settings.
See Also
Initial Mesh Settings
Guidelines for Specifying Mesh Settings
72
FEM Simulation
Option
Description
Advanced meshing options should be changed only in case of meshing problems. For more
information about advanced meshing options, see Initial Mesh Settings
Vertex Mesh
Vertex meshing reduces the mesh length around vertices. When combined with edge meshing the shortest length of both
is chosen in any given region. The region where the value is applied by the vertex mesh length setting is roughly twice its
length in each direction: the actual region is still being optimized. The region affected by it depends on local geometry.
The following figure displays the result of a vertex mesh setting:
73
FEM Simulation
Edge Mesh
Edge meshing reduces the mesh length around the edges. A fan-out effect is created to maintain the tetrahedron quality.
The edges do not need to be straight lines, any shape is allowed.
The following figure displays the result of an edge mesh setting:
74
FEM Simulation
Description
Delta Error
75
FEM Simulation
Option
Description
Memory Limit
76
FEM Simulation
The following table describes the Refinement tab settings:
Option
Description
Maximum frequency
Manual Selection
77
FEM Simulation
Automatically: EMPro automatically determines the initial target mesh size. The length is computed based on the
frequency plan available when the request is made.
Minimal Memory: EMPro uses minimum memory for calculating the mesh.
Custom Target mesh size: Provides an initial denser mesh. If used, no edge in the initial mesh will be longer than
the given length.
Conductor Mesh Options
Automatic: When automatic conductor meshing is selected, the mesher estimates where mesh lengths need to be
reduced to improve the accuracy and convergence speed of the simulation. The algorithm to produce this mesh is
based on the DC connectivity of geometry with ports. Only parts electrically connected to a port are affected. For
those parts the edge and vertex mesh is set. The length of the edge and vertex mesh is based on the estimated
width assuming the structure being excited starts with a strip-like construction. The mesh process will report the
estimated width in the simulation output window. |
The following options are used for specifying the mesh for all conductors:
Edge mesh length: Specifies a target mesh size of all edges that belong to the geometry of a conductor. Edges do
not necessarily have to be straight lines. A value of 0 means that no initial conductor edge mesh length is applied.
Vertex mesh length: Specifies a target mesh size for all vertices that belong to the geometry of a conductor. A
value of 0 means that no initial conductor vertex mesh length is applied.
For all lengths a parameter or formula is allowed. The formula is always evaluated at the time the simulation is being
created.
See Also
Using Initial Mesh Options
FEM Meshing Options
Description
78
FEM Simulation
Option
Description
Advanced meshing options should be changed only in case of meshing problems. For more
information about advanced meshing options, see FEM Meshing Options
Vertex Mesh
Vertex meshing reduces the mesh length around vertices. When combined with edge meshing the shortest length of both
is chosen in any given region. The region where the value is applied by the vertex mesh length setting is roughly twice its
length in each direction: the actual region is still being optimized. The region affected by it depends on local geometry.
The following figure displays the result of a vertex mesh setting:
79
FEM Simulation
Edge Mesh
Edge meshing reduces the mesh length around the edges. A fan-out effect is created to maintain the tetrahedron quality.
The edges do not need to be straight lines, any shape is allowed.
The following figure displays the result of an edge mesh setting:
80
FEM Simulation
to
Contrary to the direct solver, the accuracy of the iterative solver can be chosen, by using the Tolerance option. If
this option is decreased, the results will be more accurate. However, the number of iterations will increase,
resulting in an increased solve time. The maximum number of iterations can be set by the Maximal number of
iterations option.
81
FEM Simulation
It is recommended to use the second order basis function, which represents the fields at the edges of tetrahedrons. The
advantage is that, for the 3D field distribution, less tetrahedrons are needed (they can be bigger). The first order basis
function results in much less unknowns per tetrahedron compared to the second order. However, to achieve
convergence, you need more and smaller tetrahedrons. In general, second order results in the smallest problem size for a
given accuracy. In addition, when using the second order basis functions, you can use the iterative matrix solver option
that typically requires less memory compared to the direct solver.
82
FEM Simulation
See Also
FEM 2D Port Solver Overview
1. Right-click Circuit Components/Ports and choose New Waveguide Port. The EMPro Waveguide Ports Editor dialog
box is displayed.
2. Click
3. Place the pointer on the top of the structure, as shown in the following figure:
All tabs in the EMPro Waveguide Ports Editor dialog box are enabled after you have specified a face in the
geometry.
83
5.
FEM Simulation
5. By default, the Auto-extend to simulation domain boundaries option is selected. To customize boundary
extensions, remove selection from this option and specify the lower and upper boundary extensions.
1. Choose FEM 2D Port Simulation from the drop-down list available on the Simulation toolbar, as shown in the
following figure:
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM 2D Port Simulation window is
84
FEM Simulation
3. Type a name for your FEM 2D Port simulation in the Name text box. You can also use the default name that is
specified in the Setup FEM 2D Port Simulation window. The invalid symbol on the window indicates that the setup
for the FEM 2D Port Simulation is not valid. The set up might be invalid because of the following issues:
No waveguide ports have been defined for this project.
No waveguide ports have been selected as active.
No frequency plan has been defined.
A material or boundary condition has been defined that is not supported for FEM 2D Port simulations.
Selecting Sources
To choose waveguide ports:
1. Open the Setup FEM 2D Port Simulation window. The Choose Source(s) screen is displayed, by default.
2. Select the waveguide ports for simulation.
3. You can also click Select All to choose all the waveguide ports listed in the Active Waveguides list. The following
figure displays the Choose Source(s) screen:
85
FEM Simulation
Only waveguide ports are listed in the Setup FEM 2D Port Simulation window.
You can specify the following frequency settings for your FEM 2D Port simulation:
Option
Description
Sweep Type
Start Frequency
Stop Frequency
Note that FEM Simulations and FEM 2D Port Simulations share the same frequency plan specification. Changes to the
frequency plan made in this dialog will carry over to FEM Simulations for the full 3D structure.
FEM Simulation
2. Select a value from the Sweep Type drop-down list.
3. Type a value in the Start Frequency text box.
4. Type a value in the Stop Frequency text box.
5. Select a value from Sample Points Limit.
6. Click Add to List to add a frequency plan. You can also modify the frequency plan by clicking Update. To delete a
frequency plan, click Delete.
Adding Notes
If you want to add any notes or observation with your simulation, you can specify it in the Notes text box.
1. In the Setup FEM 2D Port Simulation window, click the Notes tab.
2. Type a note that you want to be saved with the simulation.
87
FEM Simulation
Running FEM 2D Port Simulation from the EMPro Waveguide Ports Editor
Dialog Box
You can also launch an FEM 2D Port simulation for a single waveguide port from the EMPro Waveguide Ports Editor dialog
box by clicking the Simulate button. Clicking the Simulate button launches an FEM 2D Port Simulation with the following
settings:
A default simulation name will be constructed as "FEM 2D Port: " followed by the name of the waveguide port
being edited.
Only the waveguide port associated with the open dialog box will be simulated.
The frequency plan specified in the Setup FEM 2D Port Simulation window is used.
The convergence properties specified in the Setup FEM 2D POrt Simulation window is used.
No notes will be generated.
E-field plots for all modes are automatically displayed when the FEM 2D Port simulation completes. H-fields,
characteristic impedances, and propagation constants for the modes of this waveguide port can also be displayed
manually.
88
FEM Simulation
1. Select Eigenmode from the drop-down list available in the Simulation toolbar, as shown in the following toolbar:
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup Eigenmode Simulation window is
89
2.
FEM Simulation
3. Type a name for your Eigenmode simulation name in the Name field. You can also use the default name that is
specified in the Setup Eigenmode Simulation window. The invalid symbol on the window refers that you have not
entered any frequency plan or boundary conditions are not correct for Eigenmode simulations.
Description
Start Frequency
Number of eigenmodes
In the Fields storage tab, you can specify the options listed in the following table:
Option
Description
No frequencies
Setting Frequencies
Perform the following steps to set frequency:
90
FEM Simulation
1. In the Setup Eigenmode Simulation window, open the Frequency Plans screen.
2. Specify a value in the Start Frequency text box.
91
FEM Simulation
Description
Delta Error
92
FEM Simulation
Option
Description
For all lengths a parameter or formula is allowed. The formula is always evaluated at the time the simulation is being
created.
Description
93
FEM Simulation
Guidelines
In the Eigenmode solver, it is important to note that:
A Delta error value specifies the relative difference of the Eigen frequencies (delta frequency) between two
consecutive passes.
To generate an efficient mesh, enable Use Initial Mesh Size and Use Initial Minimal Mesh Size in the Initial mesh
tab. The value in Use Initial Mesh Size should be between lambda/3 to lambda/4, where lambda is the free-space
wavelength at lowFreqLimit.
1. Click Mesh/Refinement Properties - (Delta Error:0.01) in the Setup Eigenmode Simulation window.
2. The Stop Criterium tab is displayed by default, as shown in the following figure:
94
FEM Simulation
Specify a value in Maximum number of adaptive passes.
4. Click the Initial Mesh tab. The initial mesh options are displayed, as shown in the following figure:
6. Click the Advanced tab. The Advanced options are displayed, as shown in the following figure:
7.
95
FEM Simulation
7. In the Advanced tab:
Specify a value in Target Mesh Growth.
Select the Use Initial Minimal Size check box and type a value. You can also click Automatically determine
to update a value in Use Initial Minimal Size.
Select the Merge Objects with Same Material check box.
Adding Notes
If you want to add any notes or observation with your simulation, you can specify it in the Notes text box. Click Notes in
the Setup Eigenmode Simulation window to display the Notes screen.
96
FEM Simulation
Creating a Mesh
You can specify vertex mesh length, edge mesh length, and surface mesh length for your FEM simulations. In addition,
you can automate the FEM broadband refinement process by selecting the required refinement strategy.
This section provides information about the following topics:
Initial Mesh Settings
Performing FEM Broadband Refinement
Viewing FEM Mesh
Reusing Mesh and Frequency Points
Troubleshooting Mesh Failures
97
FEM Simulation
The target mesh length is used for the full simulation domain. No tetrahedron in the simulation domain will contain an
edge which is longer than the target mesh length. If there is a large area of the simulation domain that does not contain
any fields, then using a global target mesh length can generate too many tetrahedral and it is advised to revert to the
custom target mesh size setting or use the minimal memory.
Minimal Memory
When Minimal Memory is chosen, the initial mesh will generate a mesh with the least amount of tetrahedra as possible. A
typical mesh is then determined by the geometric detail of the design, the wavelength does not play any role at all. The
advantage of using this setting is that no part of the design will contain more tetrahedral than necessary. However, there
might be insufficient tetrahedra to have an accurate simulation result. When using the Minimal Memory it is
recommended to either:
have a sufficient number of mesh refinement steps.
or to further customize the mesh with additional dedicated settings.
Custom Target Mesh
The custom target mesh works similar to the automatic target mesh except that as a user you have the liberty to specify
the mesh size. This choice can be used when the automatic derived mesh length is not sufficient. For example: not the
maximum frequency but another frequency has to be used, or the design contains little to no free space and a different
wavelength is important. The specification of the mesh size accepts a formula or expression. For example, specifying the
custom target mesh size to be the 1/3 of the wavelength in free space at 2 GHz is done by entering as expression:
wavelength(2 GHz)/3.
98
FEM Simulation
The advanced FEM mesh control settings provide the following benefits:
Ensures an efficient adaptive meshing behavior: The additional mesh controls build a finer initial mesh so the
adaptive meshing does not need to go through a large number of steps to arrive at the same level of mesh
elements. Areas mainly around conductors are susceptible to under meshing during initial meshing. With the finer
mesh controls, some of this knowledge can be injected by applying additional mesh settings to conductors but also
at the individual object level.
Improves the precision of the simulation results: The quality of the final mesh after adaptive meshing is higher.
With the additional mesh settings known at the initial meshing stage this step can take all the requested
constraints into account while during adaptive meshing quality properties of the mesh are balanced against mesh
performance and electromagnetic constraints. The edge and vertex meshing in particular allow to better model
singular effects at material interfaces.
99
FEM Simulation
1. Open the Meshing Properties Editor by right-clicking an object and selecting Meshing Properties.
2. Click Copy to Clipboard.
3. After the copy operation is done, select a group of parts and request the context menu to perform the Paste
action (or using the shortcut).
Edge Meshing
Edge meshing reduces the mesh length around the edges. In the following figure, the edge mesh length is specified as 0.1
mm and mesh is generated by applying an edge mesh to the strip line running on the substrate:
100
FEM Simulation
In this figure, around the edges of the strip, the length of mesh edge is reduced to 0.1 mm. A fan-out effect is created to
maintain the tetrahedron quality. The edges do not need to be straight lines, any shape is allowed. A good value is one
fifth of the width of a strip.
Vertex Meshing
Vertex meshing reduces the mesh length around vertices. In the following figure, the vertex mesh length is set to 0.033
mm:
101
FEM Simulation
When combined with edge meshing, the shortest length of both meshes is chosen in any given region. The region where
the value is applied by the vertex mesh length setting is roughly twice its length in each direction: the actual region is still
being optimized. The region affected by it depends on local geometry.
Vertices in EMPro are zero-dimensional entities, like edges are one-dimensional. You can recognize
vertices in straight line designs as the corners of shapes. During sketching vertices will advertise
themselves as vertex0, vertex1,when hovering over them.
Surface Meshing
Surface meshing reduces the mesh length on surfaces of objects. In the following figure, the surface mesh length is set to
0.5 mm, but the mesh length is not exactly 0.5 mm everywhere on the strip:
102
FEM Simulation
This effect is caused by the fact that the edge mesh length was not explicitly set. In that case, internally, the edge mesh
length is reduced to five times the surface mesh length. This is necessary to maintain mesh quality and keep the
performance of the meshing process under control. This option is useful when the affected region of the mesh control
settings needs to be limited. The surface mesh length is not affecting other objects nearby the strip.
103
FEM Simulation
The main difference with the surface meshing applied in isolation is that the fan out of the meshing reaches into the
substrate.
See Also
Specifying FEM Simulation Setup
104
FEM Simulation
If the same volume is meshed by specifying the Initial Target Mesh Size option, the following mesh results are displayed:
This leads to a faster convergence of iterative solver and in less number of passes in the Adaptive Frequency Sweep.
105
FEM Simulation
The following figures illustrates the effect on a simple example when the setting minimum size is set to 3 mm:
106
FEM Simulation
The advanced FEM mesh control settings provide the following benefits:
Ensures an efficient adaptive meshing behavior: The additional mesh controls build a finer initial mesh so the
adaptive meshing does not need to go through a large number of steps to arrive at the same level of mesh
elements. Areas mainly around conductors are susceptible to under meshing during initial meshing. With the finer
mesh controls, some of this knowledge can be injected by applying additional mesh settings to conductors but also
at the individual object level.
Improves the precision of the simulation results: The quality of the final mesh after adaptive meshing is higher.
With the additional mesh settings known at the initial meshing stage this step can take all the requested
constraints into account while during adaptive meshing quality properties of the mesh are balanced against mesh
performance and electromagnetic constraints. The edge and vertex meshing in particular allow to better model
singular effects at material interfaces.
Edge Meshing
Edge meshing reduces the mesh length around the edges. In the following figure, the edge mesh length is specified as 0.1
mm and mesh is generated by applying an edge mesh to the strip line running on the substrate:
107
FEM Simulation
In this figure, around the edges of the strip, the length of mesh edge is reduced to 0.1 mm. A fan-out effect is created to
maintain the tetrahedron quality. The edges do not need to be straight lines, any shape is allowed. A good value is one
fifth of the width of a strip.
Vertex Meshing
Vertex meshing reduces the mesh length around vertices. In the following figure, the vertex mesh length is set to 0.033
mm:
108
FEM Simulation
When combined with edge meshing, the shortest length of both meshes is chosen in any given region. The region where
the value is applied by the vertex mesh length setting is roughly twice its length in each direction: the actual region is still
being optimized. The region affected by it depends on local geometry.
Vertices in EMPro are zero-dimensional entities, like edges are one-dimensional. You can recognize
vertices in straight line designs as the corners of shapes. During sketching vertices will advertise
themselves as vertex0, vertex1,when hovering over them.
Surface Meshing
Surface meshing reduces the mesh length on surfaces of objects. In the following figure, the surface mesh length is set to
0.5 mm, but the mesh length is not exactly 0.5 mm everywhere on the strip:
109
FEM Simulation
This effect is caused by the fact that the edge mesh length was not explicitly set. In that case, internally, the edge mesh
length is reduced to five times the surface mesh length. This is necessary to maintain mesh quality and keep the
performance of the meshing process under control. This option is useful when the affected region of the mesh control
settings needs to be limited. The surface mesh length is not affecting other objects nearby the strip.
110
FEM Simulation
The main difference with the surface meshing applied in isolation is that the fan out of the meshing reaches into the
substrate.
In the following figure, the adaptive refinement process has chosen the points for mesh:
111
FEM Simulation
See Also
Specifying FEM Simulation Setup
In the following figure, the adaptive refinement process has chosen the points for mesh:
For strong radiating designs, it can be advantageous to set a smaller Custom Target Mesh Size: for example, one third of
the wavelength at which the radiation occurs. For these radiating designs a second order discretization is recommended.
If first order discretization is used further reducing the custom target mesh size to one fifth of the wavelength of radiation
produces more accurate results.
Use the Minimal Memory setting for non-radiating designs. The initial mesh is primarily determined by the shapes of the
design itself instead of a wavelength. This is useful for designs where the complexity of the shapes of the designs is
ensuring dense enough starting meshes in the regions where the electromagnetic fields are concentrated. A set of thick
conductors running through the design where the thickness is smaller than the width of the conductors is a typical
example.
Common designs sharing these traits are package and module designs.
112
FEM Simulation
Another situation where the minimal mesh size can be used is when you like to continue using the automatic conductor
mesh setting but on some locations the estimated width leads to an unnecessary dense mesh.
By default objects merged with same material is switched on. Using this option will typically give a smaller mesh with
similar EM performance. Only in cases where it is deemed mandatory to keep seam lines between objects in the final
mesh the option should be turned off. A possible use for this is to force objects lines to be in the mesh for seeding
purposes.
113
FEM Simulation
The Fixed for all conductors setting applies the specified Edge or Vertex setting to all the metal shapes in the designs
which can be overkill in more complex designs. Applying the setting to specific models can be used to be more selective
in applying the conductor mesh setting.
Start by adding a sheet located on the plane of the waveguide and assign it the material air:
Select the sheet and apply mesh settings to generate a mesh of about 200 elements. Do this by setting the edge and
surface mesh length to be about 1/10th of the length of one of the sides of the created sheet. An example setting is
shown below. Take note to lower the priority of the meshed object such that it will not overwrite any objects. The sheet
object does have to be included in the mesh to have effect though.
The mesh on the port will look as follows:
114
FEM Simulation
Applying a mesh setting on a conductive net can be done in the platform by using the connectivity tool to select a set of
connected parts and then to apply the settings through the clipboard technique.
This section describes these refinement frequencies and provides guidelines for choosing a strategy.
115
FEM Simulation
116
FEM Simulation
117
FEM Simulation
Except for the AFS sweep on the initial mesh level, this refinement strategy is identical to the strategy based on
user-defined refinement frequencies.
118
FEM Simulation
Multiple fixed refinement frequencies: This strategy computes the fewest frequency points during the adaptive
refinement stage and therefore will usually lead to the fastest simulations. This strategy is recommended for:
Electrically short transition structures. These can include matching networks, packages, impedance
transformations, etc. If the transmission parameters accumulate less than 180 degrees of phase, then it is
sufficient to refine only at the highest frequency.
Designs where you know the frequencies of the critical features. These can include dual (or multi-) band
antennas, band pass filters etc. For these structures set the refinement frequencies to the frequencies of
most interest (i.e. in each antenna frequency band, at the low end and high end of the band pass filter). In
many cases it is advisable to also include the maximum frequency of the simulation as a refinement
frequency.
Initial analysis of a structure where speed is preferred over accuracy.
Refinement frequencies chosen automatically after the initial pass: This strategy is a compromise between
manually selecting the refinement frequencies and letting the FEM simulator automatically select the refinement
frequencies at each adaptive pass. This strategy is recommended when you do not have a good idea a priori where
the important characteristics will occur in your frequency but you know the frequency transitions are not extremely
sharp (i.e. are not high Q resonances).
Refinement frequencies chosen automatically after each pass: This is the automated strategy and tends to
generate accurate results, but it also tends to result in the longest simulation times. This strategy is recommended:
For structures with high Q resonances.
During final analysis of a structure where accuracy is preferred over fast simulations.
) in View Tools. The mesh that is displayed is the one that was used in
the last successful FEM simulation. If an FEM simulation did not complete successfully, its mesh will not be not
available for viewing.
3. The mesh controlling options are displayed at the bottom of the Geometry window, as shown highlighted in the
following figure:
119
FEM Simulation
Using the mesh view control options, you can perform the following tasks:
Controlling the Mesh View
Viewing a Shaded Mesh
Viewing a Background Mesh
Viewing a Mesh for Boundary Faces
Viewing a Mesh for Port Faces
120
FEM Simulation
Remove selection from the Toggle Parts Visibility option to view a shaded mesh.
121
FEM Simulation
1.
122
FEM Simulation
1. Unarchive the QFN Package project from Help > Example.
2. Open the QFN Package.ep.
3. Click Simulations.
4. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
displayed.
Best practices
123
FEM Simulation
Best practices
Simplify the design by removing unnecessary (for the EM-modeling) detail. Various geometry modification tools are
available within the EMPro GUI to achieve this.
Avoid shelled objects where the thickness of the shell is much smaller than the total dimensions of the object. In
this case, replace the thick shell with a thin sheet.
Visually inspect the design for small gaps between two 3D objects. Consider removing the gaps by moving one of
the objects to create overlap between objects.
Avoid using complex Boolean subtractions: use the mesh priority to set the correct object precedence for meshing.
For example, a metal object sticking through a dielectric object will be meshed as such if the priority of the metal
object is set to a higher value than the dielectric object.
To isolate specific objects that are causing mesh failures, you can selectively include or exclude objects from a simulation
by using the Include In Mesh option in the context menu of objects.
Known Issue
Using English units may create small gaps or slivers in some designs
EMPro uses SI (metric) units as the default system units. When a design is created and modified using English units, an
internal unit conversion is made during each operation. Each internal conversion introduces small rounding errors. As
more operations are completed, the rounding errors can accumulate to the point where small gaps or slivers may appear
in the design. The FEM mesher has difficulty in meshing geometries containing these small gaps or slivers. This problem
can be minimized either by finding and eliminating the small gaps or slivers, by reducing the number of operations on a
design (reducing the number of internal unit conversions), by using metric units during the creation and modification of
the design (eliminating internal unit conversions), or by using Match Points alignment tool. This issue will be addressed
in the next release of EMPro.
Solution
Import designs using metric units. This will reduce the occurrence of errors caused by the conversion between
metric units and English units.
When designs are imported in English units, move designs as a group, and minimize unnecessary drawing
operations to avoid the creation of small gaps or slivers.
When performing operations, such as moving, on designs containing imported objects, using the Match Points
alignment tool may eliminate any small geometrical offsets created.
Create parametric equations in metric units. The conversion between metric and English units has limited
precision, so mixing parametric equations and direct coordinate entry may introduce small gaps or slivers.
124
FEM Simulation
Internal ports
Voltage / Current line sources that can be placed inside 3D structure
Include parasitic inductance that may reduce simulation accuracy
125
FEM Simulation
Reduced parasitic inductance compared to standard internal port
A sheet port needs to align with the polarity of a port. Otherwise, the sheet port becomes twisted.
You can define these ports without defining a new feed definition or with a new feed definition.
FEM supports only the New feed definition. The Passive load, Switch, Non Linear Capacitor and Diode ports are not
supported in FEM. For more information about Component ports, refer to the Adding Circuit Components section.
Component Feeds
EMPro supports the Component Feed port in the FEM simulation setup. The Component Feed ports are direct point feeds
having a negative and positive connection point to the metallization of the design. For more information about
Component Feeds, refer to the Adding Circuit Components section.
For FEM simulations, only the following component feed definitions are allowed, which specify the voltage sources with a
termination impedance.
Feed Definition as Voltage
126
FEM Simulation
The termination resistance can be of any value, but Amplitude can be maximum of 1 V or 1 A. If while defining component
port No definition option is used, then after defining port, appropriate definition of the Voltage source or Current source
must be applied.
127
FEM Simulation
Waveguide Port
Waveguide ports enable you to shift the location of the reference lines used for the S-parameters. It consists of the
following features:
Calibrated 2D-plane source
User defines a 2D plane for the port in the simulation domain with a source impedance, which could be simply 50?
or RLC
Higher order modes calculations are available
You can select the following types of reference offsets:
Specifying a positive reference offset: Shifts the reference planes in the direction towards the circuit.
Specifying a negative reference offset: Shifts the reference planes in the direction away from the circuit.
radius. The effective radius is impacted by both the local mesh density and mesh orientation.
In EMPro 2011.02, the impressed current of a current source can be distributed uniformly along a user-defined sheet. As
such, the parasitic inductance of this source is essentially the inductance of a sheet of uniformly distributed current with
an effective thickness. This thickness is of the same order as the effective radius of the non-distributed source
implementation.
A sheet port needs to align with the polarity of a port. Otherwise, the sheet port becomes twisted.
Sheet current sources have the following advantages in comparison to non-distributed current sources:
Lower parasitic inductance.
Decrease in the current fan-out as the current spreads to be the current distribution of the signal line.
In EMPro 2013.07, an automatic calibration routine is added for FEM circuit sources with a sheet
extent to remove the self-inductance of the sheet of current that flows through the source. Circuit
sources with Use Sheet disabled yet calibrated in FEM (and thus include excess inductance).
See Also
Simulating a Microstrip Line with Sheet Port
128
FEM Simulation
129
FEM Simulation
Adding a port, includes selecting the object face, defining voltage, and defining an impedance line. To create a waveguide
port:
1. Select or choose a 2D face on object where the waveguide port will be located.
2. Specify the size of port by entering numbers for u, v extension from the selected face.
3. Define nodal or modal, and number of modes.
4. Define impedance lines to calculate port impedance.
You can perform all these tasks by using the EMPro Waveguide Ports Editor.
1. Right-click Circuit Components/Ports and select New Waveguide Port. After a new waveguide port option is
chosen, the EMPro Waveguide Ports Editor is displayed.
2. Click
to select a 2D face on object where the waveguide port will be located. After you have selected the
face, all the tabs are enabled in the EMPro Waveguide Ports Editor.
FEM Simulation
4. Specify the size of port by entering numbers for u, v extension from the selected face. For more information, see
Specifying Port Dimensions.
5. Click the Properties tab in the EMPro Waveguide Ports Editor. For more information, see Specifying Port
Properties.
Type a name for your waveguide port.
Select an option from the Waveguide Port Definition drop-down list. For more information, see Waveguide
Port Definition
Specify the number of modes for this port from the Number of Modes field. For more information, see
Modes
Select a value from the Impedance Definition drop-down list.
Specify a value in the Reference Offset field. For more information, see Reference Offsets
6. Click the Impedance Lines tab. For more information, see Creating an Impedance Line.
Select a mode from the Mode Number drop-down list.
Select the start point of the line by either typing the coordinates in the X, Y, and Z fields or by clicking
in Endpoint1 to select the X dimensions.
Select the end point of the line by either typing the coordinates in the X, Y, and Z fields or by clicking
in Endpoint2 to select the X dimensions. The endpoint2 values define the direction and length of the
impedance line.
7. Click Done.
131
FEM Simulation
1. Open the EMPro Waveguide Ports Editor by right-clicking Circuit Components/Ports and then selecting New
Waveguide Port.
3.
132
FEM Simulation
3. Type the lower limit of the port dimension in U and V fields.
4. Type the upper limit of the port dimension in U and V fields.
5. Select the Auto-extend to simulation domain boundaries option to automatically expand the port dimensions
according to the domain boundary.
If the Auto-extend option is enabled, the port dimensions extend automatically according to the domain boundary:
1. Open the EMPro Waveguide Ports Editor by right-clicking Circuit Components/Ports and then selecting New
Waveguide Port.
2. Select a face.
3. Click the Properties tab in the EMPro Waveguide Ports Editor.
4. Type a name for your waveguide.
5. Select 50 ohm Voltage source from the Waveguide Port Definition drop-down list. For more information, see
Waveguide Port Definition.
6. Specify the number of modes for this port from the Number of Modes field. For more information, see Modes.
7. Select a value from the Impedance Definition drop-down list.
8. Specify a value in the Reference Offset field. For more information, see Reference Offsets.
133
FEM Simulation
When waveguide port is chosen automatically, both Voltage source and 1 W Modal power feed is added in circuit
component definition.
If you choose 1 W Modal power feed and define two modes for one waveguide port, the reference impedance for this
mixed mode results are Z odd and Zeven. For two modes port, the modes are odd and even. You can determine the
corresponding mode of a port by checking its E-field distribution. If the E-field distribution of port 1 is symmetrical, it is an
even mode. If the E-field distribution is unsymmetrical, it is an odd mode.
If a waveguide port is using 50 ohm feed, the result is single end mode.
If there is a voltage source already present, Waveguide ports will only add 1 W modal power source.
To set up a waveguide port with voltage source, refer to Create and Simulate a Microstrip Line.
To set up a waveguide port with 1 W modal power source, refer to Performing Multimode Analysis on Rectangular
Waveguide. Modal power feed is useful if modal analysis of the structure needs to be carried.
134
FEM Simulation
Zpv: Power-voltage relationship, requires the impedance line to calculate the voltage
Zvi: Voltage-current relationship, requires the impedance line to calculate the voltage
Modal Ports:
Modal Ports provide the following features:
135
FEM Simulation
Generates Generalized S-parameters.
Each row/column of S-matrix associated with a waveguide mode.
Generated in EMPro when Circuit Component Type is Modal Power Feed.
Analogous to differential/common S-parameters.
Useful when analyzing transitions between different impedances, or for strongly frequency dependent line
impedance.
Number of Modes
You should specify the number of modes to include all the propagating modes in the port for a specified frequency. Each
mode results in creating a set of S-parameters. Therefore, if you are analyzing two modes at each port in a three-port
structure, the final result is a 6x6 S-matrix. In general, an n-port solution is the total number of excitations of all ports, the
number of modes, plus the number of sources.
Each higher-order mode represents a different field pattern that can propagate down a waveguide. In general, all
propagating modes should be included in a simulation. You can accept the default of 1 mode, but where propagating
higher-order modes are present you need to change this to include higher-order modes. If there are more propagating
modes than the number specified, a warning will be displayed when you attempt to solve the structure. You can increase
the number of modes, then simulate. The number of modes can vary among ports.
Note that choosing more modes returns more detail but it does not increase the simulation time proportionally, the
increase in simulation time will be less than proportional. If you choose not to include some higher-order modes in a
simulation, make sure the cross sections on the ports are long enough so that the modes die out and are not reflected
back.
FEM Simulation
You need to characterize only the variation of the step-in-width itself, as shown in the following figure:
As mentioned previously, it takes a little distance for the fundamental mode to settle, which means that this short
structure might not yield the accuracy that you expect from the simulation. In this case, allow for some feed line length,
as shown in the following figure:
Now, the simulation will yield accurate results, but the results will also contain the extra line lengths. To resolved this
issue, use reference offsets. Although, the circuit has been calculated with the long lines, reference offset shifting allows
you to produce the S-parameters as if the short structure had been simulated instead, as shown in the following figure:
137
FEM Simulation
The effect of the extra feed lines is mathematically eliminated from the S-parameter solution. This process of adding or
subtracting line length is generally referred to as de-embedding. During the solution process, the impedance and
propagation constant has been calculated for the ports, based on their physical location in the circuit. When you know
the impedance, propagation constant, and the distance of de-embedding, you can cancel out the extra lengths of line
from the S-parameter results, by compensating for the loss and phase shifts of those lines. The net result is a set of
S-parameters, calculated as if the extra line lengths were not there.
138
FEM Simulation
1. Open the EMPro Waveguide Ports Editor by right-clicking Circuit Components/Ports and then selecting New
Waveguide Port.
in
4. Select the end point of the line by either typing the coordinates in the X, Y, and Z fields or by clicking
in
Endpoint2 to select the X dimensions. The endpoint2 values defines the direction and length of the impedance
line.
5. Click Done. The impedance line appear on the waveguide port.The Waveguide port that you have defined still
shows an invalid symbol. As per the message waveguide port should lie on the faces of the geometry. You need to
change padding in x direction. Both lower and upper padding in X direction should be 0mm as waveguide port lie
on X plane.
6. Open the FEM Padding Editor by double clicking FEM Padding in the project tree.
7. Select Custom and type 0 mm in Lower-X field.
8. Click Done. This makes the waveguide port valid.
9. Similarly, define another waveguide port at X=7.5 mm plane. Once both waveguide ports are defined, the
waveguide ports appear on the structure, as shown in the following figure:
139
FEM Simulation
140
FEM Simulation
where:
All quantities are complex numbers.
The magnitudes of a and b are normalized to a field carrying one watt of power.
|a i | 2 represents the excitation power at port i.
|b i | 2 represents the power of the transmitted or reflected field at port i.
The full field pattern at a port is the sum of the port's excitation field and all reflected/transmitted fields.
The phase of a i and b i represent the phase of the incident and reflected/transmitted field at t=0,
Represents the phase angle of the excitation field on port i at t=0. (By default, it is zero.)
Represents the phase angle of the reflected or transmitted field with respect to the excitation field.
S ij is the S-parameter describing how much of the excitation field at port j is reflected back or transmitted to port
i.
For example, S 31 is used to compute the amount of power from the port 1 excitation field that is transmitted to port 3.
The phase of S 31 specifies the phase shift that occurs as the field travels from port 1 to port 3.
When the 2D solver computes the excitation field for a given port, it has no information indicating
which way is up or down. Therefore, if ports have not been calibrated, it is possible to obtain solutions
in which the S-parameters are out of phase with the expected solution.
Frequency Points
The S-parameters associated with a structure are a function of frequency. Therefore, separate field solutions and
S-matrices are generated for each frequency point of interest. FEM Simulator supports two types of frequency sweeps:
141
FEM Simulation
Discrete frequency sweeps, in which a solution is generated for the structure at each frequency point you specify.
Fast frequency sweeps, in which asymptotic waveform evaluation is used to extrapolate solutions for a range of
frequencies from a single solution at a center frequency.
Fast frequency sweeps are useful for analyzing the behavior of high Q structures. For wide bands of information, they are
much faster than solving the problem at individual frequencies.
Within a fast frequency solution, there is a bandwidth where the solution results are most accurate.
This range is indicated by an error criterion using a matrix residue that measures the accuracy of the
solution. For complex frequency spectra that have many peaks and valleys, a fast sweep may not be
able to accurately model the entire frequency range. In this case, additional fast sweeps with different
expansion frequencies will automatically be computed and combined into a single frequency
response.
Z- and Y-Matrices
Calculating and displaying the unique impedance matrices (Z) associated with a structure is performed in the post
processor.
Characteristic Impedances
FEM Simulator calculates the characteristic impedance of each port in order to compute a renormalized S-matrix,
Z-matrix, or Y-matrix. The system computes the characteristic impedance of each port in three ways-as Z pi , Z pv , and Z
vi impedances.
You have the option of specifying which impedance is to be used in the renormalization calculations.
PI Impedance
The Z pi impedance is the impedance calculated from values of power (P) and current (I):
The power and current are computed directly from the simulated fields. The power passing through a port is equal to the
following:
142
FEM Simulation
While the net current computed in this way will be near zero, the current of interest is that flowing into the structure, I - or
that flowing out of the structure, I+ . In integrating around the port, the system keeps a running total of the contributions
to each and uses the average of the two in the computation of impedances.
PV Impedance
The Z pv impedance is the impedance calculated from values of power (P) and voltage (V):
where the power and voltage are computed directly from the simulated fields. The power is computed in the same way as
for the Z pi impedance. The voltage is computed as follows:
The path over which the system integrates is referred to as the impedance line, which is defined when setting up the
ports. To define the impedance line for a port, select the two points across which the maximum voltage difference occurs.
FEM Simulator cannot determine where the maximum voltage difference will be unless you define an impedance line.
VI Impedance
The Z vi impedance is given by:
For TEM waves, the Z pi and Z pv impedances form upper and lower boundaries to a port's actual characteristic
impedance. Therefore, the value of Z vi approaches a port's actual impedance for TEM waves.
Choice of Impedance
When the system is instructed to renormalize the generalized S-matrix or compute a Y- or Z-matrix, you must
specify which value to use in the computations, Z pi , Z pv , or Z vi.
For TEM waves, the Z vi impedance converges on the port's actual impedance and should be used.
When modeling microstrips, it is sometimes more appropriate to use the Z pi impedance.
For slot-type structures (such as finline or coplanar waveguides), Z pv impedance is the most appropriate.
De-embedding
If a uniform length of transmission line is added to (or removed from) a port, the S-matrix of the modified structure can be
calculated using the following relationship:
143
FEM Simulation
Where,
l i is the length of the uniform transmission line that has been added to or removed from the structure at port i. A
positive value indicates that a length of transmission line has been removed from the structure.
The value of for the dominant mode of each port is automatically calculated by the 2D solver.
Equations
The sections below describe some of the equations that are solved in a simulation or used to define elements of a
structure.
where:
E( x,y,z ) is a phasor representing an oscillating electric field
The difference between the 2D and 3D solvers is that the 2D solver assumes that the electric field is a traveling wave with
this form:
144
FEM Simulation
Maxwell Equations
The field equation solved during a simulation is derived from Maxwell's Equations, which in their time-domain form are:
Where:
E (t) is the electric field intensity.
D (t) is the electric flux density, E (t), and is the complex permittivity.
H (t) is the magnetic field intensity.
B (t) is the magnetic flux density, H (t), and is the complex permeability.
J (t) is the current density, E (t).
is the charge density.
Phasor Notation
Because all time-varying electromagnetic quantities are oscillating at the same frequency, they can be treated as phasors
multiplied by ej t (in the 3D solver) or by ej t - z (in the 2D solver).
In the general case with the 3D solver, the equations become:
145
FEM Simulation
where B , H , E , and D are phasors in the frequency domain. Now, using the relationships B = H , D = E , and J = E ,
Maxwell's Equations in phasor form become:
for = 0
Where:
H and E are phasors in the frequency domain, is the complex permeability, and is the complex permittivity.
H and E are stored as phasors, can be visualized as a magnitude and phase or as a complex quantity.
146
FEM Simulation
equation to produce:
Conductivity
Although good conductors can be included in a model, the system does not solve for any fields inside these materials.
Because fields penetrate lossy conductors only to one skin depth (which is a very small distance in good conductors), the
behavior of a field can be represented with an equivalent impedance boundary.
For perfect conductors, the skin depth is zero and no fields exist inside the conductor. Perfect conductors are assumed to
be surrounded with Perfect E boundaries.
, is complex:
becomes:
147
FEM Simulation
and
Now, if the freespace phase constant (or wave number) is defined as,
148
FEM Simulation
1. Select FEM Simulation from the drop-down list on the Simulation toolbar.
2. Right-click Circuit Components/Ports > New Circuit Component with > New Passive Load Definition. The New
Circuit Component window is displayed in the Geometry workspace.
3. Specify the coordinates for endpoint 1 and endpoint 2 in the Connections tab, as shown in the following figure:
149
FEM Simulation
1. Select FEM Simulation from the drop-down list on the Simulation toolbar.
2. Right-click Circuit Components Definitions > New Circuit Component Definition. The Circuit Component Definition
Editor is displayed, as shown in the following figure:
150
FEM Simulation
9. Click Apply.
10. Click Done.
1. Select FEM Simulation from the drop-down list on the Simulation toolbar.
2. Right-click Circuit Components Definitions > New Circuit Component Definition. The Circuit Component Definition
Editor dialog box is displayed.
FEM Simulation
4. Select Feed from the Type drop-down list.
5. Type a value in the Resistance text box.
Since the RLC values in the Feed setup are also used to compute the reference impedance of
this port, always use real numbers for the reference impedance. For a Feed setup, assign 0
values for Inductance and Capacitance options.
152
FEM Simulation
1. Double-click Boundary Conditions in the Simulation Domain branch of the project tree. The Boundary Condition
Editor is displayed.
153
FEM Simulation
154
FEM Simulation
Creating a Substrate
You need to create a rectangular substrate named Substrate, with orientation specified from (-7.5, -10) to (7.5, 10) and
2mm extrude distance in the +Z direction.
1. Click Extrude on the Create Geometry toolbar. You can also select Create > Geometry > Extrude. The Create
Extrude window is displayed.
1552.
FEM Simulation
3. Press the Tab key. The Specify Position dialog box is displayed. Specify the following coordinates:
In the U field, type -7.5 mm.
In the V field, type Type -10 mm.
4. Click OK.
5. Press the Tab key again to specify coordinates of the bottom-left vertex. The Specify Position dialog box is
displayed. Specify the following coordinates:
In the U field, type 7.5 mm.
In the V field, type 10 mm.
If you are unable to open the Specify Position dialog box, click once in the Geometry
window and then press the Tab key.
6. Accept the default width and height. A rectangle is created in the Geometry window:
5. Right-click the top-left vertex point of the rectangle and select Edit Position to modify the rectangle coordinates.
156
5.
FEM Simulation
6. The Specify Position dialog box is displayed. Specify the following coordinates:
U: Type -7.5 mm.
V: Type -10 mm.
7. Click OK.
8. Right-click the bottom-right vertex point of the rectangle and select Edit Position to modify the rectangle
coordinates.
9. The Specify Position dialog box is displayed. Specify the following coordinates:
U: Type 7.5 mm.
V: Type 10 mm.
) on the Create Geometry toolbar. You can also right-click the Parts branch of the project
tree and choose Create New > Sheet Body. The *Create Sheet Body window is displayed.
2. Click the Specify Orientation tab. Set the origin to (0, 0, 2 mm) to place the Sheet Body on top of the Substrate.
3. Click the Edit Profile tab. Type Microstrip Line in the Name text box.
4. Select the Rectangle tool (
5. Press the Tab key. The Specify Position dialog box is displayed. Specify the following coordinates:
U: Type -7.5 mm.
V: Type -1 mm.
6. Press the Tab key again to specify coordinates for the bottom-left vertex. The Specify Position dialog box is
displayed. Specify the following coordinates:
157
6.
FEM Simulation
U: Type 7.5 mm.
V: Type 1 mm.
Alternatively, you can create a microstrip line by performing the following steps:
5. Right-click the top-left vertex point of the rectangle and select Edit Position to modify the rectangle coordinates.
6. The Specify Position dialog box is displayed. Specify the following coordinates:
U: Type -7.5 mm.
V: Type -1 mm.
7. Click OK.
8. Right-click the bottom-right vertex point of the rectangle and select Edit Position to modify the rectangle
coordinates.
9. The Specify Position dialog box is displayed. Specify the following coordinates:
158
9.
FEM Simulation
U: Type 7.5 mm.
V: Type 1 mm.
1. From the Definitions branch of the project tree, right-click Materials and select New Material Definition. A new
material object is added under Materials.
2. Double-click the new material to edit its properties. Specify the following properties for the electric conductor
material:
Name: Dielectric
Electric: Isotropic
Magnetic: Freespace
Relative Permittivity = 9.9
Conductivity = 0 S/m
Accept the other default values:
159
FEM Simulation
Depending on your requirements, you can also set the display color of the PEC material in the Appearance tab.
You can also add a default material available in the library. To add Cu from the material library:
1. Right-click Materials in the project tree and choose the Select from Default Material Library option.
2. Select the material Cu (copper) and click Add. This material is added in the material list.
Assigning Materials
To assign materials:
1. Click and drag the CU material object located in the project tree and drop it on top of the Microstrip Line objects
in the Parts branch of the tree.
2. Assign the Alumina material to the Substrate object using the same procedure.
The following figure displays the project tree after material objects have been dropped on their respective parts:
The following image shows the Microstrip Line geometry with materials applied and colors set for each.
160
FEM Simulation
1. Double-click Boundary Conditions in the Simulation Domain branch of the project tree to open the Boundary
Conditions Editor.
2. Set the outer boundary properties as * Boundary: Select Absorbing for all boundaries except Lower Boundary Z,
which should be PEC.
5. Click Done.
Adding a Port
Adding a port, includes selecting the object face, defining voltage, and defining an impedance line. You can perform all
these tasks by using the EMPro Waveguide Ports Editor. To select a face where you want to add a port:
1. Right-click Circuit Components/Ports and select New Waveguide Port, as shown below:
161
FEM Simulation
2. The EMPro Waveguide Ports Editor is displayed. In the Location tab, click
Define Voltage
To define voltage:
in
3. Select the end point of the line by either typing the coordinates in the X, Y, and Z fields or by clicking
in
Endpoint2 to select the X dimensions. The endpoint2 values defines the direction and length of the impedance
line.
4. Click Done. The impedance line appear on the waveguide port.The Waveguide port that you have defined still
shows an invalid symbol. As per the message waveguide port should lie on the faces of the geometry. You need to
change padding in x direction. Both lower and upper padding in X direction should be 0mm as waveguide port lie
on X plane.
162
5.
FEM Simulation
1. Select FEM Simulation from the drop-down list available in the Simulation toolbar.
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
displayed.
Viewing Results
After simulating the microstrip line, you can view results in the Results window.
1. Click Results to open the Results window. The results of FEM simulation are displayed.
2. Select S-Parameters in the Result Type column. The s-parameter results for port 1 and port 2 are displayed.
163
FEM Simulation
2.
3. Double-click the required result type in the bottom pane to view a plot:
Advanced Visualization
In the Advanced Visualization window, you can view boundaries, animation, E fields, and field sensors.
Animation is disabled for DC plots.
To view an animation:
164
FEM Simulation
1. Click Advanced Visualization in the Results window.
2. Click the Plot Properties tab.
3. In Field Sensors, select Enable for the required field sensor.
4. Select Animate. The animation options are enabled and progress of the field with phase is displayed in the
Visualization window.
165
FEM Simulation
to specify the position and select one corner of Microstrip line as shown below:
Endpoint 2 displays the coordinates of one corner of the Microstrip line, as shown highlighted in the
following figure:
A sheet port needs to align with the polarity of a port. Otherwise, the sheet port becomes
twisted.
166
FEM Simulation
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
167
FEM Simulation
4. Click the Field Storage tab and select User Specified frequencies. This saves field data only at the starting and end
frequency of the Adaptive frequency sweep.
7. Click the Advanced tab and select Use Initial Target Mesh Size.
8. Click the Matrix Solver tab and select Iterative.
9. Click Create and Queue Simulation to start FEM simulation.
Comparing Results
An important advantage of a sheet current source is that it has a smaller parasitic inductance than line current sources.
This is highlighted in the following plot, showing S11 with and without sheet ports. If sheet ports are used, the resonance
frequencies are shifted to the left. This shift is caused by the reduction of the parasitic inductance of the current sources.
168
FEM Simulation
169
FEM Simulation
5. Right-click Vertex 0 and select Edit Position, as shown in the following figure:
170
FEM Simulation
2. Double-click Strip to display the part geometry in the Geometry-Editing Sheet Body window.
3. Choose Tools > Select/Manipulate in the Geometry-Editing Sheet Body window, as shown in the following
window:
5. Right-click Vertex 2 and select Edit Position. The Specify Position dialog box is displayed, as shown in the
following figure:
171
FEM Simulation
6. Change the value of V coordinate to 0 and clear the Lock check box. This reduces the width of the Strip to half.
7. Click Ok.
8. Click Done.
The ports are available at edges of the Substrate in the complete geometry, as shown in the following figure:
172
FEM Simulation
4. Click Done.
5. Select FEM Padding from the Simulation Domain list. The FEM Padding Editor dialog box is displayed.
6. Change Y parameter of Lower from 0 mm from 20 mm, as shown in the following figure:
7. Click Done.
1. Select FEM from the drop-down list available in the Simulation toolbar.
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
173
FEM Simulation
4. Click Mesh/Refinement Properties and specify the settings, as shown in the following figure:
174
FEM Simulation
5. Click the Advanced tab and specify the required settings, as shown in the following figure:
175
FEM Simulation
Boundaries are visible on the object, where the pink color represents the symmetric plane.
176
FEM Simulation
5. To view the internal structure of the object, clear the Symmetric check box in the Mesh/Boundaries pane.
177
FEM Simulation
Project Setup
Create a waveguide geometry
Simulate a waveguide model
Simulation Setup
Simulation Engine: FEM
Simulation frequencies and sweep: 0 to 10 GHz and Adaptive Freq Sweep
Simulation Accuracy (Delta-S): 0.02 (2%)
Solver: Direct Solver
Results
View S Parameter
View Propagation Constant
View Field
After you have created a design, you need to complete the following procedure before performing a simulation. However,
you do not need to perform these steps sequentially.
1. Click Extrude (
and specify the inner dimensions as ( -20 mm, -20 mm) and (20 mm,20 mm).
Also, specify the outer dimensions as (-21mm, -21 mm) and (21 mm,21mm).
3.
178
FEM Simulation
3. Extrude the waveguide to 50 mm length. This will draw a square waveguide of 40 mm x 40 mm cross section and
length 50 mm.
4. Specify the name the of the waveguide as Square Waveguide and assign the material Aluminium. The resulting
waveguide appears as follows:
1.
179
FEM Simulation
1. Select FEM Simulation from the drop-down list available in the Simulation toolbar.
2. Right-click Circuit Components/Ports and select New Waveguide Port to a new waveguide port. This opens the
EMPro Waveguide Port Editor.
3. Choose view Bottom( +z)to define the Waveguide port at Z equals to 0mm value. From Waveguide Port Editor >
Location, choose
4. In the EditCrossSectionPage tab, remove the selection of Auto Extend to simulation domain boundaries to restrict
the waveguide port to waveguide cross section only.
5. In the Properties tab, choose Waveguide Port Definition and choose the number of modes equals to 2. Also, for
Waveguide port definition choose 1 W Modal power feed, as shown in the following figure:
6. In the Impedance Lines tab, choose center of the lower edge from Impedance for Endpoint 1.
7. For endpoint 2, choose center point of the upper edge.
180
FEM Simulation
This defines mode 1 for port 1. Similarly, you can define mode 2 for port 1. If Waveguide port 1 is displaying invalid sign,
change the padding as shown in the following figure:
While specifying the FEM padding of waveguide structure, consider the following guidelines:
The +/- Z padding MUST be zero for a valid waveguide port definition. The padding in the orthogonal direction of
waveguide plane should be 0 mm. In this case, the Z axis is orthogonal to waveguide planes. After placing these
paddings, the waveguide port will become valid.
The +/- X and Y padding COULD be set to zero for a more efficient simulation Choose Top(-z) view to define second
waveguide port at z=50 mm. Repeat the same steps as defined above to create second waveguide port and two
modes.
A Waveguide with waveguide ports having two excited modes appears as follows:
181
FEM Simulation
Setting up Simulation
1. Select FEM from the drop-down list available in the Simulation toolbar.
2. Click Setup (
) to create and edit the setup of a new simulation. The Setup FEM Simulation window is
FEM Simulation
4. Click Setup Mesh/Refinement Properties.
5. Choose the mesh convergence properties, as shown in the following figure:
Viewing Results
Viewing S Parameter
For waveguide port 1, port 1 and port 2 are defined for two modes. For the waveguide port 2, port3 and port4 are defined
for two modes. Therefore, port 1 of waveguide port 1 will couple to port 3 of waveguide port2 since they are for same
mode. Similar coupling takes place for port 2 and port 4. The S13 and S24 plot is displayed in the following figure:
Cross mode coupling S14 and S23 is displayed in the following figure:
183
FEM Simulation
The set of equations solved by FEM are without any condition at the waveguide mode cut-off frequencies.
This leads to the spike in S14 and S23 seen around 3.75 GHz
Viewing Field
You can viewing fields for different modes by selecting a project from the Results window and and clicking Advance
Visualization. In the Advance Visualization window, click Solution Setup and select one of the frequency in pass band. For
the following plots, 6.9 GHz frequency is selected. Also, choose Port 1 mode 1 to see TE10 mode in the waveguide.
In the Plot Properties tab, choose Z=0 in the field plot planes. Choose Shaded plot and log scale. The plot will appear as
shown in the following figure:
184
FEM Simulation
Select Animate to see the progress of the field with phase. Remove the selection from Shaded plot and select Arrow plot.
This is TE01 mode, as shown in the following figure:
Click the Solution Setup tab and select Port 1 mode2. Choose shaded plot in solution setup. Clear the Shaded Plot check
box and select the Arrow Plot check box. The following figure displays the TE01 mode:
185
FEM Simulation
Add a plane by clicking Add in field plot planes to see the field along the length of the waveguide section.
Move this plane on the center of the waveguide by using edit option. Choose Shade plot to see fields on this plane.
186
FEM Simulation
Perform the following tasks to create an Eigenmode simulation for the rectangular cavity:
Creating a New Project
Creating a New Geometry
Creating and Assigning Materials
Defining the Outer Boundary
Setting up an Eigenmode Simulation
Running the Eigenmode Simulation
Viewing Eigenmode Simulation Results
7.
187
FEM Simulation
7. Click Done.
1. Right-click Materials in the Definitions list and Select from Default Material Library.
2. Select Air in the Add a Default Material window.
3. Click Add. The Air material is displayed in the Materials list.
4. Click and drag the Air material object and drop it on top of the rectangular box object present in the Parts list. The
following figure displays the rectangular box after assigning the Air material object.
You do not need to specify excitations in the Eigenmode solver. You can skip this step. Excitations in
Eigenmode solver may abort a simulation.
188
FEM Simulation
A structure with perfect conducting boundaries: PEC or PMC. In this release, the Eigenmode solver does not
support Radiation, Esymmetry, and Msymmetry conditions.
A structure with metal surroundings, such as a copper box or an aluminum cylinder. For more information, refer
#Adding Lossy Metal.
To define an outer boundary:
1. Double-click Boundary Conditions in the Simulation Domain list. The Boundary Conditions Editor dialog box is
displayed.
189
FEM Simulation
It is important to specify zero value for FEM padding. If you keep the default FEM padding
values 20 mm, the 20 x 30 x 50 cavity would be expanded to 60 x 70 x 90. It is recommended to
use zero padding for all Eigenmode simulations.
The output of Eigenmode solver, Q values are 1000 for material with tangent 0.001, is displayed in the following figure:
The dielectric material with conductivity can be put inside the cavity and the Q values close to theoretical results are
produced, which is not shown in this document.
190
FEM Simulation
With a smaller Delta error value (1e-4 instead of 1e-3), the mesh refinement takes four more passes to converge, but the
results are more accurate compared to the theoretical results (Fana and Qana in table).
191