mfix中輸出DEM顆粒的固相速度到網格


基於mfix-19.1.2版本

方法一:直接輸出差值網格固相速度

注:這種方式只適用於garg 2012顆粒差值格式
在DEM中,默認是無法輸出固相速度的網格值的:

但是通過搜索des文件夾下V_s關鍵字可以看到,實際上網格固相速度是會通過差值計算得到的:

並且在計算DEM顆粒脈動速度的地方也用到了網格固相速度:

說明網格固相速度只是默認沒有寫出,因此只需要人為寫出一下即可。

首先找到網格輸出的代碼位置:

由於MMAX代表TFM的固相數,因此在循環范圍部分需要修改,默認只寫出TFM的網格固相速度。修改如下:

最后在dat文件里手動添加一下VTK_U_S(VTK, PHASE)這個關鍵字(且確保顆粒的差值格式為garg 2012)例如:

結果如下:

方法二:保存網格內顆粒的平均速度到網格

網格顆粒速度還可以仿照DES_GRANULAR_TEMPERATURE函數內計算網格擬顆粒溫度的方式,對網格內顆粒速度進行統計平均。
按照J. Musser的建議,可以把需要后處理的變量存到ReactionRates這個數組中,雖然這個數組本來是用來后處理反應速率的,不過由於可以直接在gui里設置該數組的個數以及輸出頻率,而且該變量僅僅用來保存輸出,計算中未被使用,因此可以靈活使用,來保存其他需要保存的變量。

例如這里我要保存網格內顆粒Y方向的平均速度V_s,可以先設置一個ReactionRates數組,以備后面使用:

des_granular_temperature中USE這個數組:

定義一個局部變量用於后面保存網格內顆粒速度的和:

將顆粒速度累加到對應網格內的M相內:

除以網格內M相顆粒個數,得到網格內顆粒的平均速度,並保存到ReactionRates(ijk,1)中。
注意擬顆粒溫度由於其定義跟維數有關,因此要多除以一個維數,但是速度不需要:

添加代碼如下:

現在,只要調用這個函數,就會往ReactionRates中寫入固相速度,因此只要在輸出的部分,每次輸出之前調用一次DES_GRANULAR_TEMPERATURE就可以了:

重新編譯計算可以看到輸出Y方向速度:

 

代碼:
https://github.com/yinweijie/MFiX_lab/tree/master/2.DEM_V_s


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM