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