OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rmass.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "param_c.inc"
#include "vect01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine rmass (ixr, geo, ms, xin, partsav, x, v, ipart, xl, msr, inr, msrt, ems)
subroutine r23mass (ixr, geo, ms, xin, partsav, x, v, ipart, xl, msr, inr, msrt, ems, mass, uiner, mtyp)

Function/Subroutine Documentation

◆ r23mass()

subroutine r23mass ( integer, dimension(nixr,*) ixr,
geo,
ms,
xin,
partsav,
x,
v,
integer, dimension(*) ipart,
xl,
msr,
inr,
msrt,
ems,
mass,
uiner,
integer mtyp )

Definition at line 122 of file rmass.F.

125 use element_mod , only : nixr
126C----------------------------------------------
127C initialization of nodal masses
128C----------------------------------------------
129C-----------------------------------------------
130C I m p l i c i t T y p e s
131C-----------------------------------------------
132#include "implicit_f.inc"
133C-----------------------------------------------
134C C o m m o n B l o c k s
135C-----------------------------------------------
136#include "com01_c.inc"
137#include "param_c.inc"
138#include "vect01_c.inc"
139C-----------------------------------------------
140C D u m m y A r g u m e n t s
141C-----------------------------------------------
142 INTEGER IXR(NIXR,*),IPART(*),MTYP
143 my_real
144 . geo(npropg,*), ms(*), xin(*),x(3,*),v(3,*),partsav(20,*),
145 . xl(*),msr(3,*),inr(3,*), msrt(*),ems(*),mass(*),uiner(*)
146C-----------------------------------------------
147C L o c a l V a r i a b l e s
148C-----------------------------------------------
149 INTEGER I, IP,I1,I2
150 my_real :: xx,yy,zz,xy,yz,zx
151 my_real :: xi
152C---------------------------------------------------------------------
153C----------------------------------------------
154C MASSE ELEMENT /2
155C----------------------------------------------
156 DO i=lft,llt
157 ems(i)=half*mass(i)
158 ENDDO
159C
160 IF(irest_mselt/=0)THEN
161 DO i=lft,llt
162 msrt(i)=two*ems(i)
163 ENDDO
164 END IF
165C----------------------------------------------
166C initialization of nodal masses
167C----------------------------------------------
168
169 DO i=lft,llt
170 i1 = ixr(2,i+nft)
171 i2 = ixr(3,i+nft)
172C
173 IF (mtyp == 114) THEN
174 xi=half*uiner(i)
175 ELSE
176 xi=half*geo(2,ixr(1,i+nft))
177 ENDIF
178C
179 msr(1,i)=ems(i)
180 msr(2,i)=ems(i)
181 msr(3,i)=ems(i)
182 inr(1,i)=xi
183 inr(2,i)=xi
184 inr(3,i)=xi
185
186 ip=ipart(i)
187 partsav(1,ip)=partsav(1,ip) + two*ems(i)
188 partsav(2,ip)=partsav(2,ip) + ems(i)*(x(1,i1)+x(1,i2))
189 partsav(3,ip)=partsav(3,ip) + ems(i)*(x(2,i1)+x(2,i2))
190 partsav(4,ip)=partsav(4,ip) + ems(i)*(x(3,i1)+x(3,i2))
191 xx = (x(1,i1)*x(1,i1)+x(1,i2)*x(1,i2))
192 xy = (x(1,i1)*x(2,i1)+x(1,i2)*x(2,i2))
193 yy = (x(2,i1)*x(2,i1)+x(2,i2)*x(2,i2))
194 yz = (x(2,i1)*x(3,i1)+x(2,i2)*x(3,i2))
195 zz = (x(3,i1)*x(3,i1)+x(3,i2)*x(3,i2))
196 zx = (x(3,i1)*x(1,i1)+x(3,i2)*x(1,i2))
197 partsav(5,ip) =partsav(5,ip) + two*xi + ems(i) * (yy+zz)
198 partsav(6,ip) =partsav(6,ip) + two*xi + ems(i) * (zz+xx)
199 partsav(7,ip) =partsav(7,ip) + two*xi + ems(i) * (xx+yy)
200 partsav(8,ip) =partsav(8,ip) - ems(i) * xy
201 partsav(9,ip) =partsav(9,ip) - ems(i) * yz
202 partsav(10,ip)=partsav(10,ip) - ems(i) * zx
203
204 partsav(11,ip)=partsav(11,ip) + ems(i)*(v(1,i1)+v(1,i2))
205 partsav(12,ip)=partsav(12,ip) + ems(i)*(v(2,i1)+v(2,i2))
206 partsav(13,ip)=partsav(13,ip) + ems(i)*(v(3,i1)+v(3,i2))
207 partsav(14,ip)=partsav(14,ip) + half* ems(i) *
208 . (v(1,i1)*v(1,i1)+v(2,i1)*v(2,i1)+v(3,i1)*v(3,i1)
209 . +v(1,i2)*v(1,i2)+v(2,i2)*v(2,i2)+v(3,i2)*v(3,i2))
210 ENDDO
211
212
213 RETURN
#define my_real
Definition cppsort.cpp:32

