2022-02-04 15:33:55 +01:00
|
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
|
from hopsflow import gaussflow_two as gf
|
|
|
|
|
import utilities as ut
|
|
|
|
|
import hops.util.bcf
|
|
|
|
|
import numpy as np
|
|
|
|
|
|
2022-02-05 11:21:44 +01:00
|
|
|
|
t_max = 40
|
2022-02-04 15:33:55 +01:00
|
|
|
|
bcf_1 = hops.util.bcf.OhmicBCF_zeroTemp(
|
|
|
|
|
1,
|
|
|
|
|
1,
|
|
|
|
|
1,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
bcf_2 = hops.util.bcf.OhmicBCF_zeroTemp(
|
|
|
|
|
1,
|
2022-02-05 11:21:44 +01:00
|
|
|
|
1,
|
|
|
|
|
1,
|
2022-02-04 15:33:55 +01:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
α_0_1 = gf.BCF(
|
|
|
|
|
t_max,
|
|
|
|
|
bcf_1,
|
2022-02-05 11:21:44 +01:00
|
|
|
|
num_terms=4,
|
2022-02-04 15:33:55 +01:00
|
|
|
|
resolution=0.01,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
α_1 = gf.BCF(
|
|
|
|
|
t_max,
|
2022-02-05 11:21:44 +01:00
|
|
|
|
hops.util.bcf.OhmicBCF_nonZeroTemp(s=1, eta=1, w_c=1, beta=1 / .8),
|
|
|
|
|
num_terms=8,
|
2022-02-04 15:33:55 +01:00
|
|
|
|
resolution=0.01,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
α_0_2 = gf.BCF(
|
|
|
|
|
t_max,
|
|
|
|
|
bcf_2,
|
2022-02-05 11:21:44 +01:00
|
|
|
|
num_terms=4,
|
2022-02-04 15:33:55 +01:00
|
|
|
|
resolution=0.01,
|
|
|
|
|
)
|
|
|
|
|
|
2022-02-05 11:21:44 +01:00
|
|
|
|
params = gf.SystemParams(Ω=1, Λ=1, η=[1, 1], γ=0, α_0=[α_0_1, α_0_2])
|
|
|
|
|
t_points = np.linspace(0, t_max, 500)
|
2022-02-04 15:33:55 +01:00
|
|
|
|
|
|
|
|
|
G = gf.Propagator(params)
|
|
|
|
|
|
|
|
|
|
initial_state = np.array([1,0,2,0])
|
|
|
|
|
traj = G(t_points) @ initial_state
|
|
|
|
|
with ut.hiro_style():
|
|
|
|
|
plt.plot(t_points, traj[:, [0,2]])
|
|
|
|
|
|
2022-02-05 11:21:44 +01:00
|
|
|
|
C = gf.CorrelationMatrix(params,gf.initial_correlation_pure_osci(1 , 1), [α_1, None])
|
2022-02-04 15:33:55 +01:00
|
|
|
|
|
|
|
|
|
energy = C.system_energy(t_points)
|
|
|
|
|
|
|
|
|
|
with ut.hiro_style():
|
|
|
|
|
plt.plot(t_points, energy)
|
|
|
|
|
|
|
|
|
|
flow = [C.flow(t_points, i) for i in range(2)]
|
|
|
|
|
|
|
|
|
|
with ut.hiro_style():
|
|
|
|
|
plt.plot(t_points, flow[0])
|
|
|
|
|
plt.plot(t_points, flow[1])
|
|
|
|
|
|
2022-02-05 11:21:44 +01:00
|
|
|
|
flow[0][-4]/flow[1][-4]
|