Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: Directory ? Not the current working one !
  • Next by Date: Re: On Mathematica notebook options
  • Previous by thread: Re: Derivative recurrence
  • Next by thread: Re: Derivative recurrence