-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterp_uneven_csv.py
More file actions
28 lines (18 loc) · 820 Bytes
/
interp_uneven_csv.py
File metadata and controls
28 lines (18 loc) · 820 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
import numpy as np
import scipy.interpolate as interp
from Integrate_Nu_Sol_Prime import numerov
from generate_potential import GridInfo
def interp_uneven_csv(csvfile):
DFT_V_csv = np.genfromtxt(csvfile, delimiter=' ')
#print(DFT_V_csv)
interpolator = interp.interp1d(DFT_V_csv[:,0], DFT_V_csv[:,1],'cubic')
#print(DFT_V_csv[:,0])
#print(DFT_V_csv[:,1])
minval = float(np.amin(DFT_V_csv[:,0]))
maxval = float(np.amax(DFT_V_csv[:,0]))
diffs = DFT_V_csv[0:-1,0] - DFT_V_csv[1:,0]
mindiff = np.min(np.abs(diffs))
print("min:", minval, "max:", maxval, "step:", mindiff)
newx = np.arange(minval, maxval, mindiff)
newy = interpolator(newx)
numerov("First-DFT", GridInfo(1, ZMIN=minval,ZMAX=maxval,ZDIV=newy.size, External=True), Generate=False, GivenPot=newy, N_EVAL=20, Overwrite=True, IgnoreM=False)