Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH...

160
Mesh Generation Tools Version Y-2006.06, June 2006

Transcript of Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH...

Page 1: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Mesh Generation ToolsVersion Y-2006.06, June 2006

Page 2: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

ii

Copyright Notice and Proprietary InformationCopyright © 2006 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.

Right to Copy DocumentationThe license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:

“This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of __________________________________________ and its employees. This is copy number __________.”

Destination Control StatementAll technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to determine the applicable regulations and to comply with them.

DisclaimerSYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Registered Trademarks (®)Synopsys, AMPS, Arcadia, C Level Design, C2HDL, C2V, C2VHDL, Cadabra, Calaveras Algorithm, CATS, CRITIC, CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM, HSPICE, Hypermodel, iN-Phase, in-Sync, Leda, MAST, Meta, Meta-Software, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PowerMill, PrimeTime, RailMill, RapidScript, Saber, SiVL, SNUG, SolvNet, Superlog, System Compiler, TetraMAX, TimeMill, TMA, VCS, Vera, and Virtual Stepper are registered trademarks of Synopsys, Inc.

Trademarks (™)Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, Cyclelink, Davinci, DC Expert, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design Analyzer, Design Vision, DesignerHDL, DesignTime, DFM-Workbench, Direct RTL, Direct Silicon Access, Discovery, DW8051, DWPCI, Dynamic-Macromodeling, Dynamic Model Switcher, ECL Compiler, ECO Compiler, EDAnavigator, Encore, Encore PQ, Evaccess, ExpressModel, Floorplan Manager, Formal Model Checker, FoundryModel, FPGA Compiler II, FPGA Express, Frame Compiler, Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, Hercules-Explorer, Hercules-II, Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIMplus, HSPICE-Link, iN-Tandem, Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Metacircuit, Metamanager, Metamixsim, Milkyway, ModelSource, Module Compiler, MS-3200, MS-3400, Nova Product Family, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Nova-VHDLlint, Optimum Silicon, Orion_ec, Parasitic View, Passport, Planet, Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate, ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, Raphael-NES, RoadRunner, RTL Analyzer, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, Source-Level Design, Star, Star-DC, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP, SWIFT, Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice, TSUPREM-4, TymeWare, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.

Service Marks (SM)MAP-in, SVP Café, and TAP-in are service marks of Synopsys, Inc.

SystemC is a trademark of the Open SystemC Initiative and is used under license.ARM and AMBA are registered trademarks of ARM Limited.All other product or company names may be trademarks of their respective owners.

Mesh Generation Tools, Y-2006.06

Page 3: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CONTENTS

Mesh Generation ToolsAbout this manual ...............................................................................................................................vii

Audience ........................................................................................................................................................... viiiRelated publications.......................................................................................................................................... viiiTypographic conventions .................................................................................................................................... ixCustomer support................................................................................................................................................ ixAcknowledgments ................................................................................................................................................x

Part I Overview ................................................................................................................... 1

Chapter 1 Introduction to mesh generators .......................................................................................3Overview .............................................................................................................................................................3Applications of different mesh generators ...........................................................................................................3

Chapter 2 Command file .......................................................................................................................5Overview .............................................................................................................................................................5Command file sections ........................................................................................................................................6

Definitions section ..........................................................................................................................................6Defining refinement regions ....................................................................................................................7Defining multibox refinement regions......................................................................................................8Defining submeshes................................................................................................................................8Defining constant profiles........................................................................................................................9Defining analytic profiles .......................................................................................................................10General function evaluator ....................................................................................................................12

Placements section ......................................................................................................................................13Geometric elements ..............................................................................................................................13Placing refinement regions....................................................................................................................15Placing multibox regions .......................................................................................................................15Placing profiles......................................................................................................................................16Placing submeshes ...............................................................................................................................17Referencing constant profiles................................................................................................................18Referencing analytic profiles .................................................................................................................18

Offsetting section..........................................................................................................................................21Layering and isotropic refinement .........................................................................................................23Surface mesh ........................................................................................................................................24Grid regularity feature ...........................................................................................................................25Isolines and isosurfaces........................................................................................................................27Special treatment of quantum wells ......................................................................................................27

Delaunizer section........................................................................................................................................29Delaunay tolerance ...............................................................................................................................31

AxisAligned section ......................................................................................................................................32Tensor section..............................................................................................................................................33

Box section for plotting (EMW applications)..........................................................................................35Controls section............................................................................................................................................35

Reading old command files ...............................................................................................................................36

Chapter 3 Boundary file......................................................................................................................37Overview ...........................................................................................................................................................37Input file in bound format ...................................................................................................................................37TDR support ......................................................................................................................................................38

iii

Page 4: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCONTENTS

Part II Mesh Generators .................................................................................................... 39

Chapter 4 Mesh....................................................................................................................................41Using Mesh .......................................................................................................................................................41Starting Mesh ....................................................................................................................................................42Command-line options ......................................................................................................................................43

Chapter 5 Noffset3D............................................................................................................................47Using Noffset3D ................................................................................................................................................47Starting Noffset3D .............................................................................................................................................47Command-line options ......................................................................................................................................48Algorithms (three-dimensional only) ..................................................................................................................49Accelerators (three-dimensional only) ...............................................................................................................53Two-dimensional specific parameters ...............................................................................................................54

Command-line options .................................................................................................................................54Offsetting parameters...................................................................................................................................54Layering parameters ....................................................................................................................................54

Chapter 6 Sentaurus Mesh .................................................................................................................55Using Sentaurus Mesh ......................................................................................................................................55Starting Sentaurus Mesh ...................................................................................................................................56Command-line options ......................................................................................................................................56

Part III Examples................................................................................................................. 59

Chapter 7 Doping and refinement......................................................................................................61Command file for a simple diode .......................................................................................................................61Using refinement polygons ................................................................................................................................62Regionwise and materialwise refinement ..........................................................................................................64Using analytic functions for refinement I ...........................................................................................................64Using analytic functions for refinement II ..........................................................................................................66Using analytic functions for doping specification ...............................................................................................67Implantation .......................................................................................................................................................68

Chapter 8 Noffset3D examples ..........................................................................................................69Simple example .................................................................................................................................................69Using the surface mesher .................................................................................................................................70Using the grid regularity feature ........................................................................................................................72Using Mesh-like refinement boxes in 3D and 2D ..............................................................................................73Field points ........................................................................................................................................................75Isosurface computation .....................................................................................................................................75Multi–quantum well meshing .............................................................................................................................76

Chapter 9 Tensor-product examples.................................................................................................79Simple cube ......................................................................................................................................................79Using Sentaurus MOCA ....................................................................................................................................81Thin regions ......................................................................................................................................................84

iv

Page 5: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CONTENTS

Part IV Technical Aspects.................................................................................................. 87

Chapter 10 Technical aspects of Mesh .............................................................................................89Valid polygons and polyhedra ...........................................................................................................................89Numeric considerations .....................................................................................................................................90Mesh refinement algorithm ................................................................................................................................90

Constructing the first coarse grid..................................................................................................................90Adaptation according to external data..........................................................................................................91Obtaining a conforming final grid..................................................................................................................91

Additional notes for arbitrary 3D geometries .....................................................................................................91Troubleshooting ................................................................................................................................................92

Early termination ..........................................................................................................................................92Mesh runs for an unexpectedly long time.....................................................................................................92Three-dimensional geometry and topology checker ....................................................................................92Error messages and invalid geometries .......................................................................................................93

Chapter 11 Technical aspects of Noffset3D .....................................................................................95Surface mesher .................................................................................................................................................95Grid regularity feature .......................................................................................................................................95

Chapter 12 Delaunization algorithm ..................................................................................................97Overview ...........................................................................................................................................................97Generating ridges and corners ..........................................................................................................................97Protecting ridges and corners ...........................................................................................................................98Conforming Delaunay triangulation algorithm ...................................................................................................98Optimizing elements ..........................................................................................................................................98Eliminating slivers .............................................................................................................................................99

Part V Appendices ........................................................................................................... 101

Appendix A Formulas for analytic profiles .....................................................................................103General concepts .............................................................................................................................................103

Local coordinate systems, valid domains, and reference regions..............................................................103One-dimensional profiles ....................................................................................................................104Two-dimensional profiles ....................................................................................................................104Three-dimensional profiles..................................................................................................................105

General implantation models......................................................................................................................105Gaussian function ...............................................................................................................................106Error function.......................................................................................................................................106

Other relevant parameters .........................................................................................................................107Dose....................................................................................................................................................107Values at the junction..........................................................................................................................108Length .................................................................................................................................................108

Available models along the primary direction...................................................................................................108Gaussian functions.....................................................................................................................................109Error functions ............................................................................................................................................110Constant functions......................................................................................................................................111External 1D profiles ....................................................................................................................................111

Lateral or decay functions ................................................................................................................................111Lateral Gaussian function...........................................................................................................................112Lateral error function ..................................................................................................................................112No lateral function ......................................................................................................................................113

v

Page 6: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCONTENTS

Appendix B Tutorials ........................................................................................................................115Introductory three-dimensional example ..........................................................................................................115

Setting default parameters .........................................................................................................................116Example ..............................................................................................................................................116

Setting the maximum size of elements.......................................................................................................117Example ..............................................................................................................................................117

Setting analytic profiles ..............................................................................................................................118Command file for a more realistic diode..............................................................................................119

Setting adaptation according to impurities and minimum size of elements................................................120Example: Command file for doping-dependent adaptation .................................................................121Example: Command file with minimum element size..........................................................................122

More complex doping profiles ....................................................................................................................122Example: Command file using values at the junction..........................................................................123

Statistics of tutorial examples.....................................................................................................................124Tutorial: Diode example ...................................................................................................................................125

Boundary file: diode.bnd.............................................................................................................................125One-dimensional diode .......................................................................................................................125Two-dimensional diode .......................................................................................................................125Three-dimensional diode.....................................................................................................................125

Command file: Abrupt diode.......................................................................................................................126Command file: Default parameters.............................................................................................................127Command file: Maximum size of elements.................................................................................................128Command file: Modifying the n-type region................................................................................................129Command file: Doping adaptation ..............................................................................................................130Command file: Minimum size of elements..................................................................................................131Command file: Using values at the junction ...............................................................................................132

Complex examples...........................................................................................................................................134One-dimensional NMOS ............................................................................................................................134

Boundary file .......................................................................................................................................134Command file for Mesh .......................................................................................................................134Command file for GRID1D ..................................................................................................................135

Two-dimensional NMOS ............................................................................................................................136Command file for Mesh .......................................................................................................................136

Three-dimensional: MOS-controlled thyristor.............................................................................................137Command file for Mesh .......................................................................................................................137

Three-dimensional example: ECL transistor ..............................................................................................140Command file for Mesh .......................................................................................................................140

Three-dimensional example: Incorporating external profiles......................................................................143Command file for Mesh .......................................................................................................................143DIP script file .......................................................................................................................................145

Three-dimensional example .......................................................................................................................146Command file for Mesh .......................................................................................................................146

Bibliography ......................................................................................................................................149

vi

Page 7: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS ABOUT THIS MANUAL

Mesh Generation Tools

About this manual

This manual describes the mesh generators Mesh, Noffset3D, and Sentaurus Mesh.

Mesh is a dimension-independent tool, which incorporates several different meshing engines, usingdifferent meshing techniques and algorithms. Mesh generates meshes that are suitable for semiconductordevice simulation. Local mesh refinement is performed by using the doping and refinement informationprescribed in the mesh command file (.cmd).

Noffset3D is a mesh generator that creates triangles and rectangles in 2D, and tetrahedrons in 3D. It isdesigned for simulators such as Sentaurus Device and Sentaurus Process that use the box method as adiscretization method. Noffset3D can be used wherever Mesh is used. However, unlike Mesh,Noffset3D produces fully unstructured meshes and mesh lines that are, in general, not parallel tocoordinate axes. Noffset3D meshes adapt to the geometry of a device by creating anisotropic layersalong certain interfaces. Other algorithms can be used, for example, to suit other data such as refiningp-n junctions.

Sentaurus Mesh is a mesh generator that incorporates two mesh generation engines: an axis-alignedmesh generation engine, which produces meshes that are similar to the meshes generated by Mesh, anda tensor-product engine which produces rectangular or hexahedral elements. Sentaurus Mesh is designedto be used in a wide range of simulators, including Sentaurus Device, Sentaurus Process, SentaurusDevice Electromagnetic Wave Solver (EMW), and Sentaurus MOCA. Local mesh refinement isperformed by using the doping and refinement information prescribed in the mesh command file (.cmd).

Part I: OverviewChapter 1 presents an introduction to the mesh generators.

Chapter 2 discusses the command file of the mesh generators.

Chapter 3 discusses the boundary file of the mesh generators.

Part II: Mesh GeneratorsChapter 4 describes the Mesh application and provides an example of Mesh functionality.

Chapter 5 describes how to start Noffset3D, its command-line options, and its algorithms.

Chapter 6 presents an introduction to Sentaurus Mesh.

Part III: ExamplesChapter 7 describes how to use the doping and refinement sections of the command file.

Chapter 8 describes how to use the offsetting section of the command file.

Chapter 9 describes how to use the tensor section of the command file.

vii

Page 8: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSABOUT THIS MANUAL

Part IV: Technical AspectsChapter 10 describes some technical aspects of the Mesh application.

Chapter 11 describes some technical aspects of the Noffset3D application.

Chapter 12 presents a description of the delaunization algorithm used by the tools.

Part V: AppendicesAppendix A provides information about the analytic models implemented in the various meshgenerators.

Appendix B is a tutorial explaining how to run the various applications.

AudienceThis manual is intended for users of the mesh generators Mesh, Noffset3D, and Sentaurus Mesh, whichare available in TCAD Sentaurus. This manual is to be used in conjunction with the Synopsys TCADproducts Sentaurus Device, Sentaurus Process, and Dios.

Related publicationsFor additional information about the mesh generators, see:

The Mesh Generation Tools release notes, available on SolvNet (see Accessing SolvNet on page ix).

Documentation on the Web, which is available through SolvNet athttps://solvnet.synopsys.com/DocsOnWeb.

Synopsys Online Documentation (SOLD), which is included with the software for CD users or isavailable to download through the Synopsys Electronic Software Transfer (EST) system.

viii

Page 9: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS ABOUT THIS MANUAL

Typographic conventions

Customer supportCustomer support is available through SolvNet online customer support and through contacting theSynopsys Technical Support Center.

Accessing SolvNet

SolvNet includes an electronic knowledge base of technical articles and answers to frequently askedquestions about Synopsys tools. SolvNet also gives you access to a wide range of Synopsys onlineservices including software downloads, documentation on the Web, and “Enter a Call to the SupportCenter.”

To access SolvNet:

1. Go to the SolvNet Web page at http://solvnet.synopsys.com.

2. If prompted, enter your user name and password. (If you do not have a Synopsys user name andpassword, follow the instructions to register with SolvNet.)

If you need help using SolvNet, click HELP in the top-right menu bar or in the footer.

Convention Explanation

{ } Braces

[ ] Brackets

Blue text Identifies a cross-reference (only on the screen).

Bold text Identifies a selectable icon, button, menu, or tab. It also indicates the name of a field, window, dialog box, or panel.

Courier font Identifies text that is displayed on the screen or that the user must type. It identifies the names of files, directories, paths, parameters, keywords, and variables.

Italicized text Used for emphasis, the titles of books and journals, and non-English words. It also identifies components of an equation or a formula, a placeholder, or an identifier.

NOTE Identifies important information.

ix

Page 10: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSABOUT THIS MANUAL

Contacting the Synopsys Technical Support Center

If you have problems, questions, or suggestions, you can contact the Synopsys Technical Support Centerin the following ways:

Open a call to your local support center from the Web by going to http://solvnet.synopsys.com(Synopsys user name and password required), then clicking “Enter a Call to the Support Center.”

Send an e-mail message to your local support center:

• E-mail [email protected] from within North America.

• Find other local support center e-mail addresses at http://www.synopsys.com/support/support_ctr.

Telephone your local support center:

• Call (800) 245-8005 from within the continental United States.

• Call (650) 584-4200 from Canada.

• Find other local support center telephone numbers at http://www.synopsys.com/support/support_ctr.

Contacting your local TCAD Support Team directly

Send an e-mail message to:

[email protected] from within North America and South America.

[email protected] from within Europe.

[email protected] from within Asia Pacific (China, Taiwan, Singapore, Malaysia,India, Australia).

[email protected] from Korea.

[email protected] from Japan.

AcknowledgmentsNoffset2D and Noffset3D were codeveloped by Integrated Systems Laboratory of ETH Zurich in thejoint research project MAGIC FEAT with financial support by the European Union and Swiss fundingagency BBW.

x

Page 11: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Part I Overview

This part of the Mesh Generation Tools manual contains the following chapters:

CHAPTER 1 INTRODUCTION TO MESH GENERATORS ON PAGE 3

CHAPTER 2 COMMAND FILE ON PAGE 5

CHAPTER 3 BOUNDARY FILE ON PAGE 37

Page 12: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical
Page 13: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 1 INTRODUCTION TO MESH GENERATORS

Mesh Generation Tools

CHAPTER 1 Introduction to mesh generators

This chapter is an introduction to the mesh generators Mesh, Noffset3D, and Sentaurus Mesh.

OverviewMesh Generation Tools is a suite of tools that produce finite-element meshes for use in applications suchas semiconductor device simulation, process simulation and electromagnetic simulation.

The different available meshers generate high-quality spatial discretizations for 1D, 2D, and 3D devicesusing a variety of mesh generation algorithms, and innovative ideas and procedures.

Mesh Generation Tools is composed of three mesh generation engines:

Mesh is an axis-aligned mesh generator capable of producing mixed-element meshes in 1D, 2D, and3D.

Noffset3D is an advancing front mesh generator, capable of producing triangular meshes in 2D andtetrahedral meshes in 3D. The meshes produced by Noffset3D can contain layers of elements thatare nearly-parallel to given surfaces of a semiconductor device structure.

Sentaurus Mesh is a new tool. It is a robust mesh generator capable of producing either axis-alignedmeshes or tensor-product meshes in 2D and 3D.

Applications of different mesh generatorsThe choice of which mesh generator to use in an application depends largely on the geometry of thedevice. For devices where the main surfaces are nonaxis-aligned or curved (for example, a MOS-typestructure where the channel is nonplanar), the recommendation is to use Noffset3D, since it producesmeshes containing layers parallel to the curved surfaces.

For devices where the most important surfaces are axis aligned, the recommendation is to use SentaurusMesh, since it is easier to control the doping adaptation using these axis-aligned mesh generators.

Mesh can be used for devices where all surfaces are axis aligned, since its algorithms are not as efficienthandling curved surfaces. In addition, Mesh can be used to generate 1D meshes.

For electromagnetic simulations using Sentaurus Device Electromagnetic Wave Solver (EMW), use thetensor-product mesh generator provided in Sentaurus Mesh.

3

Page 14: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 1 INTRODUCTION TO MESH GENERATORS

4

Page 15: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Mesh Generation Tools

CHAPTER 2 Command file

This chapter describes the mesh command file (.cmd) format.

OverviewIn the command file, users can specify different parameters for the generation of a mesh. White spaceseparates keywords, strings are presented with quotation marks, and sections are delimited by openingand closing braces. Comment lines start with * or #. Keywords used in the command file are not casesensitive.

Several different types of information can be given in the command file. Users can specify refinementinformation and doping profile information. In addition, the meshing parameters for the Noffset mesherand the delaunizer are stored in the command file.

Refinement information is required to control the mesh generation procedure according to userrequirements (local element size). This information is given using a set of parameters defined in theDefinitions section. Profile information is required to define the profiles, for example, doping profiles,which are used in grid adaptation. Doping profiles can be specified with three types of information:

External simulation results

Constant data

Analytic formulas and predefined functions describing a profile

The command file has different sections: Controls, Definitions, Placements, Offsetting, and Delaunizer.The main sections and keywords are:

Title The command file can start with an optional title statement. The keyword Titlefollowed by a string in double quotation marks constitutes the title statement.

Controls This keyword starts the control section of the command file. The defaultmeshing engine can be specified in this section.

Definitions This defines the sets of refinement parameters and profile definitions to be usedin the Placements section. These sets are referred to using their unique referencenames.

Placements This defines instances of the definitions given in the Definitions section, placedwith respect to the current device.

AxisAligned These parameters control the axis-aligned mesh generator in Sentaurus Mesh.

Tensor These parameters control the tensor-product mesh generator in Sentaurus Mesh.

5

Page 16: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

Offsetting Parameters of the 2D or 3D Noffset meshing engines can be specified in thissection. Noffset2D can be accessed using mesh -noffset; Noffset3D can beaccessed as a separate binary, noffset3d.

Delaunizer This controls the behavior of the delaunizer.

The following syntax is used:

Title "example name"Controls {meshing engine information}Definitions {defining information}Placements {placing information}Offsetting {offsetting information}Delaunizer {delaunizer information}

Command file sectionsThe different sections in the command file for the mesh generators are described here. Some sections arespecific to certain tools or algorithms. Table 1 lists the tools and which sections of the command file arerelevant to them.

Definitions sectionThe Definitions section is composed of sets of refinement and profile sections. Each section consists ofthe reference name, an opening brace, the specification of the corresponding parameters, and a closingbrace.

The order of the definitions inside the section is not important since these definitions are used asreferences in the Placements section. The syntax of this section is:

