Introduction
  • Introduction

Introductions of SimWorks Finite Difference Solutions

The SimWorks Finite Difference Solutions is a micro-nano optoelectronic simulation design platform, featuring high performance, high efficiency, and wide application range. The SimWorks Finite Difference Solutions is indispensable from the R&D of a single device to the design of an integrated system, and from lab to production line.

This article briefly explains the software framework, simulation process, working environment, and resource configuration.

Please refer to the Overview for more setting details of the software.

Software Framework

CAD, Solver, and Script

The software consists of the following three independent aspects:

  • 3D CAD focused on structural design;
  • Solvers with solving algorithms as the core, source, and monitor;
  • A script engine for software operation, data visualization, and algebraic computation.
flowchart TD CAD[3D CAD] --Transmit--> SOLVER[Slover]; SCRIPT[Script]--Control--> CAD[3D CAD]; SCRIPT[Script] --Control--> SOLVER[Slover]; SOLVER[Slover] --Transmit--> SCRIPT[Script]; SOLVER[Slover] --Solve--> CAD[3D CAD]; CAD[3D CAD] --Transmit--> SCRIPT[Script]; subgraph SCRIPT[Script] Script; end subgraph SOLVER[Slover] Solver -.-> Sources; Solver -.-> Monitors; end subgraph CAD[3D CAD] Materials--> Structures; end

The relations of CAD, Solver, and Script:

  • The data of the structure is transferred to the solver to solve the structure;

  • Use the script to set the structure parameters, or transfer the structure data to the script (that is, use the script to obtain the structure data);

  • Use the script to set the solver parameters, or transfer the solver data to the script (that is, use the script to obtain the solver data).

Overview

Preparation

User interface

Modeling

Simulation

Advanced

Appendix

Simulation Process

Simulation Process

Modeling and simulation process:

flowchart LR subgraph 1 Project Materials --> Structures; Structures --> Device; Solver -.-> Device; Solver --> Sources; Sources --> Device; end subgraph 2 Record data Monitors; end Device --> Monitors; subgraph 3 Analysis results Device -.-> Post_processing[Post processing]; Monitors --> Post_processing[Post processing]; end

A passive micro-nano optoelectronic device file mainly includes three parts shown in the figure above:

1.Project

There is no mandatory order requirement between modeling (selecting materials or adding structures) and simulation (solver or source), except that source (if required) must be added after the solver is created.

2.Record Data

Note that data recording is collection, display, and processing of project data. This is significant for modeling and simulation, and it will not affect the results of the project simulation.

  • In FDTD/FDFD solver, the monitor is mainly used to record data. In addition, each object stores its own "Raw data";
  • In FDE solver, the mode results are displayed on the Eigensolver workbench page, which includes information such as the mode field and effective index. The raw data can be obtained from the result dataset calculated by Mode solver.

3.Analysis Results

The data for the analysis results are mainly from various monitors, and a small amount of "Raw data" comes from the solver component.

General Functions

In addition, the following three functions are widely supported by various parts of the software:

  • Script
  • Data visualizer
  • Optimization and sweep
flowchart LR subgraph General_functions[General functions] Optimizations_sweep[Optimizations and sweep]; Data_visualizer[Data visualizer]; Script[Script]; end subgraph Used_in[Used in] 1_Project[1 Project]; 2_Record[2 Record]; 3_Analysis[3 Analysis]; end General_functions --> 1_Project[1 Project]; General_functions --> 2_Record[2 Record]; General_functions --> 3_Analysis[3 Analysis];

Working Environment and Resource Configuration

Working Environment

Software supports:

  • Windows OS
  • Mac OS
  • Linux OS

Resource Configuration

Computing methods:

  • PC
  • Cloud server
  • HPC (High Performance Computing)

See Computing resources.