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
191 CALL
c3d6nm( glb%nsubn1, glb%nsubf1, &
192 glb%nsubn2, glb%nsubf2, &
193 glb%sd_coor1, glb%sd_subfaces1, &
194 glb%sd_subface_parents1, &
195 glb%sd_subface_parents2, &
196 glb%sd_subface_counterparts1, &
197 glb%sd_subface_nat_coors1, &
198 glb%sd_subface_nat_coors2, &
201 glb%NumNp, glb%NumElVol, &
204 glb%MapFaceEl2Vol1, &
205 glb%MapFaceEl2Vol2, &
206 deltan, deltat, sigmamax, taumax, sinit, &
207 rnet, disp, sthresh1, glb%NumMatCoh,
j,-1.d0)
230 ALLOCATE(buf(1:totnumndcomm))
232 DO j1 = 1, totnumneighprocs
233 k = neighproclist(j1)
234 pndcomm => ndcommlist(j1)
235 DO j = 1, numndcomm(j1)
236 k2 = 3*pndcomm%NdId(
j)
237 buf(k1) = rnet( k2 - 2 )
238 buf(k1+1) = rnet( k2 - 1 )
239 buf(k1+2) = rnet( k2 )
247 DO j1 = 1, totnumneighprocs
248 k = neighproclist(j1)+1
249 CALL mpi_irecv(recvdatafrm(
k)%rcvbuf(1),numndcomm(j1)*3, &
250 mpi_double_precision,
k-1,10,mpi_comm_rocfrac, &
257 DO j1 = 1, totnumneighprocs
258 k = neighproclist(j1)
259 CALL mpi_isend(buf(k2), numndcomm(j1)*3,mpi_double_precision, &
260 k,10,mpi_comm_rocfrac,reqsnd(j1),ierr)
261 k2 = k2 + numndcomm(j1)*3
270 CALL
v3d4_ale(velobar,accelbar,disp,velohalf,rnet, &
271 e,xnu,rho,numnp,nummatvol, &
272 numelvol,matidvol,elconnvol,meshcoor, &
273 numelpartbndry+1,numelvol)
275 CALL
v3d10_ale(velobar,accelbar,disp,velohalf,rnet, &
276 e,xnu,rho,numnp,nummatvol, &
277 numelvol,matidvol,elconnvol,meshcoor, &
278 numelpartbndry+1,numelvol)
289 elemstart = elemend + numelpartbndrymat(
j) + 1
291 elemend = numelvolmat(
j) + elemend
295 ELSE IF(ieltype.EQ.10)
THEN
297 ELSE IF(ieltype.EQ.8)
THEN
302 IF(totnumneighprocs.GT.0)
THEN
303 CALL mpi_waitall(totnumneighprocs,reqrcv,statrcv,ierr)
304 CALL mpi_waitall(totnumneighprocs,reqsnd,statsnd,ierr)
312 DO j1 = 1, totnumneighprocs
313 k = neighproclist(j1)+1
315 pndcomm => ndcommlist(j1)
316 precvdf => recvdatafrm(
k)
317 DO j = 1, numndcomm(j1)
318 k2 = ( pndcomm%NdId(
j) )*3
319 rnet(k2-2)= rnet(k2-2) + precvdf%rcvbuf(k1)
320 rnet(k2-1)= rnet(k2-1) + precvdf%rcvbuf(k1+1)
321 rnet(k2) = rnet(k2) + precvdf%rcvbuf(k1+2)
342 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
343 REAL*8,
DIMENSION(1:glb%NumNP) :: rnetht
344 REAL*8,
POINTER,
DIMENSION(:,:) :: meshcoor
345 INTEGER,
POINTER,
DIMENSION(:) :: matidvol
346 INTEGER,
POINTER,
DIMENSION(:,:) :: elconnvol
347 REAL*8,
POINTER,
DIMENSION(:) :: e, xnu, rho, cp, kappaht
348 REAL*8,
POINTER,
DIMENSION(:) :: disp
349 REAL*8,
POINTER,
DIMENSION(:) :: velohalf
350 REAL*8,
POINTER,
DIMENSION(:) :: velobar, accelbar
352 LOGICAL :: aleenabled, dampenabled
353 INTEGER,
POINTER,
DIMENSION(:) :: isolntype
355 INTEGER :: totnumneighprocs
356 INTEGER :: mpi_comm_rocfrac
358 INTEGER,
POINTER,
DIMENSION(:) :: reqrcv, reqsnd
359 INTEGER,
POINTER,
DIMENSION(:,:) :: statrcv, statsnd
360 INTEGER :: totnumndcomm
362 INTEGER :: numelpartbndry
363 INTEGER,
DIMENSION(:),
POINTER :: numelpartbndrymat
364 INTEGER,
DIMENSION(:),
POINTER :: neighproclist
365 INTEGER,
DIMENSION(:),
POINTER :: numndcomm
366 INTEGER,
DIMENSION(:),
POINTER :: numelvolmat
370 TYPE(send_buf),
DIMENSION(:),
POINTER :: ndcommlist
372 TYPE(rcv_buf),
DIMENSION(:),
POINTER :: recvdatafrm
375 TYPE(rcv_buf),
POINTER :: precvdf
377 REAL*8,
ALLOCATABLE,
DIMENSION(:) :: buf
379 INTEGER ::
i,
j, j1,
k , k1, k2
380 INTEGER :: ierr,ianalysistype
381 INTEGER :: elemstart, elemend
382 logical :: heattranssoln
384 integer :: numndsbcht
385 real*8,
DIMENSION(:),
POINTER :: temperature
386 integer,
DIMENSION(:,:),
POINTER :: bcflaght
387 real*8,
DIMENSION(:,:),
POINTER :: bcvalueht
393 numelvol = glb%NumElVol
394 nummatvol = glb%NumMatVol
395 ieltype = glb%iEltype
398 meshcoor => glb%MeshCoor
399 matidvol => glb%MatIdVol
400 elconnvol => glb%ElConnVol
402 velohalf => glb%VeloHalf
403 velobar => glb%VeloBar
404 accelbar => glb%AccelBar
405 kappadamp = glb%KappaDamp
406 aleenabled = glb%ALEenabled
407 dampenabled = glb%DampEnabled
408 isolntype => glb%iSolnType
410 totnumneighprocs = glb%TotNumNeighProcs
411 mpi_comm_rocfrac = glb%MPI_COMM_ROCFRAC
414 statrcv => glb%StatRcv
415 statsnd => glb%StatSnd
416 totnumndcomm = glb%TotNumNdComm
417 numelpartbndry = glb%NumElPartBndry
418 numelpartbndrymat => glb%NumElPartBndryMat
419 neighproclist => glb%NeighProcList
420 numndcomm => glb%NumNdComm
421 numelvolmat => glb%NumElVolMat
422 ndcommlist => glb%NdCommList
423 recvdatafrm => glb%RecvDataFrm
428 kappaht => glb%KappaHT
429 heattranssoln = glb%HeatTransSoln
433 numndsbcht = glb%NumNdsBCHT
434 bcflaght => glb%BCFlagHT
435 temperature => glb%Temperature
436 bcvalueht => glb%BCvalueHT
439 elemend = numelpartbndrymat(
j) + elemstart - 1
441 ianalysistype = isolntype(
j)
444 DO i = 1,glb%NumNdsBCHT
445 k4 = glb%BCFlagHT(1,
i)
447 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
448 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
459 CALL
v3d4_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
460 rnetht, temperature, rho, cp, matidvol, nummatvol,velobar,elemstart, elemend)
463 glb%Temperature(:) = glb%Temperature(:) + glb%DT*glb%CapctInv(:)*rnetht(:)
465 DO i = 1,glb%NumNdsBCHT
466 k4 = glb%BCFlagHT(1,
i)
468 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
469 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
487 Call
v3d10_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
488 rnetht, temperature, rho, cp, matidvol, nummatvol, velobar,elemstart, elemend)
490 glb%Temperature(:) = glb%Temperature(:) + glb%DT*glb%CapctInv(:)*rnetht(:)
492 DO i = 1,glb%NumNdsBCHT
493 k4 = glb%BCFlagHT(1,
i)
495 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
496 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
501 CALL
v3d10_thermalexp(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%ci, &
502 glb%S11,glb%S22,glb%S33, &
503 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, glb%alpha, temperature, glb%Temperature0)
507 elemstart = numelvolmat(
j) + elemstart
512 ALLOCATE(buf(1:totnumndcomm+totnumndcomm/3))
514 DO j1 = 1, totnumneighprocs
515 k = neighproclist(j1)
516 pndcomm => ndcommlist(j1)
517 DO j = 1, numndcomm(j1)
518 k2 = 3*pndcomm%NdId(
j)
519 buf(k1) = rnet( k2 - 2 )
520 buf(k1+1) = rnet( k2 - 1 )
521 buf(k1+2) = rnet( k2 )
522 buf(k1+3) = rnetht(pndcomm%NdId(
j))
530 DO j1 = 1, totnumneighprocs
531 k = neighproclist(j1)+1
532 CALL mpi_irecv(recvdatafrm(
k)%rcvbuf(1),numndcomm(j1)*4, &
533 mpi_double_precision,
k-1,10,mpi_comm_rocfrac, &
540 DO j1 = 1, totnumneighprocs
541 k = neighproclist(j1)
542 CALL mpi_isend(buf(k2), numndcomm(j1)*4,mpi_double_precision, &
543 k,10,mpi_comm_rocfrac,reqsnd(j1),ierr)
544 k2 = k2 + numndcomm(j1)*4
553 CALL
v3d4_ale(velobar,accelbar,disp,velohalf,rnet, &
554 e,xnu,rho,numnp,nummatvol, &
555 numelvol,matidvol,elconnvol,meshcoor, &
556 numelpartbndry+1,numelvol)
558 CALL
v3d10_ale(velobar,accelbar,disp,velohalf,rnet, &
559 e,xnu,rho,numnp,nummatvol, &
560 numelvol,matidvol,elconnvol,meshcoor, &
561 numelpartbndry+1,numelvol)
572 elemstart = elemend + numelpartbndrymat(
j) + 1
574 elemend = numelvolmat(
j) + elemend
576 DO i = 1,glb%NumNdsBCHT
577 k4 = glb%BCFlagHT(1,
i)
579 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
580 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
587 CALL
v3d4_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
588 rnetht, temperature, rho, cp, matidvol, nummatvol,velobar,elemstart, elemend)
590 glb%Temperature(:) = glb%Temperature(:) + glb%DT*glb%CapctInv(:)*rnetht(:)
592 DO i = 1,glb%NumNdsBCHT
593 k4 = glb%BCFlagHT(1,
i)
595 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
596 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
609 Call
v3d10_thermal(numelvol, numnp, elconnvol, meshcoor, kappaht, &
610 rnetht, temperature, rho, cp, matidvol, nummatvol, velobar,elemstart, elemend)
612 glb%Temperature(:) = glb%Temperature(:) + glb%DT*glb%CapctInv(:)*rnetht(:)
614 DO i = 1,glb%NumNdsBCHT
615 k4 = glb%BCFlagHT(1,
i)
617 IF (glb%BCFlagHT(2,
i).EQ.0)
THEN
618 glb%Temperature(k4) = glb%BCvalueHT(1,
i)
622 CALL
v3d10_thermalexp(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%ci, &
623 glb%S11,glb%S22,glb%S33, &
624 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, glb%alpha, temperature, glb%Temperature0)
628 IF(totnumneighprocs.GT.0)
THEN
629 CALL mpi_waitall(totnumneighprocs,reqrcv,statrcv,ierr)
630 CALL mpi_waitall(totnumneighprocs,reqsnd,statsnd,ierr)
638 DO j1 = 1, totnumneighprocs
639 k = neighproclist(j1)+1
641 pndcomm => ndcommlist(j1)
642 precvdf => recvdatafrm(
k)
643 DO j = 1, numndcomm(j1)
644 k2 = ( pndcomm%NdId(
j) )*3
645 rnet(k2-2)= rnet(k2-2) + precvdf%rcvbuf(k1)
646 rnet(k2-1)= rnet(k2-1) + precvdf%rcvbuf(k1+1)
647 rnet(k2) = rnet(k2) + precvdf%rcvbuf(k1+2)
648 rnetht(pndcomm%NdId(
j)) = rnetht(pndcomm%NdId(
j)) + precvdf%rcvbuf(k1+3)
661 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
663 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
665 IF (ianalysistype.EQ.0)
THEN
667 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
668 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
670 ELSE IF(ianalysistype.EQ.1)
THEN
671 CALL
v3d4_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
672 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
673 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol,glb%xmu,glb%xlambda)
674 ELSE IF(ianalysistype.EQ.-1)
THEN
676 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
677 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
681 CALL
v3d4(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
682 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
683 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
688 IF(glb%DampEnabled)
THEN
690 glb%NumElVol,glb%ElConnVol,glb%MeshCoor, &
691 elemstart,elemend, glb%KappaDamp)
702 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
703 REAL*8,
DIMENSION(1:glb%NumNP) :: temperature
705 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
707 IF (ianalysistype.EQ.0)
THEN
709 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
710 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
712 ELSE IF(ianalysistype.EQ.1)
THEN
713 CALL
v3d4_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
714 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
715 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol,glb%xmu,glb%xlambda)
716 ELSE IF(ianalysistype.EQ.-1)
THEN
718 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
719 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
723 CALL
v3d4_thermalexp2(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
724 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
725 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
726 glb%alpha,temperature,glb%Temperature0)
731 IF(glb%DampEnabled)
THEN
733 glb%NumElVol,glb%ElConnVol,glb%MeshCoor, &
734 elemstart,elemend, glb%KappaDamp)
746 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
748 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
750 IF(glb%DebondPart)
THEN
752 CALL
v3d10_nl_huang(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp, &
753 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
754 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
755 glb%STATEV_Part1,glb%STATEV_Part2,glb%NSTATEV,glb%MATRIX,glb%NMATRIX, &
756 glb%PARTICLE,glb%NPARTICLE,glb%NPARTICLETYPE,glb%INTERFAC,glb%NINTERFAC,glb%StrainTrace)
758 ELSE IF(glb%DebondPart_Matous)
THEN
761 IF(glb%Debug_State)
print*,
'Starting v3d10_nl_matous', elemstart,elemend
764 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
765 glb%NumNP,elemstart,elemend,glb%NumElVol, &
766 glb%p1, glb%p2, glb%Yin, glb%SoftParam, glb%BulkMod(2), glb%BulkMod(1), &
767 glb%ShrMod(2), glb%ShrMod(1), glb%PoisRat(2), glb%PoisRat(1), &
768 glb%a_eta, glb%a_zeta,&
769 glb%cm, glb%c2, glb%cd, glb%Lo, glb%L_tensor(:,:,1), &
770 glb%L_tensor(:,:,2), glb%M_tensor(:,:,1), glb%M_tensor(:,:,2), glb%L_bar, &
773 IF(glb%Debug_State)
print*,
'Finished v3d10_nl_matous', elemstart,elemend
779 IF (ianalysistype.EQ.0)
THEN
781 IF ( glb%ArtificialDamping)
THEN
784 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
785 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
786 glb%xmu,glb%xkappa, glb%rho, glb%cd_fastest, glb%DetF_old, glb%VeloHalf, glb%Dt)
791 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
792 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
796 ELSE IF (ianalysistype.EQ.1)
THEN
798 IF(glb%iElIntgratn.EQ.0)
THEN
800 IF ( glb%ArtificialDamping)
THEN
803 CALL
v3d10_nl_damping(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
804 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
805 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol, &
806 glb%rho, glb%cd_fastest, glb%DetF_old, glb%VeloHalf, glb%Dt)
810 CALL
v3d10_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
811 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
812 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
816 CALL
v3d10r_nl(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci,glb%cj, &
817 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
818 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
821 ELSE IF (ianalysistype.EQ.2)
THEN
824 IF(glb%iElIntgratn.EQ.0)
THEN
826 CALL
v3d10(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
827 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
828 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
832 CALL
v3d10_b_bar(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%ci, &
833 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
834 glb%NumNP,elemstart,elemend,glb%NumElVol,glb%NumMatVol)
847 REAL*8,
DIMENSION(1:3*glb%NumNP) :: rnet
849 INTEGER,
INTENT(IN) :: elemstart, elemend, ianalysistype
852 CALL
v3d8_me(glb%MeshCoor,glb%MatIdVol,glb%ElConnVol,rnet,glb%Disp,glb%dmat, &
853 glb%S11,glb%S22,glb%S33,glb%S12,glb%S23,glb%S13, &
854 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)