Definitions {Refinement "reference name" {

# set of parameters

Table 1 Sections of command file relevant to mesh generators

Section Mesh Noffset3D Sentaurus Mesh

Definitions x x x

Placements x x x

Offsetting x

Delaunizer x x x

AxisAligned x

Tensor x

Controls x

6

Page 17: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

}Multibox "reference name" {

# set of parameters}SubMesh "reference name" {

# set of parameters}Constant "reference name" {

# set of parameters}AnalyticalProfile "reference name" {

# set of parameters}...

Defining refinement regions

The syntax for each refinement region is:

Refinement "reference name" {MaxElementSize = value | vectorMinElementSize = value | vectorRefineFunction = MaxGradient(parameters) | MaxTransDifference(parameters)

}

where:

MaxElementSize Controls the maximum size of the grid elements. A real number or a vector can be specified, where is the dimension. represents the

maximum edge lengths along the coordinate axes. A vector can be used to refinenonisotropically. Only values greater than zero are considered. The default forall vector components is 1.

MinElementSize Controls the minimum size of the grid elements. A real number or a vector can be specified. represents the minimum edge lengths

along the coordinate axes. Grid elements can be refined in one direction if theiredge length in that direction is greater than the specified value. Only valuesgreater than zero are considered. The default for all vector components is 0.02.

RefineFunction Two different functions can be used to select grid elements for refinement:MaxGradient and MaxTransDifference.

MaxGradient The gradient of a profile (keyword variable) in the element is evaluated. If thegradient is greater than value and the edge lengths are large enough, the elementis refined.

MaxTransDifference The maximum difference of the transformed values of a profile at the verticesof the element is evaluated. If the difference is greater than value and the edgelengths are large enough, the element is refined. The transformation (linear,logarithmic, arsinh) is defined in the datexcodes.txt file (see Utilities, Variableson page 26) for each variable. The syntax is:

RefineFunction = MaxGradient(Variable = "Dataset Name", Value = value)|RefineFunction = MaxTransDifference(Variable = "Dataset Name", Value = value)

x x1 … xd, ,[ ]= d xd

x x1 … xd, ,[ ]= xd

7

Page 18: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

RefineFunction can be repeated for different variables in the same Refinementsection. If Variable is not defined, DopingConcentration is taken as the default. IfValue is not specified, it defaults to 1; however, no RefineFunction is assigned bydefault.

Variable defines the dataset used to adapt the grid. The grid can be adaptedaccording to species or any type of variable defined in the output file. Thevalues are computed from the analytic formulas, constant data, and externalsimulation results defined in the command file. Therefore, the name of avariable must match the name of a variable stored in the output file. The variablename must be enclosed in double quotation marks.

Defining multibox refinement regions

A multibox is a special refinement box, which is implemented for 2D only. Users can specify therequired minimum and maximum element sizes in both directions, and an additional refinement ratio inboth directions. The created mesh is graded using the specified ratios (also observing the minimum andmaximum element sizes).

The syntax to define a multibox refinement region is:

Multibox "multibox reference name" {MaxElementSize = value | vectorMinElementSize = value | vectorRatio = (ratio_width, ratio_height)

}

where:

MaxElementSize and MinElementSize are the same as for the definitions of the refinement region.

Ratio controls the grading of the element sizes.

ratio_width is the grading factor in the x-direction.

ratio_height is the grading factor in the y-direction.

Defining submeshes

External simulation results given on a mesh can be used to define profiles in the device. The externalmesh must have the same spatial dimension as the device. The datasets defined on the external mesh areinterpolated to the newly generated mesh. The external profiles are called submeshes.

The syntax for submeshes in the Definitions section is:

SubMesh "reference name" {Geofile = "filename"Datafile = "filename", Mode...Datafile = "filename", Mode

}

8

Page 19: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

where:

Geofile The string indicates the name of a file with an external mesh. This file must bein either DF–ISE or TDR format. The dimension of the external mesh must bethe same as the dimension of the device.

Datafile The string indicates the name of a file with datasets defined on the external meshthat are read using the Geofile option. This file must be in DF–ISE format. Thisoption is not needed for TDR files since the datasets are contained in theexternal mesh file. Several Datafiles can be defined for each Geofile.

Mode The string indicates the mode in which the data files are handled aftergenerating the mesh. The default mode is write. The possible modes are:

'w' or "write"After generating the mesh, write a file containing the same datasets as Datafile.By default, the name of the output file consists of the base name of the commandfile and the extension of the Datafile.

'w' or "write" = filenameThis has the same definition as write, except that the output file name can bespecified. If filename has no extension, the extension of the Datafile is used.

'r' or "read"Read-only mode. The information from the file is used for mesh adaptation butis not saved in the output file.

'i' or "incremental"Incremental mode. If the file name (without the extension) ends with a number,the corresponding output file has the same name with the counter increased byone. If the file name does not end with a number, zero (0) is appended to the filename.

'o' or "overwrite"Overwrite mode. After mesh generation, the Datafile is overwritten.

NOTE Sentaurus Mesh uses a simplified version of the submesh syntax where only the Geofilecommand must be specified. The Datafile and Mode fields are ignored.

Defining constant profiles

The syntax for constant profiles in the Definitions section is:

Constant "reference name" {Species = "Dataset Name"Value = value

}

9

Page 20: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

where:

Species Selects the species or variables for the constant profile. No default value isassumed.

Value This is the value of the constant profile. No default value is assumed.

NOTE Only Species can define a constant profile.

Defining analytic profiles

Profiles can be defined using simple analytic expressions. These expressions have two components. Thefirst component Function represents the values along a direction defined as the normal direction of theReferenceElement. These values are smoothed along the direction perpendicular to the normal using thesecond component LateralFunction. The formulas used for these analytic profiles are described inAppendix A on page 103.

Apart from the predefined formulas, general analytic functions can also be used. The syntax for analyticprofiles in the Definitions section is:

AnalyticalProfile "reference name" {Function = gauss(parameters) | erf(parameters) | subMesh1D(parameters) | General(parameters) |

Eval(parameters)Species = "Dataset Name"LateralFunction = gauss(parameters) | erf(parameters) | General(parameters) | Eval(parameters)

}

where:

Species Selects the species or variables for the analytic profile. No default value isassumed.

Function Indicates the type of the component and the parameters used along the directionnormal to the ReferenceElement. Gaussian functions, error functions, or externalprofiles can be used as predefined functions. Apart from the predefinedfunctions (Gaussian, error, 1D external profiles), the general function evaluatorcan also be used to define a general analytic function.

A Gaussian profile can be specified as:

Function = Gauss(PeakPosition = value, PeakValue = value, StandardDeviation = value)

Function = Gauss(PeakPosition = value, Dose = value, StandardDeviation = value)

Function = Gauss(PeakPosition = value, PeakValue = value, Length = value)Function = Gauss(PeakPosition = value, Dose = value, Length = value)Function = Gauss(PeakPosition = value, PeakValue = value,

ValueAtDepth = value, Depth = value)

Function = Gauss(PeakPosition = value, Dose = value, ValueAtDepth = value, Depth = value)

10

Page 21: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

By default, PeakPosition is equal to zero and there are no default values for theother parameters.

An error function can be defined as:

Function = Erf(SymmetryPosition = value, MaxValue = value, Length = value)Function = Erf(SymmetryPosition = value, Dose = value, Length = value)Function = Erf(SymmetryPosition = value, MaxValue = value,

ValueAtDepth = value, Depth = value)Function = Erf(SymmetryPosition = value, Dose = value, ValueAtDepth = value,

Depth = value)

By default SymmetryPosition is equal to zero.A general analytic function can be defined as:

Function = General/Eval(init = "...", function = "...", value = value)

For the use of general functions, see the examples in Using analytic functionsfor refinement I on page 64. For the incorporation of 1D external profiles, thesyntax is:

Function = subMesh1D(datafile = "filename", Scale = value, Range = line [(x1), (x2)])

Datafile is a file in the XGRAPH format. The XGRAPH format consists of atitle, enclosed in double quotation marks, and a list of "x y" values. More thanone profile can be included in Datafile. The keyword Scale is used to scale thecoordinates values from the file. By default, Scale is equal to 1.

Range selects a range of values from the file. The keywords x1 and x2 must begiven in the file coordinates system. Range is applied to all profiles inside the file.By default, the entire data range is selected.

LateralFunction Defines the lateral component of the analytic profile. Either a Gaussian or anerror function can be used, and a general analytic function can be used byspecifying the keyword General, with a proper definition of the analyticfunction:

LateralFunction = Gauss(Factor = value)LateralFunction = Gauss(StandardDeviation = value)LateralFunction = Gauss(Length = value)LateralFunction = Erf(Factor = value)LateralFunction = Erf(Length = value)LateralFunction = General/Eval(...)

By default, an error function is used as LateralFunction. For Function = subMesh1D, StandardDeviation = 0.8 by default.For Function = Gauss and Function = Erf, Factor = 0.8 by default.

11

Page 22: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

General function evaluator

Apart from the predefined (Gaussian, error, and so on) functions, users can define general analyticfunctions that can be used in analytic profiles for defining primary and lateral functions. The syntax is:

Function = Eval(init = "...", function = "...", value = ...)LateralFunction = Eval(init = "...", function = "...")

or:

Function = General(init = "...", function = "...", value = ...)LateralFunction = General(init = "...", function = "...")

Both Eval and General have the same syntax for the argument list. The difference between Eval andGeneral is that General uses spatial coordinates and Eval uses coordinates that are measured in the primaryand lateral directions for profiles.

The argument list can be defined as follows:

init This is a semicolon-separated list of assignments for variables that are usedlater, for example, init = "a=2;b=4". This string is evaluated only once.

function This is an expression that is evaluated for every query. The variable that replacesthe primary or lateral distance must be called x, for example:function = "sin(x)", function = "exp(4*x)*sin(x)".

In general, 1D, 2D, and 3D analytic functions can be specified here, using avalid C syntax. The variables x, y, and z refer to the respective spatialcoordinates for General.

value This is the default return value if the evaluation fails. The default is zero and 1for LateralFunction.

Note that:

There is only one name space for all variables, that is, if init="a=1" is set in one instance, it is knownfor all instances.

You can freely mix Eval with Gaussian, Erf, and 1D.

The symbols "pi" and "e" can be used in the expressions.

The functions that can be used are "sin", "cos", "tan", "asin", "acos", "atan", "sinh", "cosh", "tanh","exp", "log", "log10", "sqrt", "floor", "ceil", "abs", "hypot", "deg", "rad".

Numeric constants must be specified as "2*10^18".

As an extension to the Eval function evaluator, the General evaluator assesses device coordinatesdirectly, (x, y) and (x, y, z), and does not use primary and lateral distances. Any lateral functions andreference geometries (in the Placements section) are ignored.

The function parser does not support automatic operator precedence. Use brackets to define theexecution order. For example, write "a + (b*c)" instead of "a + b*c".

12

Page 23: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Placements sectionThe Placements section is composed of sets of refinement and profile instances. Their positions in thedevice must be specified and they must reference a definition given in the Definitions section. In otherwords, each instance or section consists of the instance name, an opening brace, a reference, thespecification of the corresponding parameters, and a closing brace.

The order of the refinement regions in this section is important. The mesh generators select whichrefinement condition will be applied depending on the order of the refinement regions described in thissection. The order of the profile instances in the Placements section is important only when the parameterReplace is used. The syntax for this section is:

Placements {Refinement "reference name" {# set of parameters}Multibox "reference name" {# set of parameters}SubMesh "reference name" {# set of parameters}Constant "reference name" {# set of parameters}AnalyticalProfile "reference name" {# set of parameters}...

}

Geometric elements

The specification of placement sections requires the use of geometric elements. These elements aregeometric objects used to select or locate data, and they are not part of the grid elements. The coordinatesof these objects are defined relative to the coordinates of the device, except for one section in the SubMeshplacement.

The allowed geometric elements and the number of coordinate values that must be specified depend onthe dimension of the device.

Let denote a point. The following geometric elements are defined:

Point ( )

Line ( )

Rectangle ( )

Polygon ( ),

n

x x1 … xd, ,[ ]=

x1

x1 x2,

x1 x2,

x1 … xm, , m 2>

13

Page 24: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

Complex polygon (),

Cuboid ( )

Polyhedron ,

Simple polygons are closed internally by adding the line segment between and. Only simple closed polyhedra are allowed. All their faces must be described.

The complex polygons are composed of lumps. Each lump represents a separate subpolygon, possiblycontaining holes. The first polygon inside a lump is the outer contour of the lump, while the subsequentpolygons represent holes inside the lump. The following is an example of the use of the complexPolygonelement:

AnalyticalProfile "buried n-channel" {Reference = "buried n-channel"ReferenceElement {

Element = complexPolygon [lump [

polygon [( 1.0 0.0 2.0 ) ( 2.0 0.0 2.0 ) ( 2.0 1.0 2.0 ) ( 1.0 1.0 2.0 )]polygon [( 1.3 0.3 2.0 ) ( 1.6 0.3 2.0 ) ( 1.6 0.6 2.0 ) ( 1.3 0.6 2.0 )]

]lump [

polygon [( 0.0 1.5 2.0 ) ( 0.5 1.5 2.0 ) ( 0.5 2.0 2.0 ) ( 0.0 2.0 2.0 )]]

]Direction = negative

}}

The example represents two separate loops, the first of which has a hole inside.

NOTE All polygons defined inside a complexPolygon element must be coplanar.

Table 2 lists elements and their functions. To describe a polyhedron with arbitrarily oriented faces, usepolygons instead of rectangles.

Table 2 List of elements

Function 1D 2D 3D

EvaluateWindow in Placements section for profiles Line Rectangle, Polygon Cuboid, Polyhedron

ReferenceElement in Placements section for analytic profiles

Point Line Rectangle, Polygon

RefineWindow in Placements section for refinements Line Rectangle, Polygon Cuboid, Polyhedron

SelectWindow in Placements section for submeshes Line Rectangle Cuboid

material for materialwise refinement DATEX material name

region for regionwise refinement Region name

lump1 polygon1 x1 ... xm, ,( ) ... polygonp x1 ... xm, ,( ), ,( )lump1 polygon1 x1 ... xm, ,( ) ... polygonp x1 ... xm, ,( ), ,( ) m 2>

x1 x2,

polygon1 x1 … xm, ,( ) … polygonp x1 … xm, ,( ), ,{ } m 2>

x1 x1 … xd, ,[ ]=xm x1 … xd, ,[ ]=

14

Page 25: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

In addition to the above-defined geometric elements, the keyword material or region can be used toperform regionwise or materialwise refinement, or both types of refinement. For material, the argumentis a valid DATEX material name in brackets. For region, the argument is a valid (existing) region namein brackets (see Regionwise and materialwise refinement on page 64).

Placing refinement regions

In the Placements section, a refinement instance is specified by the name, an opening brace, thespecification of the reference name, the keyword RefineWindow, and a closing brace. Several refinementinstances can refer to the same set of refinement parameters. If no RefineWindow is specified, therefinement instance is used as the default region for the entire device. The syntax for a refinementinstance is:

Refinement "instance name" {Reference = "reference name"RefineWindow = geometrical element | material | region

}

where:

Reference Defines the reference to one of the previously defined refinements.

RefineWindow Defines the location of the refinement instance in the device. By default,RefineWindow is the bounding box of the device. Table 2 on page 14 lists theelements that can be used as RefineWindow. Two other kinds of RefineWindow havebeen added to the syntax. These additions allow the user to specify regionwiseor materialwise refinement, or both refinements (see Regionwise andmaterialwise refinement on page 64).

NOTE Where two or more refinement instances overlap, the first one defined in the command file isused (see Chapter 10 on page 89).

Placing multibox regions

In the Placements section, a multibox instance is specified by the keyword Multibox, followed by the nameof the multibox window and an opening brace. After the specification of the name of the multibox region(Reference = "") and the size of the multibox window (Refinewindow=), a closing brace is placed. Severalmultibox instances can refer to the same set of multibox parameters.

If no RefineWindow is specified, the refinement instance is used as the default region for the entire device.The syntax for a refinement instance is:

Multibox "instance name" {Reference = "multibox name"RefineWindow = geometrical element

}

15

Page 26: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

where:

Reference Defines the reference to one of the previously defined multiboxes.

RefineWindow Defines the location of the refinement instance in the device. By default,RefineWindow is the bounding box of the device. Since the multibox feature isimplemented only in 2D, the geometric element must be rectangle.

NOTE Where two or more multibox instances overlap, the first multibox defined in the commandfile is used (see Chapter 10 on page 89).

Placing profiles

A set of common parameters is used for placing submesh (external simulation result), constant, andanalytic profiles. These parameters are:

EvaluateWindow {Element = geometrical element | material | regionDecayLength = value

}Replace

where:

Replace In general, the values for each profile at each point of the newly generated meshare computed as the sum of all profile instances defined in the Placementssection. The instances are inspected in the same order as they are defined in thecommand file. If the variable Replace is specified for a given instance, all currentsummed values are replaced by the value corresponding to the given profileinstance.

EvaluateWindow Defines the domain where the profile is evaluated and the decay length of anerror function is applied in the vicinity of the window boundaries. The domaincan be specified by using a geometric element, as well as by referring to regionsor materials. The decay function is used to reduce round-off errors. However, ifEvaluateWindow is not defined, the transition between the profiles is abrupt. IfDecayLength = 0, no decay function is applied and the transition betweenEvaluateWindow and its vicinity is abrupt. If DecayLength is negative, the profile isnot applied to points on the border of Element. The default DecayLength is equalto 0 for all the profiles.

For analytic and constant profiles, the default Element is the bounding box of thedevice and, for submeshes, the default Element is the bounding box of thesubmesh. See the equations in Appendix A on page 103 for details.

NOTE Avoid using EvaluateWindow when the profile is valid in the entire device and no decay functionis required. The evaluation of a geometric element is time consuming.

16

Page 27: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Placing submeshes

The syntax for references to submeshes in the Placements section is:

SubMesh {Reference = "reference name"SelectWindow {

Element = element, AttachPoint = x1, ToPoint = x2}Rotation {

Axis = axis, Angle = angle}Reflection = X | Y | ZEvaluateWindow {

Element = geometrical element | material | region, decayLength = value}Replace

}

where:

Reference Indicates the reference SubMesh to use. Only references to profiles that aredefined as SubMesh are allowed.

SelectWindow Used to select a part of the external mesh with which to work. Element must bespecified with respect to the coordinate system used in the Geofile. The selectedpart of the external mesh can be placed in the device by selecting any point inthe submesh (AttachPoint) and defining its position in the device (ToPoint).

The syntax is:

SelectWindow {Element = line [x1, x2] | rectangle [x1, x2] | cuboid [x1, x2],AttachPoint = x1, ToPoint = x2

}

The allowed element type depends on the dimension of the device. By default,Element is defined as the bounding box of the submesh. By default, AttachPointand ToPoint are selected as the corner of the bounding box of the submesh withthe minimum coordinates .

Reflection Indicates a reflection perpendicular to the specified coordinate axis. Theallowed axes depend on the dimension of the device. The reflection point (orline or plane) is placed in the middle of the bounding box of the submesh.

Rotation Performs a counterclockwise rotation around axis. The center of the rotation isthe midpoint of the submesh bounding box. By default, Angle is equal to zeroand, for 2D and 3D, Axis is set to Z. In 1D, Rotation is not supported.

Ignoremat Ignores material in submeshes. The standard behavior of submesh interpolationis that the interpolated value is only accepted if the point is in a region with thesame material.

x1 x2 x1min…xn

min[ ]= =

17

Page 28: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

The flag "Ignoremat" allows the code to always accept the interpolation. (Bydefault, if the materials do not match, the closest region with the correct materialis searched.) The default behavior is not checked.

Placements {SubMesh "NoName_0" {

Reference = "NoName_0"Ignoremat

}}

NOTE SelectWindow, Rotation, and Reflection are performed in the order they appear in the commandfile. The resultant submesh depends on this order. All mesh generators and DIP supportsubmeshes in three dimensions.

Referencing constant profiles

The syntax for referencing constant profiles in the Placements section is:

Constant {Reference = "reference name"EvaluateWindow {

Element = geometrical element | material | regionDecayLength = value

}Replace

}

where Reference is the string indicating the reference constant to use. Only references to constant profilesare allowed.

Referencing analytic profiles

The syntax for referencing analytic profiles in the Placements section is:

AnalyticalProfile "profile Name" {Reference = "reference profile Name"ReferenceElement {

Element = element, Direction = direction}EvaluateWindow {

Element = geometrical element | material | regionDecayLength = value

}Replace

}

18

Page 29: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

where:

Reference This string indicates which analytic profile to use. Only references to analyticprofiles are allowed.

ReferenceElement The direction of the normal to the ReferenceElement defines the direction of theanalytic profile. When evaluating the function values, the mesh points of thenewly generated mesh are projected to the element. The distance in the normaldirection is used to evaluate the Function. The distance of the projection to theboundary of Element is used to compute the LateralFunction. By default, valuesare computed on both sides of the element. If Direction is specified, functionvalues are computed only on the positive or negative side of the element. Thesyntax is:

ReferenceElement {Element = element,Direction = positive/negative

}

In 1D devices, Element is a point, and the positive and negative directions aregiven by the coordinate axis. In 2D devices, Element is a line and the positivedirection is taken to the right of the line.

In 3D devices, Element can be either a rectangle or polygon. The normal for arectangle must be one of the coordinate axes. The positive and negativedirections are defined from this axis. A (planar) polygon can be arbitrarilyoriented in 3D. The direction is defined by the order of the points defining thepolygon. A polygon is considered correctly oriented if the side of the polygon,which is surrounded by the points in positive orientation, defines the positivedirection. There is no default value for Element and Direction.

Table 3 Accelerators

Keyword Accelerator Default value

AnalyticalProfile AnaProf

Angle 0

AttachPoint AttachP

Axis Z

Constant

Datafile

DecayLength DecayLen 0

DefineProfiles

DefineRefinements

Depth

Direction

19

Page 30: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

Dose

Element

Erf

EvaluateWindow EvalWin Bounding box of device for constant and analytic profiles. Bounding box of submesh for submeshes.

Factor 0.8 for Gaussian and error functions

Function

Gauss

Geofile

LateralFunction LatFunc Error Function

Length

MaxElementSize MaxElemSize 1

MaxGradient MaxGrad

MaxTransDifference MaxTransDiff

MaxValue MaxVal

MinElementSize MinElemSize 0.02

Mode 'read'

Negative

PeakPosition PeakPos 0

PeakValue PeakVal

Positive

Profile

Profiles

Range Complete subMesh1D

ReferenceElement RefElem

RefineFunction MaxTransDiff

Refinement

Refinements

RefineWindow RefineWin

Table 3 Accelerators

Keyword Accelerator Default value

20

Page 31: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Offsetting section

NOTE All the keywords presented here relate to the Offsetting section used by Noffset3D.

The Offsetting section contains some algorithmic switches and global parameters as well as subsections:

usebox = 0|"ignore"|1|"isotropic"|"unstructured"|2|"aam"|"aam-default"|"aam-file-order"|"aam-all"usegrf = 1 | 0maxangle = floattriangulate = 0 | 1maxconnect = integermaxnumpoints = integerbackground = double-quoted-stringrecoverholes = 0 | 1options = double-quoted-stringnoffset-global-sectionnoffset-interface-sectionnoffset-region-section boundary-sectionboundary-interface-sectionisoline-sectionqwell-section

Reflection Reflect

Replace false

Rotation

Scale 1

SelectWindow SelWin Bounding box of submesh.

Species

StandardDeviation StdDev 0.8 for subMesh1D

SubMesh

SubMesh1D

SymmetryPosition SymPos 0

Title " "

ToPoint

Value 1

ValueAtDepth ValAtDepth

Variable "DopingConcentration"

Table 3 Accelerators

Keyword Accelerator Default value

21

Page 32: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

Descriptions of switches and parameters are (values in parentheses are the defaults):

usebox=0|"ignore" (default) Ignores all Mesh-like refinement boxes. The values 0 and "ignore" areequivalent.

usebox=1|"isotropic"|"unstructured"

Uses Mesh-like refinement boxes for isotropic refinement in surface meshing(algorithm -p surface or -p surface2), in the algorithm -p refine, and in 2D. Thevalues 1, "isotropic", and "unstructured" are equivalent.

usebox=2|"aam"|"aam-default"

Applies axis-aligned mesh (AAM) points and, for overlapping refinementboxes, uses the minimum of (three) MaxElementSize parameters. The values 2,"aam", and "aam-default" are equivalent.

usebox="aam-file-order" Same as usebox=2|"aam"|"aam-default" but, for overlapping refinement boxes,uses the refinement that appears first in the command file.

usebox="aam-all" (corresponds to usebox=2 in previous versions) Same as usebox=2|"aam"|"aam-default" but, for overlapping refinement boxes, it applies all refinements. Thisoption must not be used as it will usually cause loss of regularity. It is providedonly for obtaining the legacy behavior of AAM points.

NOTE The numeric values 0|1|2 for the parameter usebox are included for backward compatibility.It is recommended that, for new work, the equivalent string-based options be used.

usegrf=1|0 (default 1) Global grid regularity feature (GRF) creation mode. A value of 0ignores all GRFs.

maxangle (180) Larger angles (in degrees) are suppressed by further refinement in 2D and, in3D, for surface meshes. These algorithms are guaranteed to converge only ifmaxangle > 120, but maxangle = 100...120 can be used in many practical cases.Angles less than 90o are ignored.

maxnumpoints (200000) This parameter limits the number of nodes that Noffset3D produces before thedelaunization step. The default value is 200000. The concept is to stop the meshgenerator from adding large numbers of points in some complex cases. Theresulting grid is likely to be unsuitable for simulation, but would be useful todiagnose the location of the overrefined areas.

triangulate (0) (2D only) Splits rectangles into triangles. The 3D algorithms always createtetrahedrons.

maxconnect Removes highly connected points by further refinement. The default is a verylarge value (for example, 1000000), which means that maxconnect has no effect.The algorithms converge in 2D if maxconnect > 10. In 3D, specifying a maxconnectof 100 or less causes the algorithm -p redcon to be automatically triggered.

background This string contains the file name of the external mesh used in the -p refine

algorithm and for 2D meshing. These points are used for bulk refinement.

22

Page 33: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

recoverholes(0) (2D only) Fixes structures with multiply connected elements. This is notperformed by default. To mesh two-dimensional multiply-connected structures,use recoverholes=1. Note that the holes in the structure must be filled.

options (default "") All command-line options (except -f) can also be mentioned in thecommand file for convenience. These options are parsed after the realcommand-line options.

Layering and isotropic refinement

The parameters for creating anisotropic layering are described here. The three section types are thosethat define the global default, specify interface parameters, and specify region parameters. The latter twoare defined by using region or material names, with the appropriate keyword. All parameters have globaldefaults. Some can be specified by region, others, by interface.

NOTE Default parameters are such that neither layering nor refinement is performed. This settingavoids collisions from different interfaces. It is recommended to activate layering only forsome interfaces and to keep the requested number of layers low.

noffset-global-section:noffset {

hlocal = floatfactor = floatsubdivide = integerterminateline = integermaxedgelength = floatmaxlevel = integergrading = float

}noffset-interface-section:noffset region | material double-quoted-string double-quoted-string {

hlocal = floatfactor = floatsubdivide = integerwindow = [(float float float) (float float float)]

}noffset-region-section:noffset region | material double-quoted-string {

maxedgelength = floatmaxlevel = integerterminateline = integergrading = float

}

Descriptions of parameters and defaults are as follows (values in parentheses are the defaults):

hlocal (0) Thickness of first layer. Zero means no layering at all.

factor (1.3) As the front progresses, the thickness of the layers increases by this factor.

23

Page 34: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

subdivide (0) (2D only) When the layering is finished, the elements are subdivided to increaseanisotropy. For example, subdivide=3 results in three subdivisions and eightsublayers. This is useful if high anisotropy is required close to low anisotropy:The layering can be performed with the same hlocal and high anisotropy isachieved after the subdivision.

window This is the cuboid used to confine the creation of layering. For a large interface,this option allows users to limit the layering to a spatial region of interest andthereby reduce the size of the grid. Note that window controls only the start of thelayering and, therefore, the layers may grow outside of the window.

terminateline (3) (2D only) Tries to keep a warped tensor grid at interfaces for a given number oflayers. For outer layers, mesh lines are terminated.

maxedgelength (very high value) Maximum edge length in isotropic refinement steps.

maxlevel (200) The number of layers that normal offsetting performs. If the front collides withother fronts or surfaces, it is stopped prematurely.

grading (0.5) This parameter controls the transition from fine to coarse elements in surfacemeshing. It is only effective for the algorithm -p surface2.

The parameters (hlocal, factor, subdivide, and terminateline) affect the interfaces and surfaces. Theparameters can be specified on an interface basis using the syntax with two region names. The syntax innot symmetric:

noffset region "A" "B" {} applies to the layers in region A where it borders region B.

noffset region "B" "A" {} sets parameters for the other side of the same interface.

At places where contacts are defined, their names are used to define interfaces. The pseudo–region nameExterior is used for surfaces.

The other parameters (maxedgelength, maxlevel, and grading) can only be set per region using the syntaxwith one region name.

In both cases, users can employ region names (keyword region) or the material property (keywordmaterial). Since the material property is more persistent, it is advisable to use it preferentially.

Surface meshboundary-section:boundary {

hglobal = floatgrfvolumeprotect = 1 | 0

}boundary-interface-section:boundary region/material double-quoted-string double-quoted-string {

hglobal = float}

24

Page 35: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

The command file features two section types for boundary grids: one defines the global default and theother specifies interface parameters. The latter can be defined by using region or material names, withthe appropriate keyword.

The parameter hglobal is the maximum edge length for surface meshing. If the value for maxedgelengthin the noffset section is less than hglobal, maxedgelength overrides hglobal. Like the noffset parameters,the parameter hglobal can by specified for particular interfaces (using a region or material name).However, here, the setting is symmetric.

The parameter grfvolumeprotect controls the protection of grid regularity features (GRFs) duringdelaunization (see Grid regularity feature). It has the value 1 or 0, which corresponds to having the GRFedges protected or not protected, respectively. The default value is 1 and causes GRF edges to beprotected during delaunization. The old behavior of GRF in earlier versions of Noffset3D can be enabledby using grfvolumeprotect=0.

Grid regularity feature

A regular grid can be generated on (near-planar) interfaces between two regions by using the reggridsection within a boundary interface section:

boundary region double-quoted-string double-quoted-string {reggrid {

regmode = "snap"uniform = (float float float)window = [(float float float) (float float float)]minedgeratio = floatexcludepxexcludepyexcludepzonlypx | onlypy | onlypzregignore

}}

Descriptions of parameters and defaults are as follows:

regmode The regularity mode specifies the type of algorithm used to create the regulargrid. Currently, only one algorithm ("snap") is implemented, which allows atensor grid of points to be imprinted on the target interface. The option snap isthe default mode when regmode is not specified.

uniform The uniform tensor-grid points, which are generated within the cuboid given bythe window entry, snap to the interface. The way of using the sizes (Sx Sy Sz) inthe uniform entry to generate the regular points is the same as that described forthe algorithm -p refine in Algorithms (three-dimensional only) on page 49. Bydefault, very large values are used for Sx, Sy, and Sz so that no regular points aregenerated.

window The cuboid is used to generate the regular points. The default is the boundingbox of the interface.

25

Page 36: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

minedgeratio This is the ratio of the size (Sx Sy Sz) to control the shortest edge in a regulargrid. The default is 0.25.

excludepx Excludes creation of GRF on X-planes of the interface.

excludepy Excludes creation of GRF on Y-planes of the interface.

excludepz Excludes creation of GRF on Z-planes of the interface.

onlypx Creates a GRF only on X-planes of the interface.

onlypy Creates a GRF only on Y-planes of the interface.

onlypz Creates a GRF only on Z-planes of the interface.

regignore Ignores this GRF.

Multiple regular grids on a single interface can be specified by using multiple boundary region sectionsof the same target interface using different parameters for the reggrid section, for example, different size(uniform) and location (window). When overlapping windows, the regularity that appears first in thecommand file takes precedence. See Using the grid regularity feature on page 72 for an example.

NOTE The grid regularity feature is only available when using the surface mesher (-p surface2) inNoffset3D. If the old surface mesher (-p surface) is used, reggrid is ignored.

The interfaces with the regular grid are intended to be used in the usual way to create a layered volumegrid in regions of interest. In this way, a more regular volume grid within critical portions of the devicecan be generated, not only normal to the interface as previously, but also in other directionscorresponding to the plane of the target interface.

It is anticipated that the convergence and accuracy of simulations will improve when they are sensitiveto grid regularity. It is more likely, although not guaranteed, that the need for ‘continuous layering’ from‘specific’ (near-planar) interfaces will be better achieved. See Grid regularity feature on page 95 formore details.

When specified GRFs lead to over-constraining the interface triangulation, or sharply dissimilarneighboring GRFs are specified, or a specified GRF window is larger than the interface bounding box,the GRF creation (or more precisely, the grading of interfaces with GRFs) may fail to terminatesuccessfully. In such cases, revise the GRF specifications to be more suitable. Alternatively, you canforce GRF creation by setting the environment variable MNT_REGG_FIX_GRF_GRADING, which leads to asurface mesh containing short edges. This surface mesh would, most likely, not be suitable forsubsequent volume meshing, but it can help in setting up a more suitable GRF specification.

26

Page 37: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Isolines and isosurfacesisoline double-quoted-string {

species = double-quoted-stringvalue = floatregion | material = double-quoted-stringlength = float

}

Descriptions of parameters and defaults are as follows (values in parentheses are the defaults):

species ("DopingConcentration")

The isoline is calculated for this dataset. It must be a dataset in the profiles orsubmeshes of this command file.

value (0) Value of the level set.

region | material (material="Silicon")

The name of the region or material in which the isoline or isosurface is to becomputed. Only one region or material statement is allowed. It is recommendedthat material is used as often as possible because material names are persistent.

length (very high) Maximum edge length in the surface description of the isosurface.

An isoline (2D) or isosurface (3D) is the level set of a data function (defined in the remainder of thecommand file) at a given value. A region or material must be given to restrict the isolines to certain partsof the device. The isoline statement requires a name for reference. In 3D, the isosurface can be referredby this name (such as a contact region) in the noffset section. In 2D, the isoline is an interface of theregion with itself in the noffset section.

The parameter length is used as the resolution of the intermediate triangulation in the isolinecomputation. Additionally, in 3D, the curvature of the isosurface is taken into account, that is, locallythe edge length is shorter than half the approximated radius of curvature.

NOTE In complex structures, isosurface extraction may encounter difficulties. In such cases, disableisosurface extraction and use Mesh-like doping refinement instead.

Special treatment of quantum wells

The qwell module is used to meet the special mesh requirements of quantum-well regions in thesimulation of 3D optoelectronic devices (see Sentaurus Device, Special meshing requirements forquantum wells on page 528). It has two modes of operation. One is specifically for devices containinga single or double quantum-well active region extending throughout the whole device structure (forexample, ridge waveguide quantum-well lasers). Geometrically, a guaranteed structured mesh isgenerated for active regions. This can only function if the region itself (first mode) or a group of regions(second mode) is axis aligned and extends through to the borders of the simulation domain.

27

Page 38: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

The first and principal mode can only treat regions that extend through the entire structure. These regionsmust have an exact cuboid shape. Multiple active regions can be addressed by adding one qwell sectionfor each. The command file syntax and descriptions of parameters and defaults are:

qwell {layers = floatregion = double-quoted-string

}

layers(2) The number of layers of the structured mesh that are created for the activeregion. The default (2) means that one intermediate mesh point is created.

region (no default) The name of the region that contains the active region. If thestructure contains multiple active regions, the qwell section can be repeated forall high aspect-ratio regions.

NOTE Several qwell sections can appear only for nonneighboring regions. For example, it is notpossible to specify a qwell section for all three layers of a double quantum-well region (thatis, a quantum-well region located between two quantum barrier regions).

The second mode of operation is more flexible than the principal mode. It is aimed at more complexdevice structures that contain more than two quantum wells or whose quantum wells do not extendthroughout the whole device or both (for example, buried heterostructure multi–quantum well lasers).In the second mode, no single regions have to extend through the entire device, but a group of regionshas this feature. This group of regions is subdivided into stacks of regions that are side-by-side and aretreated independently:

qwell {stack{

region ("region-name" layers "material-name" thickness)...region ("region-name" layers "material-name" thickness)protect

}stack{

region ("region-name" layers "material-name" thickness)...region ("region-name" layers "material-name" thickness)

}}

Descriptions of the parameters are as follows:

region-name The name of the region to which a regular mesh is applied.

layers The number of layers of the structured mesh that are created for the specifiedregion. A value of 2 means that there is one intermediate mesh point.

material-name The material name of the region to which a regular mesh is applied.

thickness The thickness (in the direction perpendicular to the quantum-well plane) of thespecified region.

28

Page 39: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

protect The keyword protect is optional and is used only when several stacks aredefined in one qwell section. It ensures that the mesh algorithm does not addnew mesh points to the protected stack if the mesh at stack interfaces does notmatch.

It is generally possible to have several qwell sections, each of which contains multiple stack sections.

NOTE The total thickness of each stack in a particular qwell section must be the same.

In both modes of operation, the qwell algorithm has two parts: the first part works on the boundary andthe second part works on the volume mesh. The parameters material-name and thickness are not neededif both qwell parts are applied in the same run of the mesh generator because that information can bededuced from the geometry.

The second part of the algorithm needs this information to reconstruct the correct geometry. If the secondpart is called in a separate process (see Multi–quantum well meshing on page 76), it reads the relevantinformation from the command file.

Delaunizer sectionThe Delaunizer section contains parameters that control the behavior of the delaunization algorithmsfound in Noffset3D (when using del-snps and del-snps2 algorithms), Sentaurus Mesh, and Mesh (usingthe option -d):

Delaunizer {coplanarityAngle = floatcoplanarityDistance = floatminEdgeLength = floatedgeProximity = floatfaceProximity = floatdelaunayTolerance = floattype = boxmethod | conforming | constrainedsliverAngle = floatsliverDistance = floatmaxSolidAngle = floatmaxNeighborRatio = floatmaxPoints = integer

}

Descriptions of the parameters are as follows (values in parentheses are the defaults):

coplanarityAngle (175) A floating-point number used to determine whether two adjacent boundaryfaces are coplanar. The number represents the angle between the faces.

coplanarityDistance (1e-5)

A floating-point number used to determine whether two adjacent boundaryfaces are coplanar. The number represents the absolute deformation made to thesurface when the common edge is flipped.

29

Page 40: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

minEdgeLength (1e-9) A floating-point number used to display a warning when the surface edgesbecome too short.

edgeProximity (0.05) A floating-point number used to specify the minimum ratio of the length of anew edge to the length of the parent edge from which it was generated. If anedge AB will be refined at point C and one of the ratios AC/AB or CB/AB issmaller than edgeProximity, point C is moved to the center of AB. When thisvalue approaches 0.5, the edges will be more isotropically refined and the finalmesh may contain many more points.

faceProximity (0.05) A floating-point number used to specify the minimum ratio of the area of a newface to the area of the parent face from which it was generated. If a face ABCwill be refined at point D and one of the ratios AD/r, BD/r, or CD/r is smallerthan edgeProximity (where r is the radius of the circumscribed sphere), point Dis moved to the Voronoï center of ABC. When this value approaches 0.5, thefaces will be more isotropically refined and the final mesh may contain manymore points.

delaunayTolerance (1e-4)

A floating-point number used to specify how close the ridges and boundaryfaces conform to the Delaunay criterion. A value of 0 everywhere implies a verystrict Delaunay criterion. A value of 1 everywhere is equivalent to theconstruction of a constrained Delaunay triangulation (CDT).

type (boxmethod) Specifies an accelerator for the type of Delaunay mesh that the del-snpsalgorithm constructs. The options are boxmethod, conforming, and constrained.The option boxmethod imposes very strict conditions on the boundaries. Here, thesmallest circumscribed sphere around the boundary faces and ridges must befree of points.

With the conforming option, the conditions at the boundary are more relaxed.This means that there exists a circumscribed sphere around a boundary face,which is free of points. This is equivalent to the standard Delaunay condition.

When the constrained option is specified, the boundary faces are inserted into aDelaunay mesh of the input points using a CDT algorithm. This option producesthe least refinement of all three options, but it produces meshes that are notsuitable for device simulation.

sliverAngle (175) Controls the elimination of slivers. The algorithm eliminates all elements wherethe maximum dihedral angle exceeds this value. Note that the algorithmendeavors to achieve this goal but, in general, it may not be possible. In practice,the final meshes contain elements where the maximum dihedral angle isapproximately 179o.

sliverDistance (1e-2) Controls the amount of damage performed by the sliver elimination algorithm(see Eliminating slivers on page 99). The value specifies the maximum weightused at a given node.

maxSolidAngle (360) Specifies the maximum solid angle allowed in the elements of the mesh.

30

Page 41: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

maxNeighborRatio (1e+30)

Specifies the maximum allowed ratio between the circumscribed spheres ofneighboring elements. A value of 2 should give a good grading. However, as thiscriterion requires further testing, it is provided only on an experimental basis.

maxPoints (100000) Sets a limit on the maximum number of points that the delaunizer generates.The limit is observed after the ridges have been recovered.

Delaunay tolerance

The tolerance used to calculate the Delaunay criterion can be adjusted locally based on region, material,or window information:

boundary region | material | double-quoted-string double-quoted-string {delaunayTolerance=floatwindow = { (float, float, float) (float, float, float) }

}

surface region | material | double-quoted-string {delaunayTolerance=float <WINDOW>

}

interior region | material | double-quoted-string {delaunayTolerance=float <WINDOW>

}

The delaunayTolerance in the boundary, surface, and interior subsections must always be specified. Thewindow parameter is optional. These sections do not accept any other parameters (that is, you cannotrestrict the values of parameters such as maxPoints and minEdgeLength in regions or materials individually).

The following are examples of the use of the Delaunay tolerance parameters:

Delaunizer {# relax the tolerance at the boundary between any two materialsboundary {

delaunayTolerance=1}

# restrict the tolerance at the boundary between silicon and oxideboundary material "Oxide" "Silicon" {

delaunayTolerance = 1e-4}

# relax the tolerance in the interior of the deviceinterior {

delaunayTolerance = 1}

# restrict the tolerance around the gate areainterior region "gate" {

delaunayTolerance = 1window ={(0.1,0,0) (0.2,0.1,0.1)}

}}

