Z2 topological insulator [(generalized) Bernevig-Hughes-Zhang model; Science 314, 1757 (2006)]

SetOptions[ListPlot,
Frame->True,Joined->False,FrameStyle->Thick,FrameTicksStyle->30,
BaseStyle->{FontFamily->"Helvetica",FontSize->20},PlotStyle->{{RGBColor[173/255,0,45/255],PointSize[.025]}},AspectRatio->0.7];

Spectrum under the open boundary conditions (x: OBC, y: PBC)

σ0={{1,0},{0,1}};
σx={{0,1},{1,0}};
σy={{0,-I},{I,0}};
σz={{1,0},{0,-1}};
σp={{0,1},{0,0}};
σm={{0,0},{1,0}};
σ00=KroneckerProduct[σ0,σ0];
σ0x=KroneckerProduct[σ0,σx];
σ0y=KroneckerProduct[σ0,σy];
σ0z=KroneckerProduct[σ0,σz];
σx0=KroneckerProduct[σx,σ0];
σxx=KroneckerProduct[σx,σx];
σxy=KroneckerProduct[σx,σy];
σxz=KroneckerProduct[σx,σz];
σy0=KroneckerProduct[σy,σ0];
σyx=KroneckerProduct[σy,σx];
σyy=KroneckerProduct[σy,σy];
σyz=KroneckerProduct[σy,σz];
σz0=KroneckerProduct[σz,σ0];
σzx=KroneckerProduct[σz,σx];
σzy=KroneckerProduct[σz,σy];
σzz=KroneckerProduct[σz,σz];
ChainLength=30;
CMat1=SparseArray[{Band[{1,1}]->1},{ChainLength,ChainLength}];
CMat2=SparseArray[{Band[{1,2}]->1},{ChainLength,ChainLength}];
CMat3=SparseArray[{Band[{2,1}]->1},{ChainLength,ChainLength}];
t=1.0;
m=0.5;
δy=0.3; (* σxy *)
δz=0.2; (* σxz *)
Ly=100;
kList=Table[2π*n/Ly,{n,0,Ly-1}];
Mass[ky_]:=t*Sin[ky]*σ0y+(m+t*Cos[ky])*σ0z+δy*σxy+δz*σxz;
Hop=t*(-I/2)*σzx+t*(1/2)*σ0z;
Hx[ky_]:=KroneckerProduct[CMat1,Mass[ky]]+KroneckerProduct[CMat2,Hop]+KroneckerProduct[CMat3,Hop\[ConjugateTranspose]];

EvalList[ky_]:=Chop[Eigenvalues[Hx[ky]]];
EvalData=Table[EvalList[kList[[n]]],{n,1,Ly}];

m = 0.5 & δy = 0.0 : topologically nontrivial gapped phase (δz = 0.0)

ListPlot[Transpose[Sort/@EvalData],Joined->True]

m = 0.5 & δy = 0.3 : topologically nontrivial gapped phase (δz = 0.0)

ListPlot[Transpose[Sort/@EvalData],Joined->True]

The helical edge states survive even in the presence of a time-reversal-symmetry-preserving perturbation.

Sort[Flatten[EvalData]]

Kramers degeneracy is respected.

m = 2.5 & δy = 0.3 : topologically trivial gapped phase (δz = 0.0)

ListPlot[Transpose[Sort/@EvalData],Joined->True]

m = 0.5 & δy = 0.3 : topologically nontrivial gapped phase with a time-reversal-symmetry-breaking perturbation (δz = 0.2)

ListPlot[Transpose[Sort/@EvalData],Joined->True]

The helical edge states are gapped owing to a time-reversal-symmetry-breaking perturbation , even in the presence of a bulk energy gap.

Sort[Flatten[EvalData]]

Kramers degeneracy is violated.