OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps104.F File Reference
#include "implicit_f.inc"
#include "scr17_c.inc"
#include "com08_c.inc"
#include "units_c.inc"
#include "impl1_c.inc"
#include "comlock.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sigeps104 (nel, ngl, nuparam, nuvar, npg, uelr, time, timestep, uparam, uvar, jthe, loff, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, temp, varnl, off, ipg, dmg, l_dmg, pla_nl, l_planl, plap_nl, l_epsdnl, seq, inloc, jlag, fheat, volume)

Function/Subroutine Documentation

◆ sigeps104()

subroutine sigeps104 ( integer nel,
integer, dimension(nel), intent(in) ngl,
integer nuparam,
integer nuvar,
integer npg,
intent(inout) uelr,
time,
timestep,
intent(in) uparam,
intent(inout) uvar,
integer jthe,
intent(inout) loff,
intent(in) rho0,
intent(in) rho,
intent(inout) pla,
intent(inout) dpla,
intent(inout) epsd,
intent(out) soundsp,
intent(in) depsxx,
intent(in) depsyy,
intent(in) depszz,
intent(in) depsxy,
intent(in) depsyz,
intent(in) depszx,
intent(in) sigoxx,
intent(in) sigoyy,
intent(in) sigozz,
intent(in) sigoxy,
intent(in) sigoyz,
intent(in) sigozx,
intent(out) signxx,
intent(out) signyy,
intent(out) signzz,
intent(out) signxy,
intent(out) signyz,
intent(out) signzx,
intent(out) sigy,
intent(out) et,
intent(inout) temp,
intent(inout) varnl,
intent(inout) off,
integer ipg,
intent(inout) dmg,
integer, intent(in) l_dmg,
intent(in) pla_nl,
integer, intent(in) l_planl,
intent(in) plap_nl,
integer, intent(in) l_epsdnl,
intent(inout) seq,
integer inloc,
integer, intent(in) jlag,
intent(inout) fheat,
intent(in) volume )

Definition at line 37 of file sigeps104.F.