31

Page 42: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

NOTE The delaunizer implementation in Mesh works almost identically to the Noffset3D andSentaurus Mesh implementations. The only difference is that users cannot restrict theDelaunay criterion based on region information. (However, users can use the window commandin the command file to restrict the criterion. See Delaunizer section on page 29 for moredetails.)

AxisAligned sectionThe AxisAligned section is used by the axis-aligned mesh generator in Sentaurus Mesh. The syntax of theAxisAligned section is:

AxisAligned {maxAngle = floatmaxAspectRatio = floatgeometryAccuracy = floatmaxNeighborRatio = floatminEdgeLength = floatdecimate = booleansmoothing = booleanxCuts = floatlistyCuts = floatlistzCuts = floatlist

}

Descriptions of the parameters are as follows (values in parentheses are the defaults):

maxAngle (165) A floating-point number used to determine the maximum angle produced in thebinary tree. In 2D, the default is 90o.

maxAspectRatio (1000) The maximum aspect ratio allowed in the elements of the binary tree at the endof the refinement step.

geometryAccuracy (1e-6)

Value used to restrict the changes to the boundary, which are undertaken by thedecimation algorithm. The decimation algorithm is not allowed to modify theboundary more than geometryAccuracy.

maxNeighborRatio (4) The size ratio between adjacent elements.

minEdgeLength (1e-7) The minimum edge length produced on the boundary before the delaunizationstep.

decimate (true) It indicates if the boundary should be decimated (3D). The decimation processremoves surface nodes from the surface, thus getting a simpler structure. A nodeis removed only the deformation caused by removing the node is less than thevalue specified in the geometryAccuracy parameter.

smoothing (true) It is used to indicate whether the binary tree should be graded using themaxAspectRatio and maxNeighborRatio parameters.

32

Page 43: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Tensor sectionVarious parameters can be defined in the Mesh section of a Tensor section within the command file. Theseparameters guide mesh generation. An example of the syntax of a Tensor section is:

Tensor {Mesh {

minNumberOfCells = integerminCellSize = floatminBndCellSize = floatmaxCellSize = floatmaxBndCellSize = floatgrading = floatmaxNumberOfCells = integermaxIterations = integerscale = float float floatwindow string float float float float float float

}Box {

name = stringmaterial = stringstartPoint = (float float float)endPoint = (float float float)exact = booleantolerance = float

}}

The following is a description of the mesh generation parameters that users can specify in the Meshsection (values in parentheses are the defaults):

MinNumberOfCells (0) Specifies the minimum number of cells required.

MinCellSize (1e-4) Specifies the minimum cell size allowed in a region.

MinBndCellSize (1e-4) Specifies the minimum boundary cell size allowed in a region.

MaxCellSize This option is used to specify maximum cell size required in a region. Thedefault cell size in each direction is 10% of geometry model size in thatdirection.

MaxBndCellSize This option is used to specify maximum cell size required perpendicular to aboundary normal. In this option, normal is computed for a boundary and adirection of the maximum projection is found. The cells are clustered in thedirection normal to maximum projection. The default cell size in each directionis 10% of the geometry model length in that direction.

grading (1.25) Specifies the grading in each direction. The default is 1.25 in each direction.This can be specified in the following way.

In 3D: grading = {gradx grady gradz}In 2D: grading = {gradx grady}

33

Page 44: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

maxNumberOfCells (1e7) This option is used to specify the maximum number of cells allowed in a mesh.This option can be specified as follows:

maxNumberOfCells = #cells

maxIterations (1) This option is used to drive the mesh towards an accurate representation of userrequirements. As the number of iterations increases, the deviation of meshcharacteristics from user specifications tends to decrease. In addition, thecomputational time and the number of cells may increase. This option can bespecified in the following way:

maxiterations = #iterations

scale User can specify a mesh scaling factor. This feature can be used to convert meshinto different units. This option can be specified in the following way.

In 3D: scale = {sx sy sz}In 2D: scale = {sx sy}

window Used to restrict the effects of the refinement parameters. The syntax for defininga window is the following in 3D:

In 3D: window "windowname" xmin xmax ymin ymax zmin zmax In 2D: window "windowname" xmin xmax ymin ymax

The abovementioned refinement parameters can be specified for a region, material, direction, orwindow. The following are different ways in which users can specify these:

Sometimes, the same parameter may be assigned a value multiple times. In that case, the last assignmentis taken into consideration.

Before specifying a parameter to be applied to a window, that window must be defined inside a Meshsection of the command file. If a parameter specified through the window option overlaps with parametersspecified with other options, then the smallest of these parameters is considered while meshing.

For all regions, in all directions parameter = floatOrint

In a region, in all directions. parameter region "regionname" floatOrint

In a material, in all directions. parameter material "materialname" floatOrint

In a window, in all directions parameter window "windowname" floatOrint

For all regions, in a direction parameter direction "x | y | z" floatOrint

In a region, in a direction parameter region direction "regionname" "x | y | z" floatOrint

For a material, in a direction parameter material direction "materialname" "x | y | z" floatOrint

In a window, in a direction parameter window direction "windowname" "x | y | z" floatOrint

34

Page 45: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 2 COMMAND FILE

Box section for plotting (EMW applications)

New regions can be added to the tensor mesh that can be used for plotting purposes in applications ofSentaurus Device Electromagnetic Wave Solver (EMW). The new regions are specified by a Box sectionin the command file.

Any number of Box sections can be added to the command file. The Box sections are added outside theMesh section. Each Box section is defined by the following parameters:

Name Name of this region.

Material If not specified, the default "none" is taken.

StartPoint This is the lowest point of the bounding box used for the plot (xmin ymin zmin).

EndPoint This is the highest point of the bounding box used for the plot (xmax ymaxzmax).

Exact ("yes"|"no") If the Exact flag is "yes", the resultant mesh should contain nodes whosecoordinates match StartPoint and EndPoint. If the Exact flag is "no", the nodesthat are closest to StartPoint and EndPoint are written in the tensor mesh. Bydefault, Exact is set to "no".

Tolerance The tolerance is used only if the Exact flag is "yes". The tolerance value indicatesthat the box should be aligned to any existing boundary or cell interface withinthis tolerance distance. This will avoid unnecessary small cells locally. A valueof model length in each direction multiplied by 1e-4 is used as the default.

Controls section

NOTE The Controls section is available in Mesh only.

This section records the default meshing engine used in Mesh. Its syntax is:

Controls {meshengine = "meshing engine name"

}

The meshing engine name can be specified as mesh or noffset. This value is overridden by the command-line option -noffset.

35

Page 46: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 2 COMMAND FILE

Reading old command filesThe old command file format is still supported for input by Mesh; however, an additional switch -oldcmdmust be specified to load a command file that uses the old syntax. Mesh can transform old syntax whenthe old commands have a meaning in the multidimensional and flexible syntax of the mesh generators.

It is recommended that users check the new file that is generated to verify that the translation isperformed correctly.

36

Page 47: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 3 BOUNDARY FILE

Mesh Generation Tools

CHAPTER 3 Boundary file

This chapter discusses the boundary file used by the mesh generators.Mesh Generation Tools

OverviewAll mesh generators read the boundary description from the file filename.bnd or filename.tdr. Thefollowing formats are supported:

DF–ISE format for boundary description (see Utilities, Chapter 1 on page 1).

TDR format for boundary description (see Sentaurus Data Explorer, Geometries on page 48).

Additionally, Mesh reads the bound format, which is a legacy geometry description format.

Input file in bound formatThe bound format can be easily created and changed manually. This format is currently only read byMesh.

In 2D, the bound format can be exported from the standard DF–ISE format using "mesh -nop -n".

A device is described through a list of solid regions and contact areas specified by the user. Solid regionsare defined as , where is the device dimension and contact areas are defined as

. Each solid region is given a material type, region name, and geometric elementdefined by the user. The general syntax for a solid region is:

materialType "region name" {arbitrary list of solid regions}

Valid materials for the solid regions are listed in the datexcodes.txt file, which includes Silicon, Oxide,Copper, and Aluminum.

Contact areas consist of a list of one or more (d–1)-D surfaces. The keyword for contacts is Contact. Thegeneral syntax for a contact area is:

Contact "contact name" {arbitrary list of N-D surfaces}

NOTE For each Contact, a name must be given using the above syntax.

regions Rd∈ dregions Rd 1–∈

37

Page 48: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 3 BOUNDARY FILE

In 1D, the solid regions are lines and the contact areas are points. In 2D, the solid regions are polygons,which can be represented by a polygon or a rectangle. A polygon is defined as a set of connectedsegments or lines. The contact areas are segments or lines.

In 3D, the solid regions are polyhedra. A polyhedron can be described as either a cuboid (cuboid) or ageneral polyhedron (polyhedron), using the old bound format. A polyhedron is a set of connected 2Dpolygons. In 3D, the contact areas are polygons (see Geometric elements on page 13).

Mesh identifies the dimension by looking at the dimensionality of the points described in the boundaryfile. Examples of a bound file are:

For 1D:

Silicon "substrate" {line [(0) (2)]} # silicon region, named substrateContact "anode" {point [(0)]} # Contact areaContact "cathode" {point [(2)]} # Contact area

For 2D:

Silicon "substrate" {rectangle [(0,0) (2,3)]} # silicon region, named substrateContact "anode" {line [(0,0) (0,3)]} # Contact areaContact "cathode" {line [(2,1) (2,2)]} # Contact area

For 3D:

Silicon "substrate" {cuboid [(0,0,0) (2,3,2)]} # silicon region, named substrateContact "anode" {rectangle [(0,0,0) (0,3,2)]} # Contact areaContact "cathode" {rectangle [(2,1,1) (2,2,2)]} # Contact area

TDR supportAll mesh generators have TDR support. The mesh generators read boundary TDR files that have the .tdrextension. However, due to potential conflicts in the file names of input and output TDR files, avoidusing boundary file names with the pattern {root}_msh.tdr, since they will be overwritten by the meshgenerator with the output file of the same name.

The mesh generators read only the first geometry object contained in the TDR file. Other geometryobjects are ignored. For more information about the TDR format, refer to the Sentaurus Data ExplorerUser Guide.

38

Page 49: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Part II Mesh Generators

This part of the Mesh Generation Tools manual contains the following chapters:

CHAPTER 4 MESH ON PAGE 41

CHAPTER 5 NOFFSET3D ON PAGE 47

CHAPTER 6 SENTAURUS MESH ON PAGE 55

Page 50: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical
Page 51: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 4 MESH

Mesh Generation Tools

CHAPTER 4 Mesh

This chapter describes how to start the Mesh application and provides a general explanation of Meshfunctionality.

Using MeshMesh is a dimension independent and modular Delaunay mesh generator, which is suitable forsemiconductor device simulation. In 2D, complex devices that are generated by process simulation canbe handled. In 2D and 3D, grids for complex nonplanar devices can be generated.

NOTE The legacy tool Mdraw uses Mesh as its mesh generation engine. Calling Mdraw inbackground mode (mdraw -M) is equivalent to calling Mesh directly.

In 2D, Mesh generates a mesh without obtuse angles; in 3D, Mesh produces less restrictive Delaunaymeshes (see Chapter 10 on page 89).

Mesh reads the input geometry from a file. This file can be specified using either the DF–ISE boundaryformat or the TDR format.

