4from pathlib
import Path
6from matplotlib
import pyplot
as plt
8sys.path.insert(0, str(Path(__file__).resolve().parents[2] /
'python'))
9from readF
import readFfile, getFarray
10from readFile
import get_scalar
13folder = str(Path(sys.argv[1]).resolve())
14series = {name: []
for name
in (
'EXPIa',
'EXPIc',
'EXPZa',
'EXPZc')}
15with open(Path(folder) /
'experimental-data.csv')
as stream:
16 for row
in csv.DictReader(stream):
17 series[row[
'series']].append([float(row[
'dose_dpa']), float(row[
'strain_in_1e_minus_4'])])
18EXPIa, EXPIc, EXPZa, EXPZc = (np.asarray(series[name])
for name
in series)
30print(f
"Processing {folder}")
31matfile = os.path.join(folder,
'inputFiles',
'Zr4_Fitted.txt')
32F, Flabels = readFfile(folder)
33t = getFarray(F, Flabels,
'time [b/cs]')
34DoseRate = get_scalar(matfile,
'doseRate_dpaPerSec')
35mu0_SI = get_scalar(matfile,
'mu0_SI')
36rho_SI = get_scalar(matfile,
'rho_SI')
37b_SI = get_scalar(matfile,
'b_SI')
38v_dd2SI = np.sqrt(mu0_SI / rho_SI)
39t_dd2SI = b_SI / v_dd2SI
40dpa = t * t_dd2SI * DoseRate
43b11 = getFarray(F, Flabels,
'betaP_11')
44b22 = getFarray(F, Flabels,
'betaP_22')
45b33 = getFarray(F, Flabels,
'betaP_33')
46b12 = getFarray(F, Flabels,
'betaP_12')
47b13 = getFarray(F, Flabels,
'betaP_13')
48b23 = getFarray(F, Flabels,
'betaP_23')
50swelling_trace_over_3 = []
51for i
in range(len(t)):
53 [b11[i], b12[i], b13[i]],
54 [b12[i], b22[i], b23[i]],
55 [b13[i], b23[i], b33[i]],
57 trace = np.trace(betaP)
58 swelling_trace_over_3.append(trace / 3)
59fig, ax = plt.subplots(figsize=(10, 6))
60ax.plot(dpa+0.5, b11*100, label=
r'$\beta_{11}$', color=
'red')
61ax.plot(dpa+0.5, b22*100, label=
r'$\beta_{22}$', color=
'green')
62ax.plot(dpa+0.5, b33*100, label=
r'$\beta_{33}$', color=
'blue')
63ax.plot(dpa+0.5, swelling_trace_over_3, label=
r'Swelling ($\mathrm{tr}(\beta^P)/3$)', color=
'gray', linestyle=
'-')
67ax.set_ylim(-0.08,0.06)
70ax.scatter(EXPIa[:,0],EXPIa[:,1]*10**-2,color=
"firebrick",marker=
"s",s=80,label=
r'Experiment: Iodide Purity');
71ax.scatter(EXPZa[:,0],EXPZa[:,1]*10**-2,color=
"orange",marker=
"s",s=80,label=
r'Experiment: Zone Refined Purity');
72ax.scatter(EXPIc[:,0],EXPIc[:,1]*10**-2,color=
"firebrick",marker=
"s",s=80);
73ax.scatter(EXPZc[:,0],EXPZc[:,1]*10**-2,color=
"orange",marker=
"s",s=80);
76ax.set_xlabel(
'Irradiation Dose [dpa]', fontsize=textfont)
77ax.set_ylabel(
'Strain [%]', fontsize=textfont)
78ax.legend(fontsize=axisfont)
79ax.grid(
True, linestyle=
':')
81ax.axhline(0, color=
'k', linewidth=0.5)
82ax.tick_params(axis=
'both', which=
'major', direction=
'in', length=6, labelsize=axisfont)
102save_path = os.path.join(folder,
'StrainComponentsWithSwelling.pdf')
103fig.savefig(save_path)
104fig.savefig(os.path.join(folder,
"StrainComponentsWithSwelling.png"), dpi=150)
108print(f
"Saved {save_path}")