75 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
76 REAL*8,
POINTER,
DIMENSION(:,:) :: meshcoor
77 INTEGER,
POINTER,
DIMENSION(:) :: matidvol
78 INTEGER,
POINTER,
DIMENSION(:,:) :: elconnvol
79 REAL*8,
POINTER,
DIMENSION(:) :: e, xnu, rho
80 REAL*8,
POINTER,
DIMENSION(:) :: disp
81 REAL*8,
POINTER,
DIMENSION(:) :: deltan, deltat
82 REAL*8,
POINTER,
DIMENSION(:) :: velohalf
83 REAL*8,
POINTER,
DIMENSION(:) :: velobar, accelbar
85 LOGICAL :: aleenabled, dampenabled
86 INTEGER,
POINTER,
DIMENSION(:) :: isolntype
88 INTEGER :: totnumneighprocs
89 INTEGER :: mpi_comm_rocfrac
91 INTEGER,
POINTER,
DIMENSION(:) :: reqrcv, reqsnd
92 INTEGER,
POINTER,
DIMENSION(:,:) :: statrcv, statsnd
93 INTEGER :: totnumndcomm
95 INTEGER :: numelpartbndry
96 INTEGER,
DIMENSION(:),
POINTER :: numelpartbndrymat
97 INTEGER,
DIMENSION(:),
POINTER :: neighproclist
98 INTEGER,
DIMENSION(:),
POINTER :: numndcomm
99 INTEGER,
DIMENSION(:),
POINTER :: numelvolmat
101 TYPE(send_buf),
DIMENSION(:),
POINTER :: ndcommlist
103 TYPE(rcv_buf),
DIMENSION(:),
POINTER :: recvdatafrm
106 TYPE(rcv_buf),
POINTER :: precvdf
108 REAL*8,
ALLOCATABLE,
DIMENSION(:) :: buf
110 INTEGER ::
j, j1,
k , k1, k2
111 INTEGER :: ierr,ianalysistype
112 INTEGER :: elemstart, elemend
113 REAL*8,
POINTER,
DIMENSION(:) :: sigmamax, taumax, sinit
114 REAL*8,
POINTER,
DIMENSION(:,:) :: sthresh1 ,sthresh2
120 numelvol = glb%NumElVol
121 nummatvol = glb%NumMatVol
122 nummatcoh = glb%NumMatCoh
123 ieltype = glb%iEltype
126 meshcoor => glb%MeshCoor
127 matidvol => glb%MatIdVol
128 elconnvol => glb%ElConnVol
132 sigmamax => glb%SigmaMax
134 sthresh1 => glb%Sthresh1
135 sthresh2 => glb%Sthresh2
137 velohalf => glb%VeloHalf
138 velobar => glb%VeloBar
139 accelbar => glb%AccelBar
140 kappadamp = glb%KappaDamp
141 aleenabled = glb%ALEenabled
142 dampenabled = glb%DampEnabled
143 isolntype => glb%iSolnType
145 totnumneighprocs = glb%TotNumNeighProcs
146 mpi_comm_rocfrac = glb%MPI_COMM_ROCFRAC
149 statrcv => glb%StatRcv
150 statsnd => glb%StatSnd
151 totnumndcomm = glb%TotNumNdComm
152 numelpartbndry = glb%NumElPartBndry
153 numelpartbndrymat => glb%NumElPartBndryMat
154 neighproclist => glb%NeighProcList
155 numndcomm => glb%NumNdComm
156 numelvolmat => glb%NumElVolMat
157 ndcommlist => glb%NdCommList
158 recvdatafrm => glb%RecvDataFrm
167 elemend = numelpartbndrymat(
j) + elemstart - 1
169 ianalysistype = isolntype(
j)
173 ELSE IF(ieltype.EQ.10)
THEN
175 ELSE IF(ieltype.EQ.8)
THEN
179 elemstart = numelvolmat(
j) + elemstart
186 CALL
c3d6nm( glb%nsubn1, glb%nsubf1, &
187 glb%nsubn2, glb%nsubf2, &
188 glb%sd_coor1, glb%sd_subfaces1, &
189 glb%sd_subface_parents1, &
190 glb%sd_subface_parents2, &
191 glb%sd_subface_counterparts1, &
192 glb%sd_subface_nat_coors1, &
193 glb%sd_subface_nat_coors2, &
196 glb%NumNp, glb%NumElVol, &
199 glb%MapFaceEl2Vol1, &
200 glb%MapFaceEl2Vol2, &
201 deltan, deltat, sigmamax, taumax, sinit, &
202 rnet, disp, sthresh1, glb%NumMatCoh,
j,-1.d0)
225 ALLOCATE(buf(1:totnumndcomm))
227 DO j1 = 1, totnumneighprocs
228 k = neighproclist(j1)
229 pndcomm => ndcommlist(j1)
230 DO j = 1, numndcomm(j1)
231 k2 = 3*pndcomm%NdId(
j)
232 buf(k1) = rnet( k2 - 2 )
233 buf(k1+1) = rnet( k2 - 1 )
234 buf(k1+2) = rnet( k2 )
242 DO j1 = 1, totnumneighprocs
243 k = neighproclist(j1)+1
244 CALL mpi_irecv(recvdatafrm(
k)%rcvbuf(1),numndcomm(j1)*3, &
245 mpi_double_precision,
k-1,10,mpi_comm_rocfrac, &
252 DO j1 = 1, totnumneighprocs
253 k = neighproclist(j1)
254 CALL mpi_isend(buf(k2), numndcomm(j1)*3,mpi_double_precision, &
255 k,10,mpi_comm_rocfrac,reqsnd(j1),ierr)
256 k2 = k2 + numndcomm(j1)*3
265 CALL
v3d4_ale(velobar,accelbar,disp,velohalf,rnet, &
266 e,xnu,rho,numnp,nummatvol, &
267 numelvol,matidvol,elconnvol,meshcoor, &
268 numelpartbndry+1,numelvol)
270 CALL
v3d10_ale(velobar,accelbar,disp,velohalf,rnet, &
271 e,xnu,rho,numnp,nummatvol, &
272 numelvol,matidvol,elconnvol,meshcoor, &
273 numelpartbndry+1,numelvol)
284 elemstart = elemend + numelpartbndrymat(
j) + 1
286 elemend = numelvolmat(
j) + elemend
290 ELSE IF(ieltype.EQ.10)
THEN
292 ELSE IF(ieltype.EQ.8)
THEN
297 IF(totnumneighprocs.GT.0)
THEN
298 CALL mpi_waitall(totnumneighprocs,reqrcv,statrcv,ierr)
299 CALL mpi_waitall(totnumneighprocs,reqsnd,statsnd,ierr)
307 DO j1 = 1, totnumneighprocs
308 k = neighproclist(j1)+1
310 pndcomm => ndcommlist(j1)
311 precvdf => recvdatafrm(
k)
312 DO j = 1, numndcomm(j1)
313 k2 = ( pndcomm%NdId(
j) )*3
314 rnet(k2-2)= rnet(k2-2) + precvdf%rcvbuf(k1)
315 rnet(k2-1)= rnet(k2-1) + precvdf%rcvbuf(k1+1)
316 rnet(k2) = rnet(k2) + precvdf%rcvbuf(k1+2)
337 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
338 REAL*8,
DIMENSION(1:glb%NumNP) :: rnetht
339 REAL*8,
POINTER,
DIMENSION(:,:) :: meshcoor
340 INTEGER,
POINTER,
DIMENSION(:) :: matidvol
341 INTEGER,
POINTER,
DIMENSION(:,:) :: elconnvol
342 REAL*8,
POINTER,
DIMENSION(:) :: e, xnu, rho, cp, kappaht
343 REAL*8,
POINTER,
DIMENSION(:) :: disp
344 REAL*8,
POINTER,
DIMENSION(:) :: velohalf
345 REAL*8,
POINTER,
DIMENSION(:) :: velobar, accelbar
347 LOGICAL :: aleenabled, dampenabled
348 INTEGER,
POINTER,
DIMENSION(:) :: isolntype
350 INTEGER :: totnumneighprocs
351 INTEGER :: mpi_comm_rocfrac
353 INTEGER,
POINTER,
DIMENSION(:) :: reqrcv, reqsnd
354 INTEGER,
POINTER,
DIMENSION(:,:) :: statrcv, statsnd
355 INTEGER :: totnumndcomm
357 INTEGER :: numelpartbndry
358 INTEGER,
DIMENSION(:),
POINTER :: numelpartbndrymat
359 INTEGER,
DIMENSION(:),
POINTER :: neighproclist
360 INTEGER,
DIMENSION(:),
POINTER :: numndcomm
361 INTEGER,
DIMENSION(:),
POINTER :: numelvolmat
365 TYPE(send_buf),
DIMENSION(:),
POINTER :: ndcommlist
367 TYPE(rcv_buf),
DIMENSION(:),
POINTER :: recvdatafrm
370 TYPE(rcv_buf),
POINTER :: precvdf
372 REAL*8,
ALLOCATABLE,
DIMENSION(:) :: buf
374 INTEGER ::
i,
j, j1,
k , k1, k2
375 INTEGER :: ierr,ianalysistype
376 INTEGER :: elemstart, elemend
377 logical :: heattranssoln
379 integer :: numndsbcht
380 real*8,
DIMENSION(:),
POINTER :: temperature
381 integer,
DIMENSION(:,:),
POINTER :: bcflaght
382 real*8,
DIMENSION(:,:),
POINTER :: bcvalueht
388 numelvol = glb%NumElVol
389 nummatvol = glb%NumMatVol
390 ieltype = glb%iEltype
393 meshcoor => glb%MeshCoor
394 matidvol => glb%MatIdVol
395 elconnvol => glb%ElConnVol
397 velohalf => glb%VeloHalf
398 velobar => glb%VeloBar
399 accelbar => glb%AccelBar
400 kappadamp = glb%KappaDamp
401 aleenabled = glb%ALEenabled
402 dampenabled = glb%DampEnabled
403 isolntype => glb%iSolnType
405 totnumneighprocs = glb%TotNumNeighProcs
406 mpi_comm_rocfrac = glb%MPI_COMM_ROCFRAC
409 statrcv => glb%StatRcv
410 statsnd => glb%StatSnd
411 totnumndcomm = glb%TotNumNdComm
412 numelpartbndry = glb%NumElPartBndry
413 numelpartbndrymat => glb%NumElPartBndryMat
414 neighproclist => glb%NeighProcList
415 numndcomm => glb%NumNdComm
416 numelvolmat => glb%NumElVolMat
417 ndcommlist => glb%NdCommList
418 recvdatafrm => glb%RecvDataFrm
423 kappaht => glb%KappaHT
424 heattranssoln = glb%HeatTransSoln
427 numndsbcht = glb%NumNdsBCHT
428 bcflaght => glb%BCFlagHT
429 temperature => glb%Temperature
430 bcvalueht => glb%BCvalueHT
439 elemend = numelpartbndrymat(
j) + elemstart - 1
441 ianalysistype = isolntype(
j)
443 DO i = 1,glb%NumNdsBCHT
444 k4 = glb%BCFlagHT(1,
i)
446 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
447 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
454 CALL
v3d4_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
455 rnetht, temperature, rho, cp, matidvol, nummatvol,velobar,elemstart, elemend)
459 Call
v3d10_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
460 rnetht, temperature, rho, cp, matidvol, nummatvol, velobar,elemstart, elemend)
464 elemstart = numelvolmat(
j) + elemstart
469 ALLOCATE(buf(1:totnumndcomm/3))
471 DO j1 = 1, totnumneighprocs
472 pndcomm => ndcommlist(j1)
473 DO j = 1, numndcomm(j1)
474 buf(k1) = rnetht(pndcomm%NdId(
j))
482 DO j1 = 1, totnumneighprocs
483 k = neighproclist(j1)+1
484 CALL mpi_irecv(recvdatafrm(
k)%rcvbuf(1),numndcomm(j1), &
485 mpi_double_precision,
k-1,10,mpi_comm_rocfrac, &
492 DO j1 = 1, totnumneighprocs
493 k = neighproclist(j1)
494 CALL mpi_isend(buf(k2), numndcomm(j1),mpi_double_precision, &
495 k,10,mpi_comm_rocfrac,reqsnd(j1),ierr)
496 k2 = k2 + numndcomm(j1)
505 elemstart = elemend + numelpartbndrymat(
j) + 1
507 elemend = numelvolmat(
j) + elemend
511 CALL
v3d4_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
512 rnetht, temperature, rho, cp, matidvol, nummatvol,velobar,elemstart, elemend)
515 Call
v3d10_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
516 rnetht, temperature, rho, cp, matidvol, nummatvol, velobar,elemstart, elemend)
520 IF(totnumneighprocs.GT.0)
THEN
521 CALL mpi_waitall(totnumneighprocs,reqrcv,statrcv,ierr)
522 CALL mpi_waitall(totnumneighprocs,reqsnd,statsnd,ierr)
530 DO j1 = 1, totnumneighprocs
531 k = neighproclist(j1)+1
533 pndcomm => ndcommlist(j1)
534 precvdf => recvdatafrm(
k)
535 DO j = 1, numndcomm(j1)
537 rnetht(k2) = rnetht(k2) + precvdf%rcvbuf(k1)
544 glb%Temperature(
i) = glb%Temperature(
i) + glb%DT*glb%CapctInv(
i)*rnetht(
i)
547 DO i = 1,glb%NumNdsBCHT
548 k4 = glb%BCFlagHT(1,
i)
550 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
551 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
563 elemend = numelpartbndrymat(
j) + elemstart - 1
565 ianalysistype = isolntype(
j)
588 CALL
v3d10_thermalexp(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%ci, &
589 glb%S11,glb%S22,glb%S33, &
590 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, glb%alpha, temperature, glb%Temperature0)
594 elemstart = numelvolmat(
j) + elemstart
601 ALLOCATE(buf(1:totnumndcomm))
603 DO j1 = 1, totnumneighprocs
604 k = neighproclist(j1)
605 pndcomm => ndcommlist(j1)
606 DO j = 1, numndcomm(j1)
607 k2 = 3*pndcomm%NdId(
j)
608 buf(k1) = rnet( k2 - 2 )
609 buf(k1+1) = rnet( k2 - 1 )
610 buf(k1+2) = rnet( k2 )
619 DO j1 = 1, totnumneighprocs
620 k = neighproclist(j1)+1
621 CALL mpi_irecv(recvdatafrm(
k)%rcvbuf(1),numndcomm(j1)*3, &
622 mpi_double_precision,
k-1,10,mpi_comm_rocfrac, &
630 DO j1 = 1, totnumneighprocs
631 k = neighproclist(j1)
632 CALL mpi_isend(buf(k2), numndcomm(j1)*3,mpi_double_precision, &
633 k,10,mpi_comm_rocfrac,reqsnd(j1),ierr)
634 k2 = k2 + numndcomm(j1)*3
643 CALL
v3d4_ale(velobar,accelbar,disp,velohalf,rnet, &
644 e,xnu,rho,numnp,nummatvol, &
645 numelvol,matidvol,elconnvol,meshcoor, &
646 numelpartbndry+1,numelvol)
648 CALL
v3d10_ale(velobar,accelbar,disp,velohalf,rnet, &
649 e,xnu,rho,numnp,nummatvol, &
650 numelvol,matidvol,elconnvol,meshcoor, &
651 numelpartbndry+1,numelvol)
662 elemstart = elemend + numelpartbndrymat(
j) + 1
664 elemend = numelvolmat(
j) + elemend
678 CALL
v3d10_thermalexp(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%ci, &
679 glb%S11,glb%S22,glb%S33, &
680 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, glb%alpha, temperature, glb%Temperature0)
686 IF(totnumneighprocs.GT.0)
THEN
687 CALL mpi_waitall(totnumneighprocs,reqrcv,statrcv,ierr)
688 CALL mpi_waitall(totnumneighprocs,reqsnd,statsnd,ierr)
696 DO j1 = 1, totnumneighprocs
697 k = neighproclist(j1)+1
699 pndcomm => ndcommlist(j1)
700 precvdf => recvdatafrm(
k)
701 DO j = 1, numndcomm(j1)
702 k2 = ( pndcomm%NdId(
j) )*3
703 rnet(k2-2)= rnet(k2-2) + precvdf%rcvbuf(k1)
704 rnet(k2-1)= rnet(k2-1) + precvdf%rcvbuf(k1+1)
705 rnet(k2) = rnet(k2) + precvdf%rcvbuf(k1+2)
719 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
721 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
723 IF (ianalysistype.EQ.0)
THEN
725 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
726 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
728 ELSE IF(ianalysistype.EQ.1)
THEN
729 CALL
v3d4_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
730 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
731 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol,glb%xmu,glb%xlambda)
732 ELSE IF(ianalysistype.EQ.-1)
THEN
734 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
735 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
739 CALL
v3d4(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
740 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
741 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
746 IF(glb%DampEnabled)
THEN
748 glb%NumElVol,glb%ElConnVol,glb%MeshCoor, &
749 elemstart,elemend, glb%KappaDamp)
760 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
761 REAL*8,
DIMENSION(1:glb%NumNP) :: temperature
763 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
765 IF (ianalysistype.EQ.0)
THEN
767 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
768 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
770 ELSE IF(ianalysistype.EQ.1)
THEN
771 CALL
v3d4_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
772 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
773 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol,glb%xmu,glb%xlambda)
774 ELSE IF(ianalysistype.EQ.-1)
THEN
776 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
777 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
781 CALL
v3d4_thermalexp2(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
782 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
783 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
784 glb%alpha,temperature,glb%Temperature0)
789 IF(glb%DampEnabled)
THEN
791 glb%NumElVol,glb%ElConnVol,glb%MeshCoor, &
792 elemstart,elemend, glb%KappaDamp)
804 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
806 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
808 IF(glb%DebondPart)
THEN
810 CALL
v3d10_nl_huang(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp, &
811 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
812 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
813 glb%STATEV_Part1,glb%STATEV_Part2,glb%NSTATEV,glb%MATRIX,glb%NMATRIX, &
814 glb%PARTICLE,glb%NPARTICLE,glb%NPARTICLETYPE,glb%INTERFAC,glb%NINTERFAC,glb%StrainTrace)
816 ELSE IF(glb%DebondPart_Matous)
THEN
819 IF(glb%Debug_State)
print*,
'Starting v3d10_nl_matous', elemstart,elemend
822 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
823 glb%NumNP,elemstart,elemend,glb%NumElVol, &
824 glb%p1, glb%p2, glb%Yin, glb%SoftParam, glb%BulkMod(2), glb%BulkMod(1), &
825 glb%ShrMod(2), glb%ShrMod(1), glb%PoisRat(2), glb%PoisRat(1), &
826 glb%a_eta, glb%a_zeta,&
827 glb%cm, glb%c2, glb%cd, glb%Lo, glb%L_tensor(:,:,1), &
828 glb%L_tensor(:,:,2), glb%M_tensor(:,:,1), glb%M_tensor(:,:,2), glb%L_bar, &
831 IF(glb%Debug_State)
print*,
'Finished v3d10_nl_matous', elemstart,elemend
837 IF (ianalysistype.EQ.0)
THEN
839 IF ( glb%ArtificialDamping)
THEN
842 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
843 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
844 glb%xmu,glb%xkappa, glb%rho, glb%cd_fastest, glb%DetF_old, glb%VeloHalf, glb%Dt)
849 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
850 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
854 ELSE IF (ianalysistype.EQ.1)
THEN
856 IF(glb%iElIntgratn.EQ.0)
THEN
858 IF ( glb%ArtificialDamping)
THEN
861 CALL
v3d10_nl_damping(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
862 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
863 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
864 glb%rho, glb%cd_fastest, glb%DetF_old, glb%VeloHalf, glb%Dt)
868 CALL
v3d10_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
869 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
870 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
874 CALL
v3d10r_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci,glb%cj, &
875 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
876 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
879 ELSE IF (ianalysistype.EQ.2)
THEN
882 IF(glb%iElIntgratn.EQ.0)
THEN
885 CALL
v3d10(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
886 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
887 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
891 CALL
v3d10_b_bar(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
892 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
893 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
906 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
908 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
911 CALL
v3d8_me(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%dmat, &
912 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
913 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol,glb%Aenh,glb%enhanced_map,glb%mixed_map)
subroutine v3d10(coor, matcstet, lmcstet, R_in, d, ci, S11l, S22l, S33l, S12l, S23l, S13l, numnp, nstart, nend, numcstet, numat_vol)
subroutine v3d4_damping(vhalf, R_in, numnp, numcstet, lmcstet, coor, nstart, nend, KappaDamp)
subroutine v3d10_nl(coor, matcstet, lmcstet, R_in, d, ci, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol)
subroutine c3d6nm(nsubn, nsubf, nsubn2, nsubf2, CoorOverlay, ElConnOverlay, sd_subface_parents, sd_subface_parents2, sd_subface_mate, sd_subface_nat_coors, sd_subface_nat_coors_mate, FaceOfVolEl, FaceOfVolEl2, NumNp, NumEl, ElConn, nf, nf2, MapFaceEl2Vol, MapFaceEl2Vol2, deltan, deltat, sigmax, taumax, Sinit, Rnet, Disp, Sthresh, NumMatCoh, MatID, SignFlag)
subroutine v3d4_nl_arruda_boyce(coor, matcstet, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, mu, kapp)
subroutine v3d10_b_bar(coor, matcstet, lmcstet, R_in, d, ci, S11l, S22l, S33l, S12l, S23l, S13l, numnp, nstart, nend, numcstet, numat_vol)
subroutine v3d10_nl_arruda_boyce(coor, matcstet, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, mu, kappa)
subroutine v3d10_thermal(NumEl, NumNP, ElConnVol, Coor, Kappa, Rnet, T, Rho, Cp, matcstet, numat_vol, MeshVel, ElemStart, ElemEnd)
subroutine v3d10_nl_huang(coor, matcstet, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, STATEV_Part1, STATEV_Part2, NSTATEV, MATRIX, NMATRIX, PARTICLE, NPARTICLE, NPARTICLETYPE, INTERFAC, NINTERFAC, StrainTrace)
subroutine internalforce_v3d4(glb, Rnet, ElemStart, ElemEnd, iAnalysisType)
subroutine updatestructural(glb, NumProcs, Rnet)
subroutine v3d10_thermalexp(coor, matcstet, lmcstet, R_in, ci, S11l, S22l, S33l, numnp, nstart, nend, numcstet, numat_vol, CoeffExp, Temperature, Temperature0)
subroutine v3d4_nl(coor, matcstet, lmcstet, R_in, d, ci, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, xmu, xlambda)
subroutine internalforce_v3d8(glb, Rnet, ElemStart, ElemEnd, iAnalysisType)
subroutine v3d10r_nl(coor, matcstet, lmcstet, R_in, d, ci, cj, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol)
subroutine v3d4_thermalexp2(coor, matcstet, lmcstet, R_in, d, ci, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, CoeffExp, Temperature, Temperature0)
subroutine updatestructuralht(glb, NumProcs, Rnet, RnetHT)
subroutine v3d4_thermal(NumEl, NumNP, ElConnVol, Coor, Kappa, Rnet, T, Rho, Cp, matcstet, numat_vol, MeshVelo, ElemStart, ElemEnd)
subroutine v3d4_neohookeanincompress(coor, matcstet, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, xmu, xkappa)
subroutine v3d10_nl_damping(coor, matcstet, lmcstet, R_in, d, ci, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, rho, cd_fastest, DetFold, velo, dt)
subroutine v3d4(coor, matcstet, lmcstet, R_in, d, ci, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol)
subroutine v3d10_nl_matous(coor, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, p1, p2, Yin, SoftParam, Km, K2, Gm, G2, vm, nu2, a_eta, a_zeta, cm, c2, cd, Lo, Lm, L2, Mm, M2, L_bar, StrainOld)
subroutine v3d8_me(coor, MatType, ElConnVol, Rnet, disp, dmat, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, NumEL, NumMatType, Aenh, enhanced_map, mixed_map)
subroutine internalforce_v3d4ht(glb, Rnet, ElemStart, ElemEnd, iAnalysisType, Temperature)
subroutine v3d10_ale(v_bar, a_bar, d, vhalf, Rnet, E, xnu, rho, numnp, numat_vol, numlstet, matlstet, lmlstet, meshcoor, nstart, nend)
subroutine internalforce_v3d10(glb, Rnet, ElemStart, ElemEnd, iAnalysisType)
subroutine v3d10_nl_arruda_boyce_damping(coor, matcstet, lmcstet, R_in, d, S11, S22, S33, S12, S23, S13, numnp, nstart, nend, numcstet, numat_vol, mu, kappa, rho, cd_fastest, DetFold, velo, dt)
subroutine v3d4_ale(v_bar, a_bar, d, vhalf, Rnet, E, xnu, rho, numnp, numat_vol, numcstet, matcstet, lmcstet, meshcoor, nstart, nend)