RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Functions | Variables
make_size_effect_figures Namespace Reference

Functions

 euro (df)
 
 _read (name)
 
 experiment ()
 
 with_diameters (d)
 
 trajectories ()
 
 _linear_extent (key, traj, df, expcol)
 
 one_figure (key, ylabel, logy, expkey, expcol, traj, EXP)
 
 _keys (df)
 
 _macro_name (key)
 
 write_sources (panel_keys)
 
 main ()
 

Variables

 MOD = Path(__file__).resolve().parent.parent
 
 REPO = MOD.parent
 
str DB = REPO / "docs" / "Database"
 
str OUT = REPO / "docs" / "Formulation" / "verification_campaign" / "figs"
 
 LABEL_PT
 
 TICK_PT
 
 LEGEND_PT
 
list LADDER
 
list OBSERVABLES
 
dict EXP_COLOR = {"loop111": "#1f77b4", "loop100": "#7d3c98", "cavity": "#e8663c"}
 
dict EXP_MARK = {"loop111": "o", "loop100": "s", "cavity": "^"}
 
dict YMIN
 
dict EXP_EXCLUDE
 
dict PAPER_TO_KEY
 
list KEY_ORDER
 
str SOURCES_TEX = OUT / "sources.tex"
 
tuple XLIM = (1e-6, 60.0)
 
dict XLIM_OVERRIDE
 
dict _DIGIT
 

Detailed Description

make_size_effect_figures.py — dose dependence of each observable across the
Table 4 system-size ladder, with the EUROFER97 measurements overlaid.

One figure per observable, curves ordered D, C4, C3, C2, C1, C0 (increasing
number of equations after the exact arm).  d_111 is excluded by request.
C4/P=1 is excluded: it is a closure-ORDER column, not a system-size rung, and at
+345% it would set the scale of every panel.

DOSE COVERAGE.  These runs stop at 2 dpa; the EUROFER97 neutron data sit at
14.6-32 dpa (loops) and 2.7-32 dpa (cavities).  The overlay therefore shows
almost no overlap, and that is the honest picture rather than a defect of the
figure: Table 4 is a VERIFICATION at low dose, and nothing in it may be read as
agreement with experiment.  The band is drawn where the data actually are so a
reader cannot mistake the unconstrained region for a validated one.

Output: docs/Formulation/verification_campaign/figs/size_effect_<observable>.pdf

Function Documentation

◆ _keys()

make_size_effect_figures._keys (   df)
protected
Citation keys for the rows actually plotted, in KEY_ORDER.

Definition at line 278 of file make_size_effect_figures.py.

◆ _linear_extent()

make_size_effect_figures._linear_extent (   key,
  traj,
  df,
  expcol 
)
protected
Range of the model curves and measurements *inside the plotted window*.

Restricted to the panel's own x-limits: the transient below the left edge
carries diameters well above anything on screen, and including it set the
ordinate from data the reader never sees.

Definition at line 201 of file make_size_effect_figures.py.

◆ _macro_name()

make_size_effect_figures._macro_name (   key)
protected

Definition at line 299 of file make_size_effect_figures.py.

◆ _read()

make_size_effect_figures._read (   name)
protected

Definition at line 147 of file make_size_effect_figures.py.

◆ euro()

make_size_effect_figures.euro (   df)

Definition at line 140 of file make_size_effect_figures.py.

◆ experiment()

make_size_effect_figures.experiment ( )

Definition at line 153 of file make_size_effect_figures.py.

◆ main()

make_size_effect_figures.main ( )

Definition at line 320 of file make_size_effect_figures.py.

◆ one_figure()

make_size_effect_figures.one_figure (   key,
  ylabel,
  logy,
  expkey,
  expcol,
  traj,
  EXP 
)

Definition at line 223 of file make_size_effect_figures.py.

◆ trajectories()

make_size_effect_figures.trajectories ( )

Definition at line 186 of file make_size_effect_figures.py.

◆ with_diameters()

make_size_effect_figures.with_diameters (   d)
Add d_100_nm / d_cavity_nm as TIME SERIES.

They are not in `results`: post_process stores mean_n_100 and mean_n_v, and
the diameters are formed only inside the at_dose ladder.  Plotting the raw
key therefore silently produced panels with the experimental band and no
model curves at all -- caught by looking at the figure, not by the run
succeeding.  Same expressions the ladder uses, so figure and table agree.

Definition at line 162 of file make_size_effect_figures.py.

◆ write_sources()

make_size_effect_figures.write_sources (   panel_keys)
Emit \\srcNloops111 etc. so the captions cite what was actually drawn.

Hand-copied citations drift the moment a row is added to the database; this
keeps the caption and the plotted points derived from one source of truth.

Definition at line 304 of file make_size_effect_figures.py.

Variable Documentation

◆ _DIGIT

dict make_size_effect_figures._DIGIT
protected
Initial value:
1= {"0": "Zero", "1": "One", "2": "Two", "3": "Three", "4": "Four",
2 "5": "Five", "6": "Six", "7": "Seven", "8": "Eight", "9": "Nine"}

Definition at line 295 of file make_size_effect_figures.py.

◆ DB

str make_size_effect_figures.DB = REPO / "docs" / "Database"

Definition at line 37 of file make_size_effect_figures.py.

◆ EXP_COLOR

