Home / Math and Physics Files / Math / Curvilinear Systems / Tensor Doc and Support / saves of replaced sections
old App G 3_6_12
DOCX · 62.6 KB
Open DOCX file
Old saved version (dated 3/6/12 in the file name) of Appendix G from Phil's curvilinear-coordinates tensor document. It expands the dyadic (grad v) with reversed indices on the tangent basis e_i using Christoffel-style steps, gives alternate component forms and the orthogonal special case, and includes Maple code with polar, cylindrical and spherical results checked against Lai. It then starts the expansion of div(T) for continuum mechanics (Cauchy's equation).
AI-written summary; may contain errors.
Extracted text (machine-read; may contain errors)
Appendix G: Expansion of (v) and div(T) in general curvilinear coordinates
Although the polyadic notation is regarded as archaic by some writers (eg, Wolfram), it is well embedded into the literature of continuum mechanics, a field awash in rank-2 tensors.
In this literature one sometimes sees (A)ij ≡ ∂jAi where the indices are the reverse of the normal dyadic definition of Appendix E because this makes certain equations look simpler.
For example, in continuum mechanics one encounters the so-called convective or material derivative of an arbitrary vector field A(x,t) in the Eulerian or spatial "view" of the motion of a blob of continuous matter ( eg, Lai (3.4.3) and (3.4.8) ),
DAi/Dt = ∂tAi + Ai v = ∂tAi + (∂jAi) vj = ∂tAi + (A)ij vj = ∂tAi + [(A) v]i
=> DA/Dt = ∂tA + (A) v
Here v(x,t) is the velocity field of the moving matter blob. The notation DAi/Dt is just a historical notation for the total derivative dtAi = dAi(x,t)/dt.
The matrix A is not a differential operator since the derivative does not act on the vector standing to the right of A, but one is still often interested in expressing A in curvilinear coordinates.
We now carry out this task as an illustration of the various notations presented in Appendix E. We replace the generic vector A by generic vector v and this v has nothing to do with the v shown in the example above. As usual for the curvilinear coordinates application, x-space is taken to be Cartesian, and x'-space is that of the curvilinear coordinates x'.
The object div(T) where T is a matrix will be described in section (f).
Consider then the dyadic (v) ( a dyadic with indices reversed from the usual dyadic sense)
(v)ij ≡ ∂jvi
As shown in Appendix E, this dyadic can be expanded on the Cartesian x-space basis as
(v) = Σcd(v)dc uducT = Σcd(∂cvd) uducT .
The general plan for expressing (v) in curvilinear coordinates is this:
(1) to cause uducT to be replaced by edecT, where en are the tangent basis vectors of the transformation from Cartesian x-space coordinates to curvilinear x'-space coordinates under the non-linear transformation x' = F(x). As shown in the various Sections of this document on differential operators, the en vectors in x-space (or their unit vector versions n) are the appropriate basis vectors for expressing any tensor (or tensor-like object) where x'-space coefficients are desired. That is to say, as discussed in Appendix E,
A = ΣijA'ij eiejT
(2) to write out (∂cvd) in terms of x'-space coordinates and objects (like v'i)
The second part of this plan is quite simple so we do it will be done first.
(a) Expressing ∂cvd in terms of x'-space objects
One can express ∂cvd in terms of x'-space coordinates and objects in exactly the Christoffel manner of Section 7 (v). Using the covariant vector rule Va = RbaV'b shown in Section 7 (p) one easily gets
∂cvd = Σij (Ric∂'i)( Rjdv'j) = Σij Ric [(∂'iRjd) v'j + Rjd (∂'iv'j)] (*)
Comment: As noted in Section 7 (v), for a non-linear transformation F the object ∂cvd is not a rank-2 tensor. If it were a rank 2 tensor, as in the case of linear F, it would be very easy to express ∂cvd in terms of x'-space objects and coordinates, according to the expansion of Appendix E,
A = Σij A'ij ei ejT A'ij = RiaRjb Aab // A is a rank-2 tensor
(v) = Σij (v)'ij ei ejT (v)'ij = RiaRjb(v)ab = RiaRjb∂bva = Rjb∂b Riava = (∂'jv'i)
so that (v) = Σij (∂'jv'i) ei ejT and we are all done. When F is non-linear, as is the case for curvilinear coordinate transformations, the extra work shown below or its equivalent is required.
(b) Expressing uducT in terms of eiejT
In Section 3 (b) it was shown that e'n ≡ Ren = Σi Rin ei which in standard notation reads
e'n = Σi Rin ei where (e'n)i = δni (*)
This can quickly be verified by dotting both sides with em (the dual basis is a complete basis)
e'n em = Σi Rin ei em
LHS = e'n em = gab (e'n)a(em)b = gab δna(em)b = gnb(em)b = gnb(em)b = (em)n = Rmn
RHS = Σi Rin ei em = Σi Rin δim = Rmn
For present purposes, (*) can be re-expressed as,
ud = Σe Red ee where (ud)e = δde
Then
ucT = Σf Rfc efT
and so
uducT = Σef Red Rfc ee efT
and our section (b) task is completed.
(c) Combining the two steps
It has now been shown in section (a) that
∂cvd = Σij Ric [(∂'iRjd) v'j + Rjd (∂'iv'j)]
and in section (b) that
uducT = Σef Red Rfc ee efT
Therefore, carefully doing one step at a time,
(v) = Σcd(v)dc uducT = Σcd(∂cvd) uducT
= Σcd { Σij Ric [(∂'iRjd) v'j + Rjd (∂'iv'j)] } { Σef Red Rfc ee efT }
= Σcd Σef { Σij Ric [(∂'iRjd) v'j + Rjd (∂'iv'j)] } { Red Rfc ee efT }
= Σcd Σef { Σij Rfc Ric [Red (∂'iRjd) v'j + Red Rjd (∂'iv'j)] } ee efT
= Σef Σij ( ΣcRfc Ric) [Σd Red (∂'iRjd) v'j + (Σd Red Rjd) (∂'iv'j)] ee efT
Since the metric tensor is in fact a tensor, one knows that g'fi = RfcRid gad . But g = 1 so this becomes g'fi = RfcRic and so one has
( ΣcRfc Ric) = g'fi
(Σd Red Rjd) = g'ej
which can be inserted into the above expression to give,
= Σef Σij g'fi [Σd Red (∂'iRjd) v'j + g'ej (∂'iv'j)] ee efT
Change ij to ab
= Σef Σab g'fa [Σd Red (∂'aRbd) v'b + g'eb (∂'av'b)] ee efT
and then change ef to ij
= Σij { Σab g'ja [Σd Rid (∂'aRbd) v'b + g'ib (∂'av'b)] } ei ejT .
Therefore, it has been shown that
(v) = Σij Qij ei ejT = Σij [(v)(e)]ij ei ejT
where
Qij ≡ Σab g'ja [Σd Rid (∂'aRbd) v'b + g'ib (∂'av'b)] = [(v)(e)]ij
Here the notation (v)(e) indicates, as suggested in Appendix E, that this matrix is associated with the ei basis which in turn is associated with the curvilinear coordinates x' . Since g' and R are functions of the curvilinear coordinates x', our program of expressing (v) entirely in terms of x'-space coordinates and objects is now complete. Notice that x' is an arbitrary not necessarily orthogonal coordinate system.
(d) Alternate forms of the (v) expansion
In terms of covariant components of vector v', it was shown above that
Qij = Σab g'ja [Σd Rid (∂'aRbd) v'b + g'ib (∂'av'b)] (v) = Σij Qij ei ejT
If one wants to see contravariant components of vector v', replace v'b = Σc g'bcv'c to get
Qij = Σab g'ja [Σd Rid (∂'aRbd) Σc g'bcv'c + g'ib ∂'a(Σc g'bcv'c)] .
Or, if one wants to see the unit-vector expansion components of vector v', replace v'c = h'c-1 v'c to get
Qij = Σab g'ja [Σd Rid (∂'aRbd) Σc g'bc h'c-1 v'c + g'ib ∂'a(Σc g'bc h'c-1 v'c)] .
As a reminder, these v'n arise as follows:
v = Σn v'n en = Σn v'n (h'nn) = Σn (h'n v'n) n = Σn v'n n => v'n ≡ h'n v'n .
As discussed in Section 14 Example 1, the components v'n are convenient since they all have the same dimensions. Moreover, when a specific curvilinear system is selected, one can dispense with the unpleasant font used in v'n and just write v'n = vx'(n). For example, in spherical coordinates r,θ,φ :
v'1 = vr v'2 = vθ v'3 = vφ v = Σn v'n n = vr + vθ + vφ .
Once one is talking v'n and n, one usually wants to see the (v) expansion in terms of i jT. Since
ei ejT = h'ih'j i jT
our expansion can be rephrased in this manner:
(v) = Σij Qij ei ejT = Σij ( Qij h'ih'j) i jT = Σij Pij i jT
with
Pij = h'ih'jQij = [(v)(e^)]ij
where Qij can be any of the three forms shown above.
(e) Special case of orthogonal coordinates
In this case g'nm = h'n2δn,m and g'nm = h'n-2δn,m . We consider only the last form for Qij above. Since the algebra is tedious, here are all the steps, where the next item to be processed is shown in red.
Qij = Σab g'ja [Σd Rid (∂'aRbd) Σc g'bc h'c-1 v'c + g'ib ∂'a(Σc g'bc h'c-1 v'c)]
= Σab h'j-2δj,a [Σd Rid (∂'aRbd) Σc g'bc h'c-1 v'c + g'ib ∂'a(Σc g'bc h'c-1 v'c)]
= Σb h'j-2 [Σd Rid (∂'jRbd) Σc g'bc h'c-1 v'c + g'ib ∂'j(Σc g'bc h'c-1 v'c)]
= h'j-2 [Σd Rid Σb (∂'jRbd) Σc g'bc h'c-1 v'c + Σb g'ib ∂'j Σc g'bc h'c-1 v'c)]
= h'j-2 [Σd Rid Σb (∂'jRbd) Σc g'bc h'c-1 v'c + Σb h'i-2δi,b ∂'j(Σc g'bc h'c-1 v'c)]
= h'j-2 [Σd Rid Σb (∂'jRbd) Σc g'bc h'c-1 v'c + h'i-2 ∂'j(Σc g'ic h'c-1 v'c)]
= h'j-2 [Σd Rid Σb (∂'jRbd) Σc h'c2δb,c h'c-1 v'c + h'i-2 ∂'j(Σc h'i2δi,c h'c-1 v'c)]
= h'j-2 [Σd Rid Σb (∂'jRbd) h'b v'b + h'i-2 ∂'j(h'iv'i)]
= h'j-2 h'i-2 [h'i2Σd Rid Σb (∂'jRbd) h'b v'b + ∂'j(h'iv'i)]
= h'j-2 h'i-2 [h'i2Σd Rid Σb (∂'jRbd) h'b v'b + (∂'jh'i)v'i + h'i(∂'jv'i)]
so that then
Pij = h'j-1 h'i-1 [h'i2Σd Rid Σb (∂'jRbd) h'b v'b + (∂'jh'i)v'i + h'i(∂'jv'i)]
This object Pij can be computed in Maple by the following code,
Computation of (grad v) in spherical coordinates
This file is also the template for any other cases.
> restart;
> with(linalg):
> N := 3;
> xp[1] := r;
> xp[2] := theta;
> xp[3] := phi;
> assume(r>0,theta>0,theta<Pi);
> x[1] := r*sin(theta)*cos(phi);
> x[2] := r*sin(theta)*sin(phi);
> x[3] := r*cos(theta);
> Vp := vector( [v[xp[1]],v[xp[2]],v[xp[3]] ] );
> S_ := (i,j) -> diff(x[i],xp[j]);
> S := matrix(N,N,S_);
R is not used anywhere, but we compute it anyway.
> R := simplify(inverse(S));
> gcov := simplify(evalm( transpose(S) &* S));
> for n from 1 to N do hp[n] := simplify(sqrt(gcov[n,n])) od;
> T1_ := (i,j) -> (hp[i])^2 * sum( sum(R[i,d]*Diff(R[b,d],xp[j])*hp[b]*Vp[b],d=1..N),b=1..N) ;
> T2_ := (i,j) -> Vp[i] *diff(hp[i],xp[j]) ;
> T3_ := (i,j) ->hp[i] * Diff(Vp[i],xp[j]) ;
> P_ := (i,j) -> (1/hp[i])*(1/hp[j])*(value(T1_(i,j)) + (T2_(i,j)) + T3_(i,j));
> P :=matrix(N,N):
> for n from 1 to N do
> for m from 1 to N do
> P[n,m] := expand(simplify(P_(n,m)));
> od;
> od;
> evalm(P);
which is easily modified for other orthogonal curvilinear systems. Here are some sample results:
(v) = Σij Pij i jT Pij = [(v)(e^)]ij
Pij in polar coordinates (where 1,2 = r,θ) :
// agrees with Lai (2.23.23)
Pij in cylindrical coordinates (where 1,2,3 = r,θ,z) :
// agrees with Lai (2.34.5)
The polar coordinates results are seen to be upper left 2x2 piece of the cylindrical results.
Pij in spherical coordinates (where 1,2,3 = r,θ,φ) :
// agrees with Lai (2.35.25)
(f) Expansion of div(T) in general curvilinear coordinates
The vector object A ≡ divT is defined in Cartesian coordinates by Ai = ∂jTij with implied sum on j. Regarding Ri as the ith row of the matrix Tij, this says that Ai = ∂j(Ri)j = Ri, so the components of divT are just the divergences of the rows of T.
This divT object arises for example when Newton's 2nd Law F = ma is applied to a particle of continuous matter, in which case this law is known as Cauchy's Equation of Motion (Lai (4.7.4)) ,
divT + ρB = ρa
where ρ is the mass density of the particle and B the action-at-a-distance force (body force) per unit mass.
We wish to express divT in terms of curvilinear coordinates and objects. As usual, x-space is taken as a Cartesian space and x'-space as that of the curvilinear coordinates. The vector A = divT can be expanded according to Appendix E as
A = Σi Ai ui = Σi (∂jTij) ui
One can follow the same two-step plan as used above for (v) :
ui = Σe Rei ee
(∂kTij) = (Rak∂'a)(RbiRcjT'bc)
= [Rak (∂'aRbi)RcjT'bc + Rak Rbi(∂'aRcj)T'bc + Rak RbiRcj (∂'aT'bc) ]
(∂jTij) =[Raj (∂'aRbi)RcjT'bc + Raj Rbi(∂'aRcj)T'bc + Raj RbiRcj (∂'aT'bc) ]
Comment: Note that (∂kTij) would be a tensor if the first two terms above vanished, but of course they don't vanish for general underlying transformation F to curvilinear coordinates so (∂kTij) is not a rank-3 tensor, and Σj(∂jTij) is not a tensorial vector. So Ai = [divT]i = ∂jTij is just a "vector-like" object. Under normal rotations, however, divT would be a vector, as suggested by divT + ρB = ρa.
Therefore,
A = Σi (∂jTij) ui
= Σi [Raj (∂'aRbi)RcjT'bc + Raj Rbi(∂'aRcj)T'bc + Raj RbiRcj (∂'aT'bc) ] Rei ee
= Σi Rei [Raj (∂'aRbi)RcjT'bc + Raj Rbi(∂'aRcj)T'bc + Raj RbiRcj (∂'aT'bc) ] ee
Qe = Rei [Raj (∂'aRbi)RcjT'bc + Raj Rbi(∂'aRcj)T'bc + Raj RbiRcj (∂'aT'bc) ]
= [Rei (Raj Rcj) (∂'aRbi)RcjT'bc + Raj (Rei Rbi)(∂'aRcj)T'bc + (RcjRaj) (Rei Rbi) (∂'aT'bc) ]
= [Reig'ac(∂'aRbi)RcjT'bc + Raj g'eb(∂'aRcj)T'bc + g'ca g'eb (∂'aT'bc) ]
Inserting both the above expressions into the expansion of A and using Rac Rbc = g'ab in various places, one obtains,
A = Σe Qe ee
where Qe = [Rei (∂'aRbi) g'ac T'bc + Raj g'eb(∂'aRcj)T'bc +g'ebg'ac (∂'aT'bc) ] **********
For an orthogonal x' coordinate system Qe becomes
Qe = [Rei (∂'aRbi) h'a-2 T'ba + Raj h'e-2 (∂'aRcj)T'ec + h'e-2h'a-2 (∂'aT'ea) ]
Using ee = h'e e, the orthogonal result can be restated as
A = Σe Pe e
where Pe = h'e [Rei (∂'aRbi) h'a-2 T'ba + Raj h'e-2 (∂'aRcj)T'ec + h'e-2h'a-2 (∂'aT'ea) ]
In the above, it has been assumed that Tij is a rank-2 tensor so that, in the notation of App. E,
T = ΣijTij(uiuj) = ΣijT'ij(eiej)
If one is interested in an expansion of T on the unit vectors ei = h'i i this becomes
T = Σij[T'ijh'ih'j] (ij) = Σij[T(e^)]ij (ij)
One then has
[T(e^)]ij = h'ih'jT'ij => T'ij = [T(e^)]ij/ (h'ih'j)
=> T'ij = [T(e^)]ij (h'ih'j)
where the last result follows from T'ij = g'ii'g'jj'T'ij = h'i2h'j2 T'ij. When this last result is inserted into Pe one gets
Pe = [Rei (∂'aRbi) h'a-1 h'b h'e [T(e^)]ba sum on i, a, b
+ Rai (∂'aRbi) h'b [T(e^)]eb sum on i, a, b
+ h'e-1h'a-2 ∂'a(h'e h'a) [T(e^)]ea sum on a
+ h'a-1(∂'a[T(e^)]ea) sum on a
The above object Pe can easily be computed by Maple code similar to that shown in the (v) case and here are some results:
Pi ≡ [divT]i in cylindrical coordinates (where 1,2,3 = r,θ,z) :
// agrees with Lai (2.34.8,9,10)
For polar coordinates P1 and P2 are given by the first two lines above with the last terms set to 0. These polar results then agree with Lai (2.33.32,33).
Pi ≡ [divT]i in spherical coordinates (where 1,2,3 = r,θ,φ) :
The expressions above agree with Lai (2.35,33,34,35).