Re: Derivative recurrence
- To: mathgroup at smc.vnet.net
- Subject: [mg72711] Re: Derivative recurrence
- From: "dimitris" <dimmechan at yahoo.com>
- Date: Tue, 16 Jan 2007 02:59:32 -0500 (EST)
- References: <eofikq$gc1$1@smc.vnet.net>
Here is one quick attempt; certainly not the best but it does the job! First define the components of your displacement field as follows u[1][x[1], x[2], x[3], t] := x[3]*f[1][x[1], x[2], t] u[2][x[1], x[2], x[3], t] := x[3]*f[2][x[1], x[2], t] u[3][x[1], x[2], x[3], t] := x[3]*f[3][x[1], x[2], t] Two things to notice here: First, within Mathematica Arguments to functions are wrapped with square brackets. Second I strongly suggest you using the setting u[j][...] instead of the very difficult in manipulation uj[...]. Now define the components of the Strain Tensor as follows e[i_][j_] := (1/2)*(D[u[i][x[1], x[2], x[3], t], x[j]] + D[u[j][x[1], x[2], x[3], t], x[i]]) Here is the strain tensor for your problem Table[e[i][j], {i, 1, 3}, {j, 1, 3}] {{x[3]*Derivative[1, 0, 0][f[1]][x[1], x[2], t], (1/2)*(x[3]*Derivative[0, 1, 0][f[1]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[2]][x[1], x[2], t]), (1/2)*(f[1][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[3]][x[1], x[2], t])}, {(1/2)*(x[3]*Derivative[0, 1, 0][f[1]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[2]][x[1], x[2], t]), x[3]*Derivative[0, 1, 0][f[2]][x[1], x[2], t], (1/2)*(f[2][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[3]][x[1], x[2], t])}, {(1/2)*(f[1][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[3]][x[1], x[2], t]), (1/2)*(f[2][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[3]][x[1], x[2], t]), f[3][x[1], x[2], t]}} If you want to get your results in terms of "xyz" notation and in nice tableformat, then you could use the following command (TableForm[#1, TableHeadings -> {Automatic, Automatic}] & )[% /. {x[1] -> x, x[2] -> y, x[3] -> z}] Let for practise determine the commands of the stress tensor. Although I do not know the stress-strain relation that your material obbeys, I suppose linear, elastic behavior; that is the stress-strain relation is the generalized Hooke's Law (Love 1944). Here is the components of Strain Tensor Ï?[i_][j_] := λ*KroneckerDelta[i, j]*Sum[e[k][k], {k, 1, 3}] + 2*μ*e[i][j] and here is the stress tensor for your problem Table[Ï?[i][j], {i, 1, 3}, {j, 1, 3}] {{2*μ*x[3]*Derivative[1, 0, 0][f[1]][x[1], x[2], t] + λ*(f[3][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[2]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[1]][x[1], x[2], t]), μ*(x[3]*Derivative[0, 1, 0][f[1]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[2]][x[1], x[2], t]), μ*(f[1][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[3]][x[1], x[2], t])}, {μ*(x[3]*Derivative[0, 1, 0][f[1]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[2]][x[1], x[2], t]), 2*μ*x[3]*Derivative[0, 1, 0][f[2]][x[1], x[2], t] + λ*(f[3][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[2]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[1]][x[1], x[2], t]), μ*(f[2][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[3]][x[1], x[2], t])}, {μ*(f[1][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[3]][x[1], x[2], t]), μ*(f[2][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[3]][x[1], x[2], t]), 2*μ*f[3][x[1], x[2], t] + λ*(f[3][x[1], x[2], t] + x[3]*Derivative[0, 1, 0][f[2]][x[1], x[2], t] + x[3]*Derivative[1, 0, 0][f[1]][x[1], x[2], t])}} Or (TableForm[#1, TableHeadings -> {Automatic, Automatic}] & )[% /. {x[1] -> x, x[2] -> y, x[3] -> z}] Regards Dimitris KFUPM wrote: > Dear All > > 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) > > 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 ) where i, j, k go from 1 to 3,,, x1=x, x2 > =y, x3=z, > > 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. > > Eij should generate 3 by 3 matrix containing the strain components. > Frankly, i don't know how to do it using mathematica and i would > appreciate any help in this regard. > > > Thanks in anticipation