# Script to produce data for figures 2(d-f)
# Created by Matthew Asker 

import numpy as np
import sys
from next_reaction_method import next_reaction_lluis
import pandas as pd

a = 0.25
s = 0.1
total_sims = 10
K_0 = 560
gamma = 11/14

params = [[80, 1e-3, -0.5],[80, 2e1, 1/3]] # [Nth, nu, delta]

for p in params:
    Nth, nu, delta = p
    for i in range(total_sims):
        G = next_reaction_lluis(s, a, nu*(1-delta), nu*(1+delta), K_0*(1+gamma), K_0*(1-gamma), Nth, 1)
        G.run()
    
        raw_data = {'N_C' : G.N_C_track,
                    'N_D' : G.N_D_track,
                    'K' : G.K_track,
                    't' : G.t_track}
        
        filename = f'trajectory [N_th, nu, delta]=[{Nth}, {nu}, {delta}] {i}'
        
        data = pd.DataFrame(raw_data, columns=['N_C', 'N_D', 'K', 't'])
        data.to_csv(filename+'.csv', index=False)