In[10]HookeVto4[ myC_] | Array[ myC[[ {#1, #2} /. indexrule2to1, {#3, #4} /. | indexrule2to1]] &, Array[3 &, 4]] | In[11](C2 = MakeTensor["C", 2, 6]) // MatrixForm | In[12]C2 | In[13](C2to4 = HookeVto4[C2] ) // MatrixForm | In[14]C2to4 | In[15]Hooke4toV[ myC_] ≔ | Apply[ Part[ myC, ##] &, | Array[ Join[ #1 /. indexrule1to2 , #2 /. indexrule1to2] &, | Array[6 &, 2]] , {2}] | In[16]C2back = Hooke4toV[C2to4] ) // MatrixForm | In[17](C4to2 = Hooke4toV[C4] ) // MatrixForm | In[18](C4back = HookeVto4[C4to2]) // MatrixForm | In[19]Hooke2toV[myc2_] Table | Which | i <= 3 && j <= 3 , myc2[[i, j]], | 4 <= i && j <= 3 , myc2[[i, j]] / (1/2), | i <= 3 && 4 <= j , myc2[[i, j]]/ (1/2), | 4 <= i && 4 <= j , myc2[[i, j]]/ 2 | ], {i, 6}, {j, 6}] | HookeVto2[mycV_] ≔ Table[ | Which[ | i <= 3 && j <= 3 , mycV[[i, j]], | 4 <= i && j <= 3 , mycV[[i, j]] * (1/2), | i <= 3 && 4 <= j , mycV[[i, j]] * (1/2), | 4 <= i && 4 <= j , mycV[[i, j]] * 2 | ], {i, 6}, {j, 6}] | Hooke4to2[myC_] HookeVto2[Hooke4toV[ myC ]] | Hooke2to4[myC_] HookeVto4[Hooke2toV[ myC ]] | In[20](CV = Hooke2toV[ C2 ] ) // MatrixForm | In[21](C2back = HookeVto2[ CV ] ) // MatrixForm | In[22](CV = Hooke4to2[C4]) // MatrixForm | In[23]C4back = Hooke2to4[CV]) // MatrixForm |
|