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

Go to the source code of this file.

Functions/Subroutines

subroutine condrmat (icodt, icodr, irbym, lnrbym, icodrbym)

Function/Subroutine Documentation

◆ condrmat()

subroutine condrmat ( integer, dimension(*) icodt,
integer, dimension(*) icodr,
integer, dimension(nirbym,*) irbym,
integer, dimension(*) lnrbym,
integer, dimension(2,*) icodrbym )

Definition at line 28 of file condrmat.F.

29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C D u m m y A r g u m e n t s
35C-----------------------------------------------
36 INTEGER ICODT(*), ICODR(*), IRBYM(NIRBYM,*),LNRBYM(*),
37 . ICODRBYM(2,*)
38C-----------------------------------------------
39C C o m m o n B l o c k s
40C-----------------------------------------------
41#include "com04_c.inc"
42C-----------------------------------------------
43C L o c a l V a r i a b l e s
44C-----------------------------------------------
45 INTEGER N, M, NSLT, ITX,ITY,ITZ,IRX,IRY,IRZ,
46 . NSL,I,LCOD
47C-----------------------------------------------
48 nslt= 0
49 DO m=1,nrbym
50C
51 irx = 0
52 iry = 0
53 irz = 0
54 itx = 0
55 ity = 0
56 itz = 0
57 nsl = irbym(2,m)
58 DO i=1, nsl
59 n = lnrbym(nslt + i)
60C rotation bcs
61 lcod = icodr(n)
62 IF(lcod > 0) THEN
63 icodr(n) = 0
64 IF(lcod == 7) THEN
65 icodrbym(1,m) = lcod
66 irx = 4
67 iry = 2
68 irz = 1
69 ELSE
70 IF(lcod == 4 .OR. lcod == 5 .OR. lcod == 6) irx = 4
71 IF(lcod == 2 .OR. lcod == 3 .OR. lcod == 6) iry = 2
72 IF(lcod == 1 .OR. lcod == 3 .OR. lcod == 5) irz = 1
73 ENDIF
74 ENDIF
75C translation
76 lcod = icodt(n)
77 IF(lcod > 0) THEN
78 icodt(n) = 0
79 IF(lcod == 7) THEN
80 icodrbym(2,m) = lcod
81 itx = 4
82 ity = 2
83 itz = 1
84 ELSE
85 IF(lcod == 4 .OR. lcod == 5 .OR. lcod == 6) itx = 4
86 IF(lcod == 2 .OR. lcod == 3 .OR. lcod == 6) ity = 2
87 IF(lcod == 1 .OR. lcod == 3 .OR. lcod == 5) itz = 1
88 ENDIF
89 ENDIF
90 ENDDO
91C rotation
92 lcod = irx + iry + irz
93 icodrbym(1,m) = lcod
94C C translation
95 lcod = itx + ity + itz
96 icodrbym(2,m) = lcod
97 nslt = nslt + nsl
98 ENDDO
99C
100 RETURN