OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
amass3f.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "mvsiz_p.inc"
#include "lockon.inc"
#include "vectorize.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine amass3f (ms, rho, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, nel)

Function/Subroutine Documentation

◆ amass3f()

subroutine amass3f ( ms,
rho,
volu,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) nc7,
integer, dimension(*) nc8,
msnf,
integer nvc,
off,
integer, intent(in) nel )

Definition at line 28 of file amass3f.F.

33C------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37#include "comlock.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER, INTENT(IN) :: NEL
46C REAL
48 . ms(*), rho(*),volu(*),
49 . msnf(*),off(*)
50 INTEGER NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
51 INTEGER NVC
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I,IFLAG
59C REAL
60 my_real dmass(mvsiz)
61 INTEGER NVC1,NVC2,NVC3,NVC4,NVC5,NVC6,NVC7,NVC8
62C-----------------------------------------------
63 nvc1 = nvc / 128
64 nvc2 = (nvc-nvc1*128) / 64
65 nvc3 = (nvc-nvc1*128-nvc2*64) / 32
66 nvc4 = (nvc-nvc1*128-nvc2*64-nvc3*32)/16
67 nvc5 = (nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16)/8
68 nvc6 = (nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8)/4
69 nvc7 = (nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8-nvc6*4)/2
70 nvc8 = nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8-nvc6*4-nvc7*2
71C-
72 DO i=1,nel
73 dmass(i)=one_over_8*rho(i)*volu(i)*off(i)
74 ENDDO
75C
76#include "lockon.inc"
77 IF(nvc1==0)THEN
78#include "vectorize.inc"
79 DO i=1,nel
80 ms(nc1(i))=ms(nc1(i)) + dmass(i)
81 msnf(nc1(i))=msnf(nc1(i)) + dmass(i)
82 ENDDO
83 ELSE
84 DO i=1,nel
85 ms(nc1(i))=ms(nc1(i)) + dmass(i)
86 msnf(nc1(i))=msnf(nc1(i)) + dmass(i)
87 ENDDO
88 ENDIF
89C
90 IF(nvc2==0)THEN
91#include "vectorize.inc"
92 DO i=1,nel
93 ms(nc2(i))=ms(nc2(i)) + dmass(i)
94 msnf(nc2(i))=msnf(nc2(i)) + dmass(i)
95 ENDDO
96 ELSE
97 DO i=1,nel
98 ms(nc2(i))=ms(nc2(i)) + dmass(i)
99 msnf(nc2(i))=msnf(nc2(i)) + dmass(i)
100 ENDDO
101 ENDIF
102C
103 IF(nvc3==0)THEN
104#include "vectorize.inc"
105 DO i=1,nel
106 ms(nc3(i))=ms(nc3(i)) + dmass(i)
107 msnf(nc3(i))=msnf(nc3(i)) + dmass(i)
108 ENDDO
109 ELSE
110 DO i=1,nel
111 ms(nc3(i))=ms(nc3(i)) + dmass(i)
112 msnf(nc3(i))=msnf(nc3(i)) + dmass(i)
113 ENDDO
114 ENDIF
115C
116 IF(nvc4==0)THEN
117#include "vectorize.inc"
118 DO i=1,nel
119 ms(nc4(i))=ms(nc4(i)) + dmass(i)
120 msnf(nc4(i))=msnf(nc4(i)) + dmass(i)
121 ENDDO
122 ELSE
123 DO i=1,nel
124 ms(nc4(i))=ms(nc4(i)) + dmass(i)
125 msnf(nc4(i))=msnf(nc4(i)) + dmass(i)
126 ENDDO
127 ENDIF
128C
129 IF(nvc5==0)THEN
130#include "vectorize.inc"
131 DO i=1,nel
132 ms(nc5(i))=ms(nc5(i)) + dmass(i)
133 msnf(nc5(i))=msnf(nc5(i)) + dmass(i)
134 ENDDO
135 ELSE
136 DO i=1,nel
137 ms(nc5(i))=ms(nc5(i)) + dmass(i)
138 msnf(nc5(i))=msnf(nc5(i)) + dmass(i)
139 ENDDO
140 ENDIF
141C
142 IF(nvc6==0)THEN
143#include "vectorize.inc"
144 DO i=1,nel
145 ms(nc6(i))=ms(nc6(i)) + dmass(i)
146 msnf(nc6(i))=msnf(nc6(i)) + dmass(i)
147 ENDDO
148 ELSE
149 DO i=1,nel
150 ms(nc6(i))=ms(nc6(i)) + dmass(i)
151 msnf(nc6(i))=msnf(nc6(i)) + dmass(i)
152 ENDDO
153 ENDIF
154C
155 IF(nvc7==0)THEN
156#include "vectorize.inc"
157 DO i=1,nel
158 ms(nc7(i))=ms(nc7(i)) + dmass(i)
159 msnf(nc7(i))=msnf(nc7(i)) + dmass(i)
160 ENDDO
161 ELSE
162 DO i=1,nel
163 ms(nc7(i))=ms(nc7(i)) + dmass(i)
164 msnf(nc7(i))=msnf(nc7(i)) + dmass(i)
165 ENDDO
166 ENDIF
167C
168 IF(nvc8==0)THEN
169#include "vectorize.inc"
170 DO i=1,nel
171 ms(nc8(i))=ms(nc8(i)) + dmass(i)
172 msnf(nc8(i))=msnf(nc8(i)) + dmass(i)
173 ENDDO
174 ELSE
175 DO i=1,nel
176 ms(nc8(i))=ms(nc8(i)) + dmass(i)
177 msnf(nc8(i))=msnf(nc8(i)) + dmass(i)
178 ENDDO
179 ENDIF
180C
181#include "lockoff.inc"
182 RETURN
#define my_real
Definition cppsort.cpp:32