Impurity concentrations and user-required element sizes can be described using dimension-independentsyntax. The same description of analytic profiles can be used in 1D, 2D, and 3D. The grid can be adaptedto analytic profiles or profiles generated by Sentaurus Process (in 2D) and DIP (in 3D). (All referencesto concentrations in this document imply ‘active’ or ‘substitutional’ concentrations, since calculationsin Sentaurus Device use concentrations in this form.)

Mesh can read boundary files written in the simple bound format (see Input file in bound format onpage 37) and can transform them into the DF–ISE boundary syntax by using the -n option. Users mustensure the conformity of the old boundary files. Old command files can also be used by specifying the-oldcmd file switch, in which case, the old command files are converted to the new syntax.

NOTE Rename the converted boundary and command files, and use them for any future work.

The required point densities, according to the supplied concentration profiles, are obtained by refiningthe elements in an anisotropic way, generating fine elements for the critical parts of the device and coarseelements in the bulk regions. Unnecessary point propagation due to quadtrees, octrees, or tensor-productgrid techniques is avoided.

41

Page 52: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 4 MESH

Finally, adding a delaunization step after macroelement tessellation allows Mesh to obtain high-qualityconforming Delaunay grids, suitable for control volume discretization methods that are used in devicesimulation. For more information, refer to the literature [1][2][3][4].

Starting MeshA mesh is created from two input files, namely the boundary file and the command file. If the inputproject is called project_name, a mesh can be created using the command:

mesh project_name

Mesh automatically adds the extensions .bnd and .cmd to the base name project_name. Mesh creates theoutput files project_name_msh.grd (for DF–ISE format) or project_name_msh.tdr (for TDR format) andproject_name_msh.dat that contain mesh geometry and doping information, respectively. Another file,project_name_msh.log, is created and is used as the log file for the mesh generation.

Mesh also supports the TDR file format for input and output files. Following the previous example, anoutput file would be named project_name_msh.tdr. However, in the case of TDR input files, the automaticfile-naming extension does not work very well. If the input boundary file is named project_name_msh.tdr,as opposed to project_name_msh.bnd, both the input boundary file and the output mesh file will have thesame .tdr extension. This may lead to situations where Mesh overwrites the input file because the outputfile will have the same name as the input file.

To avoid this, the following rules are used when automatically expanding the input boundary file namefrom a <root> name:

1. Check if <root>.bnd exists.

2. If it does not exist, check if <root> matches the pattern <root1>{_msh,_mdr}.If yes, check if <root1>_bnd.tdr exists.

3. If it does not exist, check if <root>_bnd.tdr exists.

4. If it does not exist, check if <root>.tdr exists.

5. If it does not exist, check if <root>.grd exists.

6. If it does not exist, check if <root>.grd.gz exists.

7. If it does not exist, a warning message is displayed and Mesh exits.

If the input file contains a volume triangulation, a surface description is extracted and the volumeelements and points are discarded.

42

Page 53: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 4 MESH

Command-line optionsThe use is:

mesh [ options ] cmd-filename

The following command-line options are available:

-AllActive Converts total concentrations to active concentrations (default).

-AllTotal Converts active concentrations to total concentrations.

-binary Writes binary output files.

-c <int> Restricts point connectivity for general patterns.

-Cin Performs a topology check of the input geometry (3D only).

-compress Compresses output files into .gz format.

-Cout Performs a topology check of the resulting output mesh (3D only).

-d Uses the newest and more robust delaunization algorithm. Use thisalgorithm if the -P algorithm fails.

-D Uses DIP as the doping incorporation function. The file with the script forDIP must have the extension .dip. Valid only for 3D. For successful use ofthis option, the species name in the DIP script file must exactly match the‘function’ name of the dataset in the *.dat files (refer to the DIP UserGuide).

-discontinuousData Writes discontinuous datasets.

-dmp <n> Sets the limit on the number of mesh nodes generated by the new Synopsysdelaunizer (-d).

-DopingAsIs Uses concentrations as in files (for expert users).

-extract_in Extracts boundary for regions specified in the control section from theinput boundary.

-f Fits MaxElementSize first. Mesh creates an initial set of macroelementsaccording to the specifications of the user before fitting the geometry.

-F dfise | tdr Sets the type of output file: either DF–ISE or TDR format.

-g Builds mesh in gas.

-G General pattern inserts point inside.

-h Prints help information.

-i With analytic implantation (only 3D).

43

Page 54: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 4 MESH

-I Do not use profiles; skips all datasets. Neither analytic profiles nor externalprofiles are taken in account. The file filename_msh.dat is not created.

-imp3d <file.ani> Use multiple analytic implantations in 3D. Used by Sentaurus StructureEditor in 3D process emulation (see Sentaurus Structure Editor,Implantation of analytic and imp3d profiles on page 118).

-interfaceAdapt Enables refinement near material interfaces.

-iterative Uses iterative refinement scheme.

-m Generates grids using only the device geometry as the refinement criterionand ignores doping specifications. Always use this option as it helps todebug the geometry for complex devices.

-n Translates the input files into the most current syntax.

-neighborRatio <value> Specifies the ratio between the sizes of neighboring elements in a tensor-product mesh (see the -X option). This value must be greater than one. Thecloser this value is to one, the smoother the transition between adjacentelements will be.

-noffset Generates boundary conformal or orthogonal meshes using the Synopsysnormal offsetting technique (2D only).

-nop Do not generate mesh. Reads input and writes output files (can be used fortopology check).

-noShrinkData Do not check variable validity when continuous data is stored.

-numDecimals <integer> Rounds input values from the GUI. The default value is 5. This is a criticalparameter and it must be selected depending on the example with whichthe user is working. If the value is large enough, the input geometry can nolonger be valid. For example, the coplanarity of face points can bedestroyed in 3D.

-oldcmd Allows the loading of command files that use the old syntax. Use also the-n option to convert the old command file to the new syntax, and use thenew command file for any future work.

-p Uses an old delaunization algorithm to finish the mesh (3D only).

-P (default) Uses a newer delaunization algorithm to finish the mesh (3Donly).

-preSurfaceSmooth Do not smooth the boundary-conforming surface mesh points beforeperforming delaunization (3D only).

-r Reads mesh files specified in the command file.

-R Removes unnecessary points, edges, or faces from the boundarydescription.

44

Page 55: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 4 MESH

-rounding-off Do not round coordinates from the input boundary.

-s (default) Creates a more restrictive Delaunay grid in 2D. The maximumangle allowed for triangles is 90o. Therefore, the Voronoï center of everygrid element is completely inside the element.

-shortestEdge <value> Size of the shortest allowable edge in the final mesh (2D only).

-t Generates only simplex elements: triangles in 2D and tetrahedrons in 3D.

-v Displays version number.

-voronoiOutput Writes out Voronoï dual mesh (3D only).

-w Omits delaunization. Fits only user requirements and builds a mesh that isnot suitable for device simulation. Valid for 2D and 3D. This option isuseful to check whether the grid is too coarse or too fine after theadaptation. Moreover, it helps to debug the last step in 3D Delaunayprocedures.

-X Produces a tensor-product mesh instead of a mixed-element mesh asoutput. The output is saved as a DF–ISE grid file (or a TDR mixed-elementfile if the -F tdr option is used).

45

Page 56: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 4 MESH

46

Page 57: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 5 NOFFSET3D

Mesh Generation Tools

CHAPTER 5 Noffset3D

This chapter describes how to start the Noffset3D application and provides a general explanation ofNoffset3D functionality.

Using Noffset3DThe principal idea of Noffset3D is the construction of a box method–conforming Delaunay mesh withsurface-adapted, anisotropic, mesh layers. The box method–conforming Delaunay condition must befulfilled for simulators such as Sentaurus Device and Sentaurus Process that require this type of meshfor their data discretizations.

Similar to the 2D engine, which is already linked to Mesh (mesh -noffset), Noffset3D uses an advancingfront method from designated surfaces and interfaces, to create anisotropic layers of elements, and fillsthe remainder with an isotropic mesh.

In fact, further algorithms are needed for normal offsetting, so that Noffset3D can be seen also as a frontend to several meshing algorithms. Users have full control over the series of algorithms applied. Exceptfor some special cases, the default series of algorithms produces very good results.

Despite its name, Noffset3D is also capable of meshing 2D structures; the result is equivalent tomesh -noffset.

Starting Noffset3DNoffset3D is invoked by:

noffset3d [options] <root>

Noffset3D automatically expands the <root> name to locate the input boundary or grid files using thefollowing rules:

1. Check if <root>.bnd exists.

2. If it does not exist, check if <root> matches the pattern <root1>{_msh,_mdr}. If yes, check if <root1>_bnd.tdr exists.

3. If it does not exist, check if <root>_bnd.tdr exists.

4. If it does not exist, check if <root>.tdr exists.

5. If it does not exist, check if <root>.grd exists.

47

Page 58: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 5 NOFFSET3D

6. If it does not exist, check if <root>.grd.gz exists.

7. If it does not exist, an error message is displayed and Noffset3D exits.

Compressed files are automatically expanded.

By default, if the -f option is not used, a command file is read automatically. Its name is derived fromthe <root> name by appending the extension .cmd to <root>. A warning message is displayed if nocommand file is found.

If the -o option is not used, the base name for output files is formed by adding _pof to the base name ofthe geometry.

Command-line optionsIn invoking Noffset3D:

noffset3d [options] <root>

the following command-line options are available:

-b n Considers n bits as valid in a floating-point computation (default is 40, 3D only).

-c Compresses output files.

-d x Doping mode (x = AllActive | AllTotal | DopingAsIs).

-f foo Uses the file foo as the command file.

-F dfise | tdr Sets the type of output file: either dfise or tdr corresponding to DF–ISE andTDR formats.

-h Prints help information.

-i With analytic implantation (3D only).

-imp3d <file.ani> Uses multiple analytic implantations in 3D. Sentaurus Structure Editor uses thisin 3D process emulation (see Sentaurus Structure Editor, Implantation ofanalytic and imp3d profiles on page 118).

-l foo Reads face location information (constraints coming from layering) from aseparate file foo (for expert users, 3D only).

-L Saves the layering information in a file with the extension .loc, which can besubsequently loaded by using the option -l.

-n Does not save the Voronoï diagram (default, 3D only).

-N Saves the Voronoï diagram in the grid file. This precomputation supersedes thecomputation of the Voronoï diagram inside Sentaurus Device (3D only).

-o foo Uses foo as the base name for output files (for example, foo.log, foo.grd,foo.dat).

48

Page 59: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 5 NOFFSET3D

-p foo Starts the algorithm foo (see Algorithms (three-dimensional only) on page 49,3D only).

-P foo Starts the external tool foo as a meshing algorithm (see Algorithms (three-dimensional only), 3D only).

-t Converts rectangles to triangles (2D only).

-u Unites all regions of the same material into a single region. The name of theresulting united region is that of the material.

-U Merges regions with names such as foo_(number) into one region with the namefoo.

-v Displays version number and compilation information.

–x Skips autodetection of accelerator options (see Accelerators (three-dimensionalonly) on page 53).

-X foo Uses the accelerator feature foo (see Accelerators (three-dimensional only)).

NOTE These options can be set in the command file in a line options = ... (with the exception of -f)(see Field points on page 75).

NOTE The characters for defining options are case sensitive. When the lowercase and uppercase ofthe same character exist, the behavior is related, but the uppercase option has the oppositeeffect (for example, -N and -n) or is a different approach to the same problem (for example, -Pand -p).

Algorithms (three-dimensional only)This section describes algorithms that are available to create a mesh with Mesh Generation Tools.

An algorithm abc can be applied by using the -p abc option. A series of algorithms can be given bymultiple -p options. The order in which these options are given is preserved (and is significant).

The default (if no -p option is given) is the series:

-p surface2 -p del-snps2 -p noffset3d -p refine -p del-snps -p interpolate

NOTE If the parameter maxconnect (see Offsetting section on page 21) is given a value less than 100,the algorithm redcon will be added and the default series will be:-p surface2 -p del-snps2 -p noffset3d -p refine -p redcon -p del-snps -p interpolate

49

Page 60: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 5 NOFFSET3D

If other sequences are required, the user has two options: to give the new series of algorithms with allthe -p options needed or to alter the default series with the accelerator options -X (see Accelerators (three-dimensional only) on page 53). Often, the default series is changed automatically depending on thesettings in the command file. Therefore, these options do not have to be used explicitly.

The algorithm options are:

-p surface2 Triangulates surface polygons and refines triangles with edges longer than thehglobal value in the corresponding boundary section or maxedgelength for aneighboring region. The surface mesh is automatically graded based on thegrading parameter to control the transition between fine and coarse surfaceelements, which results in a much better surface mesh quality (see Surfacemesher on page 95).

-p surface Triangulates surface polygons and refines triangles with edges longer than thehglobal value in the corresponding boundary section or maxedgelength for aneighboring region. If the parameter maxangle is given, all triangles with largerangles are refined. These parameters are specified in the command file.

NOTE Setting maxangle to a value less than 120o may cause infinite loops. In many realistic examples,however, a value of 100o–120o may work.

The surface meshing module -p surface (or -p surface2) does not de-refine theinput; the structure generation tool Sentaurus Structure Editor can removeunwanted small features. The surface meshing module is usually the first in theseries of algorithms. The geometry must be a conformal description in DF–ISEformat or TDR format. If the input is a volume triangulation, a surfacedescription is extracted, and the volume elements and points are discarded.

-p del-snps Builds a volume triangulation using a new incremental Delaunay algorithm.This algorithm is more robust than its predecessor deltri. The triangulationgenerated by this algorithm is suitable for use in Sentaurus Device. Theparameters for this algorithm are specified in the Delaunizer section of thecommand file (see Delaunizer section on page 29).

-p del-snps2 Builds a volume triangulation using a new constrained Delaunay triangulation(CDT) algorithm. This algorithm generates a volume triangulation from asurface description adding very few nodes to the surface. The generatedtriangulation is not suitable for Sentaurus Device. The parameters for thisalgorithm are the same as for del-snps.

-p deltri Builds a volume triangulation using an older incremental Delaunay algorithm.This algorithm is less stable than the del-snps algorithm and is provided forbackward compatibility. The triangulation generated by this algorithm issuitable for use in Sentaurus Device. This algorithm does not require anyparameters.

50

Page 61: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 5 NOFFSET3D

-p deltri2 Builds a volume triangulation from a surface description using a simpler versionof deltri that inserts fewer nodes. This algorithm is less stable than the del-snps2algorithm and is provided for backward compatibility. The triangulationgenerated by this algorithm is not suitable for use in Sentaurus Device. Thisalgorithm does not require any parameters.

-p noffset3d This performs the actual normal offsetting procedure. It creates boundary-parallel mesh layers with a thickness of hlocal. The consecutive layers increasein thickness by the factor factor. The layering finishes after maxlevel or beforelayers collide. It is important that a volume triangulation is generated beforecalling this module. If the structure is not a volume triangulation, -p del-snps2must be called. The parameters are set in the noffset sections of the commandfile (see Layering and isotropic refinement on page 23).

-p refine Applies all refinements specified, which can include:– Insertion of grid points from external source.– Insertion of axis-aligned mesh (AAM) points.– Refinement of long edges (longer than maxedgelength or maximum sizeresulting from Mesh-like refinement boxes).The following describes the nature of each of the above refinements.

Points from an external source are added. These points are specified by using afile defined by the keyword background in the command file. The points of thebackground source are filtered so that they do not interfere with the boundariesor layers of the normal offsetting. The file background must be a valid DF–ISEgrid file, but only the points are considered; their connectivity is ignored. Infact, elements and regions are not required to be in the file.

If AAM points are required, that is, if the parameter usebox=2|"aam"|"aam-default"|"aam-file-order"|"aam-all" is used, regular point sets for all Mesh-typerefinement boxes are created and inserted. First, regular point sets for allrefinement boxes of a Mesh type in the command file are created. For example,if MaxElementSize is in coordinate direction and the cuboid of Refinewindowis , then points are created in that coordinatedirection. Second, a tensor-like grid with points is generated in theRefineWindow. AAM points that are close to interfaces or layers of the normaloffsetting are filtered out, that is, elements created in the normal offsetting havepriority.

Finally, long edges (longer than maxedgelength) are refined in a postprocessingstep. If the parameter usebox=1|"isotropic"|"unstructured" is used, therefinement specifications similar to Mesh are enforced (for example, isotropicrefinement on doping gradients). With usebox=1|"isotropic"|"unstructured", forMesh-like refinement boxes given by MaxElementSize of [Sx Sy Sz], the effectivemaxedgelength used in refinement is computed as . There is atendency for -p refine to create a finer grid than Mesh for the same parametersof the refinement box.

-p delaunize Delaunizes the final grid using a flip-based algorithm. This is an olderalgorithm, which is replaced by -p del-snps. This module cannot create avolume triangulation by itself.

ai ixi yi,[ ] ni 1 ceil

yi xi–ai

--------------⎝ ⎠⎛ ⎞+=

n0 n1× n2×

Sx2 Sy2 Sz2+ +

51

Page 62: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 5 NOFFSET3D

-p interpolate Creates datasets for the profiles defined in the command file language of Mesh(see Chapter 2 on page 5). This algorithm must be the last one called in theseries. Otherwise, datasets for the profiles (output file *.dat) will not be created.

-p junction The anisotropic refinement of a given dataset in Noffset3D is a two-stepprocedure. First, an isosurface is computed and incorporated into the geometrydescription. This means that the isosurface is available as part of the geometry.Second, the normal offsetting generates anisotropic layers as it does frommaterial boundaries. Usually, users do not have to set this parameter explicitly,but it is set when the command file contains an isosurface definition.

The algorithm for constructing the isosurface works on a volume triangulationthat is refined iteratively to ‘recover’ the isosurface. The algorithm can onlysucceed if the starting triangulation ‘sees’ the isosurface. Therefore, smallbubbles with no points inside cannot be found.

-p extract Given a surface mesh (made of triangular elements), a polyhedral description iscreated in the boundary format of DF–ISE. If the input to this algorithm is avolume triangulation, a polyhedral surface description is extracted, that is,internal points are removed. If the structure already contains polyhedra, thismodule has no effect. In any case, no surface points are removed.

-p simplify This is similar to -p extract but some points on the surface are removed. Thecriterion for removal is coplanarity or colinearity of the point with its neighbors.This module serves as a complete de-refinement that leaves the device structureas it is. Compared to -p extract, the algorithm -p simplify does not work withsurface meshes; it requires volume meshes as input.

-p exit The sequence of the algorithm is stopped and Mesh Generation Tools exits. Thiscan be used to load and save tests (for example, noffset3d -p exit abc.grd).

-p qwell For some optoelectronic devices, the active region (quantum well) requires aregular mesh across the region. The meshing of these regions involves apretreatment and post-treatment phase. The parameters for this module are inthe section with the keyword qwell in the command file. The placement of sucha section in the command file automatically switches on the respectivealgorithms.

-p optimise The mesh quality is enhanced by local transformations, but no points areinserted. This can be considered as an alternative to the full delaunization.

-p redcon This procedure reduces the connectivity of nodes using the parameter maxconnectin the command file. This is performed by further refinement in the vicinity ofthe highly connected nodes. Refinement is limited so that the target value ofmaxconnect is not guaranteed. With a maxconnect of 100 or less, this algorithm isautomatically added to the set of standard algorithms to be run.

Given that the average connectivity for a tetrahedral grid is approximately 20,the maxconnect value is internally set to a minimum of 30. For example, ifmaxconnect=20, the algorithm sets maxconnect=30. If maxconnect=60, this value isused.

52

Page 63: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 5 NOFFSET3D

Finally, an external mesh generator foo can be used by using the option -P foo. A system call invokes foowith three arguments:

The name of temporary file with the current structure (DF–ISE format).

The name of the command file (the same that Noffset3D is using).

The name of the output file (Noffset3D tries to read this file when foo is finished).

As other mesh generators do not generally use this syntax, in practice, foo is an executable shell scriptthat is a wrapper around the real tool. Temporary Noffset3D files are placed in the directory /tmp or thedirectory that is indicated by the environment variable TMPDIR.

Accelerators (three-dimensional only)To simplify the specification of a series of algorithms, the accelerator switch -X is available. It adds orremoves algorithms from the default series to gain access to some additional features. A warningmessage is displayed if a nonexisting accelerator is applied. The options are:

-X junction This is equivalent to prepending -p surface2 -p junction -p extract to thedefault. It is used to construct isosurfaces and to incorporate them into thedescription of the boundary.

-X nodelaunay Replaces the final delaunization (-p del-snps) by the optimization routine(-p optimise). The resulting mesh has fewer nodes and is not a boxmethod–conforming Delaunay triangulation (BMCDT).

-X nonoffset3d Removes -p noffset3d from the series of algorithms.

-X norefine Removes -p refine from the series of algorithms.

-X olddel Delaunizes using old delaunizer (deltri).

-X oldmsh Creates meshes using both the old surface mesher and old delaunizer.

-X oldsrf Creates meshes using the old surface mesher (surface).

-X qwell Places preprocessing and postprocessing (-p qwell) for high aspect-ratiooptoelectronic devices into the series of algorithms. The modules attack a seriesof regions that must be axis-aligned and cut through the entire structure. If theactual quantum well is only a part of the geometry, the neighboring regions mustbe cut (by the user) into several regions. See Special treatment of quantum wellson page 27 for setting up the parameters.

-X redcon Adds connectivity reduction algorithm -p redcon to the sequence of algorithms.It is placed before the delaunization algorithm. Note that with the parametermaxconnect of 100 or less, the algorithm -p redcon is automatically added to theset of standard algorithms to be run.

53

Page 64: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 5 NOFFSET3D

Usually, users do not have to call the parameters -X junction and -X qwell because they are appliedautomatically when the respective feature is accessed in the command file. This automatic placement ofaccelerator options can be switched off by the option –x.

Two-dimensional specific parametersAs mentioned in Using Noffset3D on page 47, Noffset3D can mesh two-dimensional structures and theresult is equivalent to running: mesh -noffset. In fact, some parameters of the Noffset3D module arespecific to 2D structures as indicated throughout the manual. For ease of reference, all parametersspecific to 2D structures are listed.

Command-line options-t Converts rectangles to triangles.

Offsetting parametersrecoverholes (0) Fixes structures with multiply connected elements. This is not performed by

default. To mesh 2D multiply connected structures, use recoverholes=1. Inaddition, note that the holes in the structure must be filled. The default is zero.

triangulate (0) Splits rectangles into triangles. The default is zero.

Layering parameterssubdivide (0) When the layering is finished, the elements are subdivided to increase

anisotropy. For example, specifying 3 results in three subdivisions and eightsublayers. This is useful if high anisotropy is required close to low anisotropy:The layering can be performed with the same hlocal, and high anisotropy isachieved after the subdivision. The default is zero.

terminateline Tries to keep a warped tensor grid at interfaces for a given number of layers. Forouter layers, mesh lines are terminated.

54

Page 65: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 6 SENTAURUS MESH

Mesh Generation Tools

CHAPTER 6 Sentaurus Mesh

This chapter describes how to start the Sentaurus Mesh application and provides a general explanationof the functionality of Sentaurus Mesh.

Using Sentaurus MeshSentaurus Mesh is a modular Delaunay mesh generator, which generates high-quality spatialdiscretizations for complex 2D and 3D devices. It contains two mesh generation engines: an axis-alignedmesh generator and a tensor-product mesh generator.

The axis-aligned mesh generator produces Delaunay meshes, which are suitable for use in SentaurusDevice and Sentaurus Process. In 2D, the meshes contain triangles only, while in 3D the meshescomprise tetrahedra. For information about the algorithm used to generate Delaunay meshes, seeChapter 12 on page 97.

The tensor-product mesh generator is currently intended to generate meshes for Sentaurus DeviceElectromagnetic Wave Solver (EMW) and Sentaurus MOCA. The meshes contain rectangular elementsin 2D and hexahedral elements in 3D.

Sentaurus Mesh reads the input geometry from a file. This file can be specified using either the DF–ISEboundary format or the TDR format.

Impurity concentrations and user-required element sizes can be described using the mesh command file.The grid can be adapted to analytic profiles generated by Sentaurus Structure Editor (in 2D and3D) orprofiles generated by Sentaurus Process (in 2D) and DIP (in 3D). (All references to concentrations inthis document imply ‘active’ or ‘substitutional’ concentrations, since calculations in Sentaurus Deviceuse concentrations in this form.)

The required point densities, according to the supplied concentration profiles, are obtained by refiningthe elements in an anisotropic way, generating fine elements for the critical parts of the device and coarseelements in the bulk regions. Unnecessary point propagation due to quadtrees, octrees, or tensor-productgrid techniques is avoided.

Finally, adding a delaunization allows Sentaurus Mesh to obtain high-quality conforming Delaunaygrids, suitable for control volume discretization methods that are used in device simulation. For moreinformation, refer to the literature [1][2][3][4].

The output of Sentaurus Mesh depends on the mesh generation engine used. The axis-aligned meshgenerator always produces a TDR unstructured mesh; the tensor-product mesh generator will select thetype of mesh depending on the target application.

55

