elas34.ms

> restart:

> grtw();

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> grOptionTermSize:=0:

> grlib(elasticity):

The Elasticity Package

Last Modified May, 1998

Created by P. Musgrave and K. Lake. Copyright 1996-98

Conventions: Deformed state $B$ with metric $G_{ij}$ generated from coordinates $(y1,y2,y3)$,

undeformed state $B_{0}$ with metric $g_{ij}$ generated from coordinates $(x1,x2,x3)$.

{\bf 3.4 Extension,inflation,and torsion of a cylindrical tube}

Take the body coordinates $(r,\theta,z)$.

To generate $G_{ij}$:

> qload(ey);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> xform1:=[y1(r,theta)=r*cos(theta),y2(r,theta)=r*sin(theta),y3(z)=z];

[Maple Math]

> grtransform(ey,deformed,xform1):

The new default metric is: deformed

> gralter(g(dn,dn),trig);

Component simplification of a GRTensorII object:

Applying routine `simplify[trig]` to object g(dn,dn)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

To generate $g_{ij}$ note that we repace $\psi$ in Green and Zerna by $\delta$ since $\psi$ is a reserved name in Maple.

> qload(ex);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> xform2:=[x1(r,theta,z)=r*Q(r)*cos(theta-delta*z),x2(r,theta,z)=r*Q(r)*sin(theta-delta*z),x3(z)=z/lambda];

[Maple Math]

> grtransform(ex,undeformed,xform2):

The new default metric is: undeformed

> gralter(g(dn,dn),trig);

Component simplification of a GRTensorII object:

Applying routine `simplify[trig]` to object g(dn,dn)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> body(g=undeformed,G=deformed):

The default metric is now: deformed.

We proceed without the incompressibility condition $I_{3} = 0$

> grcalc(strain(dn,dn),I1,I2,I3,B(up,up),stress(up,up));

[Maple Math]

> grmap(_,autoAlias,`x`):

Applying routine autoAlias to strain(dn,dn)

Applying routine autoAlias to I1

Applying routine autoAlias to I2

Applying routine autoAlias to I3

Applying routine autoAlias to B(up,up)

Applying routine autoAlias to stress(up,up)

> gralter(_,simplify,factor);

Component simplification of a GRTensorII object:

Applying routine simplify to object strain(dn,dn)

Applying routine simplify to object I1

Applying routine simplify to object I2

Applying routine simplify to object I3

Applying routine simplify to object B(up,up)

Applying routine simplify to object stress(up,up)

Applying routine factor to object strain(dn,dn)

Applying routine factor to object I1

Applying routine factor to object I2

Applying routine factor to object I3

Applying routine factor to object B(up,up)

Applying routine factor to object stress(up,up)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

Now the incompressibility condition $I_{3} = 1$ can be solved explicitly for $Q(r)$

> dsolve(grcomponent(I3,[])=1,Q(r));

[Maple Math]
[Maple Math]

Following Green and Zerna we first removed derivatives of $Q(r)$ and leave $Q(r)$ in the components.

> grmap(g(dn,dn)[undeformed],strain(dn,dn),I1,I2,I3,B(up,up),stress(up,up),subs,diff(Q(r),r)=(lambda-Q(r)^2)/(Q(r)*r),`x`);

Applying routine subs to g(dn,dn)

Applying routine subs to strain(dn,dn)

Applying routine subs to I1

Applying routine subs to I2

Applying routine subs to I3

Applying routine subs to B(up,up)

Applying routine subs to stress(up,up)

> gralter(_,simplify,expand);

Component simplification of a GRTensorII object:

Applying routine simplify to object g(dn,dn)

Applying routine simplify to object strain(dn,dn)

Applying routine simplify to object I1

Applying routine simplify to object I2

Applying routine simplify to object I3

Applying routine simplify to object B(up,up)

Applying routine simplify to object stress(up,up)

Applying routine expand to object g(dn,dn)

Applying routine expand to object strain(dn,dn)

Applying routine expand to object I1

Applying routine expand to object I2

Applying routine expand to object I3

Applying routine expand to object B(up,up)

Applying routine expand to object stress(up,up)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

We now define the vector $T^{a} = \tau^{ab}||-{b}$.

> grdef(`T{^b}:=stress{^a^b;a}`):

Created a definition for stress(up,up,cdn)

Created definition for T(up)

> grcalc(T(up));

[Maple Math]

> grmap(_,autoAlias,`x`);

Applying routine autoAlias to T(up)

> gralter(_,expand):

Component simplification of a GRTensorII object:

Applying routine expand to object T(up)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

The equilibrium condition $T^{a} = \tau^{ab}||_{b} = 0$ gives

> expand(dsolve(grcomponent(T(up),[r])=0,p(r)));

[Maple Math]
[Maple Math]
[Maple Math]

Because we have solved for $Q(r)$ we can go back and write the entire analysis in explicit form.

> grmap(g(dn,dn)[undeformed],strain(dn,dn),I1,I2,I3,B(up,up),stress(up,up),T(up),subs,Q(r)=(lambda*(r^2+K))^(1/2)/r,`x`);

Applying routine subs to g(dn,dn)

Applying routine subs to strain(dn,dn)

Applying routine subs to I1

Applying routine subs to I2

Applying routine subs to I3

Applying routine subs to B(up,up)

Applying routine subs to stress(up,up)

Applying routine subs to T(up)

> gralter(_,simplify,factor);

Component simplification of a GRTensorII object:

Applying routine simplify to object g(dn,dn)

Applying routine simplify to object strain(dn,dn)

Applying routine simplify to object I1

Applying routine simplify to object I2

Applying routine simplify to object I3

Applying routine simplify to object B(up,up)

Applying routine simplify to object stress(up,up)

Applying routine simplify to object T(up)

Applying routine factor to object g(dn,dn)

Applying routine factor to object strain(dn,dn)

Applying routine factor to object I1

Applying routine factor to object I2

Applying routine factor to object I3

Applying routine factor to object B(up,up)

Applying routine factor to object stress(up,up)

Applying routine factor to object T(up)

[Maple Math]

> grdisplay(_);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

> expand(dsolve(grcomponent(T(up),[r])=0,p(r)));

[Maple Math]
[Maple Math]
[Maple Math]

>