Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- p = .011;
- ky = 10;
- c = 27;
- [CapitalOmega] = 2800/p;
- L = p/0.3;
- v = p^2* [CapitalOmega]/L;
- A0 = 1;
- xf=3;
- [CapitalTheta][x_] := -(3 c (1 + p^2 ky^2)/(2 p^2*v*ky)) (Sech[
- x c/(2 p*Sqrt[c^2 - ky^2 A0^2])]^2);
- pde1 = D[A[t, x] +
- p^2 (ky^2 A[t, x] +
- 2 A0*[CapitalTheta][x]*D[[CapitalTheta]1[t, x], x] -
- D[A[t, x], x, x]), t] -
- c*D[A[t, x] +
- p^2 (ky^2 A[t, x] +
- 2 A0*[CapitalTheta][x]*D[[CapitalTheta]1[t, x], x] -
- D[A[t, x], x, x]), x] +
- p^2 ([CapitalTheta][x])^2 (D[A[t, x], t] -
- c*D[A[t, x],
- x]) == ((v p^2 ky)/(1 + (p^2 ky^2))) (2*([CapitalTheta][x])*
- D[A[t, x], x] + A0*D[[CapitalTheta]1[t, x], x, x]);
- pde2 = A0 (D[[CapitalTheta]1[t, x], t] -
- c*D[[CapitalTheta]1[t, x], x]) -
- p^2 (D[[CapitalTheta][x], x] (D[A[t, x], t] - c*D[A[t, x], x]) +
- D[A0 D[[CapitalTheta]1[x], x, x] +
- 2 [CapitalTheta][x] D[A[t, x], x], t] -
- c*D[A0 D[[CapitalTheta]1[x], x, x] +
- 2 [CapitalTheta][x] D[A[t, x], x],
- x]) == ((v p^2 ky)/(1 + (p^2 ky^2))) (2 A0 [CapitalTheta][
- x] D[[CapitalTheta]1[t, x], x] - D[A[t, x], x, x]) -
- p^2 ky A0 D[vy[t, x], x, x];
- pde3 = (1/(p^4 [CapitalOmega]^2)) (D[vy[t, x], t] -
- c*D[vy[t, x], x]) ==
- ky A0^2 D[[CapitalTheta]1[t, x], x, x] +
- D[2 ky A0 A[t, x] [CapitalTheta][x], x];
- pde = {pde1, pde2, pde3};
- ic = {A[0, x] == 10^(-5),
- vy[0, x] == 0, [CapitalTheta]1[0, x] == 0};
- bc = {A[t, xf] == 0, (D[A[t, x], x] /. x -> xf) ==
- 0, (D[A[t, x], x] /. x -> 0) ==
- 0, (D[[CapitalTheta]1[t, x], x] /. x -> xf) ==
- 0, (D[[CapitalTheta]1[t, x], x] /. x -> 0) ==
- 0, [CapitalTheta]1[t, xf] == 0,
- vy[t, xf] == 0, (D[vy[t, x], x] /. x -> 0) == 0};
- begintime = 0; endtime = 80;
- points@x = 200; points@t = 25;
- m = 200;
- difforder = 8;
- domain@x = {0, 3}; domain@t = {begintime, endtime};
- (grid@# = Array[# &, points@#, domain@#]) & /@ {x, t};
- ptoafunc =
- pdetoae[{A, [CapitalTheta]1, vy}[t, x], grid /@ {t, x},
- difforder];
- del = #[[2 ;; -2]] &;
- ae = Map[del, Most /@ ptoafunc@pde, {2}];
- aeic = del /@ ptoafunc@ic;
- aebc = ptoafunc@bc;
- var = Outer[#[#2, #3] &, {A, [CapitalTheta]1, vy}, grid@t, grid@x];
- {barray, marray} =
- CoefficientArrays[Flatten@{ae, aeic, aebc},
- Flatten@var]; // AbsoluteTiming
- Block[{p = .011,
- ky = 10,
- c = 27,
- [CapitalOmega] = 2800/p,
- L = p/0.3,
- v = p^2* [CapitalOmega]/L,
- A0 = 1},
- sollst = LinearSolve[N@marray, -barray]]; // AbsoluteTiming
- solmatlst = ArrayReshape[sollst, var // Dimensions];
- solfunclst = ListInterpolation[#, grid /@ {t, x}] & /@ solmatlst;
- plot[f_, style_, t_] :=
- Plot[solfunclst[t, x] // Through // f //
- Evaluate, {x, domain@x} // Flatten // Evaluate,
- PlotStyle -> style]
- {17.5364, Null}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement