Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- strainStress = {
- ϵx[x, y, z] ==
- 1/Y (σx[x, y,
- z] - ν (σy[x, y, z] + σz[x, y, z])),
- γxy[x, y, z] == 1/G τxy[x, y, z],
- γxz[x, y, z] == 1/G τxz[x, y, z],
- γyx[x, y, z] == 1/G τyx[x, y, z],
- ϵy[x, y, z] ==
- 1/Y (σy[x, y,
- z] - ν (σx[x, y, z] + σz[x, y, z])),
- γyz[x, y, z] == 1/G τyz[x, y, z],
- γzx[x, y, z] == 1/G τzx[x, y, z],
- γzy[x, y, z] == 1/G τzy[x, y, z],
- ϵz[x, y, z] ==
- 1/Y (σz[x, y,
- z] - ν (σx[x, y, z] + σy[x, y, z]))
- } /. G -> Y/(2 (1 + ν));
- strainDisp={Derivative[1, 0, 0][u][x, y, z], Derivative[0, 1, 0][u][x, y, z] +
- Derivative[1, 0, 0][v][x, y, z], Derivative[0, 0, 1][u][x, y, z] +
- Derivative[1, 0, 0][w][x, y, z], Derivative[0, 1, 0][u][x, y, z] +
- Derivative[1, 0, 0][v][x, y, z], Derivative[0, 1, 0][v][x, y, z],
- Derivative[0, 0, 1][v][x, y, z] + Derivative[0, 1, 0][w][x, y, z],
- Derivative[0, 0, 1][u][x, y, z] + Derivative[1, 0, 0][w][x, y, z],
- Derivative[0, 0, 1][v][x, y, z] + Derivative[0, 1, 0][w][x, y, z],
- Derivative[0, 0, 1][w][x, y, z]};
- stress = {
- σx[x, y, z], τxy[x, y, z], τxz[x, y, z],
- τyx[x, y, z], σy[x, y, z], τyz[x, y, z],
- τzx[x, y, z], τzy[x, y, z], σz[x, y, z]
- };
- strain = strainStress[[All, 1]];
- sol = stress /. Solve[strainStress, stress];
- {vec, mat} =
- CoefficientArrays[Thread[stress == sol[[1]]], strain] // Normal;
- dd = Join[Grad[u[x, y, z], {x, y, z}], Grad[v[x, y, z], {x, y, z}],
- Grad[w[x, y, z], {x, y, z}]];
- eq2 = -mat.strainDisp;
- {vec2, mat2} =
- CoefficientArrays[Thread[stress == eq2], dd] // Normal // Simplify;
- mat3 = Partition[mat2 // Simplify // Factor, {3, 3}];
- cc = Array[c, {3, 3}];
- coffs = Thread[Flatten[cc, 1] -> Flatten[mat3, 1]];
- idd = {Inactive[Grad][u[x, y, z], {x, y, z}],
- Inactive[Grad][v[x, y, z], {x, y, z}],
- Inactive[Grad][w[x, y, z], {x, y, z}]}
- e1 = cc.idd // ExpandAll
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement