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

Go to the source code of this file.

Functions/Subroutines

subroutine tmass (x, nc, geo, pm, ms, stifn, partsav, v, ipart, mst, stifint, stt, area, mxt, nc1, nc2, x1, x2, y1, y2, z1, z2)

Function/Subroutine Documentation

◆ tmass()

subroutine tmass ( x,
integer, dimension(nixt,*) nc,
geo,
pm,
ms,
stifn,
partsav,
v,
integer, dimension(*) ipart,
mst,
stifint,
stt,
area,
integer, dimension(*) mxt,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
x1,
x2,
y1,
y2,
z1,
z2 )

Definition at line 30 of file tmass.F.

34C----------------------------------------------
35C initialization of nodal masses
36C----------------------------------------------
37 use element_mod , only : nixt
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C G l o b a l P a r a m e t e r s
44C-----------------------------------------------
45#include "mvsiz_p.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "param_c.inc"
50#include "vect01_c.inc"
51#include "scr12_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER NC(NIXT,*),IPART(*), MXT(*), NC1(*), NC2(*)
57 . x(3,*),geo(npropg,*),pm(npropm,*),ms(*),stifn(*),
58 . v(3,*),partsav(20,*),mst(*),stifint(*),stt(*),area(*),
59 . x1(*), x2(*), y1(*), y2(*), z1(*), z2(*)
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I, IP, I1, I2
65 . xx,yy,zz,xy,yz,zx
67 . al(mvsiz),
68 . rho(mvsiz),ems(mvsiz),
69 . sti(mvsiz)
70C
71C---------------------------------------------------------------------
72 DO i=lft,llt
73 rho(i) =pm(89,mxt(i))
74 ENDDO
75C----------------------------------------------
76C MASSE ELEMENT /2
77C----------------------------------------------
78 DO i=lft,llt
79 al(i)=sqrt((x2(i)-x1(i))**2
80 . +(y2(i)-y1(i))**2
81 . +(z2(i)-z1(i))**2)
82 ems(i)=rho(i)*al(i)*area(i)*half
83 ENDDO
84C----------------------------------------------
85C initialization of nodal masses
86C----------------------------------------------
87C mass init parith/on spmd
88 DO i=lft,llt
89 mst(i)=ems(i)
90 ENDDO
91C----------------------------------------------
92C initialization of nodal stiffnesses
93C and nodal stiffnesses for interfaces
94C----------------------------------------------
95 DO i=lft,llt
96 sti(i) = pm(20,mxt(i)) * area(i) / al(i)
97 stifn(nc1(i))=stifn(nc1(i))+sti(i)
98 stifn(nc2(i))=stifn(nc2(i))+sti(i)
99 ENDDO
100 IF (i7stifs /= 0) THEN
101 DO i=lft,llt
102 stt(i)=sti(i)
103 ENDDO
104 ENDIF
105C
106 DO i=lft,llt
107 i1 = nc1(i)
108 i2 = nc2(i)
109C
110 ip=ipart(i)
111 partsav(1,ip)=partsav(1,ip) + two*ems(i)
112 partsav(2,ip)=partsav(2,ip) + ems(i)*(x(1,i1)+x(1,i2))
113 partsav(3,ip)=partsav(3,ip) + ems(i)*(x(2,i1)+x(2,i2))
114 partsav(4,ip)=partsav(4,ip) + ems(i)*(x(3,i1)+x(3,i2))
115 xx = (x(1,i1)*x(1,i1)+x(1,i2)*x(1,i2))
116 xy = (x(1,i1)*x(2,i1)+x(1,i2)*x(2,i2))
117 yy = (x(2,i1)*x(2,i1)+x(2,i2)*x(2,i2))
118 yz = (x(2,i1)*x(3,i1)+x(2,i2)*x(3,i2))
119 zz = (x(3,i1)*x(3,i1)+x(3,i2)*x(3,i2))
120 zx = (x(3,i1)*x(1,i1)+x(3,i2)*x(1,i2))
121 partsav(5,ip) =partsav(5,ip) + ems(i) * (yy+zz)
122 partsav(6,ip) =partsav(6,ip) + ems(i) * (zz+xx)
123 partsav(7,ip) =partsav(7,ip) + ems(i) * (xx+yy)
124 partsav(8,ip) =partsav(8,ip) - ems(i) * xy
125 partsav(9,ip) =partsav(9,ip) - ems(i) * yz
126 partsav(10,ip)=partsav(10,ip) - ems(i) * zx
127C
128 partsav(11,ip)=partsav(11,ip) + ems(i)*(v(1,i1)+v(1,i2))
129 partsav(12,ip)=partsav(12,ip) + ems(i)*(v(2,i1)+v(2,i2))
130 partsav(13,ip)=partsav(13,ip) + ems(i)*(v(3,i1)+v(3,i2))
131 partsav(14,ip)=partsav(14,ip) + half * ems(i) *
132 . (v(1,i1)*v(1,i1)+v(2,i1)*v(2,i1)+v(3,i1)*v(3,i1)
133 . +v(1,i2)*v(1,i2)+v(2,i2)*v(2,i2)+v(3,i2)*v(3,i2))
134 ENDDO
135C
136 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)