三维光子晶体能带结构计算的快速算法(FAME,Fast Algorithms for Maxwell's Equations)作者:南京应用数学中心林文伟教授团队及东南大学李铁香教授团队用途:光通讯、光子集成器件设计及国防科技等领域的研究4.0版本的北太天元更新了FAME到FAME2.0,包括Windows版本和Ubuntu22.04版本。FAME2.0 需要 CUDA环境才能正常加载和使用,推荐 NVIDIA® GeForce® GTX 1050、Tesla® K40、Quadro® P1000 及以上显卡,并推荐安装 CUDA 10 及以上版本。FAME2.0配套的CUDA环境可以在网盘上下载,下载对应的系统的库文件后放到 软件安装目录/plugins/FAME目录下通过网盘分享的文件:FAME2.0依赖库链接: https://pan.baidu.com/s/1MQVk8xjzHclt19gpFxmI9Q?pwd=j26v 提取码: j26v
1.首先我重新打开北太;2.我准备加载Test插件,Test和My_First_plugin就插件名称不同代码基本都是一致(唯一的区别就是图2所示,多了一条语句52行)。我有2个有疑问:①我并没有主动加载My_First_plugin,但是我加载Test的时候会报符号冲突?②我希望在加载插件的时候能够输出插件的作用是什么?因此我在初始化外部库句柄的时候添加了一条输出语句。然后加载Test插件的时候,北太直接自己关闭了。
main.cpp:4:10: fatal error: bex/bex.hpp: No such file or directory 4 | #include "bex/bex.hpp" | ^~~~~~~~~~~~~compilation terminated.
使用 symbolic 插件提供的 sym 命令创建符号变量 x 后,工作区不显示任何变量信息使用 whos 命令查看发现只有 ans 这个变量,且类型识别为 extern. 将这个 ans 赋值给 x 之后,无论参与运算工作区都是不显示任何信息的,也就是工作区无法识别 extern 这种类型的变量。目前将所有公布过的正式版本都安装尝试了一遍,都是这种情况。
近日,《中国科学报》以“仿真计算只需30分钟,数学力量拓展新型材料的自主创新”为题,报道由南京应用数学中心林文伟教授和东南大学李铁香教授团队设计研发、基于GPU计算平台的FAME软件包,该软件包以仿真插件的形式已正式发布在北太天元(Ubuntu版)v3.0*。 *已支持Ubuntu20.04版本,更多版本持续更新中 《中国科学报》报道截图 报道中提到,“北太天元(Ubuntu版)v3.0成功上线FAME插件,将进一步促进FAME算法的推广应用,将助力我国光通讯、光子集成器件的设计及国防科技等核心领域迸发自主创新活力。”关于FAME:助力工程领域应用 光子晶体是由不同折射率的介质周期性排列而形成的规则结构材料,具有普通光学材料所不具备的光子禁带特性,在科学界和产业界被称为“光半导体”或“未来的半导体”,被誉为二十一世纪最具潜力的新型材料。 近年来,南京应用数学中心林文伟教授和东南大学李铁香教授团队在三维光子晶体能带结构的快速计算方面进行了深入研究,成功设计了三维光子晶体能带结构计算的快速算法FAME(Fast Algorithms for Maxwell's Equations),算法整体呈现O(n log n)计算时间的复杂度,且FAME的计算过程有利于程序的并行化实现。 FAME可对(双)各向同(异)性、具有拟周期边界条件的三维光子晶体的全部14种布拉维晶格结构实现快速数值仿真。相比其他三维光子晶体仿真软件而言,FAME运用了先进的数学技巧,计算内存需求小,利用GPU高性能计算技术可实现计算效率的极大提升。 以三维光子晶体的面心立方晶格和NVIDIA Tesla V100显卡为例,在五百万的离散矩阵规模下,FAME可以在30分钟左右完成能带结构的计算,仿真速度是其CPU版本的50倍以上。 FAME 插件的快速仿真技术有助于提升材料学、物理学等相关领域的研究效率。用户可基于 FAME 插件高效搭建三维光子晶体能带结构数据库,进而实现逆向的材料电磁参数和几何结构的最优设计。调用FAME:仅需2步,在北太天元完成调用 运行北太天元后,在命令行窗口输入以下内容加载该插件:load_plugin(“FAME”) 加载完成后,在命令行窗口输入以下内容即可调用函数:Eigenvalue=FAME(“FAME_opt.txt”, “Eigenvalue.txt”)具体使用说明可查看北太天元帮助文档中相关板块在北太天元运行FAME得到的计算结果示例下载北太天元(Ubuntu版)v3.0即刻体验FAME复制网址到浏览器即可下载www.baltamatica.com/download 未来,北太振寰将持续提升服务水平,将前沿领域的创新性成果与北太天元结合,推动科研成果转化落地,为国家科技创新发展注入强劲动力。 欢迎广大高校加入北太天元开发者队伍!如需合作请联系:market@baltamatica.com。_____________________________________________ 以下为全文报道: 作者:韩扬眉 来源:中国科学报 报道原文链接:https://news.sciencenet.cn/htmlnews/2023/12/514424.shtm 仿真计算只需30分钟,数学力量拓展新型材料的自主创新 近日,由南京应用数学中心林文伟教授和东南大学李铁香教授团队设计研发、基于GPU计算平台的FAME软件包以仿真插件的形式正式发布,该成果有望推动新型材料高效仿真算法在相关领域的自主开发应用。 光子晶体是由不同折射率的介质周期性排列而形成的规则结构材料,具有普通光学材料所不具备的光子禁带特性,在科学界和产业界被称为“光半导体”或“未来的半导体”,被誉为二十一世纪最具潜力的新型材料。 光子晶体可以依据频率范围实现对电磁波的调控,这使得人们可以按照自己的设计需求来控制电磁波的传播,因此,对光子晶体能带结构的计算,对光通讯、光子集成器件的设计及国防科技等领域均具有重要意义。 通过理论分析或者数值仿真来预测材料性质和优化材料设计,是研究材料的一种重要手段。 近年来,林文伟和李铁香团队在三维光子晶体能带结构的快速计算方面持续深入研究。近日,团队成功设计了三维光子晶体能带结构计算的快速算法FAME(Fast Algorithms for Maxwell's Equations),算法整体呈现计算时间的复杂度,且FAME的计算过程有利于程序的并行化实现。研究成果刊发在国际权威期刊SIAM Journal on Scientific Computing。 科研团队研究三维各向异性光子晶体能带结构的快速算法,通过直接使用以晶格平移向量为基底的斜坐标系和 Maxwell 方程的协变表述,提出了一种可以统一处理正交及非正交布拉维晶格、各向同性及各向异性介质的算法框架。 特别地,该算法框架在离散化过程中可以轻松处理电磁场的布洛赫条件。在将频域 Maxwell 方程组离散化为标准代数特征值问题后,利用矩阵分析的技巧对其进行模型压缩,便可将该问题直接被转化无零空间的标准特征值问题,结合求逆Lanczos算法可轻松得到其最小的几个正特征值和相应的特征向量。论文中,该算法与商业软件 COMSOL中进行了大量数值比较,充分展现了新算法的有效性和高效性。 独立自主的科学计算与系统仿真软件是科技竞争力的关键。李铁香告诉《中国科学报》,FAME是一个专业的仿真软件,以三维光子晶体的面心立方晶格和NVIDIA Tesla V100显卡为例,在五百万的离散矩阵规模下,FAME可以在30分钟左右完成能带结构的计算,仿真速度是其CPU版本的50倍以上,这是应用数学在工程领域中应用的典型案例。 当前,北太天元(Ubuntu版)v3.0成功上线FAME插件,将进一步促进FAME算法的推广应用,将助力我国光通讯、光子集成器件的设计及国防科技等核心领域迸发自主创新活力。 相关程序和数据发布:http://www.njcam.org.cn/fame/index.phtml 关于《中国科学报》:《中国科学报》由中国科学院、中国工程院、国家自然科学基金委员会和中国科学技术协会共同主办,是中国科技界最具影响力的媒体之一。
说在前面众所周知,Technical Write是一项技术活,做这个的人叫Technical Writer,时代变了,做这个的也有可能是GPTs里面的一个应用。解决痛点Technical Write一直是一个技术活,需要大量的时间和精力,而且还需呀与开发人员进行大量沟通,开发人员也要写出详细的Feature,现在:你只需要简短描写你的Feature,Tech Write Pro会追问你的Feature细节,然后在开发人员和对话之间做出综合的决策,并且写出Hit Your Heart的文档,可以减少很多沟通。(对个人开发者是非常利好的,对Technical Writer来说,这个看老板是把你优化掉,还是让你在AI的基础上再优化)创意软件界面
目前,国外的MathCAD、MathCAD primer、Smath studio、Calcpad等软件,独特的可视化格式和便笺式界面将直观、标准的数学符号、文本和图形均集成到一个工作表中。 采用接近在黑板上写公式的方式让用户表述所要求解的问题,通过底层计算引擎计算返回结果并显示在屏幕上。计算过程近似透明,使用户专注于对问题的思考而不是繁琐的求解步骤。希望北太天元可以进一步优化其交互界面,降低用户的入门门槛。
将编译生成的插件拷贝至baltamatica安装路径下对应的插件位置后,即可使用CLion来进行调试。 1. windows系统使用CLion调试代码的配置步骤 (1)点击CLion菜单栏中的“运行-编辑配置” 或 (2)配置插件的配置项:可执行文件及环境变量 可执行文件选择安装路径下的可执行文件如:
D:\baltamatica\lib\baltamatica.exe将其中D:\baltamatica替换为自己的baltam安装路径。环境变量配置如下: Path中增加baltam安装路径的bin及lib:
D:\baltamatica\bin;D:\baltamatica\lib;增加其他环境变量:
BALTAM_CONFIG_M=D:\baltamatica\config\config.m BALTAM_FRONTEND=D:\baltamatica\lib\libbaio_qt.dll BALTAM_GNUPLOT=D:\baltamatica\share\gnuplot\gnuplot.exe BALTAM_TABLE_FOR_FUNCTION=D:\baltamatica\config\table_for_function.csv QT_PLUGIN_PATH=D:\baltamatica\qtplugins BALTAM_PLUGIN_PATH=D:\baltamatica点击确定。 (3)使用CLion的调试工具进行调试 2. Ubuntu系统使用CLion调试代码的配置步骤 (1)点击CLion菜单栏中的“运行-编辑配置” 或 (2)配置baltam_builtin的配置项:可执行文件及环境变量 可执行文件选择安装路径下的可执行文件如:
/opt/Baltamatica/bin/baltamatica将其中/opt/Baltamatica替换为自己的baltam安装路径。 环境变量配置如下: Path中增加baltam安装路径的bin:
/opt/Baltamatica/bin增加其他环境变量:
BALTAM_PATH=/opt/Baltamatica LD_LIBRARY_PATH=/opt/Baltamatica/lib BALTAM_CONFIG_M=/opt/Baltamatica/opt/Baltamatica/lib BALTAM_FRONTEND=/opt/Baltamatica/lib/libbaio_qt.so BALTAM_TABLE_FOR_FUNCTION=/opt/Baltamatica/config/table_for_function.csv QT_QPA_PLATFORM_PLUGIN_PATH=/opt/Baltamatica/lib/platforms BALTAM_PLUGIN_PATH=/opt/Baltamatica点击确定。 (3)使用CLion的调试工具进行调试
一、软件安装点击下方链接,选择适合的版本安装即可,目前MAC、麒麟系统等正在适配中,敬请期待!北太天元软件下载安装与激活二、北太天元学习文档以下为北太天元的官方文档,可按需查阅:1、北太天元科学计算与系统仿真软件白皮书2、北太天元SDK文档三、新手入门对于一些函数以及软件操作使用的学习,可以使用软件内的【帮助文档】四、常见问题Q&A大家使用北太天元软件常问问题已整理成Q&A,供大家学习参考:常见问题Q&A若文档里的内容仍没有为您答疑解惑,可以在社区发帖或在该贴下评论求助。本帖会持续更新相关学习文档及操作指引手册,方便大家查阅学习,请持续关注哦~
主要内容为:北太天元软件介绍、北太天元插件机制、北太天元插件开发。资料:北太天元插件开发培训(2023.1.13).pdf视频:
请问我在运行测试scripts目录下的osFDTD的代码的时候,想要在循环体内加断点跟踪数据,但是在北太的程序里面断点调试功能只能在第一次循环的时候起作用,在经过断点之后不能跳到第二次循环内部,直接继续向下执行了,请问怎么解决?我用的是Windows系统下的北太,这里我没找到停止循环/停止运行的按钮,在关闭程序之后gnuplot还是会一直画图,是这个开源FDTD代码的问题吗?