OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cutmass.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine cutmass (nc, x, al, nodcut, nelcut, vel, v, ivois)

Function/Subroutine Documentation

◆ cutmass()

subroutine cutmass ( integer, dimension(5,*) nc,
x,
al,
integer nodcut,
integer nelcut,
vel,
v,
integer, dimension(2,*) ivois )

Definition at line 30 of file cutmass.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C D u m m y A r g u m e n t s
37C-----------------------------------------------
38 my_real x(3,*),al(*) ,vel(3,*),v(3,*)
39 INTEGER NC(5,*),NODCUT,NELCUT,IVOIS(2,*)
40C-----------------------------------------------
41 my_real x13,y13,z13,x24,y24,z24,xx,yy,zz,s,un6
42 INTEGER I,J,N1,N2,N3,N4
43 REAL R4
44C-----------------------------------------------
45 un6=one_over_6
46C
47 DO i=1,nodcut
48 n1=ivois(1,i)
49 n2=ivois(2,i)
50 DO j=1,3
51 v(j,i)=al(i)*vel(j,n2)+(1.-al(i))*vel(j,n1)
52 ENDDO
53 ENDDO
54C
55 DO i=1,nodcut
56 al(i)=zero
57 ENDDO
58 DO i=1,nelcut
59 n1=nc(1,i)
60 n2=nc(2,i)
61 n3=nc(3,i)
62 n4=nc(4,i)
63 x13=x(1,n3)-x(1,n1)
64 y13=x(2,n3)-x(2,n1)
65 z13=x(3,n3)-x(3,n1)
66 x24=x(1,n4)-x(1,n2)
67 y24=x(2,n4)-x(2,n2)
68 z24=x(3,n4)-x(3,n2)
69 xx=y13*z24-z13*y24
70 yy=z13*x24-x13*z24
71 zz=x13*y24-y13*x24
72 IF(n3==n4)THEN
73 s=un6
74 ELSE
75 s=one_over_8
76 ENDIF
77C S=S*SQRT(XX**2+YY**2+ZZ**2)
78 al(n1)=al(n1)+s*(v(1,n1)*xx+v(2,n1)*yy+v(3,n1)*zz)
79 al(n2)=al(n2)+s*(v(1,n2)*xx+v(2,n2)*yy+v(3,n2)*zz)
80 al(n3)=al(n3)+s*(v(1,n3)*xx+v(2,n3)*yy+v(3,n3)*zz)
81 IF(n3/=n4)al(n4)=al(n4)+s*(v(1,n4)*xx+v(2,n4)*yy+v(3,n4)*zz)
82 ENDDO
83 DO i=1,nodcut
84 r4 = al(i)
85 CALL write_r_c(r4,1)
86 ENDDO
87C-----------------------------------------------
88 RETURN
#define my_real
Definition cppsort.cpp:32
void write_r_c(float *w, int *len)