luceda ipkiss教程 55:画螺旋型布拉格光栅

案例分享, 画螺旋型布拉格光栅:
在这里插入图片描述
所有代码如下:

from si_fab import all as pdk
import ipkiss3.all as i3
from picazzo3.wg.spirals import FixedLengthSpiralRounded

grating_size = 0.7
grating_wg_width = 1.2
wg_width = 0.5
pitch = 1.4
reference = i3.LayoutCell().Layout(elements=[i3.Rectangle(layer=i3.TECH.PPLAYER.SI,
                                                          box_size=(grating_size, grating_wg_width))])
windows = [
    i3.PathTraceWindow(layer=i3.TECH.PPLAYER.SI, start_offset=-0.5 * wg_width, end_offset=0.5 * wg_width),
    i3.PeriodicArrayReferenceTraceWindow(reference=reference, offset=0, pitch=pitch)
]
wg_t = i3.WindowWaveguideTemplate()
wg_t.Layout(windows=windows)

spiral = FixedLengthSpiralRounded(total_length=1000, n_o_loops=2, trace_template=wg_t)
lay = spiral.Layout(
    incoupling_length=10.0,
    bend_radius=10,
    spacing=5,
    stub_direction="V",  # either H or V
    growth_direction="V",  # either H or V
    rounding_algorithm=i3.EulerRoundingAlgorithm(p=0.7),
)

class Merge_bg(i3.PCell):
    class Layout(i3.LayoutView):
        def _generate_elements(self, elems):
            generated_elements = i3.get_layer_elements(lay)
            layers = [i3.TECH.PPLAYER.SI]
            return i3.merge_elements(generated_elements, layers)

if __name__ == '__main__':
    Merge_bg().Layout().visualize(legacy=True)
    Merge_bg().Layout().write_gdsii("Merge_bg.gds")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/317098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【HuggingFace Transformer库学习笔记】基础组件学习:Datasets

基础组件——Datasets datasets基本使用 导入包 from datasets import *加载数据 datasets load_dataset("madao33/new-title-chinese") datasetsDatasetDict({train: Dataset({features: [title, content],num_rows: 5850})validation: Dataset({features: [titl…

【Web】NSSCTF Round#16 Basic个人wp(全)

出题友好,适合手生复健。 目录 ①RCE但是没有完全RCE ②了解过PHP特性吗 ①RCE但是没有完全RCE 上来就是一段md5八股 (string)就是不让用数组了,然后强比较需要md5碰撞 ?md5_1%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc…

KVM Vcpu概述

KVM Vcpu概述 Intel VTSMP系统CPU过载使用CPU模型CPU绑定和亲和性CPU优化 Intel VT Intel的硬件虚拟化技术大致分为3类: 1、VT-x技术:是指Intel处理器中的一些虚拟化技术支持,包括CPU中最基础的VMX技术,也包括内存虚拟化的硬件支…

【LangChain学习之旅】—(7) 调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM?

【LangChain学习之旅】—(7) 调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM? 大语言模型发展史预训练 微调的模式用 HuggingFace 跑开源模型申请使用 Meta 的 Llama2 模型通过 HuggingFace 调用 LlamaLangChain 和 Hugging…

PHP代码审计基础知识

前言 本文章主要是PHP代码审计的一些基础知识,包括函数的用法,漏洞点,偏向基础部分,个人能力有限,部分可能会出现错误或者遗漏,读者可自行补充。 代码执行 代码执行是代码审计当中较为严重的漏洞&…

关于LwRB环形缓冲区开源库的纯C++版本支持原子操作

1、LwRB环形缓冲区开源库: GitHub - MaJerle/lwrb: Lightweight generic ring buffer manager libraryLightweight generic ring buffer manager library. Contribute to MaJerle/lwrb development by creating an account on GitHub.https://github.com/MaJerle/l…

【Linux】Linux基础之权限

目录 一、Linux中的用户1.1 用户之间的身份切换1.2 指令提权 二、权限管理2.1 文件权限2.2 权限操作2.3 chown和chgrp 三、文件类型四、目录文件的权限操作五、权限掩码六、粘滞位 一、Linux中的用户 Linux中主要有两种用户: root,超级用户非root&…

AI智能创作软件,颠覆你的写作体验

你是否想过,有一天,文字创作不再受限于人的思维和表达能力?AI智能文章创作就是这样一个神奇的存在。它运用先进的自然语言处理技术,通过对大量数据的深度学习,根据需要自动生成文章。你只需输入关键词或主题&#xff0…

Vue3-完成任意组件之间的传值

一、props(只限于父子之间,不嫌麻烦可以不断传) 父给子传值,子接收defineProps 父给子传事件,子接收defineProps,并触发事件的时候传值,然后父通过事件的回调函数拿到子传的值 二、mitt&#…

R语言将list转变为dataframe(常用)

在R语言使用中常常遇到list文件需要转变为dataframe格式文件处理。这是需要写循环来进行转换。IOBR查看其收录的相关基因集(自备)_iobr_deg-CSDN博客 示例文件 list文件&#xff1a; 循环转换为dataframe data <- signature_tme dat <- as.data.frame(t(sapply(data, …

【AI的未来 - AI Agent系列】【MetaGPT】0. 你的第一个MetaGPT程序

《MetaGPT智能体开发入门》开课&#xff0c;跟着课程&#xff0c;学习MetaGPT智能体开发。 0. 安装MetaGPT 请确保你的系统已安装Python 3.9。你可以通过以下命令进行检查&#xff1a; python3 --version下面是具体的安装命令&#xff1a; 安装命令 pip install metagpt如…

完美解决报错Please verify that the package.json has a valid “main“ entry处理方法

出现下图中的错误 &#xff0c;说明缺少main入口 解决方法&#xff1a; 1.删除 node_modules 和 package-lock.json这两个文件 2.命令行输入npm i 会重新下载包 3.重新执行检查没有报错

Centos安装RocketMQ之双主双从模式(同步双写方式)

目录 前言 一、总体架构 二、环境准备 1、文件准备 2、服务器换环境 3、防火墙配置 4、创建消息存储路径 三、配置文件修改 1、master1配置修改 2、slave2配置修改 3、master2配置修改 4、slave1配置修改 四、启动脚本修改 五、启动服务 1、启动NameServe集群 ​编…

阿里云高性能云服务器_云主机_云服务器详解

阿里云高性能云服务器60%单实例最大性能提升&#xff0c;35Gbps内网带宽&#xff0c;网络增强&通用型云服务器、本地SSD型云服务器、大数据型云服务器、GPU异构型云服务器&#xff0c;阿里云百科aliyunbaike.com分享阿里云高性能云服务器&#xff1a; 阿里云高性能云服务器…

【simple-admin】FMS模块如何快速接入阿里云oss 腾讯云cos 服务 实现快速上传文件功能落地

让我们一起支持群主维护simple-admin 社群吧!!! 不能加入星球的朋友记得来点个Star!! https://github.com/suyuan32/simple-admin-core 一、前提准备 1、goctls版本 goctls官方git:https://github.com/suyuan32/goctls 确保 goctls是最新版本 v1.6.19 goctls -v goct…

(十一)IIC总线-AT24C02-EEPROM

文章目录 IIC总线篇AT24C02-EEPROM篇主要特性引脚说明AT24Cxx用几位数据地址随机寻址的(存储器组织)AT24C02设备操作AT24CXX设备寻址EEPROM写操作的种类EEPROM读操作的种类实现单字节写实现任意读读写应用 IIC总线篇 前面介绍过了&#xff0c;请参考 (十)IIC总线-PCF8591-ADC/…

手把手教你用 Stable Diffusion 写好提示词

Stable Diffusion 技术把 AI 图像生成提高到了一个全新高度&#xff0c;文生图 Text to image 生成质量很大程度上取决于你的提示词 Prompt 好不好。 前面文章写了一篇文章&#xff1a;一份保姆级的 Stable Diffusion 部署教程&#xff0c;开启你的炼丹之路 本文从“如何写好…

前端基础知识

一、脚本script 定义&#xff1a;脚本简单地说就是一条条的文字命令&#xff0c;这些文字命令是可以看到的&#xff0c;脚本程序在执行时&#xff0c;是由系统的一个解释器&#xff0c;将其一条条的翻译成机器可识别的指令&#xff0c;并按程序顺序执行 作用&#xff1a;可以…

element:日历 / 使用记录

一、预期效果 Element - The worlds most popular Vue UI framework element默认样式 目标样式 二、Calendar 属性 参数说明类型可选值默认值value / v-model绑定值Date/string/number——range时间范围&#xff0c;包括开始时间与结束时间。开始时间必须是周一&#xff0c;…

【HuggingFace Transformer库学习笔记】基础组件学习:Evaluate

基础组件学习——Evaluate Evaluate使用指南 查看支持的评估函数 # include_community&#xff1a;是否添加社区实现的部分 # with_details&#xff1a;是否展示更多细节 evaluate.list_evaluation_modules(include_communityFalse, with_detailsTrue)加载评估函数 accuracy…