Previous Up Next

5.19.5  An example : finding the surface of revolution with minimal area

In this section we find the function

y0∈ D={y∈ C1[0,1]:y(0)=1,y(1)=2/3} 

for which the area of the corresponding surface of revolution is minimal. The result is not necessarily intuitive.

The area of the surface of revolution is measured by the functional

F(y)=2 π 


We set f(y,y′,x)=y(x) √1+y′(x)2 and compute the associated Euler-Lagrange equation :

dy:=diff(y(x),x):; f:=y*sqrt(1+dy^2):; eq:=euler_lagrange(f)

Output :

[-(y(x))/(sqrt(diff(y(x),x)^2+1))=K_0, diff(y(x),x,2)=((diff(y(x),x)^2+1)/(y(x)))]

We obtain the stationary function by finding the general solution of the first equation. Input :


Output :


Obviously the constant solution −K0 is not in D, so we set y0 to be the second element of the above list. That function, which can be written as

y0(x)=−K0 cosh


is called a catenary. Input :

y0:=sol[1]:; p:=[K_0,c_1]:;

To find the values of K0 and c1 from the boundary conditions, we first plot the curves y0(0)=1 and y0(1)=2/3 for K0∈[−1,1] and c1∈[−1,2] to see where they intersect each other. Input :

eq1:=subs(y0,x=0)=1:; eq2:=subs(y0,x=1)=2/3:; implicitplot([eq1,eq2],K_0=-1..1,c_1=-1..2)

Output :

We observe that there are exactly two catenaries satisfying the Euler-Lagrange necessary conditions and the given boundary conditions : the first with K0≈ −0.5 and c1≈ 0.6 resp. the second with K0≈ −0.3 and c1≈ 0.5. We obtain the values of these constants more precisely by using fsolve. Input :

p1:=fsolve([eq1,eq2],p,[-0.5,0.6]); p2:=fsolve([eq1,eq2],p,[-0.3,0.5])

Output :

[-0.56237423894,0.662588703113], [-0.30613431407,0.567138261119]

We check, for each catenary, whether the strong Legendre condition

fy′ y(x,yk,yk′)>0

holds for k=1,2. Input :

y1:=subs(y0,p,p1):; y2:=subs(y0,p,p2):; D2f:=diff(f,diff(y(x),x),2):; solve([eval(subs(D2f,y=y1,y(x)=y1))<=0,x>=0,x<=1],x); solve([eval(subs(D2f,y=y2,y(x)=y2))<=0,x>=0,x<=1],x)

Output :


We conclude that the strong Legendre condition is satisfied in both cases, so we proceed by attempting to find the points conjugate to 0 for each catenary. The function y0 depends on two parameters, so we use conjugate_equation to find these points easily. Input :

fsolve(conjugate_equation(y0,p,p1,x,0)=0,x=0..1) fsolve(conjugate_equation(y0,p,p2,x,0)=0,x=0..1)

Output :

[0.0], [0.0,0.799514772606]

We conclude that there are no points conjugate to 0 in (0,1] for the catenary y1, so it minimizes the functional F. However, for the other catenary there is a conjugate point in the relevant interval, therefore y2 is not a minimizer.

We can verify the above conclusions by computing the surface area for catenaries y1 and y2 and comparing them. Input :

int(y1*sqrt(1+diff(y1,x)^2),x=0..1); int(y2*sqrt(1+diff(y2,x)^2),x=0..1)

Output :


We see that the surface formed by rotating the curve y1 is indeed smaller than the area of the surface formed by rotating the curve y2. Finally, we visualize both surfaces for convenience. Input :

plot3d([y1*cos(t),y1*sin(t),x],x=0..1,t=0..2*pi, display=yellow+filled)

Output :

Input :

plot3d([y2*cos(t),y2*sin(t),x],x=0..1,t=0..2*pi, display=yellow+filled)

Output :

Previous Up Next