◆ rmass()

subroutine rmass ( integer, dimension(nixr,*) ixr,
geo,
ms,
xin,
partsav,
x,
v,
integer, dimension(*) ipart,
xl,
msr,
inr,
msrt,
ems )

Definition at line 29 of file rmass.F.

32 use element_mod , only : nixr
33C----------------------------------------------
34C initialization of nodal masses
35C----------------------------------------------
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "com01_c.inc"
44#include "param_c.inc"
45#include "vect01_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER :: IXR(NIXR,*),IPART(*)
50 my_real :: geo(npropg,*), ms(*), xin(*),x(3,*),v(3,*),partsav(20,*)
51 my_real :: xl(*),msr(3,*),inr(3,*), msrt(*),ems(*)
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER :: I, IP,I1,I2
56 my_real :: xx,yy,zz,xy,yz,zx
57 my_real :: xi
58C---------------------------------------------------------------------
59C----------------------------------------------
60C MASSE ELEMENT /2
61C----------------------------------------------
62 DO i=lft,llt
63 ems(i)=half*geo(1,ixr(1,i+nft))*xl(i)
64 ENDDO
65C
66 IF(irest_mselt/=0)THEN
67 DO i=lft,llt
68 msrt(i)=two*ems(i)
69 ENDDO
70 END IF
71C----------------------------------------------
72C initialization of nodal masses
73C----------------------------------------------
74
75 DO i=lft,llt
76 i1 = ixr(2,i+nft)
77 i2 = ixr(3,i+nft)
78
79 xi=half*geo(9,ixr(1,i+nft))*xl(i)
80 msr(1,i)=ems(i)
81 msr(2,i)=ems(i)
82 msr(3,i)=ems(i)
83 inr(1,i)=xi
84 inr(2,i)=xi
85 inr(3,i)=xi
86
87 ip=ipart(i)
88 partsav(1,ip)=partsav(1,ip) + two*ems(i)
89 partsav(2,ip)=partsav(2,ip) + ems(i)*(x(1,i1)+x(1,i2))
90 partsav(3,ip)=partsav(3,ip) + ems(i)*(x(2,i1)+x(2,i2))
91 partsav(4,ip)=partsav(4,ip) + ems(i)*(x(3,i1)+x(3,i2))
92 xx = (x(1,i1)*x(1,i1)+x(1,i2)*x(1,i2))
93 xy = (x(1,i1)*x(2,i1)+x(1,i2)*x(2,i2))
94 yy = (x(2,i1)*x(2,i1)+x(2,i2)*x(2,i2))
95 yz = (x(2,i1)*x(3,i1)+x(2,i2)*x(3,i2))
96 zz = (x(3,i1)*x(3,i1)+x(3,i2)*x(3,i2))
97 zx = (x(3,i1)*x(1,i1)+x(3,i2)*x(1,i2))
98 partsav(5,ip) =partsav(5,ip) + two*xi + ems(i) * (yy+zz)
99 partsav(6,ip) =partsav(6,ip) + two*xi + ems(i) * (zz+xx)
100 partsav(7,ip) =partsav(7,ip) + two*xi + ems(i) * (xx+yy)
101 partsav(8,ip) =partsav(8,ip) - ems(i) * xy
102 partsav(9,ip) =partsav(9,ip) - ems(i) * yz
103 partsav(10,ip)=partsav(10,ip) - ems(i) * zx
104
105 partsav(11,ip)=partsav(11,ip) + ems(i)*(v(1,i1)+v(1,i2))
106 partsav(12,ip)=partsav(12,ip) + ems(i)*(v(2,i1)+v(2,i2))
107 partsav(13,ip)=partsav(13,ip) + ems(i)*(v(3,i1)+v(3,i2))
108 partsav(14,ip)=partsav(14,ip) + half* ems(i) *
109 . (v(1,i1)*v(1,i1)+v(2,i1)*v(2,i1)+v(3,i1)*v(3,i1)
110 . +v(1,i2)*v(1,i2)+v(2,i2)*v(2,i2)+v(3,i2)*v(3,i2))
111 ENDDO
112
113 RETURN