OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
condrmat.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| condrmat ../engine/source/materials/mat/mat013/condrmat.F
25!||--- called by ------------------------------------------------------
26!|| radioss2 ../engine/source/engine/radioss2.F
27!||====================================================================
28 SUBROUTINE condrmat(ICODT,ICODR,IRBYM,LNRBYM,ICODRBYM)
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
101 END
subroutine condrmat(icodt, icodr, irbym, lnrbym, icodrbym)
Definition condrmat.F:29