73 ALLOCATE(glb%L_tensor(1:6,1:6,1:glb%NumMatVol_Part))
74 ALLOCATE(glb%M_tensor(1:6,1:6,1:glb%NumMatVol_Part))
79 DO i = 1, glb%NumMatVol_Part
95 glb%M_tensor(1,1,
i) = 1.d0 / glb%E1(
i)
96 glb%M_tensor(1,2,
i) = - glb%nu12(
i) / glb%E2(
i)
97 glb%M_tensor(1,3,
i) = - glb%nu13(
i) / glb%E3(
i)
98 glb%M_tensor(2,1,
i) = glb%M_tensor(1,2,
i)
99 glb%M_tensor(2,2,
i) = 1.d0 / glb%E2(
i)
100 glb%M_tensor(2,3,
i) = - glb%nu23(
i) / glb%E3(
i)
101 glb%M_tensor(3,1,
i) = glb%M_tensor(1,3,
i)
102 glb%M_tensor(3,2,
i) = glb%M_tensor(2,3,
i)
103 glb%M_tensor(3,3,
i) = 1.d0 / glb%E3(
i)
104 glb%M_tensor(4,4,
i) = 1.d0/glb%G12(
i)
105 glb%M_tensor(5,5,
i) = 1.d0/glb%G13(
i)
106 glb%M_tensor(6,6,
i) = 1.d0/glb%G23(
i)
110 CALL
invert2(glb%M_tensor(:,:,
i), glb%L_tensor(:,:,
i), 6)
113 print*,
' Stiffness Matrix of Material',
i
118 print*,
' Compliance Matrix of Material',
i
131 glb%ShrMod(
i) = 1.d0/glb%M_tensor(4,4,
i)
132 glb%PoisRat(
i) = -glb%M_tensor(1,2,
i)*1.d0/glb%M_tensor(1,1,
i)
133 glb%BulkMod(
i) = glb%E1(
i)/(3.*(1.-2.*glb%PoisRat(
i)))
138 print*,
'Comparison medium Lo = a1*Lm + a2*L2 : a1 =',glb%alpha1,
' | a2 =', glb%alpha2
141 CALL
compositestiffnes(glb%L_tensor(:,:,1), glb%L_tensor(:,:,2), glb%M_tensor(:,:,1), glb%M_tensor(:,:,2), glb%cm, glb%c2, &
142 glb%alpha1, glb%alpha2, glb%L_bar, glb%M_bar, glb%Lo)
144 print*,
'Stiffness Matrix of Homogeneous Medium'
150 print*,
'Compliance Matrix of Homogeneous Medium'
158 print*,
'E = 1/M(1,1) = ', 1.d0/glb%M_bar(1,1),
'G = 1/M[4][4] = ', &
159 1.d0/glb%M_bar(4,4),
'nu = -M(1,2)*E =,', -glb%M_bar(1,2)*1./glb%M_bar(1,1)
161 e_l = 1.d0/glb%M_bar(1,1)
162 nu_l = -glb%M_bar(1,2)*1.d0/glb%M_bar(1,1)
164 print*,e_l*(1.d0-nu_l),glb%rho(1),(1.d0+nu_l)/(1.d0-2.d0*nu_l)
165 glb%cd_fastest =
sqrt( e_l*(1.d0-nu_l)/glb%rho(1)/(1.d0+nu_l)/(1.d0-2.d0*nu_l) )
subroutine vol_elem_mat_matous(glb)
subroutine compositestiffnes(Lm, L2, Mm, M2, cm, c2, alpha1, alpha2, L_bar, M_bar, Lo)
subroutine invert2(Inv_in, a, nrow)