Fluent UDF【15】:外部編譯UDF

2022-01-06 CFD之道

前面提到可以在vs提供的命令行界面編譯UDF。見Fluent UDF【8】:編譯型UDF。利用命令行形式編譯UDF可以加載外部函數庫,可以不用打開Fluent就可以編譯UDF,還可以方便地調試UDF。

今天嘗試了一下,發現了很多的問題。

在Fluent外部編譯UDF的基本步驟:

按道理來說事情應該能夠解決,然而事情沒那麼簡單。出現了N多的錯誤。

直接使用nmake後出現下圖所示的錯誤。

錯誤提示:resolve.exe不是內部或外部命令。
用文本編輯器打開makefile文件,搜索resolve.exe。在第170行發現目標,如下圖所示。

發現此行沒什麼大的作用,這個resolve也不知道哪裡來的,搜索了整個電腦硬碟也沒找到。乾脆去掉這一行。

保存文件繼續nmake編譯。

真是禍不單行,又出錯了。

錯誤提示:sed不是內部或外部命令,也不是可運行的程序。

搜索makefile文件,發現186行與190行用到了sed。

sed命令在linux下很常用,主要用於代碼內文本替換。這fluent不厚道啊,windows版本還用linux下的工具。搜索了一圈也沒發現sed藏在哪裡。不過有替代措施,上網下載一個windows下的sed試試先。

windows版本的sed軟體下載地址:https://sourceforge.net/projects/gnuwin32/files/sed/4.2.1/

下載完畢後安裝。安裝完畢後修改makefile文件的這兩行,如下圖所示,將完整的sed路徑添加進去。

再次執行nmake,完整通過。

最近關注的人越來越少了,都跌到個位數了。每天新關注的人還沒有取消關注的人多,真悲劇~~

相關焦點

  • Fluent UDF【8】:編譯型UDF
    UDF的編譯過程通常涉及到原始碼的編譯和加載兩個步驟。編譯/構建過程需要一個或多個UDF的源文件(例如myudf.c),並將它們編譯成對象文件(例如myudf.o或myudf.obj),之後將其構建成一個「共享庫」 (例如,libudf.dll)與目標文件。
  • Fluent UDF|EX07 多孔介質
    #include "udf.h"DEFINE_SOURCE(xmom_source, cell, thread, dS, eqn){ const real c2=100.0; real x[ND_ND]; real con, source; C_CENTROID(x, cell, thread
  • linux Mysql UDF 利用思路詳解
    windows環境中,如果有mysql用戶密碼,並且允許遠程連接,我們可以考慮用msf的mysql_payload,方便快捷,或者用udf的方式來進行操作,linux下面我們首選的就是udf了。不多廢話,進入正題。首先解決udf如何寫入的問題,一般mysql的udf函數我們會首選sqlmap自帶的幾個,但是作為一個so文件,如何寫入遠程伺服器的plugin目錄才是我們所要關注的。
  • FLUENT壁面吸附模擬
    UDF文件內容如下:#include "udf.h"DEFINE_ADJUST(absorb_n2, domain){real vol_n2;Thread *t, *t0;face_t f;cell_t c;domain = Get_Domain(1);t = Lookup_Thread(domain
  • HBase探索 | OpenJDK 15 編譯部署 CDH 版 HBase
    前言為探索 JDK15 的 ZGC 特性在 HBase 中的表現力是否猶如傳言中的那麼優秀,我用AdoptOpenJDK15重新編譯了社區版本的hbase-1.4.8,接著完成了編譯之後,HBase 完全分布式的部署和功能上的測試,並把整個編譯的流程與解決過的問題一一分享在了之前的文章中。
  • MHD|03 Fluent設置
    MHD模塊由一個UDF庫和一個預編譯的Scheme庫組成,在執行計算之前必須先加載並激活。MHD模塊通過文本用戶界面(TUI)加載到Fluent中。只有在設置或讀取了有效的Fluent case文件後,才能加載該模塊。
  • STM32實例-外部中斷實驗
    因為 STM32F103 晶片每個 GPIO 埠均有 16 個管腳, 因此把每個 端 口 的 16 個 IO 對 應 那 16 根 中 斷 線 EXTI0-EXTI15 。比 如 :GPIOx.0-GPIOx.15(x=A,B,C,D,E,F,G)分別對應中斷線 EXTI0-EXTI15,這樣一來每個中斷線就對應了最多 7 個 IO 口,比如:GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0。
  • 【內網滲透系列】|15-內網滲透、橫向攻擊思路(文末贈送【 內網滲透 】書籍)
    當通過外部打點進入到目標內網時使用Masterkey解密憑證文件獲取密碼明文mimikatz dpapi::cred /in:C:\Users\nuoyan\AppData\Local\Microsoft\Credentials\8FC163874708FE28788127CF58FF4843 /masterkey:c0bf810227c26e7a523915e15
  • 編譯環境初始化-Android10.0編譯系統(二)
    《編譯系統系列》1 概述  上一節針對Android編譯系統做了一個籠統的說明,這一節針對編譯環境初始化做一下詳細的展示。m編譯整個源碼,可以不用切換到根目錄mm編譯當前目錄下的源碼,不包含他們的依賴模塊mmm編譯指定目錄下的所有模塊,不包含他們的依賴模塊   例如:mmm dir/:target1,target2.
  • Linux驅動05 | 內核編譯
    翻譯如下:如果需要編譯外部的內核模塊,這時候我們必須擁有一個已經預先成功編譯好的內核,在編譯內核過程當中,它會生成內核模塊所需要的頭文件和配置文件。二、電腦的開發環境虛擬機:VMWare12.0以上作業系統:Ubuntu 16.04晶片源碼包:6818_kernel_wen.tar.gz,包含交叉編譯工具、kernel源碼、鏡像製作工具。三、源碼編譯過程對於源碼包的編譯,切換到root用戶進行操作。
  • 群暉 DSM 7.0.1 Redpill 引導編譯教程
    XPEnology 論壇上的Redpill 項目組開源了 6.24、7.0、7.0.1 這三個版本的引導文件,目前需要自己編譯後續不知道會不會提供成品。我自己嘗試著編譯了引導文件在 ESXi 上測試沒有安裝成功,目前還是等穩定版本吧。喜歡折騰的童鞋同學可以根據本教程結合官方文檔及論壇相關話題自行編譯。如果你成功了我也不建議用於生產環境。
  • 乾貨 | 教你在Win10的ubuntu子系統下編譯micropython
    成功下載後,進入micropython目錄,先下載使用到的其它庫文件:cd micropythongit submodule update --initmicropython引用的外部庫也比較多,下載需要一定時間。如果提示超時或者下載失敗,需要重複前面過程。