<- previous index next ->
Extending PDE's to toroid geometry
solve PDE in toroid boundary
First refinement
Another view of refinement
Toroid center at 0,0,0 can be translated and rotated
r1, r2, theta, phi mapped to x,y,z
x = (r1+r2*sin(phi))*cos(theta)
y = (r1+r2*sin(phi))*sin(theta)
z = r2 * cos(phi)
0 ≤ theta ≤ 2Pi 0 ≤ phi ≤ 2Pi 0 < r2 < r1
Area = (2*Pi*r1)*(2*Pi*r2) infinitesimal area = dtheta*r1*dphi*r2
Volume = (2*Pi*r1)*(Pi*r2*r2) infinitesimal volume = dtheta*r1*dphi*r2*dr2
Equation (r1-sqrt(x^2+y^2))^2 + z^2 = r2^2
r2, x, y, z mapped to r1, theta, phi (r2 taken as constant)
theta = arctan(y/x)
phi = arccos(z/r2)
r1 = x/cos(theta) - r2*sin(phi) or
r1 = y/sin(theta) - r2*sin(phi) no divide by zero
r1, x, y, z mapped to r2, theta, phi (r1 taken as constant)
theta = arctan(y/x) fix angle by quadrant
x1 = r1*cos(theta)
y1 = r1*sin(theta)
phi = arctan(sqrt((x-x1)^2+(y-y1)^2)/z) fix by quadrant
r2 = sqrt((x-x1)^2+(y-y1)^2+z^2)
PDE for testing: r1 constant, r2 is r, theta is t, phi is p
dU^2(r1,r2,t,p)/dr2^2 + dU^2(r1,r2,t,p)/dt^2 +
dU^2(r1,r2,t,p)/dp^2 = f(r1,r2,t,p)
U(r,t,p):=r*r*(1+sin(t))*(1+cos(p));
2
U(r, t, p) := r (1 + sin(t)) (1 + cos(p))
Urr(r,t,p):=diff(diff(U(r,t.p),r),r);
Urr(r, t, p) := D[1, 1](U)(r, t . p)
Urr(r,t,p):=diff(diff(U(r,t,p),r),r);
Urr(r, t, p) := 2 (1 + sin(t)) (1 + cos(p))
Utt(r,t,p):=diff(diff(U(r,t,p),t),t);
2
Utt(r, t, p) := -r sin(t) (1 + cos(p))
Upp(r,t,p):=diff(diff(U(r,t,p),p),p);
2
Upp(r, t, p) := -r (1 + sin(t)) cos(p)
f(r,t,p):=Urr(r,t,p)+Utt(r,t,p)+Upp(r,t,p);
2
f(r, t, p) := 2 (1 + sin(t)) (1 + cos(p)) - r sin(t) (1 + cos(p))
2
- r (1 + sin(t)) cos(p)
simplify(f(r,t,p));
2 2
2 + 2 cos(p) + 2 sin(t) + 2 sin(t) cos(p) - r sin(t) - 2 r sin(t) cos(p)
2
- r cos(p)
f(r2,t,p) =
2.0*(1.0 + cos(p) + sin(t) + sin(t)*cos(p)) -
r2*r2*(cos(p) + sin(t) + 2.0*sin(t)*cos(p))
Ub(r2,t,p):=r2*r2*(1.0+sin(t))*(1.0+cos(p)); Dirichlet boundary
<- previous index next ->