#%%
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams['text.usetex'] = True
plt.rcParams['font.size'] = 12
plt.rcParams['axes.spines.right'] = False
plt.rcParams['axes.spines.top'] = False

def cm2inch(*tupl):
    inch = 2.54
    if isinstance(tupl[0], tuple):
        return tuple(i/inch for i in tupl[0])
    else:
        return tuple(i/inch for i in tupl)

exp = np.genfromtxt('./KFS-triaxCUcyc-dense.dat', skip_header=5)
sim = np.genfromtxt('./sim-print-out/EALL_element_1.dat', skip_header=1)


fig, (ax1,ax2) = plt.subplots(ncols=2, sharey=True, figsize=cm2inch(16,8))

ax1.plot(exp[:,0], exp[:,1], ls=':', label='Experiment')
ax1.plot(-(sim[:,1]+sim[:,2]+sim[:,3])/3.-sim[:,-1], -(sim[:,2]-sim[:,1]), label='Simulation')
ax1.set_ylabel('Deviatoric stress $q$ in kPa')
ax1.set_xlabel('Mean effective stress $p^\prime$ in kPa')

ax2.plot(exp[:,2], exp[:,1], ls=':', label='Experiment')
ax2.set_xlabel('Axial strain $\\varepsilon_{ax}$ in \%')
ax2.plot(-sim[:,8]*100, -(sim[:,2]-sim[:,1]), label='Simulation')
ax2.legend(loc='upper left', frameon=False)

fig.tight_layout()

plt.savefig('./triaxCUcyc-exp-vs-sim.png', dpi=600)
plt.show()