36 . NFUNC ,NFUNL ,IFUNC ,MAT_ID ,FUNC_ID,
49#include "implicit_f.inc"
54#include "tabsiz_c.inc"
58 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
59 INTEGER ,
INTENT(IN) :: MAT_ID,NFUNC,NFUNL
60 INTEGER ,
DIMENSION(NFUNC) ,
INTENT(IN) :: FUNC_ID
61 INTEGER ,
DIMENSION(NFUNC+NFUNL) ,
INTENT(INOUT) :: IFUNC
62 INTEGER ,
DIMENSION(SNPC) ,
INTENT(IN) :: NPC
63 my_real ,
DIMENSION(STF) ,
INTENT(IN) :: pld
64 my_real ,
DIMENSION(NPROPM) ,
INTENT(OUT) :: pm
65 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
66 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MAT_PARAM
70 INTEGER I,ISENS,SENS_ID,FUNC
71 my_real KCMAX,KTMAX,GMAX,STIFF,STIFFMIN,STIFFINI,STIFFMAX,STIFFAVG,
72 . yfac1,yfac2,yfac3,kflex1,kflex2
82 kflex1 = mat_param%UPARAM(6)
83 kflex2 = mat_param%UPARAM(7)
84 yfac1 = mat_param%UPARAM(12)
85 yfac2 = mat_param%UPARAM(13)
86 yfac3 = mat_param%UPARAM(14)
88 sens_id = mat_param%IPARAM(1)
93 IF (sens_id > 0 )
THEN
94 DO i=1,sensors%NSENSOR
95 IF (sens_id == sensors%SENSOR_TAB(i)%SENS_ID)
THEN
101 .
CALL ancmsg(msgid=1240,anmode=aninfo,msgtype=msgwarning,
102 . i1=mat_id,c1=titr,i2=isens)
104 mat_param%IPARAM(1) = isens
112 CALL func_slope(func,yfac1,npc,pld,stiffmin,stiffmax,stiffini,stiffavg)
114 IF (stiffmin <= zero)
THEN
115 CALL ancmsg(msgid=1581,msgtype=msgerror,anmode=aninfo_blind_2,
117 . i2=func_id(ifunc(1)),
129 CALL func_slope(func,yfac2,npc,pld,stiffmin,stiffmax,stiffini,stiffavg)
131 IF (stiffmin <= zero)
THEN
132 CALL ancmsg(msgid=1582 ,msgtype=msgerror,anmode=aninfo_blind_2,
134 . i2=func_id(ifunc(2)),
145 CALL func_slope(func,yfac3,npc,pld,stiffmin,stiffmax,stiffini,stiffavg)
147 IF (stiffmin <= zero)
THEN
148 CALL ancmsg(msgid=1583 ,msgtype=msgerror,anmode=aninfo_blind_2,
150 . i2=func_id(ifunc(3)),
162 CALL func_slope(func,kflex1,npc,pld,stiffmin,stiffmax,stiffini,stiffavg)
164 IF (stiffmin <= zero)
THEN
165 CALL ancmsg(msgid=1581 , msgtype=msgerror, anmode=aninfo_blind_2,
167 . i2=func_id(ifunc(4)),
176 CALL func_slope(func,kflex2,npc,pld,stiffmin,stiffmax,stiffini,stiffavg)
178 IF (stiffmin <= zero)
THEN
179 CALL ancmsg(msgid=1582 , msgtype=msgerror, anmode=aninfo_blind_2,
181 . i2=func_id(ifunc(5)),
186 stiff =
max(kcmax,ktmax)
187 mat_param%UPARAM(10) = stiff
188 mat_param%UPARAM(11) = gmax
193 pm(23) = em01*stiffavg
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)