三維光子晶體能帶結(jié)構(gòu)計(jì)算的快速算法(FAME,F(xiàn)ast Algorithms for Maxwell's Equations)作者:南京應(yīng)用數(shù)學(xué)中心林文偉教授團(tuán)隊(duì)及東南大學(xué)李鐵香教授團(tuán)隊(duì)用途:光通訊、光子集成器件設(shè)計(jì)及國防科技等領(lǐng)域的研究4.0版本的北太天元更新了FAME到FAME2.0,包括Windows版本和Ubuntu22.04版本。FAME2.0 需要 CUDA環(huán)境才能正常加載和使用,推薦 NVIDIA? GeForce? GTX 1050、Tesla? K40、Quadro? P1000 及以上顯卡,并推薦安裝 CUDA 10 及以上版本。FAME2.0配套的CUDA環(huán)境可以在網(wǎng)盤上下載,下載對應(yīng)的系統(tǒng)的庫文件后放到 軟件安裝目錄/plugins/FAME目錄下通過網(wǎng)盤分享的文件:FAME2.0依賴庫鏈接: https://pan.baidu.com/s/1MQVk8xjzHclt19gpFxmI9Q?pwd=j26v 提取碼: j26v
將編譯生成的插件拷貝至baltamatica安裝路徑下對應(yīng)的插件位置后,即可使用CLion來進(jìn)行調(diào)試。 1. windows系統(tǒng)使用CLion調(diào)試代碼的配置步驟 (1)點(diǎn)擊CLion菜單欄中的“運(yùn)行-編輯配置” 或 (2)配置插件的配置項(xiàng):可執(zhí)行文件及環(huán)境變量 可執(zhí)行文件選擇安裝路徑下的可執(zhí)行文件如:
D:\baltamatica\lib\baltamatica.exe將其中D:\baltamatica替換為自己的baltam安裝路徑。環(huán)境變量配置如下: Path中增加baltam安裝路徑的bin及l(fā)ib:
D:\baltamatica\bin;D:\baltamatica\lib;增加其他環(huán)境變量:
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點(diǎn)擊確定。 (3)使用CLion的調(diào)試工具進(jìn)行調(diào)試 2. Ubuntu系統(tǒng)使用CLion調(diào)試代碼的配置步驟 (1)點(diǎn)擊CLion菜單欄中的“運(yùn)行-編輯配置” 或 (2)配置baltam_builtin的配置項(xiàng):可執(zhí)行文件及環(huán)境變量 可執(zhí)行文件選擇安裝路徑下的可執(zhí)行文件如:
/opt/Baltamatica/bin/baltamatica將其中/opt/Baltamatica替換為自己的baltam安裝路徑。 環(huán)境變量配置如下: Path中增加baltam安裝路徑的bin:
/opt/Baltamatica/bin增加其他環(huán)境變量:
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點(diǎn)擊確定。 (3)使用CLion的調(diào)試工具進(jìn)行調(diào)試
examples\distmesh\meshdemo2d.m文件的第13,14行代碼fd=@(p) sqrt(sum(p.^2,2))-1[p,t]=distmesh2d(fd,@huniform,0.2,[-1,-1;1,1],[])在北太天元中運(yùn)行時(shí)報(bào)出以下錯(cuò)誤信息:錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: symptr_tiao_270270無法取值,可能已經(jīng)修改為命令名錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\distmesh2d.m第79行的表達(dá)式: while循環(huán)過程遇到錯(cuò)誤或者中斷函數(shù)執(zhí)行中顯示有錯(cuò)誤信息,請反饋給開發(fā)團(tuán)隊(duì)。北太天元軟件的版本是baltamatica_2.1.3.4_x86-64_win10_嘗鮮版.exe,以上兩行代碼可以在matlab中運(yùn)行。想問一下該怎么解決,謝謝!
examples\distmesh\meshdemo2d.m文件的第13,14行代碼fd=@(p) sqrt(sum(p.^2,2))-1[p,t]=distmesh2d(fd,@huniform,0.2,[-1,-1;1,1],[])在北太天元中運(yùn)行時(shí)報(bào)出以下錯(cuò)誤信息:錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: 不能做取成員的操作.如果對左值賦值的過程中,請忽略這個(gè)錯(cuò)誤信息.該信息的出現(xiàn)不會影響成功賦值.錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\delaunayn.m第101行的表達(dá)式: symptr_tiao_270270無法取值,可能已經(jīng)修改為命令名錯(cuò)誤: 文件C:\baltamatica\examples\distmesh\distmesh\distmesh2d.m第79行的表達(dá)式: while循環(huán)過程遇到錯(cuò)誤或者中斷函數(shù)執(zhí)行中顯示有錯(cuò)誤信息,請反饋給開發(fā)團(tuán)隊(duì)。想問一下該怎么解決,謝謝!
% 定義變量a = -5; % alpha0h = 0.1; % 步長x = 0; % 左端點(diǎn)y = 2; % 右端點(diǎn)num = (y-x)/h+1; % 端點(diǎn)數(shù)t = linspace(x,y,num); % 時(shí)間變量u = zeros(num,1); % 解變量u(1) = 1; % u0u(2) = (1+h*h)^2; % 附加u1% 線性二步法for i = 2 : (num-1) u(i+1) = (1+a)*u(i)-a*u(i-1)+0.5*h*((3-a)*f_function(t(i),u(i))-(1+a)*f_function(t(i-1),u(i-1)));end% 輸出for i = 1 : num fprintf("u(%f)=%.7f\n",t(i),u(i));endmatlab 運(yùn)行上述代碼結(jié)果:北太天元軟件運(yùn)行上訴代碼結(jié)果:
請問我在運(yùn)行測試scripts目錄下的osFDTD的代碼的時(shí)候,想要在循環(huán)體內(nèi)加斷點(diǎn)跟蹤數(shù)據(jù),但是在北太的程序里面斷點(diǎn)調(diào)試功能只能在第一次循環(huán)的時(shí)候起作用,在經(jīng)過斷點(diǎn)之后不能跳到第二次循環(huán)內(nèi)部,直接繼續(xù)向下執(zhí)行了,請問怎么解決?我用的是Windows系統(tǒng)下的北太,這里我沒找到停止循環(huán)/停止運(yùn)行的按鈕,在關(guān)閉程序之后gnuplot還是會一直畫圖,是這個(gè)開源FDTD代碼的問題嗎?