OpenFOAM_如何設(shè)置隨空間位置變化的參數(shù)
請教各位,問題如標(biāo)題所述。
模擬的問題是“裂隙中的兩相流”,方程是二維的,裂隙面的開度是二維面的參數(shù),其開度分布如圖所示。在不同的位置,裂隙擁有不同的開度。
開度的值是有數(shù)據(jù)的,給出確定的x、y坐標(biāo),就可以確定任何一點的開度值。
開度是方程中的關(guān)鍵參數(shù)。
應(yīng)該怎樣在程序中設(shè)置該參數(shù)?如果tutorials當(dāng)中有類似的案例(即某個參數(shù)是空間位置的函數(shù)),如能告知也非常感謝。
返回小木蟲查看更多
今日熱帖
京公網(wǎng)安備 11010802022153號
不了解OPENF,但知道FLUENT 和COMSOL,應(yīng)該是自定義變量,構(gòu)造其傳遞方程。
如果會C++編程的話,在OpenFOAM上直接修改代碼是最簡單的。mesh.point()可以獲得空間位置,然后可以直接對參數(shù)進(jìn)行修改。
const vectorField& cellCentres = mesh.C(); //這一句可以獲取網(wǎng)格的cellCentre的坐標(biāo)
//假定你要設(shè)定的量為U
forAll(cellCentres, cellIndex)
{
vector cellPos = cellCentres[cellIndex]; //獲取一個cell的坐標(biāo)
scalar pos_x = cellPos.component(0);
scalar pos_y = cellPos.component(1);
//根據(jù)坐標(biāo)設(shè)定U的值
if( (pos_x > 1 && pos_x < 2) && (pos_y > 1 && pos_y < 2))
{
U[cellIndex] = 1.0; // U 為標(biāo)量
U[cellIndex] = vector(1, 0, 0); // U 為vector
}
}
,
。