83 coor,nodes,mattype,ri,rho,xm,ielstart, ielend)
90 INTEGER :: ielstart, ielend
92 INTEGER :: numel, numnp, nummat
93 INTEGER,
DIMENSION(1:NumEl) :: mattype
94 INTEGER,
DIMENSION(1:8,1:NumEl) :: nodes
95 REAL(KIND=wp),
DIMENSION(1:3,1:NumNP) :: coor
96 REAL(KIND=wp),
DIMENSION(1:3,1:8) :: ri
97 REAL(KIND=wp),
DIMENSION(1:NumMat) :: rho
98 REAL(KIND=wp),
DIMENSION(1:NumNP) :: xm
100 REAL(kind=wp) :: nnn(8), dn(8,3)
102 INTEGER ::
i,imat, igpt
103 INTEGER :: n1,n2,n3,n4,n5,n6,n7,n8
104 REAL(kind=wp) :: element_volume
105 REAL(kind=wp),
DIMENSION(1:3,1:8) ::
coord
106 REAL(kind=wp),
DIMENSION(1:3,1:3) :: jac, jacinv
107 REAL(kind=wp) :: detj
108 REAL(kind=wp) :: node_mass
131 DO i = ielstart, ielend
135 element_volume = 0._wp
146 coord(1,1) = coor(1,n1)
147 coord(2,1) = coor(2,n1)
148 coord(3,1) = coor(3,n1)
150 coord(1,2) = coor(1,n2)
151 coord(2,2) = coor(2,n2)
152 coord(3,2) = coor(3,n2)
154 coord(1,3) = coor(1,n3)
155 coord(2,3) = coor(2,n3)
156 coord(3,3) = coor(3,n3)
158 coord(1,4) = coor(1,n4)
159 coord(2,4) = coor(2,n4)
160 coord(3,4) = coor(3,n4)
162 coord(1,5) = coor(1,n5)
163 coord(2,5) = coor(2,n5)
164 coord(3,5) = coor(3,n5)
166 coord(1,6) = coor(1,n6)
167 coord(2,6) = coor(2,n6)
168 coord(3,6) = coor(3,n6)
170 coord(1,7) = coor(1,n7)
171 coord(2,7) = coor(2,n7)
172 coord(3,7) = coor(3,n7)
174 coord(1,8) = coor(1,n8)
175 coord(2,8) = coor(2,n8)
176 coord(3,8) = coor(3,n8)
183 jacinv(1:3,1:3) = 0.0
186 jac,jacinv,detj,
error)
189 WRITE(*,1000) igpt,
i, detj
193 element_volume = element_volume + detj
197 node_mass = element_volume*rho(imat)*0.125_wp
199 xm(n1 ) = xm(n1 ) + node_mass
200 xm(n2 ) = xm(n2 ) + node_mass
201 xm(n3 ) = xm(n3 ) + node_mass
202 xm(n4 ) = xm(n4 ) + node_mass
203 xm(n5 ) = xm(n5 ) + node_mass
204 xm(n6 ) = xm(n6 ) + node_mass
205 xm(n7 ) = xm(n7 ) + node_mass
206 xm(n8 ) = xm(n8 ) + node_mass
260 1000
FORMAT (/,2
x,
'>>> Fatal error!', &
261 /,6
x,
'Jacobien at gauss point (',i2, &
262 ') of element ',i6,
' is singular with detj =',e14.8)
int coord[NPANE][NROW *NCOL][3]
subroutine implicit_v3d8_mass(NumEl, NumNP, NumMat, coor, nodes, MatType, ri, rho, xm, iElStart, iElEnd)
subroutine get_jacobien(coords, mcrd, nnode, dn, jac, jacinv, detj, error)
subroutine get_shape(r, n, dn, igpt)