- double precision function gnmr1(y,ymin,ymax)
- implicit none
- double precision y,ymin,ymax
- double precision wykl /4.0d0/
- if (y.lt.ymin) then
- gnmr1=(ymin-y)**wykl/wykl
- else if (y.gt.ymax) then
- gnmr1=(y-ymax)**wykl/wykl
- else
- gnmr1=0.0d0
- endif
- return
- end
-c------------------------------------------------------------------------------
- double precision function gnmr1prim(y,ymin,ymax)
- implicit none
- double precision y,ymin,ymax
- double precision wykl /4.0d0/
- if (y.lt.ymin) then
- gnmr1prim=-(ymin-y)**(wykl-1)
- else if (y.gt.ymax) then
- gnmr1prim=(y-ymax)**(wykl-1)
- else
- gnmr1prim=0.0d0
- endif
- return
- end
-c------------------------------------------------------------------------------
- double precision function harmonic(y,ymax)
- implicit none
- double precision y,ymax
- double precision wykl /2.0d0/
- harmonic=(y-ymax)**wykl
- return
- end
-c-------------------------------------------------------------------------------
- double precision function harmonicprim(y,ymax)
- double precision y,ymin,ymax
- double precision wykl /2.0d0/
- harmonicprim=(y-ymax)*wykl
- return
- end
-c---------------------------------------------------------------------------------