dict make_size_effect_figures.EXP_COLOR = {"loop111": "#1f77b4", "loop100": "#7d3c98", "cavity": "#e8663c"}

Definition at line 75 of file make_size_effect_figures.py.

◆ EXP_EXCLUDE

dict make_size_effect_figures.EXP_EXCLUDE
Initial value:
1= {
2 "d_100_nm": lambda df: df["Diameter [nm]"] < 40.0,
3}

Definition at line 95 of file make_size_effect_figures.py.

◆ EXP_MARK

dict make_size_effect_figures.EXP_MARK = {"loop111": "o", "loop100": "s", "cavity": "^"}

Definition at line 76 of file make_size_effect_figures.py.

◆ KEY_ORDER

list make_size_effect_figures.KEY_ORDER
Initial value:
1= ["dethloff2016", "dethloff2018", "klimenkov2011", "klimenkov2020",
2 "weiss2012", "chauhan2021", "coppola2019"]

Definition at line 122 of file make_size_effect_figures.py.

◆ LABEL_PT

make_size_effect_figures.LABEL_PT

Definition at line 40 of file make_size_effect_figures.py.

◆ LADDER

list make_size_effect_figures.LADDER
Initial value:
1= [
2 ("D (exact, 12006 eq) - to 2 dpa", "20260907_093333_T4_D_4k_*", "#111111", "-"),
3 # C2-C4 are the 40 dpa reruns: at 2 dpa no model curve reached the dose
4 # where the EUROFER97 data sit (14.6-32 dpa for loops), so the overlay had
5 # no shared x-range at all. Same grids as their 2 dpa twins.
6 ("C4 1/800 (129 eq)", "*_T4_C4_40_*", "#d62728", "-"),
7 ("C3 1/160 (161 eq)", "*_T4_C3_40_*", "#ff7f0e", "-"),
8 ("C2 1/40 (364 eq)", "*_T4_C2_40_*", "#2ca02c", "-"),
9 ("C1 1/10 (1242 eq) - to 2 dpa", "*_T4_C1_nc_*", "#1f77b4", "-"),
10 ("C0 1/2 (4826 eq)", "*_T4_C0_nc_*", "#9467bd", "-"),
11]

Definition at line 55 of file make_size_effect_figures.py.

◆ LEGEND_PT

make_size_effect_figures.LEGEND_PT

Definition at line 40 of file make_size_effect_figures.py.

◆ MOD

make_size_effect_figures.MOD = Path(__file__).resolve().parent.parent

Definition at line 34 of file make_size_effect_figures.py.

◆ OBSERVABLES

list make_size_effect_figures.OBSERVABLES
Initial value:
1= [
2 ("N_loops_111", r"$\frac{1}{2}\langle111\rangle$ density (m$^{-3}$)", True, "loop111", "Density [m^-3]"),
3 ("N_loops_100", r"$\langle100\rangle$ density (m$^{-3}$)", True, "loop100", "Density [m^-3]"),
4 ("d_100_nm", r"$\langle100\rangle$ mean diameter (nm)", False, "loop100", "Diameter [nm]"),
5 ("N_voids", r"Cavity density (m$^{-3}$)", True, "cavity", "Density [m^-3]"),
6 ("d_cavity_nm", r"Cavity mean diameter (nm)", False, "cavity", "Diameter [nm]"),
7]

Definition at line 68 of file make_size_effect_figures.py.

◆ OUT

str make_size_effect_figures.OUT = REPO / "docs" / "Formulation" / "verification_campaign" / "figs"

Definition at line 38 of file make_size_effect_figures.py.

◆ PAPER_TO_KEY

dict make_size_effect_figures.PAPER_TO_KEY
Initial value:
1= {
2 "Dethloff et al. - 2016": "dethloff2016",
3 "Dethloff et al. - 2018": "dethloff2018",
4 "Klimenkov et al. - 2011": "klimenkov2011",
5 "Klimenkov et al. - 2020": "klimenkov2020",
6 "Weiß et al. - 2012": "weiss2012",
7 "Chauhan et al. - 2021": "chauhan2021",
8 "Coppola et al. - 2019": "coppola2019",
9 "Boulanger and Serruys - 2009": "chauhan2021", # see note above
10}

Definition at line 111 of file make_size_effect_figures.py.

◆ REPO

make_size_effect_figures.REPO = MOD.parent

Definition at line 35 of file make_size_effect_figures.py.

◆ SOURCES_TEX

str make_size_effect_figures.SOURCES_TEX = OUT / "sources.tex"

Definition at line 124 of file make_size_effect_figures.py.

◆ TICK_PT

make_size_effect_figures.TICK_PT

Definition at line 40 of file make_size_effect_figures.py.

◆ XLIM

tuple make_size_effect_figures.XLIM = (1e-6, 60.0)

Definition at line 129 of file make_size_effect_figures.py.

◆ XLIM_OVERRIDE

dict make_size_effect_figures.XLIM_OVERRIDE
Initial value:
1= {
2 "d_100_nm": (1e-3, 60.0),
3}

Definition at line 135 of file make_size_effect_figures.py.

◆ YMIN

dict make_size_effect_figures.YMIN
Initial value:
1= {
2 "N_loops_111": 1e19,
3 "N_loops_100": 1e12,
4 "N_voids": 1e19,
5}

Definition at line 82 of file make_size_effect_figures.py.