Here is the details of the code to plot.
Clear[x, y, ψ1, ψ2, ψ3, ψ4, eqn, eqnWithInitial,v, j];
eqn = Thread[
I D[{ψ1[x, y, t], ψ2[x, y, t], ψ3[x, y, t], ψ4[
x, y, t]},
t] == {v (-I D[ψ3[x, y, t], x] - D[ψ3[x, y, t], y]) +
2 Δ ψ4[x, y, t],
v (-I D[ψ4[x, y, t], x] - D[ψ4[x, y, t], y]),
v (-I D[ψ1[x, y, t], x] + D[ψ1[x, y, t], y]),
v (-I D[ψ2[x, y, t], x] + D[ψ2[x, y, t], y]) +
2 Δ ψ1[x, y, t]}];
eqnWithInitial =
Join[eqn,
Thread[{ψ1[x, y, 0], ψ2[x, y, 0], ψ3[x, y,
0], ψ4[x, y, 0]} == {1, 1, 1,
1} (x + I*y) Exp[-(x^2 + y^2)]],
Thread[{ψ1[-5, y, t], ψ2[-5, y, t], ψ3[-5, y,
t], ψ4[-5, y, t]} == {ψ1[5, y, t], ψ2[5, y,
t], ψ3[5, y, t], ψ4[5, y, t]}],
Thread[{ψ1[x, -5, t], ψ2[x, -5, t], ψ3[x, -5,
t], ψ4[x, -5, t]} == {ψ1[x, 5, t], ψ2[x, 5,
t], ψ3[x, 5, t], ψ4[x, 5, t]}]];
v = 1;
Δ = 1;
tMax = 8;
solution =
First @ NDSolve[
eqnWithInitial, {ψ1[x, y, t], ψ2[x, y, t], ψ3[x, y,
t], ψ4[x, y, t]}, {x, -5, 5}, {y, -5, 5}, {t, 0, tMax},
Method -> {"MethodOfLines",
"SpatialDiscretization" -> {"TensorProductGrid",
"DifferenceOrder" -> "Pseudospectral"}}];
Ψ1[x_, y_, t_] = ψ1[x, y, t] /. solution;
Ψ2[x_, y_, t_] = ψ2[x, y, t] /. solution;
Ψ3[x_, y_, t_] = ψ3[x, y, t] /. solution;
Ψ4[x_, y_, t_] = ψ4[x, y, t] /. solution;
myrotorz1[x_?NumericQ, y_?NumericQ, t_?NumericQ] =
I/2 * (-Conjugate[D[Ψ1[x, y, t], y]] * D[Ψ1[x, y, t], x] +
D[Ψ1[x, y, t],y] * Conjugate[D[Ψ1[x, y, t], x]] +
Conjugate[D[Ψ1[x, y, t], x]] * D[Ψ1[x, y, t], y] -
D[Ψ1[x, y, t], x] * Conjugate[D[Ψ1[x, y, t], y]]);
Here is something that may be reasonable as R. M. suggested
NIntegrate[myrotorz1[x, y, 0], {x, -5, 5}, {y, -5, 5},Method -> "Trapezoidal"]
(Debug) During evaluation of In[18]:= NIntegrate::ncvi: NIntegrate failed to converge to prescribed accuracy after 9 iterated refinements in y in the region {{-5.,5.},{-5.,5.}}. NIntegrate obtained 0.012104690946256463` and 0.8391566465710514` for the integral and error estimates. >>
(Debug) Out[18]= 0.0121047
My point is to plot for myrotorz1[x, y, t] as a function of t but takes too much time. Any tips would be greatly appreciated.
Plot[NIntegrate[myrotorz1[x, y, t], {x, -5, 5}, {y, -5, 5},Method -> "Trapezoidal"], {t, 0, 4}]
xandydo not have numerical values. – Michael E2 Oct 16 '15 at 10:17myrotorz1is has syntax errors. Perhaps this is because of an error introduced in transferring your code to this site, but it needs to corrected before we can help you further. – m_goldberg Oct 16 '15 at 21:44NIntegrate::slwcon(slow convergence). I'm using V10.2. -- What error are you getting? – Michael E2 Oct 17 '15 at 12:30InterpolatingFunctionusually converge slowly. – Michael E2 Oct 17 '15 at 14:43myrotorz1's definition asmyrotorz1[x_?NumericQ, y_?NumericQ, t_?NumericQ]and probably also for all theΨand see if that helps. – rm -rf Oct 18 '15 at 16:18(Debug) During evaluation of In[18]:= NIntegrate::ncvi: NIntegrate failed to converge to prescribed accuracy after 9 iterated refinements in y in the region {{-5.,5.},{-5.,5.}}. NIntegrate obtained 0.012104690946256463
and 0.8391566465710514for the integral and error estimates. >>(Debug) Out[18]= 0.0121047
– user34056 Oct 19 '15 at 10:05