パッチpatch沿いのセルcellを取得する方法/パッチpatchの隣のセルcellを取得する方法

openfoam2.2.2

壁wallパッチpatchの第一メッシュとか隣のセルcellだけに対して何か処理したいときに、それらのセルcellの内容or参照を得る方法です。

例えば、場の変数pに対して、"wall"と名付けられたパッチの隣のセルを取得するには、以下のようにやります。
fvPatchのfaceCells()でお目当てのセルデータが格納されている配列(メモリ)のリストを取得して、、、という感じです。
下の例では、上記のようにリストを取得して場の変数pのwallという名前のパッチの隣のセルたちに、123という数値を格納しています。

volScalarField	p;

forAll (p.boundaryField(), patchi)
{
	const word	nameofpatch	= mesh.boundary()[patchi].name();
	if (nameofpatch == "wall") {
		const labelUList&	labelL	= p.boundaryField()[patchi].patch().faceCells();
		forAll (labelL, index) {
			p[labelL[index]]	= scalar(123);
		}//forAll
		break;
	}
}//forAll



<2014/10/25sat>
[EOF] -
最終更新:2014年10月25日 07:32