summaryrefslogtreecommitdiff
path: root/sim/src/parameters/lippmor.py
blob: 272c7154791b70148bbbb3f1606378deeaf10d66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#! /usr/bin/python

from math import *

r0=1
De=1
ks=100
beta = sqrt(ks/(2*De))

def morse(r):
    return De*(1-exp(-sqrt(ks/(2*De))*(r-r0)))**2
def lipp(r):
    return De*(1-exp(-ks*r0*(r-r0)**2/(2*De*r)))
def lippmor(r):
    if r<r0: return morse(r) - De
    else: return lipp(r) - De

def flp(x):
    k1              = 4.55328
    k2              = -8.24688
    k3              = 4.7872
    c               = 4.00777

    return c*(1/(k1*x**2+k2*x+k3)**16-1/(k1*x**2+k2*x+k3)**8)

def fmo(x):
    k1              = 2303.27
    k2              = 1.12845
    k3              = 1.45109
    c               = 59.1548
    k1              = 95.1566
    k2              = 1.3563
    k3              = 0.416429
    c               = 46234.9

    return k1*(c/(k2+x**2)**16-1/(k3+x**2)**8)

def flipmor(r):
    if r<1.03946: return fmo(r)
    else: return flp(r)

for i in range(600):
    x=i*0.001 + .9
    print x, flp(x), fmo(x)
#    print x, lippmor(x)

#    print x, flipmor(x),(flipmor(x+0.001)-flipmor(x-0.001))*1e3

## r<0, quartic
## a               = 2689.48          +/- 12.49        (0.4645%)
## b               = -11027.6         +/- 48.73        (0.4419%)
## c               = 16997.7          +/- 71.21        (0.419%)
## d               = -11670.6         +/- 46.22        (0.396%)
## e               = 3009.98          +/- 11.24        (0.3734%)

## r>0

## a               = 274.58           +/- 6.785        (2.471%)
## b               = -1349            +/- 29.58        (2.193%)
## c               = 2459.39          +/- 48.31        (1.964%)
## d               = -1970.22         +/- 35.02        (1.777%)
## e               = 584.236          +/- 9.506        (1.627%)

## for r>r0, using +/ a[i]/x^i

## a               = 214.69           +/- 1.915        (0.8918%)
## b               = -1092.98         +/- 9.376        (0.8578%)
## c               = 2068.38          +/- 17.13        (0.8281%)
## d               = -1721.46         +/- 13.83        (0.8036%)
## e               = 530.38           +/- 4.168        (0.7859%)