-
-
July 4, 2023 at 12:53 pmxudong ZhangSubscriber
之前参考官方给出的stepindex材料插件的编译头文件(stepindex.h)和(stepindex.cpp),我自行编译了介电常数随时间变化的一种电介质材料,但是最近需要在此基础上同时改变相对磁导率,使用原来的材料h文件不能到达我想要的效果。目前发现应该是头文件中类的问题,不知道有没有官方的人可以联系讨论下这个问题怎么处理,是lumerical没有能够实现这个方法的途径吗?
这边附图总是提醒我不可用,不知怎么解决,只能附上一段关于两种类型的描述代码。
class MaterialPluginFactory : public IMaterialPluginFactory
{
IMaterialPlugin* createInstance(){return new T();}
void destroyInstance(IMaterialPlugin* i){delete i;}
IMagneticMaterialPlugin* toMagneticMaterialPlugin(IMaterialPlugin* p){return dynamic_cast(p);}
}; -
July 4, 2023 at 1:07 pmxudong ZhangSubscriber
孙老师帮帮我吧
-
July 4, 2023 at 5:29 pmGuilin SunAnsys Employee
改变相对磁导率,不随时间而变是吧?你需要先设置这样的磁导率。Ansys Insight: FDTD 中对磁性材料的处理
我还没有见到直接在plugin材料里设置的例子,的确需要大的修改。
-
July 5, 2023 at 1:46 amxudong ZhangSubscriber
单单只是磁导率的设置的话没什么问题,但是设计到时变的介电常数就没办法同时进行了
-
July 5, 2023 at 1:49 amxudong ZhangSubscriber
我想只能从材料插件的编写入手了。
-
-
-
July 5, 2023 at 2:41 pmGuilin SunAnsys Employee
目前的例子是时变介电常数或者折射率,磁导率的话需要自己推导相应的迭代公式,且电场那里不能再假设非磁材料,这需要对FDTD有一定了解,同时再开发新的材料插件。
-
July 6, 2023 at 2:02 amxudong ZhangSubscriber
那可能凭我自己搞不定了
-
July 6, 2023 at 2:32 amxudong ZhangSubscriber
我还是想确认一下,我并不需要让相对磁导率时变,仅需要时变的介电常数+大于1的相对磁导率是不可行的吗,因为对于FDTD之前还是学过一些的,感觉这并不应该是一个比较困难的问题。
其次没有理解到您所说的’电场不能再假设非磁材料‘的意思,是指使用时变介电常数插件的base材料不能选取非磁材料吗?
-
-
-
July 6, 2023 at 4:21 pmGuilin SunAnsys Employee
应该可以吧,你看直接设置磁导率而介电常数可以为零(参见前面链接)。能否成功只有试一下才知道。
“电场不能再假设非磁材料‘的意思”,你需要参考带磁导率的FDTD迭代方程。
-
July 7, 2023 at 7:48 amxudong ZhangSubscriber
好的孙老师,十分感谢您耐心的回复!接下来我会再尝试下编译插件,如果后续有进展我也会分享给您。
-
-
July 7, 2023 at 3:18 pmGuilin SunAnsys Employee
好的,谢谢,一些特殊应用很多都是客户开发反过来促进软件改善的,像Inverse Design。有学术单位专门研究材料插件的,你网上搜一下看看有没有什么相关信息,好像是澳洲的大学,我们这边没有记录,我只是听到有人提过。
-
- The topic ‘关于使用lumerical自带的材料编译功能的问题’ is closed to new replies.
-
1131
-
468
-
466
-
225
-
201
© 2024 Copyright ANSYS, Inc. All rights reserved.