OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
xyznor.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "scr14_c.inc"
#include "task_c.inc"
#include "spmd_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine xyznor (xnorm, nodglob, weight)

Function/Subroutine Documentation

◆ xyznor()

subroutine xyznor ( xnorm,
integer, dimension(*) nodglob,
integer, dimension(numnod) weight )

Definition at line 31 of file xyznor.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C C o m m o n B l o c k s
38C-----------------------------------------------
39#include "com01_c.inc"
40#include "com04_c.inc"
41#include "scr14_c.inc"
42#include "task_c.inc"
43#include "spmd_c.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER NODGLOB(*),WEIGHT(NUMNOD)
48C REAL
50 . xnorm(3,*)
51C REAL
53 . s3000,s
54 INTEGER I,INORM(3),K,P,IXNN
55C-----------------------------------------------
56 s3000 = three1000
57 ixnn = s3000
58 IF(fmt_ani==4)ixnn=0
59C
60
61 IF(nspmd == 1) THEN
62 DO i=1,numnod
63 s = sqrt(xnorm(1,i)**2 + xnorm(2,i)**2 + xnorm(3,i)**2)
64 IF(s/=zero)THEN
65 s = s3000 / s
66 inorm(1) = xnorm(1,i) * s
67 inorm(2) = xnorm(2,i) * s
68 inorm(3) = xnorm(3,i) * s
69 ELSE
70 inorm(1) = 0
71 inorm(2) = 0
72 inorm(3) = ixnn
73 END IF
74 CALL write_s_c(inorm,3)
75 END DO
76
77 ELSE
78 IF(ispmd==0) THEN
79 CALL spmd_wrt_xyznor(xnorm,weight,nodglob,numnodg)
80 ELSE
81 CALL spmd_wrt_xyznor(xnorm,weight,nodglob,1)
82 ENDIF
83 END IF
84
85 IF(nspmd == 1) THEN
86 DO i=1,64*numelig3d
87 inorm(1) = 0
88 inorm(2) = 0
89 inorm(3) = ixnn
90 CALL write_s_c(inorm,3)
91 END DO
92
93 ENDIF
94C-----------------------------------------------
95 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine spmd_wrt_xyznor(xnorm, weight, nodglob, num)
void write_s_c(int *w, int *len)