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

Go to the source code of this file.

Functions/Subroutines

subroutine cupdt_ply (jft, jlt, nvc, offg, off, iadc, iel, inod, ixc, ms, in, ms_ply, zi_ply, istack, posly, fly11, fly12, fly13, fly14, fly21, fly22, fly23, fly24, fly31, fly32, fly33, fly34, fac, sti, msz2, nft, npt)

Function/Subroutine Documentation

◆ cupdt_ply()

subroutine cupdt_ply ( integer jft,
integer jlt,
integer nvc,
offg,
off,
integer, dimension(4,*) iadc,
integer, dimension(*) iel,
integer, dimension(*) inod,
integer, dimension(nixc,mvsiz) ixc,
ms,
in,
ms_ply,
zi_ply,
integer, dimension(mvsiz,npt) istack,
posly,
fly11,
fly12,
fly13,
fly14,
fly21,
fly22,
fly23,
fly24,
fly31,
fly32,
fly33,
fly34,
fac,
sti,
msz2,
integer, intent(in) nft,
integer, intent(in) npt )

Definition at line 31 of file cupdt_ply.F.

40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE plyxfem_mod
44 use element_mod , only : nixc
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49#include "comlock.inc"
50C-----------------------------------------------
51C G l o b a l P a r a m e t e r s
52C-----------------------------------------------
53#include "mvsiz_p.inc"
54#include "parit_c.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "param_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 INTEGER, INTENT(IN) :: NFT
63 INTEGER, INTENT(IN) :: NPT
64 INTEGER JFT, JLT, NVC
65 INTEGER IADC(4,*),IXC(NIXC,MVSIZ),ISTACK(MVSIZ,NPT),IEL(*),
66 . INOD(*)
67C REAL
69 . offg(*), off(*), in(*), ms(*),ms_ply(nplyxfe,*),
70 . posly(mvsiz,npt),zi_ply(nplyxfe,*),
71 . fly11(mvsiz, npt), fly21(mvsiz, npt), fly31(mvsiz, npt),
72 . fly12(mvsiz, npt), fly22(mvsiz, npt), fly32(mvsiz, npt),
73 . fly13(mvsiz, npt), fly23(mvsiz, npt), fly33(mvsiz, npt),
74 . fly14(mvsiz, npt), fly24(mvsiz, npt), fly34(mvsiz, npt),
75 . pth(mvsiz,npt),fac(mvsiz,2),sti(mvsiz,*),msz2(*)
76C-----------------------------------------------
77C L o c a l V a r i a b l e s
78C-----------------------------------------------
79 INTEGER NVC1, NVC2, NVC3, NVC4, I, J, IP, I1, I2, I3, I4, N,
80 . IN1,IN2,IN3,IN4
82 . off_l,
83 . fply11,fply21,fply31,fply12,fply22,fply32,fply13,fply23,
84 . fply33,fply14,fply24,fply34,fply,mply,
85 . mply11,mply21,mply31,mply12,mply22,mply32,mply13,mply23,
86 . mply33,mply14,mply24,mply34
87C-----------------------------------------------
88C
89C accumulation of the energy of deleted elements at the time of deletion
90C
91 off_l = zero
92 DO i=jft,jlt
93 IF(off(i)<one)offg(i) = off(i)
94 off_l = min(off_l,offg(i))
95 ENDDO
96 IF(off_l<zero)THEN
97 DO i=jft,jlt
98 IF(offg(i)<zero)THEN
99 DO j=1,npt
100 fly11(i,j)=zero
101 fly21(i,j)=zero
102 fly31(i,j)=zero
103 fly12(i,j)=zero
104 fly22(i,j)=zero
105 fly32(i,j)=zero
106 fly13(i,j)=zero
107 fly23(i,j)=zero
108 fly33(i,j)=zero
109 fly14(i,j)=zero
110 fly24(i,j)=zero
111 fly34(i,j)=zero
112 ENDDO
113 ENDIF
114 ENDDO
115 ENDIF
116C
117 IF(iparit == 0) THEN
118 nvc1= nvc/8
119 nvc2=(nvc-nvc1*8)/4
120 nvc3=(nvc-nvc1*8-nvc2*4)/2
121 nvc4=(nvc-nvc1*8-nvc2*4-nvc3*2)
122C to do
123C
124 DO i=jft,jlt
125
126 i1 = inod(ixc(2,i))
127 i2 = inod(ixc(3,i))
128 i3 = inod(ixc(4,i))
129 i4 = inod(ixc(5,i))
130C
131 in1 = ixc(2,i)
132 in2 = ixc(3,i)
133 in3 = ixc(4,i)
134 in4 = ixc(5,i)
135 n = iel(i + nft)
136 DO j=1,npt
137 ip = istack(i,j)
138C PRINT *,J,IP
139 ply(ip)%A(1,i1)= ply(ip)%A(1,i1) - (fly11(i,j) )
140 ply(ip)%A(2,i1)= ply(ip)%A(2,i1) - (fly21(i,j) )
141 ply(ip)%A(3,i1)= ply(ip)%A(3,i1) - (fly31(i,j) )
142 ply(ip)%A(4,i1)= ply(ip)%A(4,i1) + sti(i,j)*fac(i,1)
143c
144 ply(ip)%A(1,i2)= ply(ip)%A(1,i2) - (fly12(i,j) )
145 ply(ip)%A(2,i2)= ply(ip)%A(2,i2) - (fly22(i,j) )
146 ply(ip)%A(3,i2)= ply(ip)%A(3,i2) - (fly32(i,j) )
147 ply(ip)%A(4,i2)= ply(ip)%A(4,i2) + sti(i,j)*fac(i,2)
148
149c
150 ply(ip)%A(1,i3)= ply(ip)%A(1,i3) - (fly13(i,j) )
151 ply(ip)%A(2,i3)= ply(ip)%A(2,i3) - (fly23(i,j) )
152 ply(ip)%A(3,i3)= ply(ip)%A(3,i3) - (fly33(i,j) )
153 ply(ip)%A(4,i3)= ply(ip)%A(4,i3) + sti(i,j)*fac(i,1)
154c
155 ply(ip)%A(1,i4)= ply(ip)%A(1,i4) - (fly14(i,j) )
156 ply(ip)%A(2,i4)= ply(ip)%A(2,i4) - (fly24(i,j) )
157 ply(ip)%A(3,i4)= ply(ip)%A(3,i4) - (fly34(i,j) )
158 ply(ip)%A(4,i4)= ply(ip)%A(4,i4) + sti(i,j)*fac(i,2)
159C
160 ENDDO
161 ENDDO
162
163 ELSE
164 DO i=jft,jlt
165
166 i1 = inod(ixc(2,i))
167 i2 = inod(ixc(3,i))
168 i3 = inod(ixc(4,i))
169 i4 = inod(ixc(5,i))
170C
171 in1 = ixc(2,i)
172 in2 = ixc(3,i)
173 in3 = ixc(4,i)
174 in4 = ixc(5,i)
175C
176 n = iel(i + nft)
177 DO j=1,npt
178 ip = istack(i,j)
179 plysky(ip)%FSKY(1,iadc(1,n))= -(fly11(i,j) )
180 plysky(ip)%FSKY(2,iadc(1,n))= -(fly21(i,j) )
181 plysky(ip)%FSKY(3,iadc(1,n))= -(fly31(i,j) )
182C stifness by ply
183 plysky(ip)%FSKY(4,iadc(1,n))= sti(i,j)*fac(i,1)
184C
185 plysky(ip)%FSKY(1,iadc(2,n))= -(fly12(i,j) )
186 plysky(ip)%FSKY(2,iadc(2,n))= -(fly22(i,j) )
187 plysky(ip)%FSKY(3,iadc(2,n))= -(fly32(i,j) )
188C stifness by ply
189 plysky(ip)%FSKY(4,iadc(2,n))= sti(i,j)*fac(i,2)
190c
191 plysky(ip)%FSKY(1,iadc(3,n))= -(fly13(i,j))
192 plysky(ip)%FSKY(2,iadc(3,n))= -(fly23(i,j) )
193 plysky(ip)%FSKY(3,iadc(3,n))= -(fly33(i,j) )
194C stifness by ply
195 plysky(ip)%FSKY(4,iadc(3,n))= sti(i,j)*fac(i,1)
196
197 plysky(ip)%FSKY(1,iadc(4,n))= -(fly14(i,j) )
198 plysky(ip)%FSKY(2,iadc(4,n))= -(fly24(i,j) )
199 plysky(ip)%FSKY(3,iadc(4,n))= -(fly34(i,j) )
200C stifness by ply
201 plysky(ip)%FSKY(4,iadc(4,n))= sti(i,j)*fac(i,2)
202C
203 ENDDO
204 ENDDO
205C
206 ENDIF
207C
208 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
type(ply_data), dimension(:), allocatable ply
Definition plyxfem_mod.F:92
type(ply_data), dimension(:), allocatable plysky
Definition plyxfem_mod.F:92