OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i25pwr3e.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!|| i25pwr3e ../starter/source/interfaces/inter3d1/i25pwr3e.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!||--- uses -----------------------------------------------------
30!|| message_mod ../starter/share/message_module/message_mod.F
31!||====================================================================
32 SUBROUTINE i25pwr3e(ITAB ,INACTI ,CAND_M ,CAND_S ,ISTOK,
33 1 LLT ,PENE ,IWPENE ,CAND_P ,
34 2 N1 ,N2 ,M1 ,M2 ,
35 3 NOINT ,NTY ,IRECT ,ID ,TITR ,
36 4 CAND_M_G ,CAND_S_G,CAND_P_G ,IEDGE,NLEDGE,
37 5 NEDGE ,LEDGE)
38
39 USE message_mod
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "scr03_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER ITAB(*),CAND_M(*),CAND_S(*), IRECT(4,*),
53 . N1(*), N2(*), M1(*), M2(*),
54 . CAND_M_G(*),CAND_S_G(*)
55 INTEGER LLT,IWPENE,INACTI,NOINT,NTY,NSN,ISTOK
56 INTEGER , INTENT(IN) :: IEDGE, NEDGE, NLEDGE
57 INTEGER , INTENT(IN) :: LEDGE(NLEDGE,*)
58C REAL
59 my_real
60 . pene(*), cand_p(*), cand_p_g(*)
61 INTEGER ID
62 CHARACTER(LEN=NCHARTITLE) :: TITR
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I, J, L
67 INTEGER IX1, IX2, IX3, IX4, NSVG
68 INTEGER SOL_EDGE, SH_EDGE
69C REAL
70C-----------------------------------------------
71
72 sol_edge=iedge/10 ! solids
73 sh_edge =iedge-10*sol_edge ! shells
74
75 DO i=1,llt
76
77 IF(pene(i)/=zero)THEN
78C True initial penetration
79 IF(sh_edge==1.AND.ledge(3,cand_m(i))/=0) THEN
80
81 ELSEIF(sh_edge==1.AND.ledge(3,cand_s(i))/=0) THEN
82
83 ELSEIF(sh_edge==3 .AND.
84 . ledge(3,cand_m(i))/=0 .AND.
85 . ledge(3,cand_s(i))/=0) THEN ! One of the 2 edges is not a free edge
86
87 ELSE
88 iwpene=iwpene+1
89 IF(ipri>=5)
90 . CALL ancmsg(msgid=1631,
91 . msgtype=msgwarning,
92 . anmode=aninfo_blind_1,
93 . i1=itab(n1(i)),
94 . i2=itab(n2(i)),
95 . i3=itab(m1(i)),
96 . i4=itab(m2(i)),
97 . r1=pene(i),
98 . prmod=msg_cumu)
99 ENDIF
100 IF(inacti==0)THEN
101C Ignore initial penetrations
102C ELSEIF(INACTI==1) THEN
103C DESACTIVATION DES NOEUDS
104C WRITE(IOUT,'(A)')'NODE STIFFNESS IS SET TO ZERO'
105C STFN(J) = ZERO
106 ELSE IF(inacti==5) THEN
107C
108C Reduction of PENE
109 istok=istok+1
110 cand_m_g(istok)= cand_m(i)
111 cand_s_g(istok)= cand_s(i)
112 cand_p_g(istok)= -pene(i)
113 ELSE IF(inacti==-1) THEN
114 istok=istok+1
115C CAND_P < 0 <=> Initial penetration into the Starter & Initial forces
116 cand_m_g(istok)= cand_m(i)
117 cand_s_g(istok)= cand_s(i)
118 cand_p_g(istok)= -pene(i)
119 ENDIF
120 ELSE
121 END IF
122
123 END DO
124C
125 RETURN
126 END
subroutine i25pwr3e(itab, inacti, cand_m, cand_s, istok, llt, pene, iwpene, cand_p, n1, n2, m1, m2, noint, nty, irect, id, titr, cand_m_g, cand_s_g, cand_p_g, iedge, nledge, nedge, ledge)
Definition i25pwr3e.F:38
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889