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

Go to the source code of this file.

Functions/Subroutines

subroutine w_iskn (iskn, numskw, nsph, iframe, numfram, nodlocal, p, numnod, cepsp, len_ia)

Function/Subroutine Documentation

◆ w_iskn()

subroutine w_iskn ( integer, dimension(liskn,*) iskn,
integer numskw,
integer nsph,
integer, dimension(liskn,*) iframe,
integer numfram,
integer, dimension(*) nodlocal,
integer p,
integer numnod,
integer, dimension(*) cepsp,
integer len_ia )

Definition at line 33 of file w_iskn.F.

35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE submodel_mod , ONLY : nsubmod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "sphcom.inc"
47#include "param_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER P, NUMNOD, NUMSKW, NSPH, NUMFRAM, LEN_IA,
52 . ISKN(LISKN,*), NODLOCAL(*), CEPSP(*),
53 . IFRAME(LISKN,*)
54C-----------------------------------------------
55C F u n c t i o n
56C-----------------------------------------------
57 INTEGER NLOCAL
58 EXTERNAL nlocal
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62C
63 INTEGER I, IDEB, N1, N2, N3, N4, N5, N6, N_L,
64 . ISKN_L(LISKN,1+NUMSKW+NSUBMOD+NSPH+NUMFRAM+1)
65C
66 iskn_l(1,1) = iskn(1,1)
67 iskn_l(2,1) = iskn(2,1)
68 iskn_l(3,1) = iskn(3,1)
69 iskn_l(4,1) = iskn(4,1)
70 iskn_l(5,1) = iskn(5,1)
71 iskn_l(6,1) = iskn(6,1)
72C
73 DO i = 1, numskw
74 n1 = iskn(1,i+1)
75 n2 = iskn(2,i+1)
76 n3 = iskn(3,i+1)
77 n4 = iskn(4,i+1)
78 n5 = iskn(5,i+1)
79 n6 = iskn(6,i+1)
80C
81 IF(n1/=0)THEN
82 IF(nlocal(n1,p)==1) n1 = nodlocal(n1)
83C
84 END IF
85C
86 IF(n2/=0)THEN
87 IF(nlocal(n2,p)==1) n2 = nodlocal(n2)
88C
89 END IF
90C
91 IF(n3/=0) THEN
92 IF(nlocal(n3,p)==1) n3 = nodlocal(n3)
93C
94 END IF
95 iskn_l(1,i+1) = n1
96 iskn_l(2,i+1) = n2
97 iskn_l(3,i+1) = n3
98 iskn_l(4,i+1) = n4
99 iskn_l(5,i+1) = n5
100 iskn_l(6,i+1) = n6
101 ENDDO
102C
103 ideb = 1+numskw
104C
105 IF(nspcond>0)THEN
106 n_l = 0
107 DO i = 1, numsph
108 IF(cepsp(i)+1==p)THEN
109 n_l = n_l + 1
110 iskn_l(1,ideb+n_l) = iskn(1,i+ideb)
111 iskn_l(2,ideb+n_l) = iskn(2,i+ideb)
112 iskn_l(3,ideb+n_l) = iskn(3,i+ideb)
113 iskn_l(4,ideb+n_l) = iskn(4,i+ideb)
114 iskn_l(5,ideb+n_l) = iskn(5,i+ideb)
115 iskn_l(6,ideb+n_l) = iskn(6,i+ideb)
116 END IF
117 END DO
118C NSPH = MIN(IUN,NSPCOND)*NUMSPH_L
119 ideb = ideb + nsph
120 END IF
121C submodel skew
122 IF(nsubmod>0)THEN
123 n_l = 0
124 DO i = 1, nsubmod
125 n_l = n_l + 1
126 iskn_l(1,ideb+n_l) = iskn(1,i+ideb)
127 iskn_l(2,ideb+n_l) = iskn(2,i+ideb)
128 iskn_l(3,ideb+n_l) = iskn(3,i+ideb)
129 iskn_l(4,ideb+n_l) = iskn(4,i+ideb)
130 iskn_l(5,ideb+n_l) = iskn(5,i+ideb)
131 iskn_l(6,ideb+n_l) = iskn(6,i+ideb)
132 END DO
133 ideb = ideb + nsubmod
134 END IF
135C
136 DO i = 1, numfram+1
137 n1 = iframe(1,i)
138 n2 = iframe(2,i)
139 n3 = iframe(3,i)
140 IF(n1/=0)THEN
141 IF(nlocal(n1,p)==1) n1 = nodlocal(n1)
142 END IF
143 IF(n2/=0)THEN
144 IF(nlocal(n2,p)==1) n2 = nodlocal(n2)
145 END IF
146 IF(n3/=0) THEN
147 IF(nlocal(n3,p)==1) n3 = nodlocal(n3)
148 END IF
149 iskn_l(1,i+ideb) = n1
150 iskn_l(2,i+ideb) = n2
151 iskn_l(3,i+ideb) = n3
152 iskn_l(4,i+ideb) = iframe(4,i)
153 iskn_l(5,i+ideb) = iframe(5,i)
154 iskn_l(6,i+ideb) = iframe(6,i)
155 ENDDO
156C
157 CALL write_i_c(iskn_l,liskn*(numskw+1+nsph+nsubmod+numfram+1))
158
159 len_ia = len_ia + liskn*(numskw+1+nsph+nsubmod+numfram+1)
160C
161 RETURN
integer function nlocal(n, p)
Definition ddtools.F:349
integer nsubmod
void write_i_c(int *w, int *len)