2
$\begingroup$

I am trying to solve the logarithmic 2D Nonlinear GPE Equation from this paper https://arxiv.org/pdf/1801.10274.pdf. But failed to get the ground state solution and vortices. I tried to solve in cartesian coordinate. Here is a brief description of the problem and the results I am trying to get.enter image description here

Here is my code

boundary = 40;       xl = yl = -boundary;           xr = 
 yr = boundary;
 finalt = 2;
 seedwave[x_, y_] := Exp[-0.005 (x^2 + y^2) + I*svalue];
pnumber = 
 NIntegrate[
  Exp[-0.005 (x^2 + 
      y^2)], {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], \
\[Infinity]}];(*particle number check*)
svalue = 0; lvalue = 0;

sol = NDSolveValue[{D[\[Psi][x, y, t], 
      t] == -0.5 Laplacian[\[Psi][x, y, t], {x, y}] + 
      Abs[\[Psi][x, y, t]]^2 \[Psi][x, y, t] Log[
        Abs[\[Psi][x, y, t]]^2] - 
      I*0.25*value*Abs[\[Psi][x, y, t]]^4 \[Psi][x, y, t],
    \[Psi][xl, y, t] == \[Psi][xr, y, t] == 0,
    \[Psi][x, yl, t] == \[Psi][x, yr, t] == 0,
    \[Psi][x, y, 0] == seedwave[x, y]},
   \[Psi][x, y, t], {x, xl, xr}, {y, yl, yr}, {t, 0, finalt}, 
   Method -> {"MethodOfLines", 
     "SpatialDiscretization" -> {"TensorProductGrid", 
       "MinPoints" -> 400, "MaxPoints" -> 800, 
       "DifferenceOrder" -> 4}}, MaxSteps -> 10^6];
Plot3D[Abs[sol[x, y, 1]], {x, xl, xr}, {y, yl, yr}]
Table[DensityPlot[Abs[sol], {x, xl, xr}, {y, yl, yr}, 
  PlotRange -> All, PlotPoints -> 200, 
  ColorFunction -> "BlueGreenYellow", Frame -> True, 
  FrameTicks -> Automatic, PlotPoints -> 200, ImageSize -> 350, 
  LabelStyle -> {24, Bold, Large, Black}, 
  FrameLabel -> {{Style["y", FontFamily -> "Times New Roman", 
      FontSlant -> "Italic", FontWeight -> Bold, FontSize -> 30], 
     None}, {Style["x", FontFamily -> "Times New Roman", 
      FontSlant -> "Italic", FontWeight -> Bold, FontSize -> 30], 
     Row[{Style["t=", FontFamily -> "Times New Roman", 
        FontSlant -> "Italic", FontWeight -> Bold, FontSize -> 30], 
       t}]}}], {t, 0, finalt, 
  0.5*finalt}]

                                                    \
              
$\endgroup$

1 Answer 1

3
$\begingroup$

It is not clear how in the paper they normalize $\psi$ in Figure 1, may be as in equation (2). Without normalization we have

boundary = 40; xl = yl = -boundary; xr = yr = boundary;
finalt = 10;
seedwave[x_, y_] :=Exp[-0.005 (x^2 + y^2) + I*svalue ArcTan[x, y]] (x^2+y^2)^(svalue/2);
pnumber = 
 NIntegrate[
  Exp[-0.005 (x^2 + 
      y^2)], {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], \
\[Infinity]}](*particle number check*)
svalue = 0; lvalue = 0;


sol = NDSolveValue[{-D[\[Psi][x, y, t], 
      t] == -0.5 Laplacian[\[Psi][x, y, t], {x, y}] + 
     Abs[\[Psi][x, y, t]]^2 \[Psi][x, y, t] Log[
       Abs[\[Psi][x, y, t]]^2] - 
     I*0.25*lvalue*Abs[\[Psi][x, y, t]]^4 \[Psi][x, y, t], \[Psi][xl, 
     y, t] == seedwave[xl, y], \[Psi][xr, y, t] == 
    seedwave[xr, y], \[Psi][x, yl, t] == 
    seedwave[x, yl], \[Psi][x, yr, t] == 
    seedwave[x, yr], \[Psi][x, y, 0] == seedwave[x, y]}, \[Psi][x, y, 
   t], {x, xl, xr}, {y, yl, yr}, {t, 0, finalt}, 
  Method -> {"MethodOfLines", 
    "SpatialDiscretization" -> {"TensorProductGrid", 
      "MinPoints" -> 400, "MaxPoints" -> 800, 
      "DifferenceOrder" -> 4}}, MaxSteps -> 10^6]

Note that we change sign at D[\[Psi][x, y, t],t] since we use imaginary time method. Visualization

Plot3D[Evaluate[ Abs[sol]^2 /. t -> finalt], {x, xl, xr}, {y, yl, yr},
  PlotRange -> All, MeshStyle -> White, ColorFunction -> "Rainbow", 
 PlotTheme -> "Marketing", PlotPoints -> 100] 
