Finite sine-Gordon model

Infinite size case: 3D plot

p1[y_]:=4 ArcTan[Exp[y]];
ys[x_,t_,a_]:=((a+1/a) x+(a-1/a) t)/2; (* gamma (x-v t) v= (1/a-a)/(1/a+a) *)
p2[y1_,y2_,a1_,a2_]:=4 ArcTan[(a1+a2)/(a1-a2) Tan[(p1[y1]-p1[y2])/4]];

pss[x_,t_,a_]:=p2[ys[x,t,a],ys[x,t,1/a],a,1/a];

a1=.3;

One-soliton

Plot3D[p1[ys[x,t,a1]],{x,-2,2},{t,-5,5}]

Two-soliton

Plot3D[pss[x,t,a1],{x,-10,10},{t,-20,20}]

Breather

pbr[x_,t_,b_]:=4 ArcTan[Sin[b t/Sqrt[1+b^2]]/(b Cosh[x/Sqrt[1+b^2]])];

b1=2.0;
Plot3D[pbr[x,t,b1],{x,-10,10},{t,-20,20}]

Finite-size solitons

Kink Train

psolf[x_,t_,k_,w_]:=Pi+2 JacobiAmplitude[k x-w t,1/(k^2-w^2)];
k1=1.1;w1=Sqrt[k1^2-1+.001];
Plot3D[psolf[x,t,k1,w1],{x,0,EllipticK[(k1^2-w1^2)] 4/k1 Sqrt[(k1^2-w1^2)]},{t,-3,3}]
Animate[Plot[psolf[x,t,k1,w1],{x,0,EllipticK[(k1^2-w1^2)] 4/k1 Sqrt[(k1^2-w1^2)]},PlotRange->{0,7}],{t,0,10}]

Fluxon Oscillation

mx[k_,w_]:=1-w^2/k^2 (1-k^2+w^2)/(w^2-k^2);
mt[k_,w_]:=1-k^2/w^2 (1-k^2+w^2)/(w^2-k^2);
pfluxon[x_,t_,k_,w_]:=4 ArcTan[k/w JacobiDN[k x,mx[k,w]] JacobiSC[w t,mt[k,w]]];
k2=.9;w2=.3;
Plot3D[pfluxon[x,t,k2,w2],{x,-30,30},{t,-30,30}]

Animate[Plot[pfluxon[x,t,k2,w2],{x,-10,10},PlotRange->{-10,10}],{t,0,30}]

Fluxon Breather

mx1[k_,w_]:=1-w^2/k^2 (1-k^2-w^2)/(w^2+k^2);
mt1[k_,w_]:=k^2/w^2 (1-k^2-w^2)/(w^2+k^2);
pfluxBr[x_,t_,k_,w_]:=4 ArcTan[k/w JacobiDN[k x,mx1[k,w]] JacobiSN[w t,mt1[k,w]]];

k3=.9;w3=.3;
Plot3D[pfluxBr[x,t,k3,w3],{x,-10,10},{t,-10,10}]

Animate[Plot[pfluxBr[x,t,k3,w3],{x,-10,10},PlotRange->{-10,10}],{t,0,30}]

Plasmon Breather

mx2[k_,w_]:=((1+k^2)^2-w^4)/(4 k^2);
mt2[k_,w_]:=(-(1-w^2)^2+k^4)/(4 w^2);
pplasmonBr[x_,t_,k_,w_]:=4 ArcTan[Sqrt[(1+k^2-w^2)/(1-k^2+w^2)] JacobiCN[k x,mx2[k,w]] JacobiCN[w t,mt2[k,w]]];

k3=.9;w3=.3;
Plot3D[pplasmonBr[x,t,k3,w3],{x,-10,10},{t,-10,10}]

Animate[Plot[pplasmonBr[x,t,k3,w3],{x,-10,10},PlotRange->{-10,10}],{t,0,30}]