35 SUBROUTINE func_slope(IDN,FAC,NPC,PLD,STIFFMIN,STIFFMAX,STIFFINI,STIFFAVG)
44#include "implicit_f.inc"
49 my_real pld(*),fac,stiffmin,stiffmax,stiffini,stiffavg
51 INTENT(IN) :: npc,pld,idn
52 INTENT(OUT) :: stiffmax,stiffini,stiffavg
56 INTEGER J,PN1,PN2,COUNT
70 dx = pld(j+2) - pld(j)
71 dy = pld(j+3) - pld(j+1)
73 stiffmax =
max(stiffmax,dydx)
74 stiffmin =
min(stiffmin,dydx)
75 stiffavg = stiffavg + dydx
76 IF(pld(j+2)== zero )
THEN
77 dx = pld(j+2) - pld(j)
78 dy = pld(j+3) - pld(j+1)
79 stiffini =
max(stiffini, fac*dy/dx)
80 ELSEIF(pld(j) == zero)
THEN
81 dx = pld(j+2) - pld(j)
82 dy = pld(j+3) - pld(j+1)
83 stiffini =
max(stiffini, fac*dy/dx)
84 ELSEIF(pld(pn1) >= zero)
THEN
85 dx = pld(pn1+2) - pld(pn1 )
86 dy = pld(pn1+3) - pld(pn1 + 1)
87 stiffini =
max(stiffini, fac*dy/dx)
90 stiffavg = stiffavg / count
101 SUBROUTINE unify_x(IDN1,IDN2,NPC,PLD,NPOINT,LEN1,LEN2,XUNI,NPTNEW)
110#include "implicit_f.inc"
114 INTEGER IDN1,IDN2,NPOINT,LEN1,LEN2,
117 . pld(*),xuni(npoint)
119 INTENT(IN) :: npc,pld
134 IF(i == 2*len1 .AND. j == 2*len2 )
THEN
137 IF ((ec < et.AND.i<2*len1) .OR. j >= 2*len2)
THEN
140 ec = pld(npc(idn1)+ i )
141 ELSEIF ((ec > et.AND.j<2*len2) .OR. i >= 2*len1)
THEN
144 et = pld(npc(idn2)+ j )
145 ELSEIF (ec == et)
THEN
149 ec = pld(npc(idn1)+ i )
150 et = pld(npc(idn2)+ j )
subroutine unify_x(idn1, idn2, npc, pld, npoint, len1, len2, xuni, nptnew)
subroutine func_slope(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)