OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sppart3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| sppart3 ../starter/source/elements/sph/sppart3.F
25!||--- called by ------------------------------------------------------
26!|| spinit3 ../starter/source/elements/sph/spinit3.F
27!||====================================================================
28 SUBROUTINE sppart3(MS,PARTSAV,NC1,MASS,X,V,IPART)
29C
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C D u m m y A r g u m e n t s
36C-----------------------------------------------
37 INTEGER IPART(*),NC1(*)
39 . ms(*),x(3,*),v(3,*),partsav(20,*),mass(*)
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "vect01_c.inc"
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER I, IP,I1
48C REAL
50 . xx,yy,zz,xy,yz,zx
51C-----------------------------------------------------------------------
52 DO i=lft,llt
53 i1 = nc1(i)
54 ms(i1)=mass(i)+ms(i1)
55C
56 ip=ipart(i)
57 partsav(1,ip)=partsav(1,ip) + mass(i)
58 partsav(2,ip)=partsav(2,ip) + mass(i)*x(1,i1)
59 partsav(3,ip)=partsav(3,ip) + mass(i)*x(2,i1)
60 partsav(4,ip)=partsav(4,ip) + mass(i)*x(3,i1)
61 xx = x(1,i1)*x(1,i1)
62 xy = x(1,i1)*x(2,i1)
63 yy = x(2,i1)*x(2,i1)
64 yz = x(2,i1)*x(3,i1)
65 zz = x(3,i1)*x(3,i1)
66 zx = x(3,i1)*x(1,i1)
67 partsav(5,ip) =partsav(5,ip) + mass(i) * (yy+zz)
68 partsav(6,ip) =partsav(6,ip) + mass(i) * (zz+xx)
69 partsav(7,ip) =partsav(7,ip) + mass(i) * (xx+yy)
70 partsav(8,ip) =partsav(8,ip) - mass(i) * xy
71 partsav(9,ip) =partsav(9,ip) - mass(i) * yz
72 partsav(10,ip)=partsav(10,ip) - mass(i) * zx
73C
74 partsav(11,ip)=partsav(11,ip) + mass(i)*v(1,i1)
75 partsav(12,ip)=partsav(12,ip) + mass(i)*v(2,i1)
76 partsav(13,ip)=partsav(13,ip) + mass(i)*v(3,i1)
77 partsav(14,ip)=partsav(14,ip) + half * mass(i) *
78 . (v(1,i1)*v(1,i1)+v(2,i1)*v(2,i1)+v(3,i1)*v(3,i1))
79 ENDDO
80C
81 RETURN
82 END
#define my_real
Definition cppsort.cpp:32
subroutine sppart3(ms, partsav, nc1, mass, x, v, ipart)
Definition sppart3.F:29