2012-01-11 3 views
1

私はmathematicaの非線形進化方程式の自由境界条件を規定しようとしています。私がやっていることが正しいかどうかについての第二の意見として欲しかったのです。境界条件は、コメント、すなわち。、(FREE境界条件)でマークされているMATHEMATICAの自由境界条件 - これは正しいですか?第二の意見

私はまた、固定境界条件のためにこれを実行したいと思います。

Needs["VectorAnalysis`"] 
Needs["DifferentialEquations`InterpolatingFunctionAnatomy`"]; 
Clear[Eq5, Complete, h, S, G, E1, K1, D1, VR, M] 
Eq5[h_, {S_, G_, E1_, K1_, D1_, VR_, M_}] := \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]h\) + 
    Div[-h^3 G Grad[h] + 
     h^3 S Grad[Laplacian[h]] + (VR E1^2 h^3)/(D1 (h + K1)^3) 
     Grad[h] + M (h/(1 + h))^2 Grad[h]] + E1/(h + K1) == 0; 
SetCoordinates[Cartesian[x, y, z]]; 
Complete[S_, G_, E1_, K1_, D1_, VR_, M_] := 
    Eq5[h[x, y, t], {S, G, E1, K1, D1, VR, M}]; 
TraditionalForm[Complete[S, G, E1, K1, D1, VR, M]] 




    L = 185.62; TMax = 100; km = 0.0381; 
Off[NDSolve::mxsst]; 
Off[NDSolve::ibcinc]; 
hSol = h /. NDSolve[{Complete[100, 0, 0, 0, 0.001, 0, 5], 



(*FREE BOUNDARY CONDITIONS*) 

    Derivative[2, 0, 0][h][0, y, t] == 0, 
    Derivative[2, 0, 0][h][L, y, t] == 0, 
    Derivative[0, 2, 0][h][x, 0, t] == 0, 
    Derivative[0, 2, 0][h][x, L, t] == 0, 
    Derivative[3, 0, 0][h][0, y, t] == 0, 
    Derivative[3, 0, 0][h][L, y, t] == 0, 
    Derivative[0, 3, 0][h][x, 0, t] == 0, 
    Derivative[0, 3, 0][h][x, L, t] == 0, 

    (*FREE BOUNDARY CONDITIONS*) 

    h[x, y, 0] == 1 + (-0.05*Cos[2*Pi*(x/L)] - 0.05*Sin[2*Pi*(x/L)])* 
       Cos[2*Pi*(y/L)]}, 
    h, {x, 0, L}, {y, 0, L}, {t, 0, TMax}][[1]] 
hGrid = InterpolatingFunction[hSol]; 
{TMin, TRup} = InterpolatingFunctionDomain[hSol][[3]] 
+0

私は、あなたのコードの最後から2番目の行にある 'hsol'は' hSol'(大文字のS)であるべきだったと思います。 'hSol'はすでに' InterplatingFunction'であるので、 'hGrid'の定義は実際には意味をなさない。 – Heike

+0

@Heikeそれを指摘してくれてありがとう。それ以外に、自由境界条件の実装についてはどう思いますか?(「エッジ」の2次微分と3次微分はゼロに設定されています) – drN

+0

境界条件の実装はOKと思われます。 – Heike

答えて

0

コメントを読むことから得られたコンセンサスは、上記のコードの自由境界条件の実装が正しいことです。

非常に多くのフリーフリーまたはフリー固定または固定固定の境界条件が使用される曲げモーメントおよびせん断応力線図を参照して、材料の力学または材料の強度を取り扱う書籍で詳細がさらに詳しく記載されています。

関連する問題