OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s16sigp3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s16sigp3 (lft, llt, nel, nptr, nlay, nptt, icp, mtn, npe, nipmax, px, py, pz, vx, vy, vz, w_gauss, defp, pm, mxt, sig, dt1, elbuf_str)

Function/Subroutine Documentation

◆ s16sigp3()

subroutine s16sigp3 ( integer lft,
integer llt,
integer nel,
integer nptr,
integer nlay,
integer nptt,
integer icp,
integer mtn,
integer npe,
integer nipmax,
px,
py,
pz,
vx,
vy,
vz,
w_gauss,
defp,
pm,
integer, dimension(*) mxt,
sig,
dt1,
type (elbuf_struct_), target elbuf_str )

Definition at line 32 of file s16sigp3.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE elbufdef_mod
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44#include "mvsiz_p.inc"
45#include "param_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER LFT,LLT, NPTR,NLAY,NPTT,ICR,ICS,ICT,ICP,NEL,
50 . MTN,NPE,NIPMAX,MXT(*)
52 . vx(mvsiz,*),vy(mvsiz,*),vz(mvsiz,*),
53 . px(mvsiz,npe,*),py(mvsiz,npe,*),pz(mvsiz,npe,*),
54 . dt1 ,w_gauss(9,9),defp(*),pm(npropm,*),sig(nel,6)
55 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I,IL,IS,IT,IR,IP,WI,N, MX
60C REAL
62 . dvm(mvsiz), dv(mvsiz,nipmax),fac(mvsiz),dt3,dvp,f,e0(mvsiz)
63 TYPE(G_BUFEL_) ,POINTER :: GBUF
64 TYPE(L_BUFEL_) ,POINTER :: LBUF
65C=======================================================================
66 gbuf => elbuf_str%GBUF
67 is = 1
68 DO i=lft,llt
69 dvm(i)=zero
70 ENDDO
71
72 DO it=1,nptt
73 DO ir=1,nptr
74 DO il=1,nlay
75 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
76 ip = ir + ( (il-1) + (it-1)*nlay )*nptr
77 wi = w_gauss(ir,nptr)*w_gauss(il,nlay)*w_gauss(it,nptt)
78 DO i=lft,llt
79 dv(i,ip)=zero
80 ENDDO
81 DO n=1,npe
82 DO i=lft,llt
83 dv(i,ip)=dv(i,ip)+px(i,n,ip)*vx(i,n)+py(i,n,ip)*vy(i,n)
84 . +pz(i,n,ip)*vz(i,n)
85 dvm(i)=dvm(i)+dv(i,ip)*wi
86 ENDDO
87 ENDDO
88 ENDDO
89 ENDDO
90 ENDDO
91
92 dt3=third*dt1
93 IF (icp == 1) THEN
94 DO i=lft,llt
95 fac(i)=one
96 ENDDO
97 ELSEIF (icp == 2) THEN
98 mx = mxt(lft)
99 DO i=lft,llt
100 e0(i) = pm(20,mx)
101 ENDDO
102 CALL s8csigp3(sig,e0 ,defp,fac,gbuf%G_PLA,nel)
103 ENDIF
104C
105 DO it=1,nptt
106 DO ir=1,nptr
107 DO il=1,nlay
108 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
109 ip = ir + ( (il-1) + (it-1)*nlay )*nptr
110 DO i=lft,llt
111 f = lbuf%OFF(i)*fac(i)
112 dvp = dt3*f*(dvm(i)-dv(i,ip))
113 IF (dvp > one) THEN
114 dvp =zero
115 lbuf%OFF(i)=zero
116 ENDIF
117 lbuf%VOL(i) = lbuf%VOL(i) *(one- dvp)
118 lbuf%EINT(i) = lbuf%EINT(i)*(one- dvp)
119 ENDDO
120 ENDDO
121 ENDDO
122 ENDDO
123C-----------
124 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine s8csigp3(sig, e0, defp, fac, g_pla, nel)
Definition s8csigp3.F:32