This notebook is saved with all output deleted. To recreate all the calculations and the pictures go to the menu item 
     Evaluation-> Evaluate notebook ( the shortcut is Alt v + o )

To evaluate individual cells use Shift+Enter

When you are done, before saving the notebook delete all output by menu item Cell->Delete all output ( shortcut  Alt c + l )

y (Subscript[u, x])-x (Subscript[u, y])=u, u(x,0)=(x^2)

The solution that we on the website

uu[x_,y_]:=((x^2)+(y^2))Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]]

Verify by Mathematica:

FullSimplify[y D[uu[x,y],x]-x D[uu[x,y],y]-uu[x,y],And[y>0,x∈Reals]]

A graph of the surface formed by the characteristics; you can see characteristics (helix-like curves) as mesh lines on the surface

ParametricPlot3D[{ξ Cos[s],ξ Sin[s],(ξ^2) Exp[-s]},{s,0,Pi},{ξ,0,13},PlotPoints->{100,100},Mesh->{0,50},BoxRatios->{2,2,1},AxesLabel->{x,y,z},PlotRange->{{-3,3},{0,3},{0,9}}]

A graph of the solution; thinking of y as time, we can see how the initial condition changes in time by looking at the mesh lines on the surface

Plot3D[((x^2)+(y^2))Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],{x,-3,3},{y,0,15},PlotPoints->{100,100},Mesh->{0,40},BoxRatios->{2,2,1},PlotRange->{{-3,3},{0,6},{0,9}},ClippingStyle->None]

Below I use manipulate to show how the initial condition changes in time, here y is time,

Manipulate[Plot[((x^2)+(y^2))Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],{x,-5,5},PlotRange->{0,25}],{y,0,10}]

FullSimplify[uu[x,0],And[x>0]]

Below I get better graphs of characteristics and the surfaces which I posted on the website. Often in one picture I show several objects which I plot in Mathematica separately, then I use Show[] to tell Mathematica to show different objects in one picture.

Clear[ff1];ff1[x_]:=(((x))^2);

VP={1.3`,-2.4`,2.`} (*ViewPoint->Dynamic[VP]*)

VP1={-1.6608720911023165`,-2.7404767391528453`,1.086872181610885`}

MoCCirclesSur1f1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,5},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[{ξ Cos[s],ξ Sin[s],ff1[ξ] Exp[-s]},{s,0,Pi},{ξ,0,8},PlotPoints->{100,100},Mesh->{0,50}],PlotRange->{{-3,3},{-0,6},{0,9}},PlotRangePadding->None,BoxRatios->{2,2,1.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{-1,-1},{1,-1}},ImageSize->500,ViewPoint->VP1]

VP1e={-2.6622328739536525`,1.5833298913814935`,1.3621977022071134`}

MoCCirclesSur1ef1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,3.05},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[{ξ Cos[s],ξ Sin[s],ff1[ξ] Exp[-s]},{s,-Pi/2,3Pi/2},{ξ,0,8},PlotPoints->{100,100},Mesh->{0,50}],PlotRange->{{-3,3},{-3,3},{0,15}},PlotRangePadding->None,BoxRatios->{2,2,1.5},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{1,1}},ImageSize->500,ViewPoint->VP1e]

MoCCirclesSur2f1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,5},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],Plot3D[ff1[(Sqrt[(x^2)+(y^2)])] Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],{x,-3,3},{y,0,6},PlotPoints->{100,100},Mesh->{0,25}],PlotRange->{{-3,3},{-0,6},{0,9}},PlotRangePadding->None, BoxRatios->{2,2,1.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{-1,-1},{1,-1}},ImageSize->500,ViewPoint->VP1]

MoCCirclesSur2ef1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,3.0},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],
Plot3D[
If[y≥0,ff1[(Sqrt[(x^2)+(y^2)])] Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],
If[x>0,
ff1[(Sqrt[(x^2)+(y^2)])] Exp[-( - ArcCos[(x/(Sqrt[(x^2)+(y^2)]))])],ff1[(Sqrt[(x^2)+(y^2)])] Exp[-(2Pi - ArcCos[(x/(Sqrt[(x^2)+(y^2)]))])]
]],{x,-3,3},{y,-3,3},Exclusions->{{x==0,y≤0}},PlotPoints->{100,100},Mesh->{0,29}],PlotRange->{{-3,3},{-3,3},{0,15}},PlotRangePadding->None,BoxRatios->{2,2,1.5},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{1,1}},ImageSize->500,ViewPoint->VP1e]

VP1a={-1.5329095616109654`,2.9047381415820985`,0.8140544237087928`}

