#%%
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)

# load data
exp = np.genfromtxt('./KFS-oedo-loose.dat', skip_header=2)
sim = np.genfromtxt('./sim-print-out/EALL_element_1.dat', skip_header=1)

plt.figure(figsize=cm2inch(12,8))
plt.semilogx(exp[:,0], -exp[:,1], ls='', marker='o', label='Experiment')
plt.semilogx(-sim[:,2], sim[:,8], label='Simulation')
plt.xlabel('Axial stress $\sigma_{ax}^\prime$ in kPa')
plt.ylabel('Axial strain $\\varepsilon_{ax}$')
plt.legend(loc='lower left', frameon=False)
plt.tight_layout()
plt.savefig('./oedo-stress-strain.png', dpi=400)