I am trying to numerically solve the following first order coupled differential equations numerically, where i
is an integer (can be set to zero), le = 1
, lb = 1
, c = 0.5
, and Ly
is taken to be 10. I am receiving the error that
Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable.
It seems that no matter how I try to impose periodicity on the solution it returns the error. Does someone know how to impose periodic boundary conditions on this type of PDE?
i = 0; le = 1; lb = 1; c = 0.5; Ly = 10;
NDSolve[{(-I)*D[ψ1[x, y, z, t], t] + (c + 1)*((-I)*D[ψ1[x, y, z, t], z] - (t*ψ1[x, y, z, t])/le^2) +
((-I)*D[ψ2[x, y, z, t], x] + (y/lb^2)*ψ2[x, y, z, t] - D[ψ2[x, y, z, t], y]) == 10^(-3),
(-I)*D[ψ2[x, y, z, t], t] + (c - 1)*((-I)*D[ψ2[x, y, z, t], z] - (t*ψ2[x, y, z, t])/le^2) +
(-I)*D[ψ1[x, y, z, t], x] + (y/lb^2)*ψ1[x, y, z, t] + D[ψ1[x, y, z, t], y] == 10^(-3),
PeriodicBoundaryCondition[ψ1[x, y, z, t], y == -((Ly*((100 - i)/100))/2),
Function[y, y + Ly*((100 - i)/100)]], PeriodicBoundaryCondition[ψ2[x, y, z, t],
y == -((Ly*((100 - i)/100))/2), Function[y, y + Ly*((100 - i)/100)]],
PeriodicBoundaryCondition[ψ1[x, y, z, t], x == -((2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100)))),
Function[x, x + (2*Pi*20)/(lb^2*(Ly*((100 - i)/100)))]], PeriodicBoundaryCondition[ψ2[x, y, z, t],
x == -((2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100)))),
Function[x, x + (2*Pi*20)/(lb^2*(Ly*((100 - i)/100)))]], PeriodicBoundaryCondition[ψ1[x, y, z, t],
t == (Ly*((100 - i)/100))/2, Function[t, t - Ly*((100 - i)/100)]],
PeriodicBoundaryCondition[ψ2[x, y, z, t], t == (Ly*((100 - i)/100))/2,
Function[t, t - Ly*((100 - i)/100)]], PeriodicBoundaryCondition[ψ1[x, y, z, t],
z == (2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100))), Function[z, z - (2*Pi*20)/(lb^2*(Ly*((100 - i)/100)))]],
PeriodicBoundaryCondition[ψ2[x, y, z, t], z == (2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100))),
Function[z, z - (2*Pi*20)/(lb^2*(Ly*((100 - i)/100)))]]}, {ψ1[x, y, z, t], ψ2[x, y, z, t]},
{x, (-2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100))), (2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100)))},
{y, ((-Ly)*((100 - i)/100))/2, (Ly*((100 - i)/100))/2}, {z, (-2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100))),
(2*Pi*20)/(lb^2*(2*Ly*((100 - i)/100)))}, {t, ((-Ly)*((100 - i)/100))/2, (Ly*((100 - i)/100))/2},
Method -> {"PDEDiscretization" -> {"FiniteElement", "MeshOptions" -> {"MaxCellMeasure" -> 0.1}}}]
NDSolve
. More in general, there are a few questions on this site on this very topic; you may want to go through those too. $\endgroup$