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 29 of file tmass.F.

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