Hyperbolic PDE 
on a parallelogram

B={{1,0},{-2,Sqrt[3]}}
A={{1,0},{2/Sqrt[3],1/Sqrt[3]}}

A.B

A.{1,0}

Rbottom=ParametricPlot[{t,0},{t,-1/2,1/2},PlotStyle->{Thick,Black}];

Rleftside=ParametricPlot[{-1/2,t},{t,0,1},PlotStyle->{Thick,Black}];

Rrightside=ParametricPlot[{1/2,t},{t,0,1},PlotStyle->{Thick,Black}];

Show[Rbottom,Rleftside,Rrightside,PlotRange->{{-1/2,1/2},{0,1}}]

Ubottom=ParametricPlot[A.{t,0},{t,-1/2,1/2},PlotStyle->{Thick,Black}];

Uleftside=ParametricPlot[A.{-1/2,t},{t,0,1},PlotStyle->{Thick,Black}];

Urightside=ParametricPlot[A.{1/2,t},{t,0,1},PlotStyle->{Thick,Black}];

(A.{-1/2,0})[[2]]

Udomain=Show[Ubottom,Uleftside,Urightside,PlotRange->{{-1/2,1/2},{(A.{-1/2,0})[[2]],(A.{1/2,1})[[2]]}}]

Show[Udomain,ParametricPlot[{t,t},{t,0,1/2},PlotStyle->{Black,Dashed}],ParametricPlot[{-t,t},{t,0,1/2},PlotStyle->{Black,Dashed}]]

zerotestpoint=A.{1/4,0}-{1/2,1/2}

xizero=(2 Sqrt[3]-3) (zerotestpoint[[1]]+zerotestpoint[[2]])

pzero={xizero,2 xizero/Sqrt[3]}

xione=-(2 Sqrt[3]+3) (zerotestpoint[[1]]-zerotestpoint[[2]])

pone={xione,2 xione/Sqrt[3]}

Show[Udomain,ParametricPlot[(1-t) zerotestpoint+t  pone,{t,0,1},PlotStyle->{Black,Dashed}],ListPlot[{A.{1/4,0}-{1/2,1/2}},PlotStyle->{Black,AbsolutePointSize[8]}]]

Show[zeroregion,ParametricPlot[(1-t) zerotestpoint+t  pzero,{t,0,1},PlotStyle->{Black,Dashed}]]

Show[zeroregion,ParametricPlot[(1-t) zerotestpoint+t  pzero,{t,0,1},PlotStyle->{Black,Dashed}],Plot[-xi+1/Sqrt[3]+1/2,{xi,-1/2,1/2},PlotStyle->{Black,Dashed}]]

qone={-0.2,0.5};

leftone={-1/2,-(qone[[1]]-qone[[2]])-1/2};
rightone={(2  Sqrt[3]-3) (qone[[1]]+qone[[2]]),2 (2  Sqrt[3]-3) (qone[[1]]+qone[[2]])/Sqrt[3]};
bottomone={-(4-2 Sqrt[3])(qone[[1]]+qone[[2]])+qone[[2]]-1/2,(4-2 Sqrt[3])(qone[[1]]+qone[[2]])-qone[[1]]-1/2};

Show[Udomain,Plot[xi+1/Sqrt[3]-1/2,{xi,-1/2,1/2},PlotStyle->{Black,Dashed}],Plot[-xi+1/Sqrt[3]+1/2,{xi,-1/2,1/2},PlotStyle->{Black,Dashed}],ListPlot[{qone},PlotStyle->{Black,AbsolutePointSize[8]}],ParametricPlot[(1-t) qone+t leftone,{t,0,1},PlotStyle->{Black,Dashed}],ParametricPlot[(1-t) qone+t rightone,{t,0,1},PlotStyle->{Black,Dashed}],ParametricPlot[(1-t) bottomone+t leftone,{t,0,1},PlotStyle->{Black,Dashed}],ParametricPlot[(1-t) bottomone+t rightone,{t,0,1},PlotStyle->{Black,Dashed}]]

