Beispiel #1
0
def modelrho(r0, rhohalf, nr00, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, nrinf):
    # direct n(r) measures: traf(...)
    vec = np.array([nr00,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18, nrinf])
    #print('vec=',vec)
    #pdb.set_trace()
    vec = traf(vec)
    vec = gcc.map_nr(np.hstack([rhohalf, vec]), 'rho', 0, gp)
    #rhoparam = np.hstack([rhohalf,vec[0],vec,vec[-1]])
    rh = phys.rho(r0, vec, 0, gp)
    return np.log(rh)
Beispiel #2
0
def modelrho(r0, rhohalf, nr00, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11,
             v12, v13, v14, v15, v16, v17, v18, nrinf):
    # direct n(r) measures: traf(...)
    vec = np.array([
        nr00, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15,
        v16, v17, v18, nrinf
    ])
    #print('vec=',vec)
    #pdb.set_trace()
    vec = traf(vec)
    vec = gcc.map_nr(np.hstack([rhohalf, vec]), 'rho', 0, gp)
    #rhoparam = np.hstack([rhohalf,vec[0],vec,vec[-1]])
    rh = phys.rho(r0, vec, 0, gp)
    return np.log(rh)
Beispiel #3
0
    # direct n(r) measures: traf(...)
    vec = np.array([nr00,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18, nrinf])
    #print('vec=',vec)
    #pdb.set_trace()
    vec = traf(vec)
    vec = gcc.map_nr(np.hstack([rhohalf, vec]), 'rho', 0, gp)
    #rhoparam = np.hstack([rhohalf,vec[0],vec,vec[-1]])
    rh = phys.rho(r0, vec, 0, gp)
    return np.log(rh)

gp.debug = False
x = gp.xfine
y = np.log(analytic_rho(x))
popt3, pcov3 = curve_fit(modelrho, x, y, p0=npr.rand(gp.nrho), maxfev=10000)
nr01opt = traf(popt3[1:])
nropt = gcc.map_nr(np.hstack([popt3[0], nr01opt]), 'rho', 0, gp)
print('nr01opt = ', nr01opt)
print('nropt = ', nropt)

fig = plt.figure(facecolor='white')
left, width = 0.25, 0.7
rect1 = [left, 0.4, width, 0.55]
rect2 = [left, 0.2, width, 0.2]
ax1 = fig.add_axes(rect1)  #left, bottom, width, height
ax2 = fig.add_axes(rect2, sharex=ax1)
ax1.plot(x, y, 'b', lw=2, label='analytic')
ax1.plot(x, modelrho(x, *popt3), 'r--', lw=2, label='fit on data')
ax1.plot(x, np.log(phys.rho(x, nropt, 0, gp)), 'g--', lw=1, label='phys.rho')
ax1.set_xscale('log')
plt.setp(ax1.get_xticklabels(), visible=False)
ax1.set_ylabel('$\\rho$')
Beispiel #4
0
    ])
    #print('vec=',vec)
    #pdb.set_trace()
    vec = traf(vec)
    vec = gcc.map_nr(np.hstack([rhohalf, vec]), 'rho', 0, gp)
    #rhoparam = np.hstack([rhohalf,vec[0],vec,vec[-1]])
    rh = phys.rho(r0, vec, 0, gp)
    return np.log(rh)


gp.debug = False
x = gp.xfine
y = np.log(analytic_rho(x))
popt3, pcov3 = curve_fit(modelrho, x, y, p0=npr.rand(gp.nrho), maxfev=10000)
nr01opt = traf(popt3[1:])
nropt = gcc.map_nr(np.hstack([popt3[0], nr01opt]), 'rho', 0, gp)
print('nr01opt = ', nr01opt)
print('nropt = ', nropt)

fig = plt.figure(facecolor='white')
left, width = 0.25, 0.7
rect1 = [left, 0.4, width, 0.55]
rect2 = [left, 0.2, width, 0.2]
ax1 = fig.add_axes(rect1)  #left, bottom, width, height
ax2 = fig.add_axes(rect2, sharex=ax1)
ax1.plot(x, y, 'b', lw=2, label='analytic')
ax1.plot(x, modelrho(x, *popt3), 'r--', lw=2, label='fit on data')
ax1.plot(x, np.log(phys.rho(x, nropt, 0, gp)), 'g--', lw=1, label='phys.rho')
ax1.set_xscale('log')
plt.setp(ax1.get_xticklabels(), visible=False)
ax1.set_ylabel('$\\rho$')