Elastic Media in Spherical Coordinates
Elastic Media in Spherical Coordinates
When an elastic medium is at equilibrium, the force at each point balances the divergence of the rank-2 stress tensor. The stress tensor, in turn, is the contraction of the symmetric rank-4 stiffness tensor and the rank-2 strain tensor. The strain tensor is the symmetrized gradient of the displacement field. All these fields can be represented and manipulated as symmetrized arrays, in any coordinate system known to the Wolfram Language.
Define the stress tensor with built-in symmetry and compute its divergence in spherical coordinates:
σ[r_, θ_, φ_] = SymmetrizedArray[{{1, 1} -> σrr[r, θ, φ], {1, 2} -> σrθ[r, θ, φ], {1, 3} -> σrφ[r, θ, φ], {2, 2} -> σθθ[r, θ, φ], {2, 3} -> σθφ[r, θ, φ], {3, 3} -> σφφ[r, θ, φ]}, {3, 3}, Symmetric[All]];div = Div[σ[r, θ, φ], {r, θ, φ}, "Spherical"]//Simplify //Normalu[r_, θ_, φ_] := {ur[r, θ, φ], uθ[r, θ, φ], uφ[r, θ, φ]}strain = Symmetrize[Grad[u[r, θ, φ], {r, θ, φ}, "Spherical"]]//Simplify;
strain//SymmetrizedArrayRules//MostContract the strain tensor with the stiffness tensor to obtain the stress tensor. The Wolfram Language can verify the symmetry of the result:
stiff = SymmetrizedArray[pos_ :> c@@pos, {3, 3, 3, 3}, Symmetric[All]]
TensorContract[stiffstrain, {{3, 5}, {4, 6}}]