Page 66: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 6 SENTAURUS MESH

Starting Sentaurus MeshA mesh is created from two input files, namely, the boundary file and the command file. If the inputproject is called project_name, a mesh can be created using the command:

snmesh <options> project_name

Sentaurus Mesh automatically adds the extensions .bnd and .cmd to the base name project_name.Sentaurus Mesh creates the output file project_name_msh.tdr that contains mesh geometry informationand doping information. Another file, project_name_msh.log, is created and is used as the log file for themesh generation.

The automatic file-name extension works well if the input boundary file has the extension .bnd.However, in the case of TDR files, both the input boundary file and output mesh file will have thesame .tdr extension. This may lead to situations where Sentaurus Mesh overwrites the input file becausethe output file will have the same name as the input file.

To avoid this, the following rules are used when automatically expanding the input boundary file namefrom a <root> name:

1. Check if <root>.bnd exists.

2. If it does not exist, check if <root> matches the pattern <basename>{_msh,_mdr}.If yes, check if <basename>_bnd.tdr exists.

3. If it does not exist, check if <root>_bnd.tdr exists.

4. If it does not exist, check if <root>.tdr exists.

5. If it does not exist, check if <root>.grd exists.

6. If it does not exist, check if <root>.grd.gz exists.

7. If it does not exist, a warning message is displayed and Sentaurus Mesh exits.

Command-line optionsThe binary of Sentaurus Mesh is snmesh. It is executed using the syntax:

snmesh [-a|-t] [ options ] [ engine-specific options ] cmd-filename

The options that are common to all mesh generation engines in Sentaurus Mesh are:

-a Uses the axis-aligned mesh generator (default).

-h Displays help information.

56

Page 67: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 6 SENTAURUS MESH

The options that are available only to the axis-aligned mesh generator are:

-i --dip Uses the doping incorporation library (DIP). This library enables theplacement of 2D mesh cross sections in the 3D space. The doping can thenbe interpolated between the cross sections using a set of rules.

-t Uses the tensor-product mesh generator.

-v Displays version information.

-w (0-4) Sets the verbosity level of the output messages. At level 0, only basicmessages are displayed. At level 4, all messages are displayed.

-c boxmethod | conforming | constrained

Sets the type of Delaunay mesh produced by Sentaurus Mesh (default =boxmethod).

-d Disables the decimation of the boundary. The decimation process removessurface nodes from the surface, therefore obtaining a simpler structure. Anode is removed if the deformation caused by removing the node is lessthan the value specified in the -g option or the decimate command-fileparameter.

-e <integer> Specifies the number of decimals used to round off any input coordinatethat is located at the bounding box of the boundary (default=5).

-g <double> This parameter specifies the geometric accuracy used to modify theboundary when it is being decimated (default = 1e-6).

-m <integer> Specifies the maximum number of vertices produced by the delaunizer(default = 100000).

-n <double> The algorithm uses this parameter to control the maximum angle producedduring the binary tree refinement (default = 90 in 2D and 165 in 3D).

-o Disables the optimization of the boundary which occurs after the boundaryhas been intersected with the binary tree. Usually, after the boundary hasbeen intersected with the binary tree, it may contain some very smallfeatures that must be cleaned up.

-r <double> Specifies the ratio between the sizes of adjacent neighbors in the binarytree (default = 4).

-s Disables the smoothing of the binary tree. Usually, after the binary treerefinement is finished, the tree can be unbalanced. The smoothing stepdoes some extra refinement to impose criteria such as the maximum angle,the maximum aspect ratio, and the ratio between adjacent neighbors.

-x <double> Specifies the maximum aspect ratio of the binary tree elements (default =1000).

57

Page 68: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 6 SENTAURUS MESH

The options that are available only to the tensor-product mesh generator are:

-gen-tdr-out The output file will be an unstructured mesh in TDR format.

-moca Instructs the tensor-product mesh generator to generate a mesh suitable forthe Sentaurus MOCA application.

-ten-dfise-out The output file will be a tensor-product mesh in DF–ISE format.

58

Page 69: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Part III Examples

This part of the Mesh Generation Tools manual contains the following chapters that describe how to perform common tasks:

CHAPTER 7 DOPING AND REFINEMENT ON PAGE 61

CHAPTER 8 NOFFSET3D EXAMPLES ON PAGE 69

CHAPTER 9 TENSOR-PRODUCT EXAMPLES ON PAGE 79

Page 70: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical
Page 71: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 7 DOPING AND REFINEMENT

Mesh Generation Tools

CHAPTER 7 Doping and refinement

This chapter illustrates how to use the Definitions and Placements sections in the command file, whichare common sections to all the mesh generation tools.

Command file for a simple diodeThis section describes the command file diode.cmd that is used as an example for the rest of this chapter.The command file contains two types of information: dimension-independent data and dimension-dependent data. The dimension-independent part of the command file diode.cmd, for this example, is:

Title "minimal example: simple diode"Definitions {

# ProfilesConstant "n-type region" {

Species = "PhosphorusActiveConcentration" Value = 1e+18}Constant "p-type region" {

Species = "BoronActiveConcentration" Value = 1e+17}

}

The optional keyword Title is used for a short description of the device and mesh. The Definitionssection specifies the dimension-independent part of the command file and can be used for all dimensionswithout modifications.

Two constant profiles for doping are described using the keyword Constant followed by the profile namein double quotation marks. The keyword Species is used to declare the doping species used in the region.The constant concentration is specified by the number following the keyword Value. The sign is intrinsicto the species.

Now, the doping profiles must be placed in the device. The placement of these profiles depends on thedevice geometry. Since, for this example, ‘solid’ regions are to be filled with constant doping, theseinstructions are added to the command file:

Placements {# Profiles Constant "n-type region instance" {

Reference = "n-type region"EvaluateWindow {

Element = cuboid [(1 0 0), (2 3 2)] # for 3D}

}

61

Page 72: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 7 DOPING AND REFINEMENT

Constant "p-type region instance" {Reference = "p-type region"EvaluateWindow {

Element = cuboid [(0 0 0), (1 3 2)] # for 3D}

} }

The keyword Placements starts the dimension-dependent section where the instances of the definitionsgiven in the Definitions section are defined. The keyword Reference specifies a profile defined in theDefinitions section. EvaluateWindow defines the valid domain for the profiles. In this example, the validdomains are lines in 1D, rectangles in 2D, and cuboids in 3D. If EvaluateWindow is not defined in the file,the profile is valid in the entire domain of the device.

For the 3D case, the valid domain of the p-type region is the lower half of the device, given by the cuboid[(0 0 0), (1 2 3)]. In 2D, this domain is given by the rectangle [(0 0), (1 2)] and in 1D, by the line[(0), (1)]. However, the doping profile defined for 3D can be used for the lower dimensions and, for therest of this chapter, only the command file for the 3D case will be used.

In the example, there is an abrupt decay function between the two constant profiles. The dopingassociated with points outside the EvaluateWindow is zero. This situation can be modified if the parameterDecayLength is used. By setting the keyword DecayLength in EvaluateWindow, an error function can be usedas a decay profile.

Using refinement polygonsFigure 1 illustrates the use of polygonal domains for specifying a polygonal RefineWindow and for usinga polygonal domain as an EvaluateWindow.

Figure 1 Polygonal refinement

62

Page 73: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 7 DOPING AND REFINEMENT

The domain is a simple rectangular boundary and the command file is:

Title "Refinement Polygon"Definitions {

Refinement "global" {MaxElementSize = (4, 4)MinElementSize = (.04 .04)RefineFunction = MaxTransDiff(Variable="DopingConcentration", Value=0.5)

}Refinement "refpol" {

MaxElementSize = (0.3 0.1)}Constant "bor" {

Species = "BoronConcentration" Value=1e+17}

}

Placements {Refinement "global" {

Reference = "global"RefineWindow = rectangle [( -2 -2 ), ( 14 14 )]

}Refinement "refpol" {

Reference = "refpol"RefineWindow = polygon [( 1 2 ) ( 0.75 2 ) ( 1 2.5 ) ( 1.25 3 ) ( 1.5 3.5 ) ( 1.75 4 ) ( 2 4.25 ) ( 2.25 4.5 ) ( 2.5 4.75 ) ( 2.75 5 ) ( 2.75 5.5 ) ( 3 5.75 ) ( 3.5 5.5 ) ( 4 5.75 ) ( 4.5 5.5 ) ( 5 5.5 ) ( 5.5 5.75 ) ( 5.5 6 ) ( 6 6.25 ) ( 6.5 6 ) ( 7 6 ) ( 7.5 5.25 ) ( 8 5.5 ) ( 8 5 ) ( 7.5 4.5 ) ( 8 4.25 ) ( 8.5 4 ) ( 9 3.75 ) ( 9.5 4 ) ( 9.5 3.5 ) ( 9.5 3 ) ( 9 3 ) ( 8.5 2.75 ) ( 8.75 2.5 ) ( 8.5 2.25 ) ( 8 2.25 ) ( 7.5 2.25 ) ( 7.5 2.5 ) ( 7 2.5 ) ( 7 2 ) ( 6.75 1.5 ) ( 6.75 1 ) ( 6.25 1 ) ( 6 1.5 ) ( 5.5 2 ) ( 5.5 2.5 ) ( 5 2 ) ( 4.75 1.5 ) ( 4.5 1 ) ( 4 1.25 ) ( 3.5 1.25 ) ( 3 1 ) ( 2.5 1.5 ) ( 2.5 2 ) ( 2.5 2.5 ) ( 2 2.5 ) ( 1.5 2.5 ) ( 1.5 2 ) ( 1 2 )]

}Constant "bor" {

Reference = "bor"EvaluateWindow {

Element = polygon [( 1 2 ) ( 0.75 2 ) ( 1 2.5 ) ( 1.25 3 ) ( 1.5 3.5 ) ( 1.75 4 ) ( 2 4.25 ) ( 2.25 4.5 ) ( 2.5 4.75 ) ( 2.75 5 ) ( 2.75 5.5 ) ( 3 5.75 ) ( 3.5 5.5 ) ( 4 5.75 ) ( 4.5 5.5 ) ( 5 5.5 ) ( 5.5 5.75 ) ( 5.5 6 ) ( 6 6.25 ) ( 6.5 6 ) ( 7 6 ) ( 7.5 5.25 ) ( 8 5.5 ) ( 8 5 ) ( 7.5 4.5 ) ( 8 4.25 ) ( 8.5 4 ) ( 9 3.75 ) ( 9.5 4 ) ( 9.5 3.5 ) ( 9.5 3 ) ( 9 3 ) ( 8.5 2.75 ) ( 8.75 2.5 ) ( 8.5 2.25 ) ( 8 2.25 ) ( 7.5 2.25 ) ( 7.5 2.5 ) ( 7 2.5 ) ( 7 2 ) ( 6.75 1.5 ) ( 6.75 1 ) ( 6.25 1 ) ( 6 1.5 ) ( 5.5 2 ) ( 5.5 2.5 ) ( 5 2 ) ( 4.75 1.5 ) ( 4.5 1 ) ( 4 1.25 ) ( 3.5 1.25 ) ( 3 1 ) ( 2.5 1.5 ) ( 2.5 2 ) ( 2.5 2.5 ) ( 2 2.5 ) ( 1.5 2.5 ) ( 1.5 2 ) ( 1 2 )]

}}

}

63

Page 74: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 7 DOPING AND REFINEMENT

Regionwise and materialwise refinementFigure 2 illustrates the effect of using regionwise and materialwise refinement. The following commandfile segment shows the relevant part of the command file:

Placements {Refinement "A" {

Reference = "A"RefineWindow = region ["Ox_Region"]

}Refinement "B" {

Reference = "B"RefineWindow = material ["Oxide"]

}

Figure 2 Regionwise (left) and materialwise (right) refinement

Using analytic functions for refinement IFigure 3 on page 65 illustrates the use of general analytic functions to specify profiles. The function

is used as a profile and linear interpolation ("ElectrostaticPotential") is used tocompute the required local element size. The following command file segment illustrates the syntax:

Definitions {Refinement "Region_1" {

MaxElementSize = (1 1)MinElementSize = (0.01 0.01)RefineFunction = MaxTransDiff(Variable = "ElectrostaticPotential", Value = 0.01)

}AnalyticalProfile "Profile_1" {

Species = "ElectrostaticPotential"Function = General(init="a=0.1",function = "a*sin(x)*sin(y)",value = 0)

}}Placements {

Refinement "Region_1" {

0.1 x( ) y( )sinsin

64

Page 75: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 7 DOPING AND REFINEMENT

Reference = "Region_1"}AnalyticalProfile "Profile_1" {

Reference = "Profile_1"EvaluateWindow {

Element = rectangle [(0 0), (9.43 9.43)]}

}}

NOTE The function parser does not support automatic operator precedence. Use brackets to definethe execution order. For example, write "a + (b*c)" instead of "a + b*c".

NOTE The exponential notation for numeric constants is not supported. For example, write "2*10^18"instead of "2e18".

Figure 3 Use of analytic refinement functions

Analytic function

Generated mesh

65

Page 76: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 7 DOPING AND REFINEMENT

Using analytic functions for refinement IIThis example illustrates the use of a general analytic function to prescribe 3D refinement based on a 3Danalytic function. The domain is a cube. Figure 4 shows the generated mesh.

Figure 4 Use of analytic refinement functions

Definitions {Refinement "Region_1" {

MaxElementSize = (4 4 4)MinElementSize = (0.01 0.01 0.01)RefineFunction = MaxTransDiff(Variable = "ElectrostaticPotential", Value = 10000.0)

}AnalyticalProfile "Profile_1" {

Species = "ElectrostaticPotential"Function = General(init="a=0.1",function = "a*x*x*y*y*z*z",value = 0)

}}Placements {

Refinement "Region_1" {Reference = "Region_1"

}AnalyticalProfile "Profile_1" {

Reference = "Profile_1"EvaluateWindow {

Element = cuboid [ ( 0 0 0 ), ( 10 10 10 )]}

}}

66

Page 77: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 7 DOPING AND REFINEMENT

Using analytic functions for doping specificationThis example illustrates the use of general analytic functions for defining doping profiles. To use theprimary and lateral directions as x and y, the keyword Eval must be specified (instead of General), that is,by using global spatial coordinates. Figure 5 shows the generated meshes.

AnalyticalProfile "NoName_0" {Species = "BoronActiveConcentration"Function = Eval(init="a=10",function = "a*sin(x)*cos(y)",value = 0)

}ReferenceElement {

Element = line [( 0 0 ), ( 10 10 )]# Element = line [( 0 5 ), ( 10 5 )]# Element = line [( 5 0 ), ( 5 10 )]

}

Figure 5 Use of analytic refinement functions for doping

Element=line[(0 0),(10 10)] Element=line[(0 5),(10 5)] Element=line[(5 0),(5 10)]

67

Page 78: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 7 DOPING AND REFINEMENT

Implantation

Figure 6 Analytic implantation

The implantation module requires a mesh command file (for example, foo.cmd) and the imp3d Tcl script.For example, when using implantation in Noffset3D, the command-line arguments have the form:

noffset3d -i -f foo.cmd...

68

Page 79: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 8 NOFFSET3D EXAMPLES

Mesh Generation Tools

CHAPTER 8 Noffset3D examples

This chapter illustrates the use of Noffset3D in various examples.Mesh Generation Tools

Simple exampleThis example shows a complete and simple command file. If users require doping profiles to beinterpolated on the final mesh, the necessary section of the command language of Mesh can be added tothe same file (line numbers are for reference only):

1 title "noffset3d simple example"2 Offsetting {3 maxangle=1504 noffset {5 hlocal=.06 factor=1.57 maxlevel=108 maxedgelength=.79 }10 noffset material "Silicon" "Oxide" {hlocal=.05}11 noffset material "Silicon" "Contact" {hlocal=.05}12 boundary material "Silicon" "Oxide" {hglobal=0.5}13 }

The normal offsetting is not performed for the unspecified interface (line 5), which is the defaultbehavior. Lines 10 and 11 switch on the layering in silicon at the interface to oxide and contacts with athickness of 0.05 in the first layer.

NOTE Only the material property is checked with the keyword material and not the names of theregions (in that case, the keyword region must be used).

The coarsening factor is set globally to 1.5 (line 6). If no collisions occur, ten layers are created (line 7).The parameter maxedgelength (line 8) influences the surface mesh and the postrefinement step (-p refine).

Line 12 sets the refinement parameter for surface meshing to 0.5.

69

Page 80: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 8 NOFFSET3D EXAMPLES

Assuming that the command file is called abc.cmd and the boundary file is called def.bnd, the program isinvoked by:

noffset3d -f abc.cmd def.bnd

Figure 7 Normal offsetting mesh with layers and isotropic refinement in the bulk

Using the surface mesherThis example shows how different gradings can be used. A large grading is used for oxide regions toreduce the number of points:

Offsetting {maxnumpoints=200000 #defaultnoffset {

grading=0.5 #default}noffset material "Oxide" {

grading = 100}

}

Figure 8 shows a simple structure, which will be used to compare meshes using the new and old surfacemeshers of Noffset3D.

Figure 8 Simple structure consisting of cuboid substrate and cylindrical gate

70

Page 81: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 8 NOFFSET3D EXAMPLES

As seen in Figure 9, the old surface mesher leads to a surface grid in which element size can vary verysharply, which can result in poor volume elements. The new surface mesher results in surface grids inwhich the elements are graded automatically.

Figure 9 Surface mesh of substrate using old surface mesher (-p surface) (top) and new surface mesher (-p surface2) (bottom)

71

Page 82: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 8 NOFFSET3D EXAMPLES

Using the grid regularity featureThis example shows the specification of a regular grid with spacing of (0.066251 0.020 0.020) on theinterface between the regions R.Substrate and R.Trench of a shallow trench isolation (STI) structure:

boundary region "R.Substrate" "R.Trench"{reggrid {

regmode = "snap"uniform = (0.066251 0.020 0.020)minedgeratio = 0.2

}}

Since no window is specified, the grid regularity feature (GRF) is applied to the entire boundary.

The following example illustrates when a fine grid regularity is applied to a portion of the interface anda coarser grid regularity is applied to the remainder of the same interface:

boundary region "R.Substrate" "R.Trench"{reggrid {

regmode = "snap"uniform = (0.004417 0.020 0.020)window = [(-0.212 0.0 -0.065625) (-0.1855 0.107 0.0)]minedgeratio = 0.2

}}boundary region "R.Substrate" "R.Trench"{

reggrid {regmode = "snap"uniform = (0.008830 0.020 0.020)

}}

Figure 10 on page 73 (upper left) shows the grid of an OMEGA-type FinFET structure in which aregular grid is specified on the silicon channel interfaces. Figure 10 (upper right) shows the volume gridwhere some regions are not displayed in order to see the curved silicon channel in the structure.

The regular grid created on the curved silicon channel is shown in Figure 10 (lower left). It consists ofthree portions: medium size in the middle corresponding to the channel, fine size corresponding to p-njunctions, and large size on the two ends. Figure 10 (lower right) shows the regular grid created on thecurved oxide gate.

72

Page 83: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 8 NOFFSET3D EXAMPLES

Figure 10 Volume grid of full structure (upper left), volume grid of selective regions of structure (upper right), regular grid created using GRF on silicon channel interfaces (lower left), and regular grid created using GRF on oxide gate interfaces (lower right)

Using Mesh-like refinement boxes in 3D and 2DA simple approach to using Mesh refinement boxes is isotropic refinement of the mesh according to theparameters. The respective Definitions and Placements sections of the refinement boxes that are likeMesh can be placed in the same command file. In addition, the Offsetting section must set the parameterusebox=1|"isotropic"|"unstructured":

Title "Mesh-like refinement boxes"Definitions {

...}Placements {

...}Offsetting {

usebox="isotropic"...

}

73

Page 84: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 8 NOFFSET3D EXAMPLES

In this setting, the module -p surface2 (or -p surface) and -p refine refine according to the givenrefinement boxes, that is, for Mesh-like refinement boxes given by MaxElementSize of [Sx Sy Sz], edgeslonger than the size of would be refined.

An alternative approach is to create a hybrid mesh by specifying the parameter usebox=2|"aam"|"aam-default"|"aam-file-order"|"aam-all" in the command file. In this case, a regular mesh for eachrefinement box will be created.

Figure 11 Isotropically refining the p-n junction using refinement boxes that are like Mesh

In this case, Mesh-like refinement boxes are used to create an axis-aligned mesh in the specifiedlocations. Each refinement placement is replaced by an axis-aligned point set that matches theMaxElementSize of the corresponding definition. The point set is anisotropic if the specifications forMaxElementSize are different in the x, y, and z directions. Boundary points are only inserted if therefinement rectangle matches the regions.

Figure 12 Hybrid grid with regular grid

Sx2 Sy2 Sz2+ +

74

Page 85: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 8 NOFFSET3D EXAMPLES

Field pointsAn auxiliary mesh (foo.grd) can be supplied as an external point source. Use the parameter backgroundto define the file name in the command file:

Offsetting {background = "foo.grd"...

}

The surface meshing module -p surface2 (or -p surface) also considers the points from the backgroundmesh.

NOTE If the geometry of background and the current mesh do not match exactly, the surface pointsare rejected.

Isosurface computation

Figure 13 The p-n junction computed as an isosurface and incorporated into the boundary

title "Isosurface"## profile description skipped#Offsetting {

usebox = 1maxangle = 120noffset material "Silicon" "Oxide" {

hlocal = 0.006}noffset material "Silicon" {

maxlevel = 3}isoline "pn" {

length = .05

75

Page 86: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 8 NOFFSET3D EXAMPLES

}noffset region "Si" "pn" { # "Si" is the region name

hlocal = 0.006}

}

This example computes the p-n junction as an additional interface and starts layering (with a thicknessof 0.006) from this interface.

Multi–quantum well meshingThis example demonstrates the use of the qwell module in its more flexible mode of operation. The activemulti–quantum well region (see Figure 14) of this tunable ridge waveguide laser does not extend alongthe full length of the device. Therefore, it is necessary to define three stacks: the actual active quantum-well stack in the middle of the device and an adjacent stack at the front and rear. The mesh in the frontand rear stacks can be much coarser than the mesh of the multi–quantum well stack.

Figure 14 Mesh of an optoelectronic device created by Mesh outside the active region and by the qwell mode of Noffset3D inside the active region; since the device is very long, the z-axis is shown shrunken

The corresponding section in the command file is:

Offsetting {...qwell{

stack{region ("qbarrier8_region" 3 "InGaAsP" 0.008)region ("qwell7_region" 2 "InGaAsP" 0.006)region ("qbarrier7_region" 3 "InGaAsP" 0.008)region ("qwell6_region" 2 "InGaAsP" 0.006)region ("qbarrier6_region" 3 "InGaAsP" 0.008)region ("qwell5_region" 2 "InGaAsP" 0.006)region ("qbarrier5_region" 3 "InGaAsP" 0.008)region ("qwell4_region" 2 "InGaAsP" 0.006)region ("qbarrier4_region" 3 "InGaAsP" 0.008)

Active Region

76

Page 87: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 8 NOFFSET3D EXAMPLES

region ("qwell3_region" 2 "InGaAsP" 0.006)region ("qbarrier3_region" 3 "InGaAsP" 0.008)region ("qwell2_region" 2 "InGaAsP" 0.006)region ("qbarrier2_region" 3 "InGaAsP" 0.008)region ("qwell1_region" 2 "InGaAsP" 0.006)region ("qbarrier1_region" 3 "InGaAsP" 0.008)protect

}stack{

region ("front_facet_mqw_region" 2 "Si3N4" 0.106)}stack{

region ("rear_facet_mqw_region" 2 "Si3N4" 0.106)}

}}

If Noffset3D is invoked as described in Starting Noffset3D on page 47, it generates a mesh for bothregions specified in the qwell section and all other regions. This results in a regular mesh in the qwellregions and an unstructured mesh in the remainder of the device.

However, many optoelectronic devices have high aspect ratios, for example, the length of a typical laseris much longer than its width or height. In such cases, it is often preferable for Mesh to generate a meshfor the non-qwell regions, and Noffset3D is invoked in a preprocessing and postprocessing step to fulfillthe special quantum-well mesh requirements:

noffset3d -p qwell -o foo -f foo.cmd foo_orig.bndmesh -P foonoffset3d -p qwell -p interpolate -f foo.cmd foo_msh.grd

Starting with the input files foo.cmd and foo_orig.bnd, the result of these three command lines is a meshfile named foo_msh_pof.grd and a corresponding doping profile file named foo_msh_pof.dat. Figure 15shows a magnification of the active region of the device with the mesh in the quantum well indicated.The coarser mesh in the adjacent region is in the z-direction.

Figure 15 Magnification of mesh in the active region, where the fully structured mesh is visible

Structured Meshin Active Region

77

Page 88: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 8 NOFFSET3D EXAMPLES

78

Page 89: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 9 TENSOR-PRODUCT EXAMPLES

Mesh Generation Tools

CHAPTER 9 Tensor-product examples

This chapter uses various examples to demonstrate the applications of the Tensor section of the commandfile.

