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

Go to the source code of this file.

Functions/Subroutines

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)

Function/Subroutine Documentation

◆ i25pwr3e()

subroutine i25pwr3e ( integer, dimension(*) itab,
integer inacti,
integer, dimension(*) cand_m,
integer, dimension(*) cand_s,
integer istok,
integer llt,
pene,
integer iwpene,
cand_p,
integer, dimension(*) n1,
integer, dimension(*) n2,
integer, dimension(*) m1,
integer, dimension(*) m2,
integer noint,
integer nty,
integer, dimension(4,*) irect,
integer id,
character(len=nchartitle) titr,
integer, dimension(*) cand_m_g,
integer, dimension(*) cand_s_g,
cand_p_g,
integer, intent(in) iedge,
integer, intent(in) nledge,
integer, intent(in) nedge,
integer, dimension(nledge,*), intent(in) ledge )

Definition at line 32 of file i25pwr3e.F.

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, ISTOK
56 INTEGER , INTENT(IN) :: IEDGE, NEDGE, NLEDGE
57 INTEGER , INTENT(IN) :: LEDGE(NLEDGE,*)
58C 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
67 INTEGER SOL_EDGE, SH_EDGE
68C REAL
69C-----------------------------------------------
70
71 sol_edge=iedge/10 ! solids
72 sh_edge =iedge-10*sol_edge ! shells
73
74 DO i=1,llt
75
76 IF(pene(i)/=zero)THEN
77C True initial penetration
78 IF(sh_edge==1.AND.ledge(3,cand_m(i))/=0) THEN
79
80 ELSEIF(sh_edge==1.AND.ledge(3,cand_s(i))/=0) THEN
81
82 ELSEIF(sh_edge==3 .AND.
83 . ledge(3,cand_m(i))/=0 .AND.
84 . ledge(3,cand_s(i))/=0) THEN ! One of the 2 edges is not a free edge
85
86 ELSE
87 iwpene=iwpene+1
88 IF(ipri>=5)
89 . CALL ancmsg(msgid=1631,
90 . msgtype=msgwarning,
91 . anmode=aninfo_blind_1,
92 . i1=itab(n1(i)),
93 . i2=itab(n2(i)),
94 . i3=itab(m1(i)),
95 . i4=itab(m2(i)),
96 . r1=pene(i),
97 . prmod=msg_cumu)
98 ENDIF
99 IF(inacti==0)THEN
100C Ignore initial penetrations
101C ELSEIF(INACTI==1) THEN
102C Deactivation of nodes
103C WRITE(IOUT,'(A)')'NODE STIFFNESS IS SET TO ZERO'
104C STFN(J) = ZERO
105 ELSE IF(inacti==5) THEN
106C
107C Reduction of PENE
108 istok=istok+1
109 cand_m_g(istok)= cand_m(i)
110 cand_s_g(istok)= cand_s(i)
111 cand_p_g(istok)= -pene(i)
112 ELSE IF(inacti==-1) THEN
113 istok=istok+1
114C CAND_P < 0 <=> Initial penetration into the Starter & Initial forces
115 cand_m_g(istok)= cand_m(i)
116 cand_s_g(istok)= cand_s(i)
117 cand_p_g(istok)= -pene(i)
118 ENDIF
119 ELSE
120 END IF
121
122 END DO
123C
124 RETURN
#define my_real
Definition cppsort.cpp:32
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:895