無反射の境界条件について

473 views
Skip to first unread message

kouso

unread,
Oct 5, 2015, 12:54:03 AM10/5/15
to OpenFOAM
境界条件について困って折ります。

波の無反射条件として以下のプログラムがあるのですが、
流速を持った初期水位に対しては反射が起きてしまいます。
高さを0に設定すると反対の壁から水を入れるよりも
抜けていく方が早く、水位が下がってしまい、一定の水位を保てません。
なにかよい条件の書き方はないでしょうか。


    rightWall
    {
        type            codedMixed;
        refValue        uniform 0;
        refGradient     uniform 0;
        valueFraction   uniform 0;
        redirectType    noreflect;
	
        codeInclude
        #{
            #include "uniformDimensionedFields.H"
        #};
	
        code
        #{

            const uniformDimensionedVectorField& g =
                db().lookupObject<uniformDimensionedVectorField>("g");
           
            const fvPatchField<scalar>& rho =
                patch().lookupPatchField<volScalarField, scalar>("rho");
           
            valueFraction() = 0.;
            refGrad() = -rho.snGrad()*(g.value() & patch().Cf());
           
            vector gn(g.value()/mag(g).value());
           
            forAll(patch().Cf(), fI)
            {
                scalar h(-gn & patch().Cf()[fI]);
           
                if(h > 0.1)//水位判定部
                {
                    valueFraction()[fI] = 1.;
                    refValue()[fI] = 0.;
                }
            }
        #};
    }

ohbuchi

unread,
Oct 7, 2015, 12:45:45 AM10/7/15
to OpenFOAM
こんにちは。
IHFOAMというもの(カスタムソルバ+ライブラリ)が公開されています。
http://ihfoam.ihcantabria.com/

active wave absorption boundaryというのが実装されていて使えそうです。
ご参考まで。


2015年10月5日月曜日 13時54分03秒 UTC+9 kouso:

kouso

unread,
Oct 13, 2015, 8:20:41 PM10/13/15
to OpenFOAM
ありがとうございます。
勉強してみます。
Reply all
Reply to author
Forward
0 new messages