Simple cubeThis example illustrates the effectiveness of various features such as maxbndcellsize, maxcellsize,refinement using window, and grading. The following is the command file used to generate the tensor-product mesh:

tensor {mesh {

maxbndcellsize direction "x" 0.001maxcellsize region "Region_0" 0.1 window "testbox" 0.8 1.2 0.8 1.2 0.8 1.2minnumberofcells window "testbox" 20 grading = { 1.1 1.1 1.1 }

} }

The geometry of this example is shown in Figure 16 on page 80. In the above command file, the firstparameter used is maxbndcellsize. This parameter is constrained in the x-direction by specifying thedirection option. As a result, clustering is obtained only near the boundaries that are normal to the x-axis(see Figure 16, bottom).

The second parameter maxcellsize is specified within a region. Since no direction option is used in thisparameter, the mesh generator will try to obtain the same cell size in all three directions. To obtainrefinement in the center of the geometry, the third parameter window is defined. The required refinementwithin a window can be obtained by specifying either maxcellsize or minnumberofcells.

In this example, minnumberofcells is used to specify the refinement. As a result of this refinementparameter, clustering of lines is visible in Figure 16. The grading parameter is also defined in thiscommand file. This is used to obtain a smooth variation of the cell sizes between various cell sizes (seeFigure 17 on page 81).

79

Page 90: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 9 TENSOR-PRODUCT EXAMPLES

Figure 16 Geometry of a cube with a width of 2.0 units in each direction: the input geometry (top) and corresponding tensor mesh (bottom)

In Figure 16, the clustering of cells normal to the x-axis is visible as per the specification of the minimumboundary cell size parameter in the command file. The refinement in the center of the cube is due to thespecification of the minnumberofcells parameter in the command file. This refinement is constrained to a"testbox" window.

80

Page 91: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 9 TENSOR-PRODUCT EXAMPLES

Figure 17 Smooth variation of cell size from minimum to maximum cell size according to specified grading factor

Using Sentaurus MOCAThis example shows that three generated regions in the tensor mesh represent an approximation of theactual regions defined in the geometry. The geometry is shown in Figure 18. In this case, the defaultmesh generation parameters are used. A doping refinement section is provided in the command file.

Figure 18 Geometry of an input file

81

Page 92: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 9 TENSOR-PRODUCT EXAMPLES

Figure 19 shows the tensor mesh and the corresponding doping data. Figure 20 on page 83 shows theapproximation of the regions made by the tensor mesh compared to the actual region. Figure 20 (right)shows a magnification of the actual silicon–oxide interface, which is at exactly y = 0.00. However, inthe tensor mesh, this interface shifts to y = 2e-5 because of the approximation of regions. Similarly, ifthe geometry has a curve region, the resultant boundary of this region will be as shown in Figure 21 onpage 83.

Figure 19 Tensor mesh (top) and the doping data interpolated on to tensor mesh (bottom)

82

Page 93: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 9 TENSOR-PRODUCT EXAMPLES

Figure 20 Approximation of silicon–oxide interface in tensor mesh (left) and actual silicon–oxide interface (right)

Figure 21 Actual curve region in the geometry (left) and corresponding approximation of this region in tensor mesh (right)

83

Page 94: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 9 TENSOR-PRODUCT EXAMPLES

Thin regionsThis example shows how insufficient cell resolution in a region will result in elements that are onedimension less than the model dimension. The geometry contains a thin aluminum region shown inFigure 22. Since the local cell size is not small enough to resolve this aluminum region, this region isrepresented as one-dimensional elements in the output as shown in Figure 23 on page 85.

Figure 22 Geometry of the example (top) and detail of thin aluminum region (bottom)

X

Y

-0.4 -0.3 -0.2 -0.1 0

-18.9

-18.8

-18.7

01 : 2d-trim.bnd

84

Page 95: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 9 TENSOR-PRODUCT EXAMPLES

Figure 23 Corresponding tensor mesh (top) and details of tensor mesh near aluminum region (bottom)

In Figure 23, the aluminum region is not resolved properly as the locally cell size is larger than thealuminum region. As a result, this region contains two faces and rest of the region is represented as a setof edges connecting the two faces. Similarly, in three-dimensional models, unresolved regions andcontacts will be written as thin surface sheets. The user will be given a warning indicating the presenceof completely or partially unresolved regions.

85

Page 96: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 9 TENSOR-PRODUCT EXAMPLES

The following is the command file used to generate the tensor-product mesh:

tensor {mesh {

Maxcellsize material "Oxide" 0.08Maxcellsize material "Silicon" 0.08grading = { 1.1 1.1 1.1 }

}}

86

Page 97: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Part IV Technical Aspects

This part of the Mesh Generation Tools manual contains the following chapters:

CHAPTER 10 TECHNICAL ASPECTS OF MESH ON PAGE 89

CHAPTER 11 TECHNICAL ASPECTS OF NOFFSET3D ON PAGE 95

CHAPTER 12 DELAUNIZATION ALGORITHM ON PAGE 97

Page 98: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical
Page 99: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 10 TECHNICAL ASPECTS OF MESH

Mesh Generation Tools

CHAPTER 10 Technical aspects of Mesh

This chapter describes some technical aspects of the Mesh application.

Valid polygons and polyhedraSome constraints for the polygons and polyhedra that are used to define the geometry are:

Only simple polygons are allowed. A polygon is simple if there is no pair of nonconsecutive edgessharing a point. A single-connected polygon is described using a single closed line (seeFigure 24 (a)). For Mesh, it is necessary to describe a hole in a polygon connecting the hole with adouble line to the polygon, see Figure 25 (b).

Figure 24 Types of polygon: Simple (a) and nonsimple (b)

Figure 25 Single-connected polygons (a) and nonsingle-connected polygon (b)

No polygon or polyhedron can overlap another polygon or polyhedron. The detection ofoverlapping regions, particularly in 3D, is not a simple task and is not performed in Mesh. Only thecoplanarity of points defining a face is checked.

(a) (b)

(a) (b)

89

Page 100: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 10 TECHNICAL ASPECTS OF MESH

Numeric considerationsMesh is a Delaunay mesh generator for 1D, 2D, and 3D devices. Grids produced by Mesh are suitablefor the control volume integration method based on the Voronoï diagrams. The Delaunay conditionensures non-overlapping control volumes and the spatial discretization includes the entire devicedomain. Therefore, the effective facets for the Voronoï diagrams are positive.

Mesh can produce a special type of Delaunay mesh in 2D. This type of grid is more restrictive than thedefault grid because all the edge–element facet contributions are positive. The condition is reached whenthe grid elements are free of obtuse angles. The condition guarantees that the Voronoï center of eachelement lies inside or on the border of the element, and they are called self-contained elements. Forrectangular triangles, the Voronoï centers lie on one of the edges. For acute triangles, the Voronoï centerslie inside the elements.

For more information about the control volume integration method and the assembling of equations,refer to the literature [4].

Mesh refinement algorithmMesh is a mesh generator based on macroelements, which are refined until the geometry can be wellrepresented or the required density is reached. The refinement point for each macroelement is selectedaccording to:

The intersection points between the macroelement and the geometry to fit.

Points inserted on the edges and faces of the macroelement after the refinement of the neighborhood.This set is only valid for 2D and 3D.

Midpoints of the edges; valid for 2D and 3D.

Applying this approach, the macroelements can have more than two neighbors per face or edge, andbecause of this property, they are called n-connected elements.

During mesh generation, the following sequence of three steps is performed.

Constructing the first coarse gridThe starting grid is generated by building a set of macroelements according to the geometry description.For complex 2D and 3D devices, the initial grid is critical. The refinement of macroelements in this stepis performed in a way that the point propagation along the entire device is avoided.

90

Page 101: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 10 TECHNICAL ASPECTS OF MESH

Adaptation according to external dataThe adaptation is performed by refining the macroelements along their edges, thereby controlling twoaspects:

The gradient of the profiles. The macroelements are refined according to the values at the pointsgiven by either the analytic profiles described in the command files or the external data loaded,using submeshes in 2D or DIP in 3D.

The required minimum and maximum sizes of the edges.

Obtaining a conforming final gridIn this step, the n-connected elements are refined until they can be tessellated into a set of valid knownelements: triangles and rectangles in 2D, and tetrahedra, rectangular pyramids, prisms, and bricks in 3D.

The Delaunay conditions are fulfilled at this stage of the program. For 2D cases, the condition isachieved element-by-element and, for 3D cases, the condition is achieved by giving the entire grid to thedelaunization module. For more information, refer to the literature [2][3][5].

Additional notes for arbitrary 3D geometriesMesh supports arbitrary 3D geometries. The following notes are relevant when creating non-Manhattan-type geometries:

The keyword polyhedron can be used to create closed solids with arbitrary polygons acting as faces.

For rectangles that are not parallel to the three coordinate planes, the keyword polygon must be usedto describe the four points.

When inputting polygons in 3D, it is preferred that polygonal vertices are specified so that the facenormal points outside the polyhedra space or material space. Face normal is computed by traversingthe polygon nodes; the order of points in the polygon definition must be counterclockwise to achievethe outward-facing normal property.

91

Page 102: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 10 TECHNICAL ASPECTS OF MESH

Troubleshooting

Early terminationA common problem that causes Mesh to exit before generating the mesh and doping files (_msh.grd and_msh.dat) is an error in the command file (.cmd). A common mistake is not having the correct path forloading submeshes in 2D.

Mesh runs for an unexpectedly long timeHandling green points and green lines is the most critical step in Mesh and many loops may be required.Two possible reasons for excessive computing time are:

The complexity of the input geometry. In this case, it is recommended that users start with verycoarse grids and that only the geometry is meshed using the command-line option -m.

The mesh density. Depending on the specification of the mesh density in the command file, asubstantial number of mesh points can be inserted during the adaptation. The insertion of therefinement regions in a stepwise or staged manner can help find the critical region that is responsiblefor the excessive number of points. The option -w is very helpful in debugging Mesh grids.

Mesh displays the number of elements that will be checked at each step of the program. During thehandling of the green points and green lines, the number of elements to check should decrease after eachloop.

Three-dimensional geometry and topology checkerInput geometry that is incorrectly constructed is a predominant source of Mesh failures in 3D. Incorrectconstructions can take many forms such as two regions intruding into each other in 3D, unclosed faces,unclosed polyhedra, and incorrect face orientations. Automatic generation of input files fails to capturesome of these errors. To help users, Mesh has a topology checker (-Cin command-line option), whichexamines the edges, faces, and polyhedra for several of these errors. While it provides some indicationsas to how to correct the structure at the end of its operation, it is not user-friendly.

92

Page 103: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 10 TECHNICAL ASPECTS OF MESH

Error messages and invalid geometriesValid polygons and polyhedra on page 89 explains the technical assumptions in creating a validgeometry. Some errors occurring at different stages of the program execution are:

If the faces of a polyhedron are not closed, Mesh displays the message:Error: invalid combination for closed polygon in LD3DPolygonFace::LD3DPolygonFace.

If the points in a polygon are not coplanar, the following message is sent to standard output: Warning: no co-planar points in IISgeoEdgesPolygon::IISgeoEdgesPolygon, dot product = value.

Any dot product between the normal vector of the face and two points on the face must be zero, thatis, the vectors are perpendicular (value = 0).

If the faces of a polyhedron are open (that is, it is a cube without a lid), Mesh displays the followingmessage and, in some cases, may fail to finish unless the geometry is corrected: Warning : The non-contact region (polyhedron) 'foo' is open and may cause mesh failure. Please

check your geometry.

93

Page 104: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 10 TECHNICAL ASPECTS OF MESH

94

Page 105: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 11 TECHNICAL ASPECTS OF NOFFSET3D

Mesh Generation Tools

CHAPTER 11 Technical aspects of Noffset3D

This chapter describes some technical aspect of Noffset3D.

Surface mesherThe surface mesher surface2 is a complete reimplementation of the old surface mesher surface. It hasfully replaced surface as the default surface mesher, which is still available for backward compatibility.

The surface mesher surface2 uses a more efficient data structure and, consequently, creates surfacemeshes much faster than surface. It also conforms better with given specifications in the command file,particularly, with axis-aligned mesh (AAM) points. The deficiencies of the old surface mesher incapturing AAM points on surfaces that are not exactly planar or not exactly matching the points havebeen remedied.

Most importantly, surface2 produces a better boundary mesh by automatically grading the elements,which is detrimental in subsequent volume meshing. The resulting surface mesh is typically larger, butit improves the robustness of subsequent volume meshing and the quality of the resulting triangulation,which would improve the device simulation.

Grid regularity featureThe grid regularity feature (GRF) allows for the creation of regular grids on interfaces of a 3D structure.The main concept is to allow a cloud of regular points to be imprinted on interfaces that may not beprecisely planar or may not match the regular points. In the case of the GRF with uniform tensor points,this is performed by incrementally refining edges or faces of the elements on the target interface withthe appropriate regular points and local flipping. Proximity to interface boundaries and existing meshentities are considered, based on minedgeratio to avoid mesh edges that are too small. Finally, the surfacemesh of the target interface is graded to improve the quality of the elements.

The elements of the regular grid are marked to prevent their refinement during subsequent meshingalgorithms, except for layering and delaunization. The latter can disturb, in particular, the regular grid.As such, delaunization of the grid, for example, using the algorithm -p del-snps, can partially (orcompletely, in rare cases) disturb the regular grids created on the target interfaces.

95

Page 106: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 11 TECHNICAL ASPECTS OF NOFFSET3D

The complexity of the target interface, the distribution of tensor points, and minedgeratio occasionallylead to pathological situations in which the required regularity cannot be produced exactly. Users shouldcheck the GRF by creating a surface mesh of the model:

noffset3d -p surface2 foo

and inspecting the surface grid to ensure that the interfaces have the required GRFs.

Using hglobal on regular interfaces should be undertaken with care; the regularity may be disrupted bytrying to obtain the size specified by hglobal.

96

Page 107: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 12 DELAUNIZATION ALGORITHM

Mesh Generation Tools

CHAPTER 12 Delaunization algorithm

This chapter describes the delaunization algorithm used by the mesh generators.

OverviewA new delaunization algorithm is available for 3D models in Noffset3D and Mesh. Like its predecessordeltri, this algorithm is based on a conforming Delaunay triangulation–type of algorithm, but it is morestable, generating meshes for complex structures with sharp input angles that could not previously behandled. This delaunizer also produces fewer mesh nodes than the previous algorithm.

The algorithm uses two independent structures to generate the final mesh: a set of surface faces (forexample, the input boundary and some isosurfaces, or rectangular faces originating from user-definedrefinement inside Mesh) and a background three-dimensional generic Delaunay triangulation.

The algorithm works in the following way:

Ridges and corners are classified.

A set of protection spheres is generated around ridges and corners.

A 2D surface delaunization algorithm is applied. This algorithm flips all nonridge edges that do notmeet the Delaunay criterion.

Each ridge that does not meet the Delaunay criterion is refined.

Each surface face that does not meet the Delaunay criterion is refined.

Each element that does not meet the quality criteria is refined.

The surface faces that have not been recovered by refinement are recovered using a constrainedDelaunay triangulation (CDT) algorithm.

Slivers are removed.

A material is assigned to each tetrahedron in the final triangulation.

Generating ridges and cornersDuring the first stage, the algorithm detects the faces that are coplanar. Every edge that bounds acoplanar set of faces is labeled a ridge. Every point that connects two non-collinear ridges is labeled acorner.

97

Page 108: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 12 DELAUNIZATION ALGORITHM

By default, two faces are coplanar if the angle between them is less than <coplanarityAngle> and thesurface deformation that can result from flipping the common edge is less than <coplanarityDistance>.

Protecting ridges and cornersIn general, conforming Delaunay algorithms do not perform well if the input contains sharp anglesbetween adjacent faces on the surface (in general, of less than 60o). A generic algorithm would refineexcessively around ridges and corners that define a very sharp angle. Occasionally, generic algorithmsdo not stop and the algorithms collapse.

The algorithm for ridge and corner refinement carefully refines around sharp corners and ridges,defining a set of spheres that protect these entities. Refinement points that are inside these spheres aresnapped to the surface of the sphere. This produces constructions that resemble isosceles triangles,which are well suited to Delaunay-type algorithms because isosceles triangles contain theircircumscribed centers inside them.

Conforming Delaunay triangulation algorithmThe conforming Delaunay triangulation (CDT) algorithm enables the delaunizer to produce meshes thatare near-Delaunay after relaxing the Delaunay criterion.

After the faces have been refined to meet the (possibly relaxed) Delaunay criterion, some surface facesmay be missing from the background 3D Delaunay mesh. The CDT algorithm inserts those faces intothe background triangulation using a sequence of 3D face flips.

This algorithm is very complex, therefore, users can expect long run-times if the Delaunay criterion isrelaxed too much at locations with many faces to be recovered (such as locations with many layers inNoffset3D or with a lot of refinement in Mesh).

Optimizing elementsAfter the CDT algorithm is finished, the quality of the elements in the mesh may not be optimal.Therefore, the algorithm performs an extra refinement step, which eliminates all elements that do notmeet the quality criteria specified by the user.

Two quality criteria are available:

The maximum solid angle inside an element.

The maximum ratio between the circumscribed spheres of neighboring elements.

Any element that does not meet the quality criteria will be refined. The algorithm used to refine theelements is based on the Delaunay refinement technique, which inserts a node at the Voronoï center of

98

Page 109: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS CHAPTER 12 DELAUNIZATION ALGORITHM

the element and updates the neighboring triangulation. If the Voronoï center of the element lies too closeto the surface, the surface will be refined.

Eliminating sliversThe last step in the delaunization involves the elimination of sliver elements. To perform this, thealgorithm uses a variation of the sliver exudation technique. This technique assigns weights to the nodesin the triangulation and uses them to compute a weighted Delaunay triangulation. The weights areincreased selectively to eliminate slivers locally in the triangulation.

The sliver elimination step changes the regular Voronoï diagram, producing Voronoï cells that havenegative sides.

The amount of damage is proportional to the weight applied to the mesh nodes. Therefore, the algorithmincludes a parameter, called sliverDistance, to control the amount of damage to the mesh. This parameterrepresents the maximum weight applied to a mesh node.

99

Page 110: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSCHAPTER 12 DELAUNIZATION ALGORITHM

100

Page 111: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

Part V Appendices

This part of the Mesh Generation Tools manual contains the following appendices:

APPENDIX A FORMULAS FOR ANALYTIC PROFILES ON PAGE 103

APPENDIX B TUTORIALS ON PAGE 115

Page 112: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical
Page 113: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

Mesh Generation Tools

APPENDIX A Formulas for analytic profiles

Mesh implements a complete set of analytic models to describe a wide range of different situations. Thereason for implementing analytic profiles is to have a flexible tool to substitute process simulationresults efficiently and within a reasonable time.

This appendix discusses:

General concepts.

The models that are available along the primary direction.

The models that are available along the lateral direction.

Although the formulas are designed according to the models associated with impurity concentrations,the analytic profiles can be used for any type of variable defined in the output files.

General conceptsThe impurity concentrations can be represented by a set of 1D, 2D, and 3D analytic models. To describeeach analytic model, two main directions must be defined: the primary direction that is perpendicular tothe reference region and the lateral direction that is parallel to the reference region.

Along each direction, one function is defined, that is, the primary function and lateral function. Thecorrect combination of both functions allows users to have an analytic description of a speciesconcentration.

Local coordinate systems, valid domains, and reference regionsThe valid domain for the analytic models depends on the reference region, which is defined using adimension-dependent geometric element, and it is placed along the lateral direction. By combining thereference region and primary direction, it is possible to define a local coordinate system for each analyticfunction.

103

Page 114: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

One-dimensional profiles

One-dimensional profiles require only the definition of the primary function, which is applied along thex-axis. The primary direction and valid domain are defined using a vector. The reference region for aprofile is defined by using a geometric element, that is, a point. Figure 26 shows the scheme used for the1D case.

Figure 26 Primary direction in 1D

Two-dimensional profiles

For 2D profiles, the reference region is defined using a baseline. The primary direction is the normalvector to the baseline and the lateral direction is parallel to the baseline. Figure 27 shows the generalscheme of the local coordinate system and the valid domain. The valid domain for both the primary andlateral functions is defined by sweeping the primary direction vector along the lateral direction.

Figure 27 Primary and lateral directions in 2D

Reference Point

Valid Domain and Direction

Reference Line orBaseline

Primary Direction

Lateral Direction

Lateral Direction

Lateral Domain

Primary Domain

104

Page 115: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

Three-dimensional profiles

For 3D profiles, the reference region is defined using a surface. The primary direction is the normalvector to the surface and the lateral direction is the plane perpendicular to the primary direction.Figure 28 shows the general scheme of the local coordinate system and the valid domain. The validdomain for both primary and lateral functions is defined by sweeping the primary direction vector alongthe surface.

Figure 28 Primary and lateral directions in 3D

General implantation modelsIn general, impurity concentrations can be expressed as:

(1)

where:

represents the primary function in the local coordinate system.

represents the lateral function in the local coordinate system.

The most important functions used as models are Gaussian functions and error functions. For theremainder of this appendix, functions along the primary direction are referred to as and functionsalong the lateral direction, as . The indices y and x are important to distinguish parameters amongthe different directions.

Each model is defined by the minimum set of parameters. This section presents a basic formulation ofeach model by using the minimum set of parameters. Subsequent sections show how to obtain thisminimum set from different input or initial conditions.

Reference Surface

Primary Direction

Lateral Direction

Lateral Direction

doping xp xl,( ) g xp⟨ ⟩ f xl⟨ ⟩⋅=

g xp⟨ ⟩

f xl⟨ ⟩

g y⟨ ⟩f x⟨ ⟩

105

Page 116: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

Gaussian function

The minimum set of parameters to define a Gaussian function is:

Peak concentration ( ) [cm–3]

Peak position ( ) [μm]

Length ( ) [μm] or standard deviation ( ) [μm]

Using these parameters, the Gaussian is defined by:

(2)

Figure 29 shows the model schematically.

Figure 29 General shape of Gaussian functions

Error function

The minimum set of parameters to define an error function as a doping profile is:

Maximum concentration ( ) [cm–3]

Symmetry position ( ) [μm]

Length ( ) [μm]

Using these parameters, the error function is defined by:

(3)

Cpeak

ypeak

GLengthy stdDevy

g y( ) Cpeak12---–

y ypeak–stdDevy---------------------

2⋅⎝ ⎠

⎛ ⎞exp⋅ Cpeaky ypeak–

GLengthy-------------------------

2–⎝ ⎠

⎛ ⎞exp⋅= =

0 2 4 6 10

2

4

6

8

10

Concentration (y) [cm-3]

y value [µm]

yPeak

Cpeak

Cpeak * exp(-1)

diffLength

8

Cmax

ysym

ELengthy

g y( )Cmax

2------------ 1 erf

ysym y–ELengthy------------------------+⎝ ⎠

⎛ ⎞⋅=Cmax

2------------ 1 erf

y ysym–ELengthy------------------------–⎝ ⎠

⎛ ⎞⋅=

106

Page 117: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

The function is symmetric with respect to the inflection point. Figure 30 shows the feature.

Figure 30 General shape of error functions

Other relevant parametersTo have flexible models, some special parameters must be considered. These are not included in thestandard formulation. However, by applying some definitions, the basic set can be obtained from them.

Dose

From a process simulation perspective, implantation functions are determined giving the doseconcentration of the profiles. The peak concentration value can be obtained from the Dose (see Availablemodels along the primary direction on page 108). Dose is given in atoms per cm–2.

The general definition of Dose is:

(4)

For Gaussian functions, the Dose is represented as:

(5)

(6)

0 2 4 6 8 10

2

4

6

8

10

Concentration (y) [cm-3]

y value [µm]

Cmax

Cmax/2

yIn

Dose g y( ) yd0

∫=

Dose Cpeak12---–

y ypeak–stdDevy---------------------

2⋅⎝ ⎠

⎛ ⎞exp⋅ yd0

∫=

DoseCpeak π stdDevy⋅ ⋅

2--------------------------------------------------- 1 erf

ypeak

2 stdDevy⋅--------------------------------+

⎝ ⎠⎜ ⎟⎛ ⎞

⋅=

107

Page 118: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

For error functions, the Dose is defined as:

(7)

(8)

Values at the junction

Junction Concentration and Depth are parameters used to define either Gaussian or error functions. Acomplete description of these parameters and how they can replace the standard deviation in the basicformulation is explained in Available models along the primary direction.

Length

For Gaussian functions, GLength represents the distance between the peak position and a place wherethe concentration decays by a factor of exp(–1) (36%) with respect to the peak concentration (seeFigure 29 on page 106). The relationship between the length and standard deviation for Gaussianfunctions is:

(9)

Available models along the primary directionThe following models in Mesh are applied along the primary direction:

Gaussian functions

Error functions

Constant functions

External 1D profiles

DoseCmax

2------------ 1 erf

ysym y–ELengthy------------------------+⎝ ⎠

⎛ ⎞⋅ yd0

∫=

DoseCmax ELengthy⋅

2------------------------------------------

ysymELengthy------------------------ 1 erf

