Abstract revolutionary surface Copyright © 2004-2008 by DigiArea Group . All rights reserved. Problem: Find metric and second fundamental form of the following revolutionary surface: ![PIECEWISE([x = rho(u)*cos(v), ``],[y = rho(u)*sin(v), ``],[z = zeta(u), ``])](prod/atlas/Templates/images/revolutionary2.gif) Solution: Load atlas package: restart: with(atlas): First of all we have to describe the space we are working in. The space is 3-dimensional Euclidean (flat) space. To define the space we declare domain, forms, vectors, coframe, frame, flat metric and calculate connection (it equals to zero of cause). Domain(R^3); 
Forms(e[k]=1); ![{e[k]}](prod/atlas/Templates/images/revolutionary4.gif)
Vectors(E[j]); ![{E[j]}](prod/atlas/Templates/images/revolutionary5.gif)
Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z)); ![[e[1] = d(x), e[2] = d(y), e[3] = d(z)]](prod/atlas/Templates/images/revolutionary6.gif)
Frame(E[k]); ![[E[1] = Diff(``,x), E[2] = Diff(``,y), E[3] = Diff(``,z)]](prod/atlas/Templates/images/revolutionary7.gif)
Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z)); ![g = `&.`(e[1],e[1])+`&.`(e[2],e[2])+`&.`(e[3],e[3])](prod/atlas/Templates/images/revolutionary8.gif)
Connection(omega); ![omega[i,j]](prod/atlas/Templates/images/revolutionary9.gif)
Now the working space is defined completely and we can start to solve the problem. Just for right simplification: `atlas/simp`:=proc(a) factor(simplify(a)) end: Surface Define the surface as a manifold: Domain(S); 
Declare functions: Functions(rho=rho(u),zeta=zeta(u)); 
Declare 1-form for surface coframe Forms(phi[i]=1); ![{e[k], phi[i]}](prod/atlas/Templates/images/revolutionary13.gif)
Declare vectors for surface frame: Vectors(Phi[k]); ![{Phi[k]}](prod/atlas/Templates/images/revolutionary14.gif)
Declare coframe on the surface: Coframe(phi[1]=d(u),phi[2]=d(v)); ![[phi[1] = d(u), phi[2] = d(v)]](prod/atlas/Templates/images/revolutionary15.gif)
Declare frame of the surface: Frame(Phi[j]); ![[Phi[1] = Diff(``,u), Phi[2] = Diff(``,v)]](prod/atlas/Templates/images/revolutionary16.gif)
Declare mapping of the surface into : Mapping(pi,S,R^3, x=rho*cos(v), y=rho*sin(v), z=zeta); 

One can also calculate metric induced on the surface by the mapping. Metric(G = g &/ pi); ![G = (Diff(rho,u)^2+Diff(zeta,u)^2)*`&.`(phi[1],phi[1])+rho^2*`&.`(phi[2],phi[2])](prod/atlas/Templates/images/revolutionary20.gif)
Calculate invariants of the mapping: Inv:=Invariants(pi); ![Inv := TABLE([secondForm = TABLE(zero,[(2, 2) = [-rho*cos(v)*Diff(zeta,u)^2/(Diff(rho,u)^2+Diff(zeta,u)^2)*E[1]-rho*sin(v)*Diff(zeta,u)^2/(Diff(rho,u)^2+Diff(zeta,u)^2)*E[2]+rho*Diff(rho,u)*Diff(zeta,u...](prod/atlas/Templates/images/revolutionary31.gif)
Let us extract the mean curvature vector field: mu:=Inv[meanCurvature]; ![mu := -cos(v)*Diff(zeta,u)*(-rho*Diff(rho,`$`(u,2))*Diff(zeta,u)+rho*Diff(zeta,`$`(u,2))*Diff(rho,u)+Diff(zeta,u)*Diff(rho,u)^2+Diff(zeta,u)^3)/(Diff(rho,u)^2+Diff(zeta,u)^2)^2/rho*E[1]-sin(v)*Diff(zet...](prod/atlas/Templates/images/revolutionary34.gif)
Let us extract the second fundamental form: Sf:=eval(Inv[secondForm]); ![Sf := TABLE(zero,[(2, 2) = [-rho*cos(v)*Diff(zeta,u)^2/(Diff(rho,u)^2+Diff(zeta,u)^2)*E[1]-rho*sin(v)*Diff(zeta,u)^2/(Diff(rho,u)^2+Diff(zeta,u)^2)*E[2]+rho*Diff(rho,u)*Diff(zeta,u)/(Diff(rho,u)^2+Diff...](prod/atlas/Templates/images/revolutionary39.gif)
Now we can calculate the corresponding tensor: B:=add(add(`&.`(e[i],e[j],eval(Sf)[i,j]),i=1..2),j=1..2); ![B := -cos(v)*Diff(zeta,u)*(-Diff(rho,`$`(u,2))*Diff(zeta,u)+Diff(zeta,`$`(u,2))*Diff(rho,u))/(Diff(rho,u)^2+Diff(zeta,u)^2)*`&.`(e[1],e[1],E[1])-sin(v)*Diff(zeta,u)*(-Diff(rho,`$`(u,2))*Diff(zeta,u)+Di...](prod/atlas/Templates/images/revolutionary44.gif)
|