elas33.ms
> restart:
> grtw();
> 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.3 Pure torsion of a right circular cylinder:}
Take the body coordinates $(r,\theta,z)$.
To generate $G_{ij}$:
> qload(ey):
> xform1:=[y1(r,theta)=r*cos(theta),y2(r,theta)=r*sin(theta),y3(z)=z];
> 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)
> grdisplay(_):
To generate $g_{ij}$:
> qload(ex):
> xform2:=[x1(r,theta,z)=r*cos(theta-delta*z),x2(r,theta,z)=r*sin(theta-delta*z),x3(z)=z];
> grtransform(ex,undeformed,xform2);
The new default metric is: undeformed
> gralter(g(dn,dn),trig,factor):
Component simplification of a GRTensorII object:
Applying routine `simplify[trig]` to object g(dn,dn)
Applying routine factor to object g(dn,dn)
> grdisplay(_);
> body(g=undeformed,G=deformed):
The default metric is now: deformed.
> grcalc(strain(dn,dn),I1,I2,I3,B(up,up),stress(up,up));
> gralter(_,trig,factor):
Component simplification of a GRTensorII object:
Applying routine `simplify[trig]` to object strain(dn,dn)
Applying routine `simplify[trig]` to object I1
Applying routine `simplify[trig]` to object I2
Applying routine `simplify[trig]` to object I3
Applying routine `simplify[trig]` to object B(up,up)
Applying routine `simplify[trig]` 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)
> grdisplay(_);
Because of the form of the invariants $I$, $\Phi$, $\psi$ and $p$ are functions of $r$. GRTensor recognizes this.
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));
> gralter(_,simplify,factor):
Component simplification of a GRTensorII object:
Applying routine simplify to object T(up)
Applying routine factor to object T(up)
The following command writes the derivatives as subscripts.
> grmap(_,autoAlias,`x`):
Applying routine autoAlias to T(up)
> grdisplay(_);
The equilibrium condition $T^{a} = \tau^{ab}||_{b} = 0 gives
> grcomponent(T(up),[r])=0;
>
dsolve(grcomponent(T(up),[r])=0,p(r));
>