ysymELengthy------------------------⎝ ⎠

⎛ ⎞+

-------ysym

ELengthy------------------------⎝ ⎠

⎛ ⎞2

–exp⋅

+⋅⎝

⋅=

GLengthy 2 stdDevy⋅=

108

Page 119: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

Gaussian functionsThe basic set for Gaussian functions is formed by , , and . According to user input,the basic set of parameters can be specified in six different ways depending on the parameters used tocalculate and :

Peak Concentration and Standard Deviation

The basic set is complete (see Eq. 2) and no basic parameters are computed.

Peak Concentration and Length

Standard Deviation is computed from GLength using:

(10)

Dose and Standard Deviation

Given Dose and Standard Deviation, the Peak Concentration value is calculated using:

(11)

where because Dose is in cm–2.

Dose and Length

Given Dose and GLength, the Standard Deviation is computed from Eq. 10, and the PeakConcentration is computed from Eq. 11.

Peak Concentration and values at the junction

Standard Deviation is computed from the values at the junction using:

(12)

NOTE must be greater than .

Dose and values at the junction

First, Standard Deviation is computed from:

(13)

Cpeak ypeak stdDevy

Cpeak stdDevy

stdDevyGLengthy

2-------------------------=

CpeakDose factor 2⋅ ⋅

π stdDevy 1 erfypeak

2 stdDevy⋅--------------------------------+

⎝ ⎠⎜ ⎟⎛ ⎞

⋅ ⋅

--------------------------------------------------------------------------------------------------=

factor 104=

stdDevyydepth ypeak–

2 CatDepth Cpeak⁄( )ln⋅–----------------------------------------------------------------=

Cpeak CatDepth

CatDepth π stdDevy 1 erfypeak

2 stdDevy⋅--------------------------------+

⎝ ⎠⎜ ⎟⎛ ⎞

⋅ ⋅ ⋅

2 D⋅ ose factor⋅--------------------------------------------------------------------------------------------------------------------------- 1

2---

ydepth ypeak–stdDevy

---------------------------------2

⋅–⎝ ⎠⎛ ⎞exp=

109

Page 120: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

Second, using , Peak Concentration is computed as in C.

NOTE Eq. 13 is an implicit equation and Dose is in cm–2.

Error functionsFor error functions, the basic set of parameters includes , , and and can becomputed in four ways:

Maximum Concentration and Length

The basic set is complete and no parameters are computed (see Eq. 3).

Dose and Length

Maximum Concentration is computed from Dose using:

(14)

where because Dose is in cm–2.

Maximum Concentration and values at the junction

ELength can be computed from:

(15)

NOTE Eq. 15 is an implicit equation.

Dose and values at the junction

Maximum Concentration and ELength are computed using the following implicit equations, whichfollow from Eq. 14 and:

(16)

stdDevy

Cmax ysym ELengthy

Cmax2 Dose⋅

ELengthy------------------------ factor

ysymELengthy------------------------ 1 erf

ysymELengthy------------------------⎝ ⎠

⎛ ⎞+⋅ 1π

-------ysym

ELengthy------------------------⎝ ⎠

⎛ ⎞2

–exp⋅+⎝ ⎠⎛ ⎞

1–

=

factor 104=

erfysym ydepth–

ELengthy-------------------------------⎝ ⎠

⎛ ⎞ 2 CatDepth⋅Cmax

---------------------------- 1–=

Dose factor 1 erfysym ydepth–

ELengthy-------------------------------+⎝ ⎠

⎛ ⎞⋅ ⋅ CatDepth ELengthy

ysymELengthy------------------------ 1 erf

ysymELengthy------------------------⎝ ⎠

⎛ ⎞+ 1π

-------ysym

ELengthy------------------------⎝ ⎠

⎛ ⎞2

–⎝ ⎠⎛ ⎞exp⋅+⋅⎝ ⎠

⎛ ⎞

⋅ ⋅=

110

Page 121: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

(17)

Constant functionsConstant functions are useful to define substrate doping mathematically:

(18)

External 1D profilesReal 1D process simulation results can be read along the primary direction. To complete the 2D profileand 3D profile, an analytic lateral function is added.

The values that do not appear in the file are interpolated using an interpolation function. Every specieshas a corresponding interpolation function predefined on the datexcodes.txt file (see Chapter 10 onpage 89). These functions can be linear, arsinh, or logarithmic.

If is an interpolation function, the value at point y is computed from an external 1D profile as follows:

(19)

Lateral or decay functionsThe lateral or decay functions are evaluated on the valid lateral domain (see Figure 27 on page 104 andFigure 28 on page 105). They are defined as the decay along the lateral direction and depend on thedistance from the valid primary domain of the point to evaluate. For 2D, this distance is calculated usingthe baseline as reference. For 3D, the distance is computed using the surface as reference. The threeavailable models to apply are:

Gaussian function

Error function

No function

NOTE Lateral or decay functions are not valid for one dimension.

Cmax2 Dose⋅

ELengthy------------------------ factor

ysymELengthy------------------------ 1 erf

ysymELengthy------------------------⎝ ⎠

⎛ ⎞+⋅ 1π

-------ysym

ELengthy------------------------⎝ ⎠

⎛ ⎞2

–exp⋅+⎝ ⎠⎛ ⎞

1–

=

g y( ) Constant=

h

g y( )

datai y yi=

h 1– y yi–yi 1+ yi–--------------------- h datai 1+( )

y yi 1+–yi 1+ yi–--------------------- h datai( )⋅+⋅⎝ ⎠

⎛ ⎞ yi y yi 1+< <⎩⎪⎨⎪⎧

=

111

Page 122: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

Lateral Gaussian functionThe equation applied is:

(20)

According to Eq. 20, the required value from the user is the standard deviation, , along thelateral direction. There are three ways to define it:

Provide the value explicitly.

Provide a factor with respect to the standard deviation along the primary direction:

(21)

Give the length of the Gaussian function:

(22)

By using this function, the decay begins outside the primary domain, that is, the overlap between theprimary, lateral, and decay domains is zero. Figure 31 shows this effect.

Figure 31 Using Gaussian function as lateral function in 2D

Lateral error functionThe equation applied is:

(23)

According to Eq. 23, the required value from the user is the length for the error function, ,along the lateral direction.

f x( ) 12---

xclosestP x–stdDevx

-----------------------------2

⋅–⎝ ⎠⎛ ⎞exp=

stdDevx

stdDevx Factorx stdDevy⋅=

GLengthx stdDevx 2⋅=

Baseline (window mask)

f x( ) 12--- 1 erf

xclosestP x–ELengthx

-----------------------------+⎝ ⎠⎛ ⎞⋅=

ELengthx

112

Page 123: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX A FORMULAS FOR ANALYTIC PROFILES

There are two ways to define it:

Provide the value explicitly.

Provide a factor with respect to the length along the primary direction:

(24)

For this model, the overlap of the primary, lateral, and decay domains is not zero. The lateral decay startsinside the primary domain as shown in Figure 32.

Figure 32 Using error function as lateral function in 2D

No lateral functionThis property is valid when Factor is equal to zero. In this case, the value of the lateral function is givenby:

(25)

The lateral domain is null.

ELengthx Factorx ELengthy⋅=

Baseline (window mask)

f x( )1 x PrimaryDomain∈0 x PrimaryDomain∉⎩

⎨⎧

=

113

Page 124: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX A FORMULAS FOR ANALYTIC PROFILES

114

Page 125: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Mesh Generation Tools

APPENDIX B Tutorials

This appendix provides tutorials to demonstrate the functionality of Mesh.

Introductory three-dimensional exampleThe functionality of Mesh is demonstrated by a simple diode example. Figure 33 shows three differentapproximations of a real diode. For the 1D and 2D descriptions, the most important features of the deviceare represented. The 1D approximation is a line cut along the x-axis, passing through both contacts. The2D approximation is a plane cut along the z-axis passing through both contacts.

Figure 33 Geometry of a simple diode

Mesh generation in Mesh is controlled by two files. One file contains the device geometry description(.bnd or .tdr) and one file (.cmd) contains information about profiles, for example, doping profiles and thegrid adaptation criteria.

n-type

n-type

p-type

Anode

2 [μm]

3 [μm]

2 [μm]

y

z

x

1 [μm]

p-type

2 [μm]

x

1D

n-type

p-type

2 [μm]

3 [μm]

1 [μm] 2D3D

Cathode

x

y

z

115

Page 126: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

The resulting mesh for the simple diode is shown in Figure 34.

. Figure 34 Fitting only the geometry of a diode

Figure 34 provides statistics for all meshes shown in the tutorial. See Command file: Abrupt diode onpage 126 for the complete command file diode.cmd used for this example. In the Manual ExamplesLibrary, the example is under the project Tools/Mesh/Tutorial/abrupt.

Input files for the entire tutorial are in the Manual Examples Library.

Setting default parametersFigure 34 shows the result when only the geometry is fitted and no adaptation parameter is given toMesh. However, it is possible to define a set of default parameters to control mesh generation for theentire device.

Example

To set the default adaptation parameters for the entire device, the following changes are introduced tothe previous example:

Definitions {# Refinement regionsRefinement "default region" {

MaxElementSize = 1MinElementSize = 0.02

}# Profiles same as previous command file

}Placements {

# Refinement regionsRefinement "default region instance" {

Reference = "default region"# Default region

}# Profiles same as previous command file

}

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18

Net Doping [/cm3]

1D Diode

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18

Net Doping [/cm3]

2D Diode

-1.0e+17-1.3e+15+1.4e+14+1.3e+16+1.0e+18

Net Doping [/cm3]

3D Diode

116

Page 127: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

These will be the default values taken when an adaptation parameter is not present in the definition of arefinement region. Figure 35 shows the meshes created using the above parameter values.

Figure 35 Grids created using default adaptation parameters

See Command file: Default parameters on page 127 for the complete command file diode.cmd used forthis example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/defaultAdaptation.

Setting the maximum size of elementsFigure 34 on page 116 and Figure 35 show grids too coarse even for an abrupt diode. To change thedensity and shape of the grid, add new mesh refinement specifications to the Definitions and Placementssections.

Example

To demonstrate Mesh flexibility, meshes with different density in one corner of the device are generated.First, the effect of specifying a smaller MaxElementSize value is demonstrated. In the followingDefinitions section, the information about doping is omitted for brevity:

Title "Demonstration of effect of MaxElementSize"Definitions {

# Refinement regions sectionRefinement "one corner" {

MaxElementSize = (0.2 0.4 0.25)}Refinement "rest of the device" {

MaxElementSize = (0.4, 0.8, 0.5)}# Profiles same as previous command file

}

In this example, the upper-left front corner of the device is more refined than the rest of the device. Forboth refinement regions, MaxElementSize is specified with a vector so that the mesh density varies betweenthe axes.

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18

Net Doping [/cm3]

1D Diode

-1.0e+17-1.3e+15+1.4e+14+1.3e+16+1.0e+18

Net Doping [/cm3]

2D Diode

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18Net Doping [/cm3]

3D Diode

117

Page 128: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

The Placements section for this example in 3D is:

Placements {# Refinement regions sectionRefinement "one corner instance" {

Reference = "one corner"RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)]

}Refinement "rest of the device" {

Reference = "rest of the device"}# Profiles same as previous command file

}

The refinement region instance "rest of the device" is not associated with the RefineWindow element. ForMesh, this type of refinement region is considered valid for the entire device as the default refinementregion. When more than one region instance does not have RefineWindow, the last refinement instance isconsidered the default region.

RefineWindow can be replaced for the appropriate 2D and 1D geometric elements (rectangles and lines,respectively). The cuboid definitions can also be kept for the 1D and 2D cases.

The meshes generated for the different number of dimensions are shown in Figure 36. It is observed thatthe abrupt junctions are better adapted using finer grid elements.

Figure 36 Changing the maximum side of elements

See Command file: Maximum size of elements on page 128 for the complete command file diode.cmdused for this example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/maximumSize.

Setting analytic profilesIn the previous examples, the doping distribution changed abruptly at the p-n junction in the middle ofthe device. A more realistic doping profile can be specified using an analytic description in the Meshcommand file. For this example, the adaptation parameters are the same as those presented in Setting themaximum size of elements on page 117.

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18

Net Doping [/cm3]

1D Diode

-1.0e+17

-1.3e+15+1.4e+14

+1.3e+16

+1.0e+18

Net Doping [/cm3]

2D Diode

-1.0e+17

-1.3e+15

+1.4e+14

+1.3e+16

+1.0e+18Net Doping [/cm3]

3D Diode

118

Page 129: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Command file for a more realistic diode

As in the simple diode example, the doping concentration is specified inside cuboids, rectangles, oralong lines. Throughout the device, a p-type doping of cm–3 is defined using the abrupt profileConstant inside a cuboid. A well of n-type doping replaces the abrupt constant profile shown in theprevious example. The profile is defined using an error function along the x-axis and a lateral function.The profile has the maximum at the surface of the top contact.

Keeping the same definition for the p-type doping profile, the new profile is described in the Definitionssection as:

AnalyticalProfile "n-type well" {Species = "PhosphorusActiveConcentration"Function = Erf(SymPos = 0.5, PeakVal = 1e+18, Length = 0.1)LateralFunction = Gauss(Factor = 0.8)

}

The keyword AnalyticalProfile starts a description of an analytic profile. The keyword Functionrepresents the function component along the primary direction and the keyword LateralFunctionrepresents the function component along the lateral direction. Figure 27 on page 104 and Figure 28 onpage 105 show the schemes for 2D and 3D profiles, respectively.

The syntax to place this analytic profile in the Placements section is:

AnalyticalProfile "n-type well instance" {Reference = "n-type well"ReferenceElement {

Element = rectangle [(2, 1, 0) (2, 2, 1)]}

}

ReferenceElement defines the origin of the local coordinate system for the primary function. All meshpoints are projected to this element and the computed distance is used to evaluate Function. Using thekeyword Direction, it is possible to evaluate only along the positive or negative side of the element (seeReferencing analytic profiles on page 18).

Figure 37 on page 120 shows the resulting doping profiles. Since a doping of /cm3 throughoutthe device and /cm3 in the well have been defined, the resulting doping in the well is /cm3. The grid is not well adapted to the doping, and the grid adaptation is necessary to resolve thespecified doping profile.

1 1017×

1– 1017×1 1018× 9 1017×

119

Page 130: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Figure 37 Modifying the n-type region

See Command file: Modifying the n-type region on page 129 for the complete command file diode.cmdused for this example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/doping.

Setting adaptation according to impurities and minimum size of elementsAn important parameter in the Definitions section is used to control adaptation that depends on dopingprofiles around p-n junctions. It is called RefineFunction. While refinements can occur on many user-required quantities, two different functions can be attached to this keyword. In this example, the asinh(keyword MaxTransDiff) of the doping concentration difference (Variable = DopingConcentration) betweenthe mesh points is used to adapt the grid. If the difference is greater than 1, the edge of the macroelementsused to build the mesh is refined.

However, the adaptation must be controlled with respect to the smallest element size. WhereasMaxElementSize is the upper bound for the edge length of mesh elements, the lower bound is specifiedwith the keyword MinElementSize. When MinElementSize is not used in the definition of a region, thedefault value of 0.02 is used.

As previously mentioned, the influence of these new parameters is shown using two refinement regions.However, to highlight the influence of the new parameters, MaxElementSize is set to 0.5 for both regions.

NOTE No values are associated to RefineFunction when the keyword is not present in the refinementdefinition statement.

-1.0e+17

-1.3e+15

+1.3e+14

+1.2e+16

+9.0e+17

Net Doping [/cm3]

1D Diode

-1.0e+17-1.3e+15+1.3e+14+1.2e+16+9.0e+17

Net Doping [/cm3]

2D Diode

-1.0e+17

-1.3e+15

+1.3e+14

+1.2e+16

+9.0e+17Net Doping [/cm3]

3D Diode

120

Page 131: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Example: Command file for doping-dependent adaptation

Keeping the same profiles as for the previous example, the new statements for the refinement regionsare:

Definitions {# Refinement regionsRefinement "one corner" {

RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1)}Refinement "default region" {

MaxElementSize = 0.5 # or (0.5 0.5 0.5)}# Profiles same as previous command file

}Placements {

# Refinement regionsRefinement "one corner instance" {

Reference = "one corner"RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)]

}Refinement "default region instance" {

Reference = "default region"}# Profiles same as previous command file

}

Figure 38 shows the grids created with this command file.

Figure 38 Grid adaptation according to doping

The adaptation for the 1D case is satisfactory since the cuboid defining the corner includes the 1D cut,which was used as a boundary description. The 2D and 3D cases show the effect of not having criteriafor the doping adaptation. Only the elements in the left corner are refined, which is why the dopingprofile is resolved better at this corner than in the right corner.

See Command file: Doping adaptation on page 130 for the complete command file diode.cmd used forthis example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/adaptation.

-1.0e+17

-1.3e+15

+1.3e+14

+1.2e+16

+9.0e+17

Net Doping [/cm3]

1D Diode

-1.0e+17-1.3e+15+1.3e+14+1.2e+16+9.0e+17

Net Doping [/cm3]

2D Diode

-1.0e+17

-1.3e+15

+1.3e+14

+1.2e+16

+9.0e+17

Net Doping [/cm3]

3D Diode

121

Page 132: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Example: Command file with minimum element size

The effect of the keyword MinElementSize is demonstrated here. The RefineFunction given in the previouscommand file is taken for the default region. For the default region, MinElementSize is set to the vector(0.04, 0.1, 0.1); for the corner, the default value 0.02 is used:

Definitions {# Refinement regions Refinement "one corner" {

MinElementSize = 0.02}Refinement "rest of the device" {

MinElementSize = (0.04, 0.1, 0.1)MaxElementSize = 0.5RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1)

}# Profiles same as previous command file

}# Placements section same as previous command file

Figure 39 shows the effect of increasing the minimum size of the elements for the default region. Theadaptation of the corner is much finer because MinElementSize is smaller than for the rest of the device.

Figure 39 Effect of setting the minimum element size

See Command file: Minimum size of elements on page 131 for the complete command file diode.cmdused for this example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/minimumSize.

More complex doping profilesFinally, two more profiles are added under the contact regions. In this case, the values at the junction areused to define the profiles along the primary direction instead of standard deviation for Gaussian profilesor diffusion length for error functions.

To complete the profiles, the keywords ValueAtDepth and Depth are required. ValueAtDepth is theconcentration at the junction and Depth is the distance from the junction with respect to the peak position.Depth is a local distance from the peak position. One default refinement region is used for the entiredevice.

-1.0e+17

-1.3e+15

+1.3e+14

+1.2e+16

+9.0e+17

Net Doping [/cm3]

1D Diode

-1.0e+17-1.3e+15+1.3e+14+1.2e+16+9.0e+17

Net Doping [/cm3]

2D Diode

-1.0e+17-1.3e+15+1.3e+14+1.2e+16+9.0e+17

Net Doping [/cm3]

3D Diode

122

Page 133: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Example: Command file using values at the junction

The syntax for the new analytic profiles in the Definitions section is:

Definitions {# Substrate doping as in the previous example# n-type well doping as in the previous example

AnalyticalProfile "high doping for Ohmic contact in n-region" {Species = "PhosphorusActiveConcentration"Function = Gauss(PeakPos = 0, PeakVal = 1e+20, ValueAtDepth = 1e+18, Depth = 0.2)LateralFunction = Gauss(Factor = 0.8)

}AnalyticalProfile "high doping for Ohmic contact in p-region" {

Species = "BoronActiveConcentration"Function = Gauss(PeakPos = 0, PeakVal = 1e+20, ValueAtDepth = 1e+17, Depth = 0.2)LateralFunction = Gauss(Factor = 0.8)

}Refinement "entire device" {

MinElementSize = (0.04, 0.02, 0.02)MaxElementSize = (0.5 0.5 0.5)RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1)

}}

The syntax for the new analytic profiles in the Placements section is:

Placements {# Substrate doping as in the previous example# n-type well doping as in the previous example

AnalyticalProfile "high doping for Ohmic contact in n-region instance" {Reference = "high doping for Ohmic contact in n-region"ReferenceElement {

Element = rectangle [(2, 1, 0), (2, 2, 1)]}

}AnalyticalProfile "high doping for Ohmic contact in p-region instance" {

Reference = "high doping for Ohmic contact in p-region"ReferenceElement {

Element = rectangle [(0 0 0), (0 3 2)]}

}# Refinement regions Refinement "entire device instance" {

Reference = "entire device"}

}

123

Page 134: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Figure 40 shows the resulting meshes.

Figure 40 Using values at the junction

NOTE The curvatures of the doping profiles along the lateral directions are better resolved becauseof a smaller value for the minimum element size.

See Command file: Using values at the junction on page 132 for the complete command file diode.cmdused for this example. In the Manual Examples Library, the example is under the project Tools/Mesh/Tutorial/final.

Statistics of tutorial examplesTable 4 presents statistics for the tutorial examples that correspond to the previous examples in the orderthey were presented. In general, dfisetools -r can be used to generate information on the number ofpoints and elements.

Table 4 Statistics

Case name Command file (see tutorial directory)

Figure Statistics: Range of point count

Simple abrupt Figure 34 on page 116 2–15

Default defaultAdaptation Figure 35 on page 117 3–36

Max size maximumSize Figure 38 on page 121 14–628

Doping doping Figure 37 on page 120 14–620

n-well adaptation Figure 36 on page 118 6–200

Min size minimumSize Figure 39 on page 122 10–600

Complex final Figure 40 16–1879

-1.0e+20

-7.1e+16

+4.0e+11

+7.1e+16

+1.0e+20

Net Doping [/cm3]

1D Diode

-1.0e+20-7.1e+16+4.0e+11+7.1e+16+1.0e+20

Net Doping [/cm3]

2D Diode

-1.0e+20-7.1e+16+4.0e+11+7.1e+16+1.0e+20

Net Doping [/cm3]

3D Diode

124

Page 135: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

The number of mesh elements in Table 4 on page 124 does not include the elements used to define thecontact areas – only 3D elements are counted for 3D; 2D elements, for 2D; and 1D, elements for 1D.Additionally, the number of elements in the mesh may vary from version to version as algorithmicchanges occur.

Tutorial: Diode example

Boundary file: diode.bnd

One-dimensional diode# Solid regionSilicon "substrate" { line [ (0) (2) ] }

# Contact area Contact "anode" { point [ (0) ] }

# Contact areaContact "cathode" { point [ (2) ] }

Two-dimensional diode# Solid regionSilicon "substrate" { rectangle [ (0,0) (2, 3) ] }

# Contact areaContact "anode" { line [ (0,0) (0,3) ] }

# Contact areaContact "cathode" { line [ (2,1) (2,2) ] }

Three-dimensional diode# Solid regionSilicon "substrate" { cuboid [ (0,0,0) (2,3,2) ] }

# Contact areaContact "anode" { rectangle [ (0,0,0) (0,3,2) ] }

# Contact areaContact "cathode" { rectangle [ (2,1,0) (2,2,1) ] }

125

Page 136: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Command file: Abrupt diodeThe reference for this example is shown in Figure 39 on page 122.

Title "minimal example: simple diode"

Definitions{# Refinement regions

# Profiles Constant "n-type region"{

Species = "PhosphorusActiveConcentration" Value = 1e+18}Constant "p-type region"{

Species = "BoronActiveConcentration" Value = 1e+17}

}

Placements {# Refinement regions

# Profiles Constant "n-type region"{

Reference = "n-type region" EvaluateWindow { Element = cuboid [( 1 0 0 ) , ( 2 3 2 )]

}}Constant "p-type region"{

Reference = "p-type region" EvaluateWindow { Element = cuboid [( 0 0 0 ) , ( 1 3 2 )] }}

}

126

Page 137: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Command file: Default parametersThe reference for this example is shown in Figure 34 on page 116.

Title "Setting default parameters"

