Re: Derivative recurrence
- To: mathgroup at smc.vnet.net
- Subject: [mg72717] Re: Derivative recurrence
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Tue, 16 Jan 2007 03:23:39 -0500 (EST)
- Organization: The University of Western Australia
- References: <eofikq$gc1$1@smc.vnet.net>
In article <eofikq$gc1$1 at smc.vnet.net>, "KFUPM" <hussain.alqahtani at gmail.com> wrote: > I have the following > > u1(x,x,z,t) = z f1(x,y,t) > u2(x,y,z,t) = z f2(x,y,t) > u3(x,y,z,t) = z f3(x,y,t) I would implement these rules as u[1][{x_,y_,z_},t_] = z f[1][t][x,y] u[2][{x_,y_,z_},t_] = z f[2][t][x,y] u[3][{x_,y_,z_},t_] = z f[3][t][x,y] > which is basically the displacement fied. I want to compute the strain > which is given in indecial notation as: > > Eij = 1/2( dui/dxj + duj/dxj ) I assume you mean Eij = 1/2( dui/dxj + duj/dxi ) ? > i, j, k go from 1 to 3,,, x1=x, x2 =y, x3=z, but why is k required. Here is one implementation: r = {x,y,z}; e[i_,j_] := 1/2 (D[u[i][r,t], r[[j]] ] + D[u[j][r,t], r[[i]] ]) > I want mathematica to calculate the strain Eij autmoatically, > > for example > > when i = 1 and j= 2 > > E12 =1/2 (du1/dx2+du2/dx1 ) but x1 =x and x2 =y > > therefore > > E12 =1/2 (du1/dy + du2/dx) = 1/2 ( z df1/dx + z df2/dy),,, where f1, > f2 and f3 are arbitrary functions. Now you can compute these quantities: e[1,2] (z Derivative[0, 1][f[1][t]][x, y] + z Derivative[1, 0][f[2][t]][x, y])/2 This output looks better in StandardForm -- or TraditionalForm. > Eij should generate 3 by 3 matrix containing the strain components. Use Table: Table[e[i,j], {i, 3}, {j, 3}] Also, if required, the arguments [x, y] can be suppressed using pattern-matching: % /. f_[x, y] :> f Cheers, Paul _______________________________________________________________________ Paul Abbott Phone: 61 8 6488 2734 School of Physics, M013 Fax: +61 8 6488 1014 The University of Western Australia (CRICOS Provider No 00126G) AUSTRALIA http://physics.uwa.edu.au/~paul