MoCCirclesCha1f1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,4},PlotStyle->{{Thickness[0.009],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],ff1[ξ] Exp[-s]},{ξ,0.5,3,.5}],{s,0,Pi},PlotStyle-> {Thickness[0.007]},PlotPoints->{100,100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],0},{ξ,0.5,3,.5}],{s,0,Pi},PlotStyle-> {Thickness[0.003]},PlotPoints->{100}],PlotRange->{{-3,3},{0,3},{0,9}},BoxRatios->{2,1,1.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{1,-1},{1,-1}},ImageSize->500,ViewPoint-> VP1a]

MoCCirclesCha2f1=Show[ParametricPlot3D[{ξ,0,ff1[ξ]},{ξ,0,3},PlotStyle->{{Thickness[0.009],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],ff1[ξ] Exp[-s]},{ξ,0.1,3,.025}],{s,0,Pi},PlotStyle-> {Thickness[0.005]},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],0},{ξ,0.1,3,.025}],{s,0,Pi},PlotStyle-> {Thickness[0.002]},PlotPoints->{100}],PlotRange->{{-3,3},{0,3},{0,9}},BoxRatios->{2,1,1.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{1,-1},{1,-1}},ImageSize->500,ViewPoint-> VP1a]

NotebookDirectory[]

(* SetDirectory["C:\\Dropbox\\Work\\myweb\\Courses\\Math_pages\\Math_430"] *)

I commented out (* *) the commands which export the pictures to be displayed on the website and (as above) the computer relevant commands.

Directory[]

(* Export["MoCCirclesCha1f1.png",MoCCirclesCha1f1,"PNG",ImageResolution->1200];Export["MoCCirclesCha2f1.png",MoCCirclesCha2f1,"PNG",ImageResolution->1200];
Export["MoCCirclesSur1f1.png",MoCCirclesSur1f1,"PNG",ImageResolution->1200];Export["MoCCirclesSur2f1.png",MoCCirclesSur2f1,"PNG",ImageResolution->1200];Export["MoCCirclesSur1ef1.png",MoCCirclesSur1ef1,"PNG",ImageResolution->1200];Export["MoCCirclesSur2ef1.png",MoCCirclesSur2ef1,"PNG",ImageResolution->1200]  *)

y (Subscript[u, x])-x (Subscript[u, y])=u,  u(x,0)=(((Sin[x]))^2)

In this section I repeat the previous section with a different initial condition.

uu2[x_,y_]:=(((Sin[(Sqrt[(x^2)+(y^2)])]))^2)Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]]

FullSimplify[y D[uu2[x,y],x]-x D[uu2[x,y],y]-uu2[x,y],And[y>0,x∈Reals]]