Definitions{ # Refinement regions Refinement "default region" { MaxElementSize = 1 MinElementSize = 0.02 }

# Profiles Constant "n-type region" { Species = "PhosphorusActiveConcentration" Value = 1e+18 } Constant "p-type region" { Species = "BoronActiveConcentration" Value = 1e+17 }}

Placements { # Refinement regions

Refinement "default region instance" { Reference = "default region" # Default region }

# Profiles Constant "n-type region" { Reference = "n-type region" EvaluateWindow { Element = cuboid [( 1 0 0 ) , ( 2 3 2 )] } } Constant "p-type region" { Reference = "p-type region" EvaluateWindow { Element = cuboid [( 0 0 0 ) , ( 1 3 2 )] } }}

127

Page 138: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Command file: Maximum size of elementsThe reference for this example is shown in Figure 36 on page 118.

Title "Demonstration of effect of MaxElementSize"

Definitions{ # Refinement regions Refinement "one corner" { MaxElementSize = (0.2 0.4 0.25) } Refinement "rest of the device" { MaxElementSize = (0.4, 0.8, 0.5) }

# Profiles Constant "n-type region" { Species = "PhosphorusActiveConcentration" Value = 1e+18 } Constant "p-type region" { Species = "BoronActiveConcentration" Value = 1e+17 }}Placements{ # Refinement regions Refinement "one corner instance" { Reference = "one corner" RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)] } Refinement "rest of the device instance" { Reference = "rest of the device" }

# Profiles Constant "n-type region" { Reference = "n-type region" EvaluateWindow { Element = cuboid [(1 0 0), (2 3 2)] } } Constant "p-type region" { Reference = "p-type region" EvaluateWindow

128

Page 139: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

{ Element = cuboid [(0 0 0) , (1 3 2)] } }}

Command file: Modifying the n-type regionThe reference for this example is shown in Figure 37 on page 120.

Title "n-well doping example"

Definitions{ # Refinement regions Refinement "one corner" { MaxElementSize = (0.2 0.4 0.25) } Refinement "rest of the device" { MaxElementSize = (0.4, 0.8, 0.5) }

# Profiles Constant "Substrate doping" { Species = "BoronActiveConcentration" Value = 1e+17 } AnalyticalProfile "n-type well" { Species = "PhosphorusActiveConcentration" Function = Erf(SymPos = 0.5, PeakVal = 1e+18, Length = 0.1) LateralFunction = Gauss(Factor = 0.8) }}

Placements{ # Refinement regions Refinement "one corner instance" { Reference = "one corner" RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)] } Refinement "rest of the device instance" { Reference = "rest of the device" }

# Profiles Constant "Substrate doping instance" { Reference = "Substrate doping"

129

Page 140: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

} AnalyticalProfile "n-type well instance" { Reference = "n-type well" ReferenceElement { Element = rectangle [(2, 1, 0), (2, 2, 1)] } }}

Command file: Doping adaptationThe reference for this example is shown in Figure 38 on page 121.

Title "examples for doping adaptation"

Definitions { # Refinement regions Refinement "one corner" { RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) } Refinement "default region" { MaxElementSize = 0.5 # or (0.5 0.5 0.5) }

# Profiles Constant "Substrate doping" { Species = "BoronActiveConcentration" Value = 1e+17 } AnalyticalProfile "n-type well" { Species = "PhosphorusActiveConcentration" Function = Erf(SymPos = 0.5, PeakVal = 1e+18, Length = 0.1) LateralFunction = Gauss(Factor = 0.8) }}Placements { # Refinement regions Refinement "one corner instance" { Reference = "one corner" RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)] } Refinement "default region instance" { Reference = "default region" }

130

Page 141: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

# Profiles Constant "Substrate doping instance" { Reference = "Substrate doping" EvaluateWindow { Element = cuboid [(0 0 0), (2 3 2)] } } AnalyticalProfile "n-type well instance" { Reference = "n-type well" ReferenceElement { Element = rectangle [(2, 1, 0), (2, 2, 1)] } }}

Command file: Minimum size of elementsThe reference for this example is shown in Figure 39 on page 122.

#Title "examples for minimum size"

Definitions { # Refinement regions Refinement "one corner" { MinElementSize = 0.02 } Refinement "rest of the device" { MinElementSize = (0.04, 0.1, 0.1) MaxElementSize = (0.5 0.5 0.5) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) }# Profiles Constant "Substrate doping" { Species = "BoronActiveConcentration" Value = 1e+17 } AnalyticalProfile "n-type well" { Species = "PhosphorusActiveConcentration" Function = Erf(SymPos = 0.5, PeakVal = 1e+18, Length = 0.1) LateralFunction = Gauss(Factor = 0.8) }}Placements { # Refinement regions Refinement "one corner instance"

131

Page 142: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

{ Reference = "one corner" RefineWindow = cuboid [(0.75 0 0), (2 1.5 1)] } Refinement "rest of the device instance" { Reference = "rest of the device" }# Profiles Constant "Substrate doping instance" { Reference = "Substrate doping" EvaluateWindow { Element = cuboid [(0 0 0), (2 3 2)] } } AnalyticalProfile "n-type well instance" { Reference = "n-type well" ReferenceElement { Element = rectangle [(2, 1, 0), (2, 2, 1)] } }}

Command file: Using values at the junctionThe reference for this example is shown in Figure 40 on page 124.

#Title "examples for values at the junction"

Definitions { Refinement "entire device" { MinElementSize = (0.04, 0.02, 0.02) MaxElementSize = (0.5 0.5 0.5) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) }

# Profiles Constant "Substrate doping" { Species = "BoronActiveConcentration" Value = 1e+17 } AnalyticalProfile "n-type well" { Species = "PhosphorusActiveConcentration" Function = Erf(SymPos = 0.5, PeakVal = 1e+18, Length = 0.1) LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "high doping for Ohmic contact in n-region"

132

Page 143: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

{ Species = "PhosphorusActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1e+20, ValueAtDepth = 1e+18, Depth = 0.2) LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "high doping for Ohmic contact in p-region" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1e+20, ValueAtDepth = 1e+17, Depth = 0.2) LateralFunction = Gauss(Factor = 0.8) }}

Placements { # Refinement regions Refinement "entire device instance" { Reference = "entire device" }

# Profiles Constant "Substrate doping instance" { Reference = "Substrate doping" EvaluateWindow { Element = cuboid [(0 0 0), (2 3 2)] } } AnalyticalProfile "n-type well instance" { Reference = "n-type well" ReferenceElement { Element = rectangle [(2, 1, 0), (2, 2, 1)] } } AnalyticalProfile "high doping for Ohmic contact in n-region instance" { Reference = "high doping for Ohmic contact in n-region" ReferenceElement { Element = rectangle [(2, 1, 0), (2, 2, 1)] } } AnalyticalProfile "high doping for Ohmic contact in p-region instance" { Reference = "high doping for Ohmic contact in p-region" ReferenceElement { Element = rectangle [(0 0 0), (0 3 2)] } }}

133

Page 144: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Complex examples

One-dimensional NMOS

Boundary file# 1D nmos

Silicon "Silicon" { line [0 8.661] }Oxide "Oxide" { line [-0.04 0] }Contact "Left" { point [-0.04] }Contact "Right" { point [8.661] }

Command file for MeshTitle "nmos-intro, 1d"

Definitions{ # Refinement regions Refinement "N+ Region" { MaxElementSize = (0.02) MinElementSize = (0.01) } Refinement "Default Region" { MaxElementSize = (0.1) MinElementSize = (0.04) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) }

# Profiles Constant "Constant Profile" { Species = "BoronActiveConcentration" Value = 6.8e+14 } AnalyticalProfile "N+ Region" {

Species = "ArsenicActiveConcentration"Function = Erf(SymPos = 0.196, MaxVal = 1.58e+20, ValueAtDepth = 2e+18, Depth = 0.4)

} AnalyticalProfile "P Region" {

Species = "BoronActiveConcentration"Function = Gauss(PeakPos = 0.1082, PeakVal = 2.18e+16, ValueAtDepth = 1e+16, Depth =

0.22) }}

134

Page 145: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Placements { # Refinement regions Refinement "Default Region" { Reference = "Default Region" # Default region } Refinement "N+ Region" { Reference = "N+ Region" RefineWindow = line [( 0 ) , ( 1 )] }

# Profiles Constant "Constant Profile Reference" { Reference = "Constant Profile" } AnalyticalProfile "N+ Region Reference" { Reference = "N+ Region" ReferenceElement { Element = point [( 0 )] Direction = positive } } AnalyticalProfile "P Region Reference" { Reference = "P Region" ReferenceElement { Element = point [( 0 )] Direction = positive } }}

Command file for GRID1DTitle "nmos-intro, 1d"

Refinement { MaxElementSize=0.1 MinElementSize=0.04 { left = 0 right = 1 MaxElementSize = 0.02 }}

profiles{ constFunction{ peakvalue =6.8e14 species = B } errorFunction{ species = As

135

Page 146: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

peakpos = 0.196 direction = (0, positive) peakValAndJunc = (peakvalue =1.58e20 juncdepth = 0.4 juncval = 2e18) } gaussianFunction{ species = B peakPosition = 0.1082 direction = (0, positive) peakValAndJunc = (peakvalue =2.18e16 juncdepth = 0.22 juncval = 1e16) }}

Two-dimensional NMOS

Command file for MeshTitle "2D nmos"Definitions{ # Refinement regions Refinement "Default Region" { MaxElementSize = (1.2 1.2) MinElementSize = (0.05 0.05) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) }

# Profiles SubMesh "SubMesh" { Geofile = "submesh.grd" Datafile = "submesh.dat" }}

Placements { # Refinement regions Refinement "Default Region" { Reference = "Default Region" # Default region }

# Profiles SubMesh "SubMesh" { Reference = "SubMesh" SelectWindow { Element = rectangle [(-0.02 -0.02), (12.02 8.6802)] Attachpoint=(0 0) Topoint=(1 0) }

136

Page 147: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

EvaluateWindow { Element = rectangle [(0.98 -0.02), (13.02 8.6802)] } }}

Three-dimensional: MOS-controlled thyristor

Command file for MeshTitle "MCT example"

Definitions { # Refinement regions Refinement "NoName_3" { MaxElementSize = (1 1 1) MinElementSize = (0.125 0.125 0.125) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 6) } Refinement "NoName_2" { MaxElementSize = (5 5 5) MinElementSize = (0.5 0.5 0.5) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 6) } Refinement "NoName_1" { MaxElementSize = (0.5 0.5 0.5) MinElementSize = (0.05 0.05 0.05) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 4) } Refinement "Default Region" { MaxElementSize = (10 10 10) MinElementSize = (0.5 0.5 0.5) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 30) }# Profiles Constant "Basis Concentration" { Species = "PhosphorusActiveConcentration" Value = 2e+13 } AnalyticalProfile "nemi40" { Species = "PhosphorusActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 3.7e+19, Length = 0.6) LateralFunction = Gauss(Factor = 1) } AnalyticalProfile "nwell30" { Species = "PhosphorusActiveConcentration"

137

Page 148: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Function = Gauss(PeakPos = 0, PeakVal = 1e+18, Length = 0.82) LateralFunction = Gauss(Factor = 1) } AnalyticalProfile "short50" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 2e+20, Length = 0.2) LateralFunction = Gauss(Factor = 1) } AnalyticalProfile "anode10" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1e+19, Length = 7.45) LateralFunction = Gauss(Factor = 1) } AnalyticalProfile "pbase20" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 8e+16, Length = 3.47) LateralFunction = Gauss(Factor = 1) }}

Placements {

# Refinement regions Refinement "Default Region Preference" { Reference = "Default Region" RefineWindow = cuboid [( 0 -0.05 0 ) , ( 10 500 10 )] } Refinement "NoName_2" { Reference = "NoName_1" RefineWindow = cuboid [( 3 0 3 ) , ( 10 2 10 )] } Refinement "NoName_3" { Reference = "NoName_2" RefineWindow = cuboid [( 0 450 0 ) , ( 10 500 10 )] } Refinement "NoName_4" { Reference = "NoName_3" RefineWindow = cuboid [( 0 0 0 ) , ( 10 12 10 )] }

# Profiles Constant "Basis Concentration" { Reference = "Basis Concentration" EvaluateWindow { Element = cuboid [( 0 0 0 ) , ( 10 500 10 )] } } AnalyticalProfile "nemi40" {

138

Page 149: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Reference = "nemi40" ReferenceElement { Element = rectangle [( 7 0 7 ) , ( 10 0 10 )] } } AnalyticalProfile "nwell30" { Reference = "nwell30" ReferenceElement { Element = rectangle [( 4.5 0 4.5 ) , ( 10 0 10 )] } } AnalyticalProfile "short50 A" { Reference = "short50" ReferenceElement { Element = rectangle [( 7.5 0 4.5 ) , ( 10 0 7.5 )] } } AnalyticalProfile "short50 B" { Reference = "short50" ReferenceElement { Element = rectangle [( 4.5 0 4.5 ) , ( 7.5 0 7.5 )] } } AnalyticalProfile "short50 C" { Reference = "short50" ReferenceElement { Element = rectangle [( 4.5 0 7.5 ) , ( 7.5 0 10 )] } } AnalyticalProfile "anode10" { Reference = "anode10" ReferenceElement { Element = rectangle [( 0 500 0 ) , ( 10 500 10 )] } } AnalyticalProfile "pbase20" { Reference = "pbase20" ReferenceElement { Element = rectangle [( 0 0 0 ) , ( 10 0 10 )] } }}

139

Page 150: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Three-dimensional example: ECL transistor

Command file for MeshTitle "ECL Transistor"

Definitions { # Refinement regions Refinement "beneath channel" { MaxElementSize = (0.5 0.5 0.5 ) MinElementSize = (0.02 0.02 0.02 ) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 6) } Refinement "Refinement along current flow under the oxide" { MaxElementSize = (0.25 0.25 0.25) MinElementSize = (0.125 0.125 0.125) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 6) } Refinement "base substrate" { MaxElementSize = (1 1 1) MinElementSize = (0.1 0.1 0.1) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 8) }

# Profiles Constant "base substrate" { Species = "PhosphorusActiveConcentration" Value = 1e+16 } Constant "base substrate bottom" { Species = "BoronActiveConcentration" Value = 1e+15 } AnalyticalProfile "buried n-channel" { Species = "PhosphorusActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 7e+19, Length = 0.2785) LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "act-base" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 4e+18, Length = 0.1528) LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "base-p+" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1.2e+20, Length = 0.292)

140

Page 151: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "emitter" { Species = "PhosphorusActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1.2e+20, Length = 0.073) LateralFunction = Gauss(Factor = 0.8) } AnalyticalProfile "n+deep" { Species = "PhosphorusActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 1e+20, Length = 0.41261) LateralFunction = Gauss(Factor = 0.25) }}

Placements {

# Refinement regions Refinement "base substrate" { Reference = "base substrate" RefineWindow = cuboid [ ( 0 0.5 1 ) , ( 8.2 4 4.5 )] } Refinement "Refinement along current flow under the oxide" { Reference = "Refinement along current flow under the oxide" RefineWindow = cuboid [ ( 4.4 0 1 ) , ( 7.6 1.9 3.5 )] } Refinement "beneath channel" { Reference = "beneath channel" RefineWindow = cuboid [ ( 2.5 0 1 ) , ( 4.9 1 2.8 )] }

# Profiles Constant "base substrate" { Reference = "base substrate" EvaluateWindow { Element = cuboid [ ( 0 0 1 ) , ( 8.2 1.7 4.5 )] DecayLength = 0 } }

Constant "base substrate bottom" { Reference = "base substrate bottom" EvaluateWindow { Element = cuboid [ ( 0 1.7 1 ) , ( 8.2 4 4.5 )] DecayLength = 0 } }

AnalyticalProfile "burried n-channel" {

141

Page 152: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Reference = "burried n-channel" ReferenceElement { Element = rectangle [( 0 1.7 1 ) , ( 8.2 1.7 4.5 )] Direction = positive } }

AnalyticalProfile "act-base" { Reference = "act-base" ReferenceElement { Element = rectangle [( 0 0 1 ) , ( 5.2 0 4.5 )] Direction = positive } }

AnalyticalProfile "base-p+" { Reference = "base-p+" ReferenceElement { Element = rectangle [( 0 0 1 ) , ( 1.6 0 4.5 )] Direction = positive } }

AnalyticalProfile "emitter" { Reference = "emitter" ReferenceElement { Element = rectangle [( 2.8 0 1 ) , ( 4.6 0 2.5 )] Direction = positive } }

AnalyticalProfile "n+deep" { Reference = "n+deep" ReferenceElement { Element = rectangle [( 6.2 0 1 ) , ( 8.2 0 4.5 )] Direction = positive } }

}

142

Page 153: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Three-dimensional example: Incorporating external profilesThis example illustrates the use of DIP as a doping incorporation function in generating a grid withMesh. To use the DIP interface, Mesh must be called by using the option -D, and the file with the scriptfor DIP must have the extension .dip and the same name as the Mesh input boundary file. Like otherMesh input files, the DIP script file must reside in the current directory. The DIP script defines theexternal 2D doping profiles to be incorporated in space with a set interpolation rules (refer to the DIPUser Guide).

The command file in Command file for Mesh is given in standard form, that is, there are no specific DIPentries. Doping refinement in Mesh is performed as usual; however, doping values are also computedusing doping profiles specified in the DIP script. The example in DIP script file on page 145 shows theuse of Coons interpolation rule.

Figure 41 illustrates how 2D doping distributions, which result from process simulations taken atdifferent cross sections of the device, are incorporated by DIP to produce a three-dimensional dopingprofile.

Figure 41 Two-dimensional doping distributions incorporated by DIP to produce 3D doping profile

Command file for MeshDefinitions {

# Refinement regions Refinement "entire device" { MaxElementSize = (0.4 0.4 0.4) MinElementSize = (0.015 0.015 0.015) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 1) } Refinement "surface" { MaxElementSize = (0.2 0.2 0.075) MinElementSize = (0.005 0.005 0.005) }

143

Page 154: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Refinement "channel1" { MaxElementSize = (0.08 0.2 0.005) MinElementSize = (0.005 0.005 0.0025) } Refinement "channel2" { MaxElementSize = (0.08 0.2 0.01) MinElementSize = (0.005 0.005 0.0025) } Refinement "channel3" { MaxElementSize = (0.08 0.2 0.02) MinElementSize = (0.005 0.005 0.0025) } Refinement "channel4" { MaxElementSize = (0.08 0.2 0.04) MinElementSize = (0.005 0.005 0.0025) }

# Profiles Constant "polygate" { Species = "ArsenicConcentration" Value = 1e20 }}

Placements{ # Refinement regions Refinement "entire device instance" { Reference = "entire device" } Refinement "surface" { Reference = "surface" RefineWindow = cuboid [(-1.0 0. 0.), (1.0 1.0 -0.3)] } Refinement "channel1" { Reference = "channel1" RefineWindow = cuboid [(-0.4 0. 0.), (0.4 1.0 -0.005)] } Refinement "channel2" { Reference = "channel2" RefineWindow = cuboid [(-0.4 0. -0.005), (0.4 1.0 -0.01)] } Refinement "channel3" { Reference = "channel3" RefineWindow = cuboid [(-0.4 0. -0.01), (0.4 1.0 -0.02)] } Refinement "channel4" { Reference = "channel4"

144

Page 155: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

RefineWindow = cuboid [(-0.4 0. -0.02), (0.4 1.0 -0.04)] }

# Profiles Constant "polygate" { Reference = "polygate" EvaluateWindow { Element = cuboid [(-1.0, 0.,0.01) (1.0,1.0,0.11)] } }}

DIP script file### DIP Input Script### Contains the definition of incorporation regions and rules.

### Files with 2D numerical doping profiles:set grd_cut1 "n7_dio.grd.gz"set dat_cut1 "n7_dio.dat.gz"set grd_cut2 "n8_dio.grd.gz"set dat_cut2 "n8_dio.dat.gz"set grd_cut3 "n9_dio.grd.gz"set dat_cut3 "n9_dio.dat.gz"set grd_cut4 "n10_dio.grd.gz"set dat_cut4 "n10_dio.dat.gz"set grd_cut5 "n11_dio.grd.gz"set dat_cut5 "n11_dio.dat.gz"

### Create dip_deviceset mos [dip_device]

### Add numerical doping profilesset cut1 [dip_mesh2D -args $mos $grd_cut1 $dat_cut1]set cut2 [dip_mesh2D -args $mos $grd_cut2 $dat_cut2]set cut3 [dip_mesh2D -args $mos $grd_cut3 $dat_cut3]set cut4 [dip_mesh2D -args $mos $grd_cut4 $dat_cut4]set cut5 [dip_mesh2D -args $mos $grd_cut5 $dat_cut5]

### Add incorporation regions and rulesset region1 [dip_rect -args $mos -1.0 0 1.0 0 -1.0 0.25 $cut1 NULL $cut2 NULL]dip_coons -args $region1 Arsenicdip_coons -args $region1 Borondip_coons -args $region1 Phosphorusset region2 [dip_rect -args $mos -1.0 0.25 1.0 0.25 -1.0 0.5 $cut2 NULL $cut3 NULL]dip_coons -args $region2 Arsenicdip_coons -args $region2 Borondip_coons -args $region2 Phosphorusset region3 [dip_rect -args $mos -1.0 0.5 1.0 0.5 -1.0 0.75 $cut3 NULL $cut4 NULL]dip_coons -args $region3 Arsenicdip_coons -args $region3 Borondip_coons -args $region3 Phosphorusset region4 [dip_rect -args $mos -1.0 0.75 1.0 0.75 -1.0 1.0 $cut4 NULL $cut5 NULL]dip_coons -args $region4 Arsenicdip_coons -args $region4 Borondip_coons -args $region4 Phosphorus

145

Page 156: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

Three-dimensional example

Command file for MeshDefinitions {

# Refinement regions Refinement "default" { MaxElementSize = (2 2 1) MinElementSize = (0.1 0.1 0.1) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 10) } Refinement "source + drain" { MaxElementSize = (0.2 0.2 0.1) MinElementSize = (0.025 0.025 0.025) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 10) } Refinement "channel" { MaxElementSize = (0.1 0.1 0.02) MinElementSize = (0.05 0.05 0.01) RefineFunction = MaxTransDiff(Variable = "DopingConcentration", Value = 10) }# Profiles AnalyticalProfile "source + drain" { Species = "ArsenicActiveConcentration" Function = Gauss(PeakPos = 0, PeakVal = 3.8e+20, ValueAtDepth = 1e+20, Depth = 0.1) LateralFunction = Gauss(Factor = 1.8) } AnalyticalProfile "pwell" {

Species = "BoronActiveConcentration"Function = Gauss(PeakPos = 0, PeakVal = 1.5e+17, ValueAtDepth = 3e+16, Depth = 0.5)

LateralFunction = Gauss(Factor = 0) } Constant "substrate" { Species = "BoronActiveConcentration" Value = 2e+15 }}

Placements { # Refinement regions Refinement "channel" { Reference = "channel" RefineWindow = cuboid [ ( 0 2.7 8.9 ) , ( 0.6 4 9 )] } Refinement "source" {

146

Page 157: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS APPENDIX B TUTORIALS

Reference = "source + drain" RefineWindow = cuboid [ ( 0 1.5 8.7 ) , ( 0.6 3 9 )] } Refinement "drain" { Reference = "source + drain" RefineWindow = cuboid [ ( 0 3.7 8.7 ) , ( 0.6 5.1 9 )] } Refinement "default" { Reference = "default" RefineWindow = cuboid [ ( 0 0 0 ) , ( 87 105 100 )] }

# Profiles AnalyticalProfile "drain" { Reference = "source + drain" ReferenceElement { Element = polygon [( 0 4 8.95 ) ( 0.35 4 8.95 ) ( 0.35 4.75 8.95 ) ( 0 4.75 8.95 )] } } AnalyticalProfile "source" { Reference = "source + drain" ReferenceElement { Element = polygon [( 0 1.8 8.95 ) ( 0.35 1.8 8.95 ) ( 0.35 2.55 8.95 ) ( 0 2.55 8.95 )] } } AnalyticalProfile "pwell" { Reference = "pwell" ReferenceElement { Element = polygon [( 0 0 8.95 ) ( 2 0 8.95 ) ( 2 7 8.95 ) ( 0 7 8.95 )] } } Constant "substrate" { Reference = "substrate" EvaluateWindow { Element = cuboid [ ( 0 0 1 ) , ( 2 7 9 )] } }}

147

Page 158: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSAPPENDIX B TUTORIALS

148

Page 159: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLS BIBLIOGRAPHY

Mesh Generation Tools

Bibliography

[1] P. Conti, M. Tomizawa, and A. Yoshii, “Generation of Oriented Three-Dimensional Delaunay GridsSuitable for the Control Volume Integration Method,” International Journal for Numerical Methodsin Engineering, vol. 37, no. 19, pp. 3211–3227, 1994.

[2] G. Garretón et al., “A New Approach for 2-D Mesh Generation for Complex Device Structures,” inInternational Workshop on Numerical Modeling of Processes and Devices for Integrated Circuits(NUPAD V), Honolulu, HI, USA, pp. 159–162, June 1994.

[3] G. Garretón et al., “Unified Grid Generation and Adaptation for Device Simulation,” in Simulationof Semiconductor Devices and Processes (SISDEP), vol. 6, Erlangen, Germany, pp. 468–471,September 1995.

[4] G. Heiser, Design and Implementation of a Three-Dimensional General Purpose SemiconductorDevice Simulator, Series in Microelectronics, vol. 13, Konstanz, Germany: Hartung-Gorre, 1991.

[5] P. Regli et al., “Multidimensional geometric modeling for 3D TCAD,” MicroelectronicEngineering, vol. 34, pp. 101–115, 1996.

[6] L. Villablanca, Mesh Generation Algorithms for Three-Dimensional Semiconductor ProcessSimulation, Series in Microelectronics, vol. 97, Konstanz, Germany: Hartung-Gorre, 2000.

149

Page 160: Mesh Generation Toolsjmbussat/Physics290E/Fall-2006/TCAD_document… · ABOUT THIS MANUAL MESH GENERATION TOOLS viii Part IV: Technical Aspects Chapter 10 describes some technical

MESH GENERATION TOOLSBIBLIOGRAPHY

150