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 Macromedia Director 8.5 – Lingo
Advertisements

Study of propagative and radiative behavior of printed dielectric structures using the finite difference time domain method (FDTD) Università “La Sapienza”,
Games and Simulations O-O Programming in Java The Walker School
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
REVIEW 2 Exam History of Computers 1. CPU stands for _______________________. a. Counter productive units b. Central processing unit c. Copper.
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.
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.
Praat LING115 November 4, Getting started Basic phonetic analyses with Praat –Creating sound objects Recording, reading from a file, creating from.
CS320n –Visual Programming More LabVIEW Foundations.
AutoCAD Vocabulary Carlin Bright Janury CAD Computer Aided Design.
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.
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
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
Discussion today Today we will cover a basic introduction to the Lumerical scripting language We will revisit the ZnO nanowire as an example Lumerical.
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.
Lecture: MATLAB Chapter 1 Introduction
mysql and mysql workbench
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.
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.
Arrays An Array is an ordered collection of variables
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
C Arrays.
Discussion today: Grating couplers
Understanding the Visual IDE
Use of Mathematics using Technology (Maltlab)
7.5 – PHP Development Definition
Matlab tutorial course
PHP.
T. Jumana Abu Shmais – AOU - Riyadh

Image Coding and Compression
Introduction to Grasshopper for rhino
Copyright © Aiman Hanna All rights reserved
Instructional presentation
CodePainter Revolution Trainer Course
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 disc12_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 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. For materials use a string containing the name of the material 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 (original 65 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