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

Go to the source code of this file.

Functions/Subroutines

subroutine i23pwr3 (itab, inacti, cand_e, cand_n, stfn, x, i_stok, nsv, iwpene, pene, noint, nty, gap_s, msr, irect, gapmin, gapmax, fpenmax, nsn, itag, cand_en, cand_nn, cand_p, stf, ifpen, ifpenn, gapv)

Function/Subroutine Documentation

◆ i23pwr3()

subroutine i23pwr3 ( integer, dimension(*) itab,
integer inacti,
integer, dimension(*) cand_e,
integer, dimension(*) cand_n,
stfn,
x,
integer i_stok,
integer, dimension(*) nsv,
integer iwpene,
pene,
integer noint,
integer nty,
gap_s,
integer, dimension(*) msr,
integer, dimension(4,*) irect,
gapmin,
gapmax,
fpenmax,
integer nsn,
integer, dimension(*) itag,
integer, dimension(*) cand_en,
integer, dimension(*) cand_nn,
cand_p,
stf,
integer, dimension(*) ifpen,
integer, dimension(*) ifpenn,
gapv )

Definition at line 31 of file i23pwr3.F.

37 USE message_mod
38 USE format_mod , ONLY : fmw_5i
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER ITAB(*),CAND_E(*),CAND_N(*), IRECT(4,*),
47 . ITAG(*),CAND_NN(*),CAND_EN(*), IFPEN(*),
48 . IFPENN(*)
49 INTEGER I_STOK,NSV(*),MSR(*),IWPENE,INACTI,NOINT,NTY,NSN,JWARN
51 . stfn(*),x(3,*),pene(*),cand_p(*),gap_s(*),
52 . gapmin,gapmax,stf(*),gapv(*),fpenmax
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "scr03_c.inc"
57#include "units_c.inc"
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER I, J, L
62 INTEGER IX1, IX2, IX3, IX4, NSVG
63 my_real penmax
64C-----------------------------------------------
65 jwarn = 0
66 DO 100 i=1,i_stok
67 j=cand_n(i)
68 l=cand_e(i)
69
70 ix1=irect(1,l)
71 ix2=irect(2,l)
72 ix3=irect(3,l)
73 ix4=irect(4,l)
74 nsvg=nsv(j)
75 IF(pene(i)>zero)THEN
76 IF(ipri>=1)THEN
77 WRITE(iout,fmt=fmw_5i) itab(nsvg), itab(ix1),itab(ix2), itab(ix3),itab(ix4)
78 END IF
79 WRITE(iout,1000)pene(i)
80C
81 penmax=fpenmax*gapv(i)
82 IF(inacti==1) THEN
83C DESACTIVATION DES NOEUDS
84 WRITE(iout,'(A)')'NODE STIFFNESS IS SET TO ZERO'
85 stfn(j) = zero
86 ELSE IF(inacti==2) THEN
87C DESACTIVATION DES ELEMENTS
88 WRITE(iout,'(A)')'ELEMENT STIFFNESS IS SET TO ZERO'
89 stf(cand_e(i)) = zero
90 ELSE IF(inacti==3) THEN
91C CHANGE LES COORDONNEES DES NOEUDS SECND
92 WRITE(iout,'(A)')
93 . 'INACTI=3 IS NOT AVAILABLE FOR INTERFACE TYPE23'
94 ELSE IF(inacti==4) THEN
95C CHANGE LES COORDONNEES DES NOEUDS MAIN
96 WRITE(iout,'(A)')
97 . 'INACTI=4 IS NOT AVAILABLE FOR INTERFACE TYPE23'
98 ELSEIF(fpenmax /= zero .AND. pene(i) > penmax) THEN
99C DESACTIVATION DES NOEUDS
100 WRITE(iout,'(A,1PG20.13,A)')
101 . ' max initial penetration ',PENMAX,' is reached'
102 WRITE(IOUT,'(a)')'node stiffness is set to zero'
103 STFN(J) = ZERO
104 ELSE IF(INACTI==5) THEN
105C REDUCTION DU GAP
106 JWARN = 1
107 PENE(I)=PENE(I)+EM08*PENE(I)
108 ELSE
109C INACTI==6
110C REDUCTION DU GAP
111 JWARN = 1
112 PENE(I)=PENE(I)+ZEP05*(GAPV(I)-PENE(I))
113 END IF
114 CAND_P(IWPENE+1) = PENE(I)
115 CAND_NN(IWPENE+1) = CAND_N(I)
116 CAND_EN(IWPENE+1) = CAND_E(I)
117 IFPENN(IWPENE+1) = IFPEN(I)
118 IWPENE=IWPENE+1
119 ENDIF
120 100 CONTINUE
121 IF (JWARN /= 0) WRITE(IOUT,'(a)')'reduce initial gap'
122C
123 1000 FORMAT(2X,'** initial penetration =',1PG20.13)
124 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21