2012-01-11 60 views
1

我試圖爲mathematica中的非線性發展方程式規定自由邊界條件,並且我希望作爲第二個意見來判斷我所做的是否正確。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

我猜你的代碼倒數第二行的'hsol'應該是'hSol'(大寫字母S)。由於'hSol'已經是'InterplatingFunction',因此'hGrid'的定義並不合理。 – Heike 2012-01-11 15:36:14

+0

@喜歡謝謝指出。除此之外,您如何看待自由邊界條件(「邊緣」的二階和三階導數設置爲零)的實現? – drN 2012-01-11 15:40:50

+0

邊界條件的實施似乎沒問題。 – Heike 2012-01-11 15:49:09

回答

0

通過閱讀評論意見獲得的一致意見是在上面的代碼中實現自由邊界條件是正確的。

在涉及彎曲力矩和剪切應力圖的章節中,處理材料力學或材料強度的書籍中應該提供更多細節,其中經常使用無自由或自由固定或固定固定的邊界條件。