47C-----------------------------------------------
48C M o d u l e s
49C-----------------------------------------------
50 USE elbufdef_mod
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C O M M O N
57C-----------------------------------------------
58#include "scr17_c.inc"
59#include "com08_c.inc"
60#include "units_c.inc"
61#include "impl1_c.inc"
62#include "comlock.inc"
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 INTEGER NEL,NUPARAM,NUVAR,JTHE,IPG,NPG,INLOC
67 INTEGER ,DIMENSION(NEL), INTENT(IN) :: NGL
68 INTEGER ,INTENT(IN) :: L_DMG,L_PLANL,L_EPSDNL
69 INTEGER ,INTENT(IN) :: JLAG
70 my_real
71 . time,timestep
72 my_real, DIMENSION(NUPARAM), INTENT(IN) ::
73 . uparam
74 my_real, DIMENSION(NEL), INTENT(IN) ::
75 . rho0,rho,
76 . depsxx,depsyy,depszz,depsxy,depsyz,depszx,
77 . sigoxx,sigoyy,sigozz,sigoxy,sigoyz,sigozx
78 my_real, DIMENSION(NEL*L_PLANL), INTENT(IN) ::
79 . pla_nl
80 my_real, DIMENSION(NEL*L_EPSDNL), INTENT(IN) ::
81 . plap_nl
82 my_real ,DIMENSION(NEL), INTENT(IN) :: volume
83 my_real, DIMENSION(NEL), INTENT(OUT) ::
84 . soundsp,sigy,et,
85 . signxx,signyy,signzz,signxy,signyz,signzx
86 my_real, DIMENSION(NEL), INTENT(INOUT) ::
87 . pla,dpla,epsd,varnl,loff,off,temp,seq,uelr
88 my_real, DIMENSION(NEL*L_DMG), INTENT(INOUT) ::
89 . dmg
90 my_real, DIMENSION(NEL,NUVAR), INTENT(INOUT) :: uvar
91 my_real ,DIMENSION(NEL) , INTENT(INOUT) :: fheat
92C-----------------------------------------------
93C L o c a l V a r i a b l e s
94C-----------------------------------------------
95 INTEGER IGURSON,NICE,NINDX,I,J,INDX(NEL),IR,IS,IT
96C=======================================================================
97c
98 nice = nint(uparam(11)) ! Plastic projection method
99 ! = 1 => Nice method
100 ! = 2 => Newton
101c
102 igurson = nint(uparam(30)) ! Gurson switch flag:
103 ! = 0 => Drucker material law with no damage
104 ! = 1 => Local Gurson damage model
105 ! = 2 => Non local (Forest - micromorphic) damage model
106 ! = 3 => Non local (Peerlings) damage model
107c--------------------------
108 SELECT CASE (igurson)
109c
110 CASE(0) ! Drucker material law with no damage
111c
112 IF ((nice == 1).OR.(nice == 3)) THEN
114 1 nel ,ngl ,nuparam ,nuvar ,volume ,fheat ,
115 2 time ,timestep,uparam ,uvar ,jthe ,off ,
116 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
117 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
118 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
119 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
120 7 sigy ,et ,temp ,seq ,inloc ,varnl ,
121 8 jlag )
122 ELSE ! Newton
124 1 nel ,ngl ,nuparam ,nuvar ,volume ,fheat ,
125 2 time ,timestep,uparam ,uvar ,jthe ,off ,
126 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
127 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
128 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
129 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
130 7 sigy ,et ,temp ,seq ,inloc ,varnl ,
131 8 jlag )
132 ENDIF
133c
134 CASE(1,2) ! Drucker material law with local Gurson damage
135c
136 IF ((nice == 1).OR.(nice == 3)) THEN
137 CALL mat104_ldam_nice(
138 1 nel ,ngl ,nuparam ,nuvar ,volume ,fheat ,
139 2 time ,timestep,uparam ,uvar ,jthe ,loff ,
140 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
141 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
142 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
143 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
144 7 sigy ,et ,varnl ,dmg ,temp ,jlag ,
145 8 seq ,pla_nl ,l_planl ,plap_nl ,l_epsdnl)
146 ELSE ! Newton
148 1 nel ,ngl ,nuparam ,nuvar ,volume ,
149 2 time ,timestep,uparam ,uvar ,jthe ,loff ,
150 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
151 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
152 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
153 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
154 7 sigy ,et ,varnl ,dmg ,temp ,fheat ,
155 8 seq ,pla_nl ,l_planl ,plap_nl ,l_epsdnl,jlag )
156 ENDIF
157c
158 CASE(3) ! Drucker material law with non local (Peerling) damage model
159c
160 IF ((nice == 1).OR.(nice == 3)) THEN
162 1 nel ,ngl ,nuparam ,nuvar ,volume ,fheat ,
163 2 time ,timestep,uparam ,uvar ,jthe ,loff ,
164 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
165 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
166 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
167 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
168 7 sigy ,et ,varnl ,dmg ,temp ,seq ,
169 8 pla_nl ,plap_nl ,jlag )
170 ELSE ! Newton
172 1 nel ,ngl ,nuparam ,nuvar ,volume ,fheat ,
173 2 time ,timestep,uparam ,uvar ,jthe ,loff ,
174 3 rho0 ,rho ,pla ,dpla ,epsd ,soundsp ,
175 4 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
176 5 sigoxx ,sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
177 6 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
178 7 sigy ,et ,varnl ,dmg ,temp ,seq ,
179 8 pla_nl ,plap_nl ,jlag )
180 ENDIF
181c
182 END SELECT
183c--------------------------
184 ! Solid elements deletion
185 IF (igurson>0) THEN
186 nindx = 0
187 indx(1:nel) = 0
188 DO i=1,nel
189 !Integration point failure
190 IF (loff(i) == four_over_5) THEN
191 uelr(i) = uelr(i) + one
192 ! If all integration points have failed, element is deleted
193 IF (nint(uelr(i)) == npg) THEN
194 nindx = nindx+1
195 indx(nindx) = i
196 off(i) = zero
197 ENDIF
198 ENDIF
199 ENDDO
200 IF((nindx>0).AND.(imconv==1))THEN
201 DO j=1,nindx
202#include "lockon.inc"
203 WRITE(iout, 1000) ngl(indx(j)),tt
204 WRITE(istdo,1000) ngl(indx(j)),tt
205#include "lockoff.inc"
206 ENDDO
207 ENDIF
208 ENDIF
209c
210 1000 FORMAT(1x,'-- RUPTURE (GURSON) OF SOLID ELEMENT :',i10,' AT TIME :',1pe12.4)
211c
212c-----------
213 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine mat104_ldam_newton(nel, ngl, nuparam, nuvar, volume, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, dpla_nl, dmg, temp, fheat, seq, pla_nl, l_planl, plap_nl, l_epsdnl, jlag)
subroutine mat104_ldam_nice(nel, ngl, nuparam, nuvar, volume, fheat, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, dpla_nl, dmg, temp, jlag, seq, pla_nl, l_planl, plap_nl, l_epsdnl)
subroutine mat104_nldam_newton(nel, ngl, nuparam, nuvar, volume, fheat, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, dpla_nl, dmg, temp, seq, pla_nl, plap_nl, jlag)
subroutine mat104_nldam_nice(nel, ngl, nuparam, nuvar, volume, fheat, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, dpla_nl, dmg, temp, seq, pla_nl, plap_nl, jlag)
subroutine mat104_nodam_newton(nel, ngl, nuparam, nuvar, volume, fheat, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, temp, seq, inloc, dplanl, jlag)
subroutine mat104_nodam_nice(nel, ngl, nuparam, nuvar, volume, fheat, time, timestep, uparam, uvar, jthe, off, rho0, rho, pla, dpla, epsd, soundsp, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigy, et, temp, seq, inloc, dplanl, jlag)