-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinteractionFunction.jl
More file actions
executable file
·56 lines (48 loc) · 922 Bytes
/
Copy pathinteractionFunction.jl
File metadata and controls
executable file
·56 lines (48 loc) · 922 Bytes
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
Hv(x) = float(x > 0.0)
function getforce(r)
U0 = 2650
U1 = 30
U2 = 2
U3 = 1
A0 = 8
A1 = 2
A2 = 25
A3 = 26
force = 0
force += U0 * r * exp(-(((r / A0)^2)))
force += U2 * exp(-r / A2)
force -= U3 * (r - A3)^2 * Hv(r - A3)
force += U1 * (r - A1) * Hv(r - A1)
return force
end
function U(r)
U0 = 2400
a0 = 8
U1 = 2
a1 = 35
return U0 * exp(-(r / a0)^2) + U1 * (r - a1)^2 * Hv(r - a1)
end
function lenjones(r, sig=100, eps=10)
f = 4 * eps
f *= (12 * sig^12) * r^(-13) -
6 * (sig^6) * r^(-7)
return f
end
function gravity(r)
return 1e4 / (r ^ 2)
end
"""Border force"""
function fborder(H)
Hmax = 1/20
F0 = 0.
Fmax = 1250
if (H>0)
return F0
elseif (0 ≥ H ≥ -Hmax)
return (Fmax/Hmax)*H
elseif (H < -Hmax)
return Fmax
else
error("finthebug")
end
end