LC 旋转 - 模拟对象

原文链接 链接
液晶 (LC) 旋转网格属性允许您以 theta、phi 为单位指定空间变化的 LC 导向。
液晶由杆状分子结构组成,这些分子结构具有相对于长轴的旋转对称性。因此,液晶具有空间变化的单轴光学特性。 相对于分子长轴和分子短轴的折射率称为非寻常 ne 和寻常 no,见下图。
在这里插入图片描述
旋转对称性使变换矩阵简化为两个旋转角度的函数 (θ,ϕ) 的函数。
在这里插入图片描述
并且参考(或模拟)坐标系中的介电常数张量 (x,y,z)通过围绕 z 和y的旋转转换为主坐标系 (X,Y,Z)。
在这里插入图片描述

属性编辑器 "选项卡

NAME: 对象名称
ENABLED:确定模拟中是否包含对象
USE RELATIVE COORDINATES:如果启用,信号源将使用中心点或求解器作为原点(参考)。 如果禁用,则会使用绝对中心(0,0,0)作为原点。
X, Y, Z:对象的中心位置。
RESAMPLE FOR VIEWING: 如果启用,NX、NY、NZ 将用于对布局编辑器中的对象图形进行重新采样。NX、NY、NZ 是 CAD 视图中显示的最大允许分辨率。这些数字用于图形渲染,对仿真结果没有影响。这些选项仅在导入空间变化数据时可用。
X SPAN, Y SPAN, Z SPAN:对象的大小。在图形用户界面中是灰色的,不可编辑。导入空间分布数据时,数字会更新。
RESCALE AXES INDEPENDENTLY: 如果启用,则可以对 X SCALE、Y SCALE、Z SCALE 进行不同设置,以调整对象的比例。如果禁用,则 X SCALE、Y SCALE、Z SCALE 只能相同设置。这些选项仅在导入空间变化数据时可用。
ENABLE CONFORMAL MESHING:详见网格属性提示。
THETA, PHI: 定义液晶导向器方向向量。
UX, UY, UZ: 方向单元矢量。在图形用户界面中是灰色的,不可编辑。数字根据 THETA、PHI。
IMPORT DATA:导入保存在 .mat 文件中的方向单位矢量 UX、UY、UZ 或保存在 .csv 文件中的 THETA、PHI。
CLEAR DATA: 清除导入的数据。
在接下来的章节中,我们将分别解释如何设置 LCs 的均匀分布和空间变化方向分布。请注意,这些角度的定义顺序非常重要,因为旋转一般是非交换关系。

均匀分布

例如,我们将 LC 设置为 ne=1.74 和 no=1.53,其中 LC 的方向角定义为 θ =30° 和 φ =150°。在工具栏上选择属性-- LC 方向,添加 LC 属性对象。
在这里插入图片描述
并在编辑窗口中设置属性 "theta "和 “phi”,如下图所示。
在这里插入图片描述
通过设置这些角度,FDTD 会自动创建变换矩阵 U。接下来,我们打开材料数据库,定义一种对角线各向异性材料,如下图所示。注意:寻常折射率和非寻常折射率设置,必须将 nxx 和 nyy 设置为普通折射率,将 nzz 设置为超常折射率。
在这里插入图片描述
定义变换矩阵 U 和对角线折射率后,我们将其赋值给结构对象的 "材料 "选项卡上的 "材料 "和 "网格属性名称 "属性,并将其设置为liquid crystal。
在这里插入图片描述

分布指向随空间变化的液晶

方法 1:使用脚本环境导入数据

在该方法下,使用addgridattribute,并且使用importdataset脚本命令添加 LC 属性,并设置 LC 的空间变化方向。例如,如果我们要设置如下图所示在 Z 方向上扭曲的 LC,其中 LC 指向的分量为ux(x,y,z)=cos(zπ),u(x,y,z)=sin(zπ)和uz(x,y,z)=0,
在这里插入图片描述
我们在一个矩阵变量中定义了指向分布,并将矩阵放入 LC attribute property中。在下面的脚本中,矩阵 "n "用于定义扭曲向列低密度聚合体的方向分布,这些信息被放入一个名为 LC 的数据集,该数据集包含 x、y、z 位置数据和名为 "u "属性中的方向。在倒数第二行使用 addgridattribute 命令时,LC 属性被添加到模拟中,并设置了导向分布。
注意:空间变化方位单位矢量的大小。指定 LC 方向时,方向矢量的大小必须正好为 1,除非在不希望设置 LC 方向的区域,方向矢量的大小应设置为 0。