FullSimplify[(y D[#,x]-x D[#,y]-#)&[(((Sin[(Sqrt[(x^2)+(y^2)])]))^2)Exp[ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]]],And[y<0,x > 0]]

FullSimplify[(y D[#,x]-x D[#,y]-#)&[(((Sin[(Sqrt[(x^2)+(y^2)])]))^2)Exp[-2Pi+ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]]],And[y<0,x > 0]]

FullSimplify[uu2[x,0],And[x>0]]

Clear[ff2];ff2[x_]:=(((Sin[x]))^2);

VP={1.3`,-2.4`,2.`} (*ViewPoint->Dynamic[VP]*)

VP1={-1.6608720911023165`,-2.7404767391528453`,1.086872181610885`}

MoCCirclesSur1f2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,4Pi},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[{ξ Cos[s],ξ Sin[s],ff2[ξ] Exp[-s]},{s,0,Pi},{ξ,0,14},PlotPoints->{100,100},Mesh->{0,50}],PlotRange->{{-2 Pi,2 Pi},{0,2 Pi},{-0.05,1.05}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,1,0.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{-1,-1},{1,-1}},ImageSize->500,ViewPoint->VP1]

(MoCCirclesSur1f2 //Options)

{PlotRange->{{-2 π,2 π},{0,2 π},{-0.05`,1.05`}},PlotRangePadding->None,Ticks->{{-4 π,-3 π,-2 π,-π,0,π,2 π},{-4 π,-3 π,-2 π,-π,0,π,2 π},Automatic},BoxRatios->{2,1,0.5`},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{-1,-1},{1,-1}},ImageSize->500,ViewPoint->{-1.6608720911023165`,-2.7404767391528453`,1.086872181610885`},DisplayFunction->Identity,PlotRange->{{Automatic,Automatic},{Automatic,Automatic},{Automatic,Automatic}},PlotRangePadding->{{Scaled[0.05`],Scaled[0.05`]},{Scaled[0.05`],Scaled[0.05`]},{Scaled[0.05`],Scaled[0.05`]}},ImagePadding->Automatic,DisplayFunction->Identity,Axes->True,DisplayFunction:>Identity,FaceGridsStyle->Automatic,Method->{"DefaultGraphicsInteraction"->{"Version"->1.2`,"TrackMousePosition"->{True,False},"Effects"->{"Highlight"->{"ratio"->2},"HighlightPoint"->{"ratio"->2},"Droplines"->{"freeformCursorMode"->True,"placement"->{"x"->"All","y"->"None"}}}}},PlotRange->{{0.`,12.566370487426136`},{-1.`,1.`},{0.`,0.999999550504007`}},PlotRangePadding->{Scaled[0.02`],Scaled[0.02`],Scaled[0.02`]},Ticks->{Automatic,Automatic,Automatic}}

VP1e={-2.6622328739536525`,1.5833298913814935`,1.3621977022071134`}

MoCCirclesSur1ef2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,2 Pi},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[{ξ Cos[s],ξ Sin[s],ff2[ξ] Exp[-s]},{s,-Pi/2,3Pi/2},{ξ,0,14},PlotPoints->{100,100},Mesh->{0,50}],PlotRange->{{-2 Pi,2 Pi},{-2 Pi,2 Pi},{-0.05,4.82}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,2,0.75},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{1,1}},ImageSize->500,ViewPoint->VP1e]

MoCCirclesSur2f2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,4 Pi},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],Plot3D[ff2[(Sqrt[(x^2)+(y^2)])] Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],{x,-2Pi,2 Pi},{y,0,2 Pi},PlotPoints->{100,100},Mesh->{0,30},PlotRange->All],PlotRange->{{-2 Pi,2 Pi},{0,2 Pi},{-0.05,1.05}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,1,0.5},AxesLabel->{x,y,z},AxesEdge->{{-1,-1},{-1,-1},{1,-1}},ImageSize->500,ViewPoint->VP1]

uu2e[x_,y_]=Piecewise[{{ff2[(Sqrt[(x^2)+(y^2)])] Exp[-ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],y≥0},{ff2[(Sqrt[(x^2)+(y^2)])] Exp[ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],y<0&&x>0},{ff2[(Sqrt[(x^2)+(y^2)])] Exp[-(2Pi - ArcCos[(x/(Sqrt[(x^2)+(y^2)]))])],y<0&&x<0}}]

uu2e[0.00001,-Pi/2]

Plot3D[ff2[(Sqrt[(x^2)+(y^2)])] Exp[ArcCos[(x/(Sqrt[(x^2)+(y^2)]))]],{x,-2 Pi,2 Pi},{y,-2 Pi,2 Pi},Exclusions->{{x==0,y≤0}},PlotPoints->{100,100},Mesh->25,PlotRange->{{-2 Pi,2 Pi},{-2 Pi,2 Pi},All},PlotRangePadding->None]

MoCCirclesSur2ef2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,4 Pi},PlotStyle->{{Thickness[0.01],RGBColor[0,0.6,0]}},PlotPoints->{100}],
Plot3D[Evaluate[uu2e[x,y]],{x,-2 Pi,2 Pi},{y,-2 Pi,2 Pi},Exclusions->{{x==0,y≤0}},PlotPoints->{100,100},Mesh->{0,39},PlotRange->{{-2 Pi,2 Pi},{-2 Pi,2 Pi},All}],PlotRange->{{-2 Pi,2 Pi},{-2 Pi,2 Pi},{0,4.82}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,2,0.75},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{1,1}},ImageSize->500,ViewPoint->VP1e]

VP1a={-1.5329095616109654`,2.9047381415820985`,0.8140544237087928`}

MoCCirclesCha1f2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,4 Pi},PlotStyle->{{Thickness[0.009],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],ff2[ξ] Exp[-s]},{ξ,Pi/4,2 Pi,Pi/4}],{s,0,Pi},PlotStyle-> {Thickness[0.007]},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],0},{ξ,Pi/4,2 Pi,Pi/4}],{s,0,Pi},PlotStyle-> {Thickness[0.003]},PlotPoints->{100}],PlotRange->{{-2 Pi,2 Pi},{0,2 Pi},{-0.05,1.05}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,1,0.5},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{-1,-1}},ImageSize->500,ViewPoint-> VP1a]

