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

Go to the source code of this file.

Functions/Subroutines

subroutine law111_upd (iout, titr, mat_id, uparam, nfunc, ifunc, func_id, npc, pld, pm, ipm)

Function/Subroutine Documentation

◆ law111_upd()

subroutine law111_upd ( integer iout,
character(len=nchartitle) titr,
integer mat_id,
uparam,
integer nfunc,
integer, dimension(nfunc) ifunc,
integer, dimension(*) func_id,
integer, dimension(*) npc,
pld,
pm,
integer, dimension(npropmi) ipm )

Definition at line 36 of file law111_upd.F.

38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
41 USE message_mod
42 USE table_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "param_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 CHARACTER(LEN=NCHARTITLE) :: TITR
56 INTEGER MAT_ID,IOUT, NFUNC
57 INTEGER NPC(*), FUNC_ID(*), IPM(NPROPMI)
58 my_real uparam(*),pld(*),pm(npropm)
59 INTEGER, DIMENSION(NFUNC):: IFUNC
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER N,K,ITEST,II,JJ,NSTART,IC1,IC2,NOGD,NDATA,NMULA,IFC,ICRYPT,
64 . ICHECK,NCOMP
65 my_real e,nu,gs,rbulk,d,young,errtol,ave_slope,mu,mu_max,mu_min,dx,
66 . scalefac,stiffmin,stiffmax,stiffini,stfavg
67 my_real , DIMENSION(:), ALLOCATABLE :: stress,stretch
68C====================================================================
69! IDENTIFICATION
70!====================================================================
71 icrypt = 0 !
72 nstart = 2
73 errtol = fiveem3
74 ifc = ifunc(1)
75 ic1 = npc(ifc)
76 ic2 = npc(ifc + 1)
77 scalefac = uparam(3)
78 nogd=(ic2-ic1)/2
79 ndata=nogd
80C
81C !! check if the curve don't have (0,0) point.
82C
83 icheck = 0
84 ncomp = 0
85 DO jj = ic1,ic2 - 4,2
86 IF (pld(jj) == zero .AND. pld(jj + 1) == zero )icheck = 1
87 IF (pld(jj) < zero ) ncomp = ncomp + 1
88 ENDDO
89 IF (icheck == 0 ) THEN
90 ! Error message
91 CALL ancmsg(msgid=1896,
92 . msgtype=msgerror,
93 . anmode=aninfo,
94 . i1=mat_id,
95 . c1=titr,
96 . i2=func_id(ifc)) ! Id_function
97 CALL arret(2)
98 ENDIF
99!! IF (NCOMP == 0 ) THEN ! No curve definition in compression => warning
100!! CALL ANCMSG(MSGID=1917,
101!! . MSGTYPE=MSGWARNING,
102!! . ANMODE=ANINFO,
103!! . I1=MAT_ID,
104!! . C1=TITR,
105!! . I2=FUNC_ID(IFC)) ! Id_function
106!! ENDIF
107c
108 ALLOCATE (stretch(nogd))
109 ALLOCATE (stress(nogd))
110c
111 ave_slope = zero
112 jj=0
113 stretch=zero
114 stress=zero
115 mu=zero
116 rbulk=zero
117 gs=zero
118c
119 CALL func_slope(ifunc(1),scalefac,npc,pld,stiffmin,stiffmax,stiffini,stfavg)
120C
121 nu = uparam(1)
122 !!GS = STIFFMAX
123 gs = stiffini
124C
125 rbulk=two*gs*(one+nu)
126 . /max(em30,three*(one-two*nu))
127 uparam(4) = gs
128 uparam(5) = rbulk
129 uparam(6) = uparam(4)
130 IF(ncomp == 0) uparam(7) = 1
131!! UPARAM(6)=TWO*STIFFMIN*(ONE+NU)
132!! . /MAX(EM30,THREE*(ONE-TWO*NU))
133c parameters
134 young = two*gs*(one + nu)
135 pm(20) = young
136 pm(21) = nu
137 pm(22) = gs
138 pm(24) = young/(one - nu**2)
139 pm(32) = rbulk
140 pm(100) = rbulk !PARMAT(1)
141C-----------
142C Formulation for solid elements time step computation.
143 ipm(252)= 2
144 pm(105) = two*gs/(rbulk + four_over_3*gs)
145C
146 IF (icrypt == 0) THEN
147 WRITE(iout,1000)
148 WRITE(iout,1100)gs,rbulk
149 ENDIF
150c----------------
151c end of optimization loop
152c----------------
153 RETURN
154c----------------
155 1000 FORMAT
156 & (//5x, ' PARAMETERS FOR HYPERELASTIC_MATERIAL LAW111 ' ,/,
157 & 5x, ' --------------------------------------------------')
158 1100 FORMAT(
159C
160 & 5x,'MARLOW LAW',/,
161 & 5x,'INITIAL SHEAR MODULUS. . . . . . . . . . .=',1pg20.13/
162 & 5x,'BULK MODULUS . . . . . . . . . . . . . . .=',1pg20.13//)
163c-----------
164 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine func_slope(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
Definition func_slope.F:37
#define max(a, b)
Definition macros.h:21
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
subroutine arret(nn)
Definition arret.F:87