In Mathematica, I can ask a notebook what its name is.

NotebookFileName[]

I can ask Mathematica in which directory is the current notebook.

NotebookDirectory[]

I can ask Mathematica what its working directory is

Directory[]

But, I like the working directory to be the same as the notebook directory. So, I set

SetDirectory[NotebookDirectory[]]

Directory[]

The a plot bellow I illustrate how to place boundary around a surface. But first, I plot the surface

Plot3D[x y, {x,-1,2},{y,-1,2},Axes->True,AxesLabel->{x,y,z},PlotRange->{{-1,2},{-1,2},{-2.2,4.2}},BoxRatios->{1,1,1}]

In above plot, the surface is a part of the graph of the function z = x y with x between -1 and 2 and y between -1 and 2. Next, I will just show the boundary of this surface.

Graphics3D[{{Thickness[0.01],RGBColor[0,0.6,0],Line[{{2,2,4},{-1,2,-2},{-1,-1,1},{2,-1,-2},{2,2,4}}]}},Axes->True,AxesLabel->{x,y,z},PlotRange->{{-1,2},{-1,2},{-2.2,4.2}},BoxRatios->{1,1,1}]

The boundary is a union of four line segments. Above, Mathematica command Line[] is really useful. We list five points inside the Line[] command, and Mathematic draws the “line” connecting those five points (the first and the last point are the same).

To show to plots together, we use Mathematica Show[] command. Here it is important to notice that the plotting options

Axes->True,AxesLabel->{x,y,z},PlotRange->{{-1,2},{-1,2},{-2.2,4.2}},BoxRatios->{1,1,1}

are moved as options to Show[] command.

Show[ (* beginning of Show[] command *)
Graphics3D[ (* beginning of the Graphics3D *){{Thickness[0.01],RGBColor[0,0.6,0],Line[{{2,2,4},{-1,2,-2},{-1,-1,1},{2,-1,-2},{2,2,4}}]}}
(* end of the Graphics3D *)],
Plot3D[(* beginning of the Plot3D *)
x y, {x,-1,2},{y,-1,2}
(* end of the Plot3D *) ], 
(* the Show[] options start here *)
Axes->True,AxesLabel->{x,y,z},PlotRange->{{-1,2},{-1,2},{-2.2,4.2}},BoxRatios->{1,1,1}
(* end of Show[] command *) ]

One more example, with the function z = (x-2)(y-1)+3 where x is between 0 and 3, y is between 0 and 2.

Show[Graphics3D[{{Thickness[0.01],RGBColor[0,0.6,0],Line[{{0,0,5},{3,0,2},{3,2,4},{0,2,1},{0,0,5}}]}}],
Plot3D[(x-2)( y-1)+3, {x,0,3},{y,0,2}],Axes->True,AxesLabel->{x,y,z},PlotRange->{{0,3},{0,2},{0,5.2}},BoxRatios->{1,1,1}]

Mathematica can calculate the Laplacian.

Laplacian[x y ((x^2)+(y^2)),{x,y}]

And the Laplacian in polar coordinates.

Laplacian[Sin[r^2],{r,θ},"Polar"]

Laplacian[r^4 Cos[θ] Sin[θ],{r,θ},"Polar"]

One more example in which the boundary is more complicated. The boundary below consists of two line segments and two sine curves. The line segments are drawn using Graphics3D and sine curves using ParametricPlot3D.

SinCosBdr=Show[Graphics3D[{{Thickness[0.01],RGBColor[1,0,0],Line[{{0,0,0},{0,2Pi,0}}],Line[{{2Pi,0,0},{2 Pi,2Pi,0}}]}}],ParametricPlot3D[{x,0,Sin[x]},{x,0,2 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0,0]}}],
ParametricPlot3D[{x,2 Pi,Sin[x]},{x,0,2 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0,0]}}],
Plot3D[Sin[x]Cos[y], {x,0,2 Pi},{y,0,2Pi},PlotStyle->{Opacity[0.75]},PlotPoints->{200,200}],Axes->True,AxesLabel->{x,y,z},PlotRange->{{0,2 Pi},{0,2Pi},{-1.2,1.2}},BoxRatios->{1,1,1/3},ImageSize->600]

Export["SinCosBdr.png",SinCosBdr]

Solve[{c1 Log[1]+c2==1,c1 Log[4]+c2==4},{c1,c2}]

Laplacian[(1/(Log[2])) Log[r]+2,{r,θ},"Polar"]

ParametricPlot3D[{r Cos[θ],r Sin[θ],(3/(Log[4])) Log[r]+1},{r,1,4},{θ,0,2 Pi},PlotRange->{{-4,4},{-4,4},{0,4.5}}]

AnnulusP4=Show[ParametricPlot3D[{Cos[θ],Sin[θ],1},{θ,0,2 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0,0]}}],
ParametricPlot3D[{4Cos[θ],4Sin[θ],4},{θ,0,2 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0,0]}}],ParametricPlot3D[{r Cos[θ],r Sin[θ],(3/(Log[4])) Log[r]+1},{r,1,4},{θ,0,2 Pi},PlotStyle->{Opacity[0.75]},PlotPoints->{100,200}],
Axes->True,AxesLabel->{x,y,z},PlotRange->{{-4,4},{-4,4},{0,4.5}},BoxRatios->{1,1,1/2},ImageSize->600]

Export["AnnulusP4.png",]

Export["AnnulusP4a.png",AnnulusP4]