MoCCirclesCha2f2=Show[ParametricPlot3D[{ξ,0,ff2[ξ]},{ξ,0,4 Pi},PlotStyle->{{Thickness[0.009],RGBColor[0,0.6,0]}},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],ff2[ξ] Exp[-s]},{ξ,Pi/24,2 Pi,Pi/24}],{s,0,Pi},PlotStyle-> {Thickness[0.007]},PlotPoints->{100}],ParametricPlot3D[Evaluate@Table[{ξ Cos[s],ξ Sin[s],0},{ξ,Pi/24,2 Pi,Pi/24}],{s,0,Pi},PlotStyle-> {Thickness[0.003]},PlotPoints->{100}],PlotRange->{{-2 Pi,2 Pi},{0,2 Pi},{-0.05,1.05}},PlotRangePadding->None,Ticks->{Range[-4 Pi,2Pi,Pi],Range[-4 Pi,2Pi,Pi],Automatic},BoxRatios->{2,1,0.5},AxesLabel->{x,y,z},AxesEdge->{{1,-1},{-1,-1},{-1,-1}},ImageSize->500,ViewPoint-> VP1a]

Length[Range[Pi/24,2 Pi,Pi/24]]

NotebookDirectory[]

(* SetDirectory["C:\\Dropbox\\Work\\myweb\\Courses\\Math_pages\\Math_430"] *)

Directory[]

(* Export["MoCCirclesCha1f2.png",MoCCirclesCha1f2,"PNG",ImageResolution->1200];Export["MoCCirclesCha2f2.png",MoCCirclesCha2f2,"PNG",ImageResolution->1200]; 
Export["MoCCirclesSur1f2.png",MoCCirclesSur1f2,"PNG",ImageResolution->1200];Export["MoCCirclesSur2f2.png",MoCCirclesSur2f2,"PNG",ImageResolution->1200];Export["MoCCirclesSur1ef2.png",MoCCirclesSur1ef2,"PNG",ImageResolution->1200];Export["MoCCirclesSur2ef2.png",MoCCirclesSur2ef2,"PNG",ImageResolution->1200]  *)