Plot[Evaluate[
  Table[Evaluate[Abs[sol]^2 /. {t -> t1, y -> 0}], {t1, 0, finalt, 
    1}]], {x, xl, xr}, PlotLegends -> Automatic]

Figure 1

Solutions with $L3\ne 0$ are unstable (central vortex decays into several vortexes), to simulate these solutions we use Pseudospectral option as follows (example with $S=L3=2$)

boundary = 40; xl = yl = -boundary; xr = yr = boundary;
finalt = 10; svalue = 2; lvalue = 2;
seedwave[x_, y_] := 
  Exp[-0.005 (x^2 + y^2) + 
     I*svalue ArcTan[x + I 10^-14, y]] (x^2 + y^2)^(svalue/2);
pnumber = 
 NIntegrate[
  Exp[-0.005 (x^2 + 
       y^2)]^2, {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], \
\[Infinity]}](*particle number check*)



sol = NDSolveValue[{-D[\[Psi][x, y, t], 
      t] == -0.5 Laplacian[\[Psi][x, y, t], {x, y}] + 
     Abs[\[Psi][x, y, t]]^2 \[Psi][x, y, t] Log[
       Abs[\[Psi][x, y, t]]^2] - 
     I*0.25*svalue*Abs[\[Psi][x, y, t]]^4 \[Psi][x, y, t], \[Psi][xl, 
     y, t] == seedwave[xl, y], \[Psi][xr, y, t] == 
    seedwave[xr, y], \[Psi][x, yl, t] == 
    seedwave[x, yl], \[Psi][x, yr, t] == 
    seedwave[x, yr], \[Psi][x, y, 0] == seedwave[x, y]}, \[Psi][x, y, 
   t], {x, xl, xr}, {y, yl, yr}, {t, 0, finalt}, 
  Method -> {"MethodOfLines", 
    "SpatialDiscretization" -> {"TensorProductGrid", 
      "MinPoints" -> 100, "MaxPoints" -> 161, 
      "DifferenceOrder" -> "Pseudospectral"}}, MaxSteps -> 10^6]

Visualization

Plot3D[Evaluate[ Abs[sol]^2 /. t -> finalt], {x, xl, xr}, {y, yl, yr},
  PlotRange -> All, MeshStyle -> White, ColorFunction -> "Rainbow", 
 PlotTheme -> "Marketing", PlotPoints -> 100]

Figure 2

Example with $S=1,L3=0$

boundary = 40; xl = yl = -boundary; xr = yr = boundary;
finalt = 10; svalue = 1; lvalue = 0;
seedwave[x_, y_] := 
  Exp[-0.005 (x^2 + y^2) + 
     I*svalue ArcTan[x + I 10^-14, y]] (x^2 + y^2)^(svalue/2);




sol = NDSolveValue[{-D[\[Psi][x, y, t], 
      t] == -0.5 Laplacian[\[Psi][x, y, t], {x, y}] + 
     Abs[\[Psi][x, y, t]]^2 \[Psi][x, y, t] Log[
       Abs[\[Psi][x, y, t]]^2] - 
     I*0.25*lvalue*Abs[\[Psi][x, y, t]]^4 \[Psi][x, y, t], \[Psi][xl, 
     y, t] == seedwave[xl, y], \[Psi][xr, y, t] == 
    seedwave[xr, y], \[Psi][x, yl, t] == 
    seedwave[x, yl], \[Psi][x, yr, t] == 
    seedwave[x, yr], \[Psi][x, y, 0] == seedwave[x, y]}, \[Psi][x, y, 
   t], {x, xl, xr}, {y, yl, yr}, {t, 0, finalt}, 
  Method -> {"MethodOfLines", 
    "SpatialDiscretization" -> {"TensorProductGrid", 
      "MinPoints" -> 100, "MaxPoints" -> 161, 
      "DifferenceOrder" -> "Pseudospectral"}}, MaxSteps -> 10^6]

Visualization Figure 3

$\endgroup$
4
  • $\begingroup$ Thanks, @AlexTrounev. Remember you helped me with this mathematica.stackexchange.com/questions/266736/…. I used it in my recently published review frontiersin.org/articles/10.3389/fphy.2022.887338/full. I used your program in sec 3.3 fig.3. I acknowledged you in acknowledgment sec. In that review, I had to regenerate other people's results so we do not need to take permission and I was stuck with the said one until you helped. $\endgroup$ Aug 2 at 14:40
  • $\begingroup$ I think I nearly solved this one @AlexTrounev. I submitted my thesis. So I am trying to regenerate other people's work to understand their topics at home so I will be bothering you with more nonlinear diff. equations from now on. I am trying for a postdoc. I do not want to go for teaching. Do you have any suggestions on what I can look forward to as I am getting only rejection emails. I know this station is not the right place to talk. $\endgroup$ Aug 2 at 14:46
  • $\begingroup$ How can I density plot the phase of the sol? $\endgroup$ Aug 2 at 15:49
  • $\begingroup$ @ArghaDebnath To plot phase just use Arg. Could you send me CV on docsie.io ? $\endgroup$ Aug 4 at 7:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.