U_0 subdomain

uzero[x_]=1/4-x^2;

xinaught[xi_,eta_]=(2 Sqrt[3]-3) (xi+eta);
xione[xi_,eta_]=-(2 Sqrt[3]+3) (xi-eta);

w[xi_,eta_] = (1/2-1/Sqrt[3]) uzero[xione[xi,eta]]+(1/2+1/Sqrt[3]) uzero[xinaught[xi,eta]];

wzerosection=Plot3D[w[xi,eta],{xi,-1/2,1/2},{eta,-1/Sqrt[3],1/Sqrt[3]},RegionFunction->Function[{x,y,z},2 x/Sqrt[3] < y < x+1/Sqrt[3]-1/2],ViewPoint->{1.5, 0.6, 0.8}]

unaught[x_,y_]=w[x,2  x/Sqrt[3]+y/ Sqrt[3]];

unaughty[x_,y_]=w[x,2  x/Sqrt[3]+y/ Sqrt[3]];

uzerosectionplus=Plot3D[unaught[x,y],{x,-1/2,1/2},{y,0,1},RegionFunction->Function[{x,y,z},0 < y < 2-Sqrt[3]+(Sqrt[3]-2)(1/2+x)],ViewPoint->{1.3, 1.4, 2.}]

Plot3D[unaught[x,y],{x,-1/2,1/2},{y,0,1},RegionFunction->Function[{x,y,z},0 < y < 2-Sqrt[3]+(Sqrt[3]-2)(1/2+x)],ViewPoint->{2.3, 0.4, -1/4}]

uzerosection=Plot3D[unaughty[x,y],{x,-1/2,1/2},{y,0,0.3},RegionFunction->Function[{x,y,z},0 < y < 2-Sqrt[3]+(Sqrt[3]-2)(1/2+x)],ViewPoint->{1.3, 1.4, 2.},BoxRatios->Automatic]

Show[Rbottom,Rleftside,Rrightside,Plot[1-Sqrt[3]/2-(2-Sqrt[3]) x,{x,-1/2,1/2},PlotStyle->{Black,Dashed}],PlotRange->{{-1/2,1/2},{0,1}}]

etanaught[xi_,eta_]=-(xi-eta)-1/2;

FullSimplify[Solve[{alphf  +betaf == etanaught[xi,eta]-1/2,alphf-betaf==(1-2/Sqrt[3]) xinaught[xi,eta]},{alphf,betaf}]]

xioneb[xi_,eta_]=-(1/2)+(-3+2 (Sqrt[3])) eta+2 (-2+(Sqrt[3])) xi;
etaoneb[xi_,eta_]=-(1/2)-2 (-2+(Sqrt[3])) eta+(3-2 (Sqrt[3])) xi;

bigwone[xi_,eta_]=-w[xioneb[xi,eta],etaoneb[xi,eta]]+uzero[xinaught[xi,eta]];

wonesection=Plot3D[bigwone[xi,eta],{xi,-1/2,1/2},{eta,-1/Sqrt[3],1/Sqrt[3]+1},RegionFunction->Function[{x,y,z}, x+1/Sqrt[3]-1/2<y<-x+1/Sqrt[3]+1/2],ViewPoint->{1.5, 0.3, -0.2}]

Show[wzerosection,wonesection]

uone[x_,y_]=bigwone[x,2  x/Sqrt[3]+y/ Sqrt[3]];

wonesection=Plot3D[uone[x,y],{x,-1/2,1/2},{y,0,0.5},RegionFunction->Function[{x,y,z}, 2-Sqrt[3]+(Sqrt[3]-2)(1/2+x)< y < 1],ViewPoint->{1.3, 1.4, 2.},BoxRatios->Automatic]

Show[uzerosectionplus,wonesection,PlotRange->{{-1/2,1/2},{0,1/2},{0,0.3}},BoxRatios->Automatic]