Figo311

15 Reputation

2 Badges

6 years, 57 days

MaplePrimes Activity


These are replies submitted by Figo311

@Carl Love 

Thanks a lot, I tried I tried rtable_eval (C [ISO]) and it did the trick. I did try to execute the sheet from the restart but I don't get the same output as you.


I am not using maple 2015 but maple 15 which is a 2011 version. This could be one of the reasons we don't get the same output.


Anyway, thank you for your help. Here is the latest version of the script.


Download Forum_Question_V4.mwForum_Question_V4.mw

 

Homogénéisation

 

restart; with(plots); with(DifferentialGeometry); with(LinearAlgebra); with(Physics)

  NULL

Paramètre des matériaux

 

p[p] := [34.68, 34.82]:
NULL

 

NULLNULL

Tenseurs Élémentaires

 

NULL

Tenseur de rigidité

 

V := 1/((1+upsilon[23])*(-2*upsilon[12]*upsilon[21]-upsilon[23]+1)); G[12] := E/(2*(1+upsilon[12])); C[11] := (-upsilon[23]^2+1)*V*E[1]; C[22] := (-upsilon[12]*upsilon[21]+1)*V*E[2]; C[12] := upsilon[21]*(1+upsilon[23])*V*E[2]; C[23] := (upsilon[12]*upsilon[21]+upsilon[23])*V*E[2]; C[44] := (1/2)*(-2*upsilon[12]*upsilon[21]-upsilon[23]+1)*V*E[2]; C[55] := E[6]; C[33] := C[22]; C[13] := C[12]; C[66] := C[55]; C[21] := C[12]; C[32] := C[23]; C[iso] := Matrix(6, 6, {(1, 1) = C[11], (1, 2) = C[12], (1, 3) = C[12], (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (2, 1) = C[21], (2, 2) = C[22], (2, 3) = C[23], (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (3, 1) = C[21], (3, 2) = C[32], (3, 3) = C[22], (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = C[44], (4, 5) = 0, (4, 6) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = C[66], (5, 6) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = C[66]})

Matrice de rigidité

 

upsilon[23] := upsilon[p]:

Matrix([[16.66666666, 4.166666667, 4.166666667, 0, 0, 0], [4.166666667, 16.66666666, 4.166666667, 0, 0, 0], [4.166666667, 4.166666667, 16.66666666, 0, 0, 0], [0, 0, 0, 6.250000000, 0, 0], [0, 0, 0, 0, 15.0, 0], [0, 0, 0, 0, 0, 15.0]])

(1.2.1.1.1)

upsilon[23] := upsilon[s]:

Matrix([[99.99999999, 25.00000000, 25.00000000, 0, 0, 0], [25.00000000, 99.99999999, 25.00000000, 0, 0, 0], [25.00000000, 25.00000000, 99.99999999, 0, 0, 0], [0, 0, 0, 37.50000000, 0, 0], [0, 0, 0, 0, 90, 0], [0, 0, 0, 0, 0, 90]])

(1.2.1.1.2)

upsilon[23] := upsilon[g]:

Matrix([[188.4615384, 80.76923077, 80.76923077, 0, 0, 0], [80.76923077, 188.4615384, 80.76923077, 0, 0, 0], [80.76923077, 80.76923077, 188.4615384, 0, 0, 0], [0, 0, 0, 53.84615385, 0, 0], [0, 0, 0, 0, 140, 0], [0, 0, 0, 0, 0, 140]])

(1.2.1.1.3)

NULL

C[p0], C[s0], C[g0];

Matrix(6, 6, {(1, 1) = 16.66666666, (1, 2) = 4.166666667, (1, 3) = 4.166666667, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (2, 1) = 4.166666667, (2, 2) = 16.66666666, (2, 3) = 4.166666667, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (3, 1) = 4.166666667, (3, 2) = 4.166666667, (3, 3) = 16.66666666, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 6.250000000, (4, 5) = 0, (4, 6) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 15.0, (5, 6) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 15.0}), Matrix(6, 6, {(1, 1) = 99.99999999, (1, 2) = 25.00000000, (1, 3) = 25.00000000, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (2, 1) = 25.00000000, (2, 2) = 99.99999999, (2, 3) = 25.00000000, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (3, 1) = 25.00000000, (3, 2) = 25.00000000, (3, 3) = 99.99999999, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 37.50000000, (4, 5) = 0, (4, 6) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 90, (5, 6) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 90}), Matrix(6, 6, {(1, 1) = 188.4615384, (1, 2) = 80.76923077, (1, 3) = 80.76923077, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (2, 1) = 80.76923077, (2, 2) = 188.4615384, (2, 3) = 80.76923077, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (3, 1) = 80.76923077, (3, 2) = 80.76923077, (3, 3) = 188.4615384, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 53.84615385, (4, 5) = 0, (4, 6) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 140, (5, 6) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 140})

(1)

``

NULL

 

 

@vv 

Thank you,

This is not exactly what I want. To execute your example, I cannot use previously assigned value as in my script. I need to write the numerical value of each variable in consts.

Here is what I did:

const := [upsilon[23] = upsilon[p], upsilon[21] = upsilon[p], upsilon[12] = upsilon[p], E[1] = E[p], E[2] = E[p], E[6] = E[p]]:

I get this:

Matrix([[C[11], C[12], C[12], 0, 0, 0], [C[21], C[22], C[23], 0, 0, 0], [C[21], C[32], C[22], 0, 0, 0], [0, 0, 0, C[44], 0, 0], [0, 0, 0, 0, C[66], 0], [0, 0, 0, 0, 0, C[66]]])


instead of a numerical matrix.


I would like to be able to stay analytical in the script but not in the output since the values will be used many times and are susceptible to change.


I already tried a similar solution with the subs function and got the same problem.


Here is the whole script if needed.

Forum_Question_V2.mw

Page 1 of 1