# define x/y/z
x = 0;
y = 0;
z = linspace(0e-6,5e-6,100);
X = meshgrid3dx(x,y,z);
Y = meshgrid3dy(x,y,z);
Z = meshgrid3dz(x,y,z);
n = matrix(length(x),length(y),length(z),3);

# define the orientation function
n(1:length(x),1:length(y),1:length(z),1) = cos(Z*pi*1e5);
n(1:length(x),1:length(y),1:length(z),2) = sin(Z*pi*1e5);
n(1:length(x),1:length(y),1:length(z),3) = 0;

# create dataset containing orientation vectors and position parameters
LC=rectilineardataset("LC",x,y,z);
LC.addattribute("u",n);

# add LC import grid attribute
addgridattribute("lc orientation",LC);
setnamed("LC attribute","nz",50); # set resolution

注意:注:通过 "set "脚本命令设置角度 theta 时,输入的单位必须是弧度。例如:

setnamed("LC attribute","theta",pi/4);

然后,我们添加一种具有对角线各向异性成分的材料,并设置对象使用 LC 属性,与均匀分布的情况类似。

方法 2:使用图形用户界面从 .mat 文件导入数据

在网格属性编辑窗口中,点击 "Import data…(导入数据…)"按钮,可以导入包含所需的主任分布数据集的 .mat 文件。下面的代码举例说明了如何使用 matlabsave 脚本命令保存要导入的 .mat 文件。

# define x/y/z
x = 0;
y = 0;
z = linspace(0e-6,5e-6,100);
X = meshgrid3dx(x,y,z);
Y = meshgrid3dy(x,y,z);
Z = meshgrid3dz(x,y,z);
n = matrix(length(x),length(y),length(z),3);

# define the orientation function
n(1:length(x),1:length(y),1:length(z),1) = cos(Z*pi*1e5);
n(1:length(x),1:length(y),1:length(z),2) = sin(Z*pi*1e5);
n(1:length(x),1:length(y),1:length(z),3) = 0;

# create dataset containing orientation vectors and position parameters
LC=rectilineardataset("LC",x,y,z);
LC.addattribute("u",n);
 
# save data to .mat file
matlabsave("LC_import.mat",LC);

然后,我们添加一种具有对角线各向异性成分的材料,并设置对象使用 LC 属性,与均匀分布的情况类似。

方法 3:从 CSV(逗号分隔值)文件导入数据

这种方法似乎使用了其他工具,而且提示自己创建一个合格式的csv文件不是很容易,个人就不推荐这种方法了
在顶部工具栏的导入菜单中,点击从 CSV 导入,打开导入向导,选择要导入的 CSV 文件。有关从图形向导导入数据的文件格式和步骤的详细信息,请参阅从 CSV 导入对象 - 液晶。
在这里插入图片描述

同样的数据也可以使用 importcsvlc 脚本命令导入。

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

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

相关文章

STM32使用ST-LINK下载程序中需要注意的几点

使用keil5的ST-link下载界面 前提是ST-LINK已经连接好,(下图中是没有连接ST-link设备),只是为了展示如何查看STlink设备是否连接的方式 下载前一定设置下载完成后自启动 这个虽然不是必须,但对立即看到新程序的现象…

python爬取每日天气情况

python爬取每日天气情况 一、项目简介二、完整代码一、项目简介 本次爬取的目标数据来源于天气网,数据所在的页面如下图所示,本次任务较为简单,按照正常操作流程操作即可,即抓包分析数据接口,发送请求获取数据,解析数据并持久化存储。发送请求使用requests库,解析数据使…

2.11 下载安装Oracle数据库(Win10 JP)

2.11 下载安装Oracle数据库 目录一、下载Oracle 11g客户端安装包1. 官网选数据库配置2. Oracle下载器 下载安装包 二、 安装Oracle 11g客户端1. 安装 Oracle Database Client 11.2.0.1.02. 安装 Oracle Database 11.2.0.4.0 for HP OpenVMS Itanium 三、下载Oracle 12c数据库安…

三相智能电表通过Modbus转Profinet网关与PLC通讯案例

Modbus转Profinet网关(XD-MDPN100/300)的主要功能是实现Modbus协议和Profinet协议之间的转换和通信。Modbus转Profinet网关集成了Modbus和Profinet两种协议,支持Modbus RTU主站/从站,并可以与RS485接口的设备,它自带网…

C盘文件被格式化了,要怎么恢复?

C盘通常是操作系统(如Windows)的默认安装目录。它包含了操作系统的核心文件、驱动程序及系统所需的各种支持文件。这些文件对于计算机的正常运行至关重要。但在使用的过程中,有时可能会因为各种原因导致C盘被格式化,从而丢失了这些重要文件。这无疑是一个…

定个小目标之每天刷LeetCode热题(5)

