905e7460830cd69330c444d3b9ed7ceb0b4655dc
[unres.git] / source / unres / src_MD / gnmr1.f
1       double precision function gnmr1(y,ymin,ymax)
2       implicit none
3       double precision y,ymin,ymax
4       double precision wykl /4.0d0/
5       if (y.lt.ymin) then
6         gnmr1=(ymin-y)**wykl/wykl
7       else if (y.gt.ymax) then
8         gnmr1=(y-ymax)**wykl/wykl
9       else
10         gnmr1=0.0d0
11       endif
12       return
13       end
14 c------------------------------------------------------------------------------
15       double precision function gnmr1prim(y,ymin,ymax)
16       implicit none
17       double precision y,ymin,ymax
18       double precision wykl /4.0d0/
19       if (y.lt.ymin) then
20         gnmr1prim=-(ymin-y)**(wykl-1)
21       else if (y.gt.ymax) then
22         gnmr1prim=(y-ymax)**(wykl-1)
23       else
24         gnmr1prim=0.0d0
25       endif
26       return
27       end
28 c------------------------------------------------------------------------------
29       double precision function harmonic(y,ymax)
30       implicit none
31       double precision y,ymax
32       double precision wykl /2.0d0/
33       harmonic=(y-ymax)**wykl
34       return
35       end
36 c-------------------------------------------------------------------------------
37       double precision function harmonicprim(y,ymax)
38       double precision y,ymin,ymax
39       double precision wykl /2.0d0/
40       harmonicprim=(y-ymax)*wykl
41       return
42       end
43 c---------------------------------------------------------------------------------