OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cndordr.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "remesh_c.inc"
#include "scr17_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine cndordr (ipart, ipartc, iparttg, sh4tree, sh3tree)

Function/Subroutine Documentation

◆ cndordr()

subroutine cndordr ( integer, dimension(lipart1,*) ipart,
integer, dimension(*) ipartc,
integer, dimension(*) iparttg,
integer, dimension(ksh4tree,*) sh4tree,
integer, dimension(ksh3tree,*) sh3tree )

Definition at line 31 of file cndordr.F.

32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE remesh_mod
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40#include "comlock.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "com04_c.inc"
45#include "param_c.inc"
46#include "remesh_c.inc"
47#include "scr17_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER IPART(LIPART1,*), IPARTC(*), IPARTTG(*),
52 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER N,NN,LEVEL,IP,PTR,SON
57C-----------------------------------------------
58 psh4upl(0)=0
59 ptr=0
60 DO n=1,numelc
61 ip=ipartc(n)
62 IF(ipart(10,ip) > 0)THEN
63 IF(sh4tree(3,n) == -1)THEN
64 ptr=ptr+1
65 lsh4upl(ptr)=n
66 END IF
67 END IF
68 END DO
69
70 DO level=0,levelmax-1
71 psh4upl(level+1)=ptr
72
73 DO nn=psh4upl(level)+1,psh4upl(level+1)
74 n =lsh4upl(nn)
75 son =sh4tree(2,n)
76 IF(sh4tree(3,son) < 0)THEN
77 ptr=ptr+1
78 lsh4upl(ptr)=son
79 END IF
80 IF(sh4tree(3,son+1) < 0)THEN
81 ptr=ptr+1
82 lsh4upl(ptr)=son+1
83 END IF
84 IF(sh4tree(3,son+2) < 0)THEN
85 ptr=ptr+1
86 lsh4upl(ptr)=son+2
87 END IF
88 IF(sh4tree(3,son+3) < 0)THEN
89 ptr=ptr+1
90 lsh4upl(ptr)=son+3
91 END IF
92 END DO
93
94 END DO
95C--------------------------------------------
96C TRIANGLES
97C--------------------------------------------
98 psh3upl(0)=0
99 ptr=0
100 DO n=1,numeltg
101 ip=iparttg(n)
102 IF(ipart(10,ip) > 0)THEN
103 IF(sh3tree(3,n) == -1)THEN
104 ptr=ptr+1
105 lsh3upl(ptr)=n
106 END IF
107 END IF
108 END DO
109
110 DO level=0,levelmax-1
111 psh3upl(level+1)=ptr
112
113 DO nn=psh3upl(level)+1,psh3upl(level+1)
114 n =lsh3upl(nn)
115 son =sh3tree(2,n)
116 IF(sh3tree(3,son) < 0)THEN
117 ptr=ptr+1
118 lsh3upl(ptr)=son
119 END IF
120 IF(sh3tree(3,son+1) < 0)THEN
121 ptr=ptr+1
122 lsh3upl(ptr)=son+1
123 END IF
124 IF(sh3tree(3,son+2) < 0)THEN
125 ptr=ptr+1
126 lsh3upl(ptr)=son+2
127 END IF
128 IF(sh3tree(3,son+3) < 0)THEN
129 ptr=ptr+1
130 lsh3upl(ptr)=son+3
131 END IF
132 END DO
133 END DO
134
135 RETURN
integer, dimension(:), allocatable lsh4upl
Definition remesh_mod.F:71
integer, dimension(:), allocatable lsh3upl
Definition remesh_mod.F:71
integer, dimension(:), allocatable psh3upl
Definition remesh_mod.F:71
integer, dimension(:), allocatable psh4upl
Definition remesh_mod.F:71