今天这是一道简单题,解决方法是递归,遍历二叉树最简便的方法就是递归了,我们以递归三大要素对此题进行简单分析一下 第一要素:明确你这个函数想要干什么 在这道题中,我们需要定义一个传入任意二叉树根节点可以左右翻…

【移动端】商场项目路由设计

1:路由设计配置: 一级路由配置 分析项目,设计路由,配置一级路由 一级路由:单个页面独立展示的,都是一级路由,例如:登录页面,首页架子,报错页面 二级路由&…

Java项目对接redis,客户端是选Redisson、Lettuce还是Jedis?

JAVA项目对接redis,客户端是选Redisson、Lettuce还是Jedis? 一、客户端简介1. Jedis介绍2. Lettuce介绍3. Redisson介绍 二、横向对比三、选型说明 在实际的项目开发中,对于一个需要对接Redis的项目来说,就面临着选择合适的Redis客…

基于Vue+Node.js的购物网站设计与实现-计算机毕业设计源码28500

摘 要 近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务越来越赢得网民们的青睐。现…

将局部变量指针传递给某个c++类,离开类时数据发生变化

最近遇到一个c的问题,将一个局部变量的值传递给某个类,类中没有对该数据进行任何显式修改,结果该变量的值发生变化并且不可访问。 我开始很奇怪为何会发生这样的事情,后来经过调试,发现原来是该类发生了异常&#xff…

迅为RK3562开发板专为3562编写10大分类2900+页文档

iTOP-3562开发板采用瑞芯微RK3562处理器,内部集成了四核A53Mali G52架构,主频2GHZ,内置1TOPSNPU算力,RK809动态调频。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1内嵌高性能2D加速硬件。 内置独立NPU, 算力达 1TOPS,可用于轻…

中学生学人工智能系列:如何用AI学化学

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语、化学等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出…

【Linux基础】Linux了解、安装centos虚拟机

【Linux基础】Linux了解、安装centos虚拟机 文章目录 【Linux基础】Linux了解、安装centos虚拟机1、什么是Linux2、Linux安装2.1、使用VMware安装Linux centos72.2、启动虚拟机安装 1、什么是Linux Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较…

【深度强化学习】如何平衡cpu和gpu来加快训练速度(实录)

文章目录 问题抛出问题展示 问题探索参考:如何平衡cpu和gpu来加快训练速度呢? 解决问题实现逻辑:PPO算法示例:偷懒改法:第三处修改再次修改--24.5.22 不偷懒改法修改总结1 最终成绩(不是)附加赛…

(2024,Video2Game,NeRF,Mesh,物理模块,游戏引擎)通过单个视频实现实时、交互、逼真且兼容浏览器的环境

Video2Game: Real-time, Interactive, Realistic and Browser-Compatible Environment from a Single Video 公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 相关工作 3. Video…

CentOS配置DNS

1.打开/etc/resolv.conf文件 sudo vi /etc/resolv.conf2.添加配置 nameserver 114.114.114.1143.保存并关闭文件。 4.为了确保配置生效,重启网络服务或重启系统。例如: 重启网络: sudo systemctl restart network重启系统: …

tomcat中管理环境变量之setenv.sh

tomcat配置spring profiles springboot打包war部署到外部tomcat的时候指定profile启动 windows 在%tomcat%/bin下创建setenv.bat文件 linux 在%tomcat%/bin下创建setenv.sh文件 使用JVM参数: windows set "JAVA_OPTS%JAVA_OPTS% -Dspring.profiles.activedev"in…

简单介绍QKeySequenceEdit的使用

QKeySequenceEdit是Qt框架中的一个便捷用户界面组件,用于输入和显示键盘快捷键。它提供了一个简单的界面,允许用户输入一个键盘快捷键,并将其显示为一个字符串。这在需要配置快捷键的应用程序中非常有用。在本文中,我们将详细介绍…

Facebook会话过期是什么情况?如何解决?

如果你点开这篇文章,可能你曾经遇到过Facebook会话过期的错误。无论你是在抓取Facebook数据还是只是浏览动态,看到这个错误消息都会让人很不爽。但别担心,我们将会分享解决Facebook会话过期错误的最佳方法,这样你就可以迅速修复问…

chatMed开发日志博客(持续更新中)

目录 1. 项目概述 2. 开发人员团队 3. 大致需求 4. 开发内容 4.1. 前端开发 4.1.1: 前端页面开发 4.1.2: 登录机制以及路由守卫的开发 4.1.3: 文件上传机制和保存机制 4.1.4: 消息传递机制 4.2. 线程池开发 4.3. 在线调试 1. 项目概述 搭建一个基于深度学习的分析平台…