Discussion today Today we will cover a basic introduction to the Lumerical scripting language We will revisit the ZnO nanowire as an example Lumerical.

Slides:



Advertisements
Similar presentations
Introduction to Matlab
Advertisements

Introduction to Macromedia Director 8.5 – Lingo
Study of propagative and radiative behavior of printed dielectric structures using the finite difference time domain method (FDTD) Università “La Sapienza”,
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Games and Simulations O-O Programming in Java The Walker School
REVIEW 2 Exam History of Computers 1. CPU stands for _______________________. a. Counter productive units b. Central processing unit c. Copper.
Introduction to MCMC and BUGS. Computational problems More parameters -> even more parameter combinations Exact computation and grid approximation become.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Introduction It is developed to create software applications. It is a tool for developers of any program that uses both basic and expert settings. It.
Tutorial 7 Planning and Creating a Flash Web Site.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Learning Unity. Getting Unity
HONG KONG TAOIST ASSOCIATION WUN TSUEN SCHOOL Microsoft PowerPoint 2010 Chapter 1 – Introduction of PowerPoint.
CS320n –Visual Programming More LabVIEW Foundations.
AutoCAD Vocabulary Carlin Bright Janury CAD Computer Aided Design.
XP Tutorial 7 Creating a Flash Web Site. XP New Perspectives on Macromedia Flash 82 Objectives Plan and create a Flash Web site Create a Flash template.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
Introduction to Programming on MATLAB Ecological Modeling Course Sep 11th, 2006.
Microsoft Visual C# 2010 Fourth Edition Chapter 3 Using GUI Objects and the Visual Studio IDE.
1 Agent-Based Tools: focus on NetLogo Ing. Cristina Ponsiglione University of Naples Federico II Laboratorio di Simulazione ad Agenti.
CHAPTER 7 LESSON B Creating Database Reports. Lesson B Objectives  Describe the components of a report  Modify report components  Modify the format.
The Department of Engineering Science The University of Auckland Welcome to ENGGEN 131 Engineering Computation and Software Development Lecture 2 Debugging,
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 10/9/2006 Lecture 6 – String Processing.
Web Database Programming Using PHP
FOP: Multi-Screen Apps
Dive Into® Visual Basic 2010 Express
Visual Basic.NET Windows Programming
Creating a Flash Web Site
5.2 Microsoft Excel.
Chapter 2: The Visual Studio .NET Development Environment
Introduction to PSPICE
VAB™ for INFINITY Tutorial
Agenda for today Today we will do another tutorial example together to continue introduction to Lumerical FDTD software. Task #1: Tune the resonance frequency.
Release Numbers MATLAB is updated regularly
Learning to Program D is for Digital.
Chapter 13 Solver .out File and CCL
Agenda for today: Laser cavity design
Workshop 3.1 Sketching DesignModeler.
Web Database Programming Using PHP
ENEE222 Elements of Discrete Signal Analysis Lab 11 1.
OptiSystem applications: BER analysis of BPSK with RS encoding
Lecture: MATLAB Chapter 1 Introduction
WORKSHOP 3 GSE IMPORT.
Simulink Basics Reijo Vuohelainen
Scripts & Functions Scripts and functions are contained in .m-files
MATLAB DENC 2533 ECADD LAB 9.
(Mohammed Sami) Ashhab
Agenda for today Today we will do another tutorial example to continue introduction to Lumerical FDTD software. Task #1: Tune the resonance frequency of.
Discussion today Today we will cover a basic introduction to the Lumerical scripting language We will revisit the ZnO nanowire as an example Lumerical.
Agenda for today: Laser cavity design
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
5.2 Microsoft Excel.
Chapter 8: Introduction to High-Level Language Programming
VISUAL BASIC.
Discussion today Using Lumerical INTERCONNECT we will simulate a full 50Gbps (25Gbps X 2) 2-channel WDM optical link. Today we will look at the following:
Social Media And Global Computing Introduction to Visual Studio
Introduction to Python
Discussion today: Grating couplers
MSIS 670 Object-Oriented Software Engineering
Understanding the Visual IDE
Use of Mathematics using Technology (Maltlab)
Matlab tutorial course

Working with Symbols and Interactivity
Introduction to Grasshopper for rhino
Copyright © Aiman Hanna All rights reserved
Instructional presentation
SEEM 4540 Tutorial 4 Basic PHP based on w3Schools
Presentation transcript:

Discussion today Today we will cover a basic introduction to the Lumerical scripting language We will revisit the ZnO nanowire as an example Lumerical software shares a common scripting language that makes it possible to automate all aspects of simulation

Setup and analysis scripts Setup scripts are used for setting up structures Analysis scripts process data after simulation runs Can also have standalone scripts that can do both

Groups Groups are used to organize structures in a hierarchical fashion Container groups hold objects but have no scripts Structure groups have a Setup script Analysis groups have both Setup and Analysis scripts Useful if you have many structures (eg. array of objects) or complex structure with many components (eg. grating coupler) Top-level model object is an Analysis group and contains both Setup and Analysis scripts

Setup and analysis scripts Open disc11_ZnO_nanowire_laser_mirror.fsp Right-click model object, Edit object Setup script tab Analysis script tab Origin of group Structures’ coordinates are relative to this origin Script variables Can be lengths, materials, numbers, etc.

Setup script Two length parameters are set for the total simulation dimensions Click Script tab If “construction group”, group is designed to create its structures instead of modifying them deleteall; command will be added, which deletes all existing structures in group Can test first to see errors below

Setup script Press Test and ensure there are no errors. Semicolons required select selects an existing object To refer to an object in a subgroup, use the notation “group::object” Note that SI units are used regardless of simulation settings. Therefore this length is in meters set sets a property of the object Any property seen in the Edit menu can be set, including materials For boolean values use true or false. Use “?” to print things: useful for debugging

Example: grating coupler structure group Double click Grating coupler from Object Library to create This is what we used in past simulations Expand object in tree, you will see many polygons called post and coating comprising the grating coupler Setup script contains many examples of script syntax: if statements, for loops, matrices, creating objects, etc.

Optimizations Lumerical FDTD has built-in feature to optimize a figure of merit using Particle Swarm optimization Optimizer randomly generates n simulations (“particles”), n = generation size Each particle moves towards best result to produce next generation Usually converges after <5 generations (depends on complexity) Can only optimize a scalar (not array or matrix), so usually need Analysis script to extract a single element of array

Analysis script Delete grating coupler object Right-click model, Edit, go to Analysis tab Result called R has been added These results are set in script and will show up in result list of parameter sweeps and optimizations Go to Script tab: Monitor name The transmission function gets transmission normalized to source power, as an array for all frequencies Get the middle element (=middle frequency)

Optimization Create new optimization Right-click, Edit Optimize nanowire radius Maximize reflection

Optimization Click Run button to start optimization (same button as for sweep) Optimized reflectance after 1 generation is 5%, much better than initial 0.7% (your results may vary) Radius is 37 nm Diameters varied from 20 to 150 nm in the paper

Reflectivity is higher, but mode confinement is much weaker due to smaller wire

Optimization For single variable such as this, sweep is probably better In this case we would also like to optimize reflection from air interface, and confinement factor

Other resources Scripting language reference: https://kb.lumerical.com/en/index.html?ref_scripts_scripting_language.html Example simulations: https://kb.lumerical.com/en/applications.html