Saeanifolds.0 Stain and stess tensos in spheical coodinates This woksheet demonstates a few capabilities of Saeanifolds (vesion.0, as included in Saeath 7.5) in computations eadin elasticity theoy in Catesian coodinates. Click hee to download the woksheet file (ipynb fomat). To un it, you must stat Saeath with the Jupyte notebook, via the command sae -n jupyte NB: a vesion of Saeath at least equal to 7.5 is equied to un this woksheet: In []: Out[]: vesion() 'Saeath vesion 7.5., Release Date: 07-0-5' Fist we set up the notebook to display mathematical objects usin LaTeX endein: In []: %display latex Euclidean -space and spheical coodinates We intoduce the Euclidean space as a -dimensional diffeentiable manifold: In []: anifold(, '', stat_index) pint() -dimensional diffeentiable manifold (, θ, ϕ) We shall make use of spheical coodinates : In [4]: sphe.<,th,ph>.chat(':(0,oo) th:(0,pi):\theta ph:(0,*pi):\phi ') pint(sphe) sphe Chat (, (, th, ph)) Out[4]: (, (, θ, ϕ)) Spheical coodinates do not fom a eula coodinate system of the Euclidean space. So declain that they span means that, stictly speakin, the manifold is not the whole Euclidean space, but the Euclidean space minus some half plane (the azimuthal oiin). Howeve, in this woksheet, this diffeence will not matte. The natual vecto fame of spheical coodinates is In [5]: Out[5]: sphe.fame() (, (,, ))
Saeanifolds.0 We shall expand vecto and tenso fields on the othonomal fame spheical coodinates, which is elated to the natual fame means of the followin field of automophisms: ( e, e, e ) (/, /, /) associated with displayed above by In [6]: Out[6]: to_othonomal.automophism_field() to_othonomal[,] to_othonomal[,] / to_othonomal[,] /(*sin(th)) to_othonomal.display() d dθ dϕ In othe wods, the chane-of-basis matix is In [7]: Out[7]: to_othonomal[:] 0 0 0 0 0 0 We constuct the othonomal fame fom the natual fame of spheical coodinates by this chane of basis: In [8]: e sphe.fame().new_fame(to_othonomal, 'e') e Out[8]: (, ( e, e, e )) In [9]: Out[9]: In [0]: Out[0]: In []: Out[]: e[].display() e e[].display() e e[].display() e At this stae, the default vecto fame on spheical coodinates: is the fist one intoduced, namely the natual fame of In []: Out[]:.default_fame() (, (,, )) Since we pefe the othonomal fame, we declae In []:.set_default_fame(e)
Saeanifolds.0 Then, by default, all vecto and tenso fields ae displayed with espect to that fame: In [4]: Out[4]: e e e[].display() To et the same output as in Out[0], one should specify the fame fo display, since this is no lone the default one: In [5]: Out[5]: e[].display(sphe.fame()) e Displacement vecto and stain tenso Let us define the displacement vecto in tems of its components w..t. the othonomal spheical fame: In [6]:.vecto_field(name'') [:] [function('_')(,th,ph), function('_')(,th,ph), function('_')(,th,ph)].display() Out[6]: (, θ, ϕ) e (, θ, ϕ) e (, θ, ϕ) e The followin computations will involve the metic of the Euclidean space. At the cuent stae of Saeanifolds, we need to intoduce it explicitly, as a Riemannian metic on the manifold futue vesion of Saeanifolds, one shall to declae manifold, so that it will come equipped with ): (in a as an Euclidean space, and not meely as a In [7]:.iemannian_metic('') pint() Riemannian metic on the -dimensional diffeentiable manifold e dia(,, ) Since is supposed to be an othonomal fame, we declae that the components of with espect to it ae : In [8]: [,], [,], [,],,.display() Out[8]: e e e e e e The expession of with espect to the natual fame of spheical coodinates is then In [9]:.display(sphe.fame()) Out[9]: d d dθ dθ sin (θ) dϕ dϕ The covaiant deivative opeato is intoduced as the (Levi-Civita) connection associated with :
Saeanifolds.0 In [0]: nabla.connection() pint(nabla) nabla Levi-Civita connection nabla_ associated with the Riemannian metic on the -dimensional diffeentiable manifold Out[0]: The connection coefficients with espect to the spheical othonomal fame e ae In []: nabla.display() Out[]: Γ Γ Γ Γ Γ Γ cos(θ) cos(θ) while those with espect to the natual fame of spheical coodinates (Chistoffel symbols) ae: In []: Out[]: nabla.display(sphe.fame()) Γ θ θ Γ ϕ ϕ Γ θ θ Γ θ θ Γ θ ϕ ϕ Γ ϕ ϕ Γ ϕ θ ϕ Γ ϕ ϕ Γ ϕ ϕ θ sin (θ) cos(θ) sin(θ) cos(θ) sin(θ) cos(θ) sin(θ) The covaiant deivative of the displacement vecto is In []: nab nabla() pint(nab) Tenso field nabla_() of type (,) on the -dimensional diffeentiab le manifold 4
Saeanifolds.0 In [4]: Out[4]: nab.display() e (, θ, ϕ) e ( e ) e (, θ, ϕ) sin(θ) e e e e (, θ, ϕ) (, θ, ϕ) cos(θ) e e ( ) e e We convet it to a tenso field of type (0,) (i.e. a bilinea fom) by lowein the uppe index with : e e e e (, θ, ϕ) cos(θ) (, θ, ϕ) sin(θ) e e In [5]: nab_fom nab.down() pint(nab_fom) Tenso field of type (0,) on the -dimensional diffeentiable manifold In [6]: Out[6]: nab_fom.display() (, θ, ϕ) e e ( e ) e (, θ, ϕ) sin(θ) e e e e (, θ, ϕ) (, θ, ϕ) cos(θ) e e ( ) e e ε e e e e (, θ, ϕ) cos(θ) (, θ, ϕ) sin(θ) e e The stain tenso is defined as the symmetized pat of this tenso: In [7]: E nab_fom.symmetize() pint(e) Field of symmetic bilinea foms on the -dimensional diffeentiable m anifold 5
Saeanifolds.0 In [8]: E.set_name('E', latex_name'\vaepsilon') E.display() Out[8]: (, θ, ϕ) ε e e e e ( ) ( (, θ, ϕ)) sin(θ) e e (, θ, ϕ) (, θ, ϕ) e e e e ( ) ( ) (, θ, ϕ) cos(θ) sin(θ) e e ( (, θ, ϕ)) sin(θ) e e (, θ, ϕ) cos(θ) sin(θ) e e (, θ, ϕ) cos(θ) (, θ, ϕ) sin(θ) e e ε Let us display the components of, skippin those that can be deduced by symmety: In [9]: E.display_comp(only_nonedundantTue) Out[9]: ε ε ε ε ε ε (,θ,ϕ) ( (,θ,ϕ) ) sin(θ) (,θ,ϕ) (,θ,ϕ) cos(θ)sin(θ) (,θ,ϕ) cos(θ) (,θ,ϕ) sin(θ) Stess tenso and Hooke's law To fom the stess tenso accodin to Hooke's law, we intoduce fist the Lamé constants: In [0]: Out[0]: va('ll', latex_name'\lambda') λ 6
Saeanifolds.0 In []: Out[]: va('mu', latex_name'\mu') μ The tace (with espect to ) of the bilinea fom means of and (ii) by takin the tace of the esultin endomophism: ε is obtained by (i) aisin the fist index (pos0) by In []: te E.up(, pos0).tace() pint(te) Scala field on the -dimensional diffeentiable manifold In []: Out[]: te.display() (, θ, ϕ) R (,θ,ϕ) cos(θ) ( (,θ,ϕ) ) sin(θ) S The stess tenso is obtained via Hooke's law fo isotopic mateial: S λ tε μ ε In [4]: S ll*te* *mu*e pint(s) Field of symmetic bilinea foms on the -dimensional diffeentiable m anifold 7
Saeanifolds.0 In [5]: Out[5]: S.set_name('S') S.display() S λ (, θ, ϕ) cos(θ) ((λ μ) λ (, θ, ϕ) λ ) sin(θ) λ μ μ (, θ, ϕ) μ e e e ( ) (μ μ (, θ, ϕ)) sin(θ) μ e e μ μ (, θ, ϕ) μ e e ( ) λ (, θ, ϕ) cos(θ) (λ (λ μ) (, θ, ϕ) (λ μ) ) sin(θ) λ μ (, θ, ϕ) cos(θ) μ sin(θ) μ e e e (μ μ (, θ, ϕ)) sin(θ) μ e e μ (, θ, ϕ) cos(θ) μ sin(θ) μ e e (λ μ) (, θ, ϕ) cos(θ) (λ (λ μ) (, θ, ϕ) λ ) sin(θ) (λ μ) e e e e 8
Saeanifolds.0 In [6]: S.display_comp(only_nonedundantTue) Out[6]: S λ (,θ,ϕ) cos(θ) ( (λ μ) λ (,θ,ϕ)λ ) sin(θ)λ S μ μ (,θ,ϕ)μ S ( μ μ (,θ,ϕ) ) sin(θ)μ S λ (,θ,ϕ) cos(θ) ( λ (λμ) (,θ,ϕ)(λ μ) ) sin(θ)λ S μ (,θ,ϕ) cos(θ)μ sin(θ) μ S (λ μ) (,θ,ϕ) cos(θ) ( λ (λμ) (,θ,ϕ)λ ) sin(θ)(λ μ) Each component can be accessed individually: In [7]: S[,] Out[7]: μ μ (, θ, ϕ) μ Diveence of the stess tenso j S j i The diveence of the stess tenso (with espect to ) is the -fom: f i In a next vesion of Saeanifolds, thee will be a function diveence(). Fo the moment, to f S j i S evaluate, we fist fom the tenso by aisin the fist index (pos0) of with : In [8]: S S.up(, pos0) pint(s) Tenso field of type (,) on the -dimensional diffeentiable manifold The diveence is obtained by takin the tace on the fist index (0) and the thid one () of the tenso ( S) j ik k S j i : In [9]: divs nabla(s).tace(0,) pint(divs) -fom on the -dimensional diffeentiable manifold 9
Saeanifolds.0 In [40]: Out[40]: divs.set_name('f') divs.display() f ((λ μ) (λ μ) (λ μ) (λ μ) (, θ, ϕ) sin μ (λ μ) ) (θ) ( (λ μ) ((λ μ) (λ μ) (, θ, ϕ) μ ) cos(θ) sin (λ μ) ) (θ) μ sin (θ) ( μ (λ μ) μ (λ μ) (λ μ) ) sin (θ) (λ μ) cos(θ) (λ μ) (, θ, ϕ) ( (λ μ) cos(θ) (λ μ) ) sin(θ) μ sin (θ) ( μ μ μ ) sin (θ) (λ μ) cos(θ) μ (, θ, ϕ) ( (λ μ) μ cos(θ) (λ μ) (λ μ) ) sin(θ) (λ μ) sin (θ) e 0
Saeanifolds.0 In [4]: Out[4]: divs.display_comp() ( (λ μ) (λ μ) (λμ) (λ μ) (,θ,ϕ)μ (λ μ) ) sin (θ) f f f ( (λμ) ( (λμ) (λ μ) (,θ,ϕ)μ ) cos(θ)(λ μ) ) sin(θ)μ sin (θ) ( μ (λμ) μ (λ μ) (λ μ) sin (λ μ) cos(θ) ) (λ μ) (,θ,ϕ) ( (λ μ) cos(θ) (λμ) sin (θ) ) sin(θ)μ (θ) ( μ μ μ sin (λ μ) cos(θ) μ (,θ,ϕ) ) (θ) ( (λμ) μ cos(θ) (λ μ) (λμ) sin (θ) sin(θ)(λ μ) ) Note that f is quite badly displayed. We et a bette view by displayin the components one by one: In [4]: Out[4]: divs[] ((λ μ) (λ μ) (λ μ) (λ μ) (, θ, ϕ) sin μ (λ μ) ) (θ) ( (λ μ) ((λ μ) (λ μ) (, θ, ϕ) μ ) cos(θ) sin (λ μ) ) (θ) μ sin (θ) In [4]: Out[4]: In [44]: divs[] ( μ (λ μ) μ (λ μ) (λ μ) ) sin (θ) divs[] (λ μ) cos(θ) (λ μ) (, θ, ϕ) ( (λ μ) cos(θ) (λ μ) ) sin(θ) μ sin (θ) Out[44]: ( μ μ μ ) sin (θ) (λ μ) cos(θ) μ (, θ, ϕ) ( (λ μ) μ cos(θ) (λ μ) (λ μ) ) sin(θ) (λ μ) sin (θ)