From 8119543dda97b48666c1496e3396214b5a0159df Mon Sep 17 00:00:00 2001 From: Jan Benda Date: Fri, 16 May 2025 22:25:54 +0200 Subject: [PATCH] [lissuscept] improved resolution of chi1 --- data/simulations/lif-mu011-D0010-chi2.npz | Bin 647270 -> 656316 bytes lifsuscept.py | 57 ++++++++++++++-------- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/data/simulations/lif-mu011-D0010-chi2.npz b/data/simulations/lif-mu011-D0010-chi2.npz index 2642cf94ffb354e1fa2952d31d2d913c95c5c3b5..67b74f2cc68e6570918f346023133c34b006589e 100644 GIT binary patch delta 12845 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 delta 3779 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 RM-dHwB}fFq#VYD diff --git a/lifsuscept.py b/lifsuscept.py index b9b1362..409bfe1 100644 --- a/lifsuscept.py +++ b/lifsuscept.py @@ -55,18 +55,25 @@ def susceptibility2(omega1, omega2, chi1_1, chi1_2, r0, mu, D, tau_ref, vR, vT): return a1 * b1/c + a2*a3*b2/c - a2*a3*b3/c -def susceptibilities(frange, mu, D, tau_ref, vR, vT): - print('compute LIF susceptibilites:') +def susceptibilities(frange1, frange2, mu, D, tau_ref, vR, vT): + print(f'compute LIF susceptibilites for mu={mu:4.1f} and D={D:g}:') + print(f' mean firing rate ...') r0 = firingrate(mu, D, tau_ref, vR, vT) - chi1_data = np.zeros(len(frange), dtype=complex) - chi2_data = np.zeros((len(frange), len(frange)), dtype=complex) - for f2 in range(len(frange)): - print(f' step {f2 + 1:4d} of {len(frange):4d}') - omega2 = 2.0*np.pi*frange[f2] + # chi1: + print(f' chi1 ...') + chi1_data = np.zeros(len(frange1), dtype=complex) + for f2 in range(len(frange1)): + omega2 = 2.0*np.pi*frange1[f2] chi1_2 = susceptibility1(omega2, r0, mu, D, tau_ref, vR, vT) chi1_data[f2] = chi1_2 - for f1 in range(len(frange)): - omega1 = 2.0*np.pi*frange[f1] + # chi2: + chi2_data = np.zeros((len(frange2), len(frange2)), dtype=complex) + for f2 in range(len(frange2)): + print(f' chi2 step {f2 + 1:4d} of {len(frange2):4d}') + omega2 = 2.0*np.pi*frange2[f2] + chi1_2 = susceptibility1(omega2, r0, mu, D, tau_ref, vR, vT) + for f1 in range(len(frange2)): + omega1 = 2.0*np.pi*frange2[f1] chi1_1 = susceptibility1(omega1, r0, mu, D, tau_ref, vR, vT) chi2 = susceptibility2(omega1, omega2, chi1_1, chi1_2, r0, mu, D, tau_ref, vR, vT) chi2_data[f2, f1] = chi2 @@ -76,19 +83,26 @@ def susceptibilities(frange, mu, D, tau_ref, vR, vT): def load_lifdata(mu, D, vT=1, vR=0, tau_ref=0): file_path = sims_path / f'lif-mu{10*mu:03.0f}-D{10000*D:04.0f}-chi2.npz' if not file_path.exists(): - freqs = np.linspace(0.01, 1.0, 200) - r0, chi1, chi2 = susceptibilities(freqs, mu, D, tau_ref, vR, vT) - np.savez(file_path, mu=mu, D=D, vT=vT, vR=vR, tau_mem=1, tau_ref=tau_ref, - r0=r0, freqs=freqs, chi1=chi1, chi2=chi2) + freqs1 = np.linspace(0.01, 1.0, 500) + freqs2 = np.linspace(0.01, 1.0, 200) + r0, chi1, chi2 = susceptibilities(freqs1, freqs2, mu, D, + tau_ref, vR, vT) + np.savez(file_path, mu=mu, D=D, vT=vT, vR=vR, + tau_mem=1, tau_ref=tau_ref, r0=r0, + freqs1=freqs1, chi1=chi1, freqs2=freqs2, chi2=chi2) data = np.load(file_path) r0 = float(data['r0']) - freqs = data['freqs'] + freqs1 = data['freqs1'] chi1 = data['chi1'] + freqs2 = data['freqs2'] chi2 = data['chi2'] - return r0, freqs, chi1, chi2 + print(f'LIF with mu={mu:4.1f} and D={D:g}') + return r0, freqs1, chi1, freqs2, chi2 def plot_gain(ax, s, r0, freqs, chi1): + ax.axvline(r0, **s.lsGrid) + ax.axvline(2*r0, **s.lsGrid) ax.plot(freqs, np.abs(chi1), **s.lsM1) ax.set_xlabel('$f$') ax.set_ylabel('$|\\chi_1(f)|$', labelpad=6) @@ -96,6 +110,8 @@ def plot_gain(ax, s, r0, freqs, chi1): ax.set_ylim(0, 14) ax.set_xticks_delta(0.2) ax.set_yticks_delta(3) + ax.text(r0, 14.2, '$r$', ha='center') + ax.text(2*r0, 14.2, '$2r$', ha='center') def plot_chi2(ax, s, r0, freqs, chi2): @@ -130,15 +146,16 @@ if __name__ == '__main__': mu = 1.1 D = 0.001 - r0, freqs, chi1, chi2 = load_lifdata(mu, D) + r0, freqs1, chi1, freqs2, chi2 = load_lifdata(mu, D) s = plot_style() plt.rcParams['axes.labelpad'] = 2 - fig, (axg, axc) = plt.subplots(1, 2, cmsize=(s.plot_width, 0.38*s.plot_width)) - fig.subplots_adjust(leftm=8, rightm=8.5, topm=1, bottomm=3.5, wspace=0.4) + fig, (axg, axc) = plt.subplots(1, 2, + cmsize=(s.plot_width, 0.38*s.plot_width)) + fig.subplots_adjust(leftm=8, rightm=8.5, topm=1.5, bottomm=3.5, wspace=0.4) fig.set_align(autox=False) - plot_gain(axg, s, r0, freqs, chi1) - plot_chi2(axc, s, r0, freqs, chi2) + plot_gain(axg, s, r0, freqs1, chi1) + plot_chi2(axc, s, r0, freqs2, chi2) fig.tag() fig.savefig() print()