schema_version = 1

[core]
numeric_epsilon = 1e-6
invalid_score = 1e9
mask_failure_penalty = 10.0
topology_failure_penalty = 1.0
min_resolved_etch_depth = 0.1
min_sidewall_points = 5
deposition_regression_tolerance = 5e-3
cmp_endpoint_tolerance = 0.05

[targets.pattern]
radius = 0.15
width = 0.30
mask_height = 0.30

[targets.etch]
target_depth = 1.25
depth_tolerance = 0.10
target_width = 0.30
max_width_error = 0.06
max_wall_bulge = 0.03

[targets.liner]
min_thickness = 0.020
min_floor_coverage = 0.995
target_floor_coverage = 1.0

[targets.barrier]
min_thickness = 0.012
min_floor_coverage = 0.985
target_floor_coverage = 1.0

[targets.fill]
min_overburden = 0.15

[targets.cmp]
target_dish = 0.0
mask_must_survive = true

[defaults.geometry]
radius = 0.15
mask_height = 0.30
grid_delta = 0.01
x_extent = 1.0
y_extent = 1.5
mask_taper = 0.0
profile_top_margin = 0.20
sidewall_fit_margin = 0.15

[defaults.bosch]
num_cycles = 10
etch_time = 1.5
initial_etch_time = 0.30
ion_source_exponent = 200
neutral_sticking_probability = 0.10
deposition_thickness = 0.020
deposition_sticking_probability = 0.010
neutral_rate = -0.20
ion_rate = -0.10
theta_r_min = 60.0
rays_per_point = 1000
mask_ion_rate = 0.0

[defaults.deposition]
sticking = 0.05
isotropic_ratio = 0.30
rays_per_point = 1000

[defaults.fill]
isotropic_ratio = 0.20

[teaching_experiments]
rng_seed = 42000
rays_per_point = 500
surface_y = 0.0
measurement_tolerance = 0.000001
mask_height_tolerance = 0.0002
profile_max_radius = 0.5
view_box_full = [-0.5, -0.4, 1.0, 1.8]
view_box_mask = [-0.5, -0.4, 1.0, 0.8]
mask_radii = [0.12, 0.15, 0.18]
mask_heights = [0.24, 0.30, 0.36]
mask_tapers = [0.0, 2.0, 4.0]
bosch_cycles = [3, 4, 5]
bosch_passivation_thickness = [0.01, 0.02, 0.03]
liner_doses = [0.02, 0.04, 0.06]
liner_dose = 0.04
liner_sticking = [0.02, 0.05, 0.20]
barrier_doses = [0.01, 0.02, 0.03]
barrier_dose = 0.02
barrier_isotropic_fraction = [0.0, 0.30, 0.80]
seed_doses = [0.01, 0.02, 0.03]
seed_dose = 0.02
seed_isotropic_fraction = [0.0, 0.30, 0.80]
cmp_removal_durations = [0.15, 0.18, 0.22]
cmp_oxide_rate_ratios = [0.0, 0.01, 0.10]
cmp_field_x = 0.35
cmp_plug_x = 0.0
failure_chain_cycles = 4
failure_chain_liner_sticking = 0.20
failure_chain_directional_fraction = 0.0
failure_chain_fill_thickness = 0.50
failure_chain_fill_isotropic_ratio = 0.05
failure_chain_via_x_bounds = [-0.25, 0.25]
failure_chain_field_sample_xs = [-0.40, 0.40]

[pattern_bosch_range_pilot]
authority = "coarse_model_range_pilot_only"
output = "autoresearch-results/range_pilot/pattern_bosch_dsd25_rows.jsonl"
grid_delta = 0.01
rays_per_point = 250
threads_per_worker = 4
rng_seed = 1420000
x_extent = 1.0
y_extent = 2.0

[pattern_bosch_range_pilot.levels]
radius = [0.12, 0.15, 0.18]
mask_taper = [-4.0, 2.0, 6.0]
num_cycles = [4, 10, 16]
etch_time = [0.20, 0.50, 2.00]
initial_etch_time = [0.10, 0.30, 0.50]
neutral_rate = [-0.20, -0.08, -0.03]
neutral_sticking_probability = [0.02, 0.08, 0.30]
deposition_thickness = [0.003, 0.005, 0.040]
deposition_sticking_probability = [0.001, 0.010, 0.030]
ion_source_exponent = [50.0, 400.0, 1000.0]
theta_r_min = [25.0, 45.0, 90.0]
ion_rate = [-0.22, -0.10, -0.04]

[metrics]
center_half_width = 0.020
field_min_x = 0.30
cmp_field_min_abs_x = 0.30
cmp_via_max_abs_x = 0.10

[morphology]
grid_delta = 0.01
via_radius = 0.15
field_y = 0.0
floor_y = -1.0
bounds = [-0.6, 0.6, -1.35, 0.45]
field_sample_xs = [-0.4, 0.4]
opening_top_y = 0.10
via_edge_margin_cells = 0.5
field_margin_cells = 1.5
upward_normal_min = 0.45
top_heavy_length_scale = 0.25
top_heavy_base_rate = 0.05
top_heavy_rate_span = 0.95
advection_time_step_ratio = 0.20
metric_tolerance_cells = 0.10
incomplete_fill_duration = 0.30
closure_duration = 0.70
overburden_duration = 0.08
failed_fill_duration = 0.20

[traveler]
source = "evidence/numerical/v3_bosch_focused_ion_map_rows_checkpoints/1cf4ff64c506b271_cycle020.vpsd"
source_sha256 = "3ad28816f106a129c4a571d8ef57340edf8879216e0165c9e8addd2d86ca3d9a"
source_case_id = "1cf4ff64c506b271"
output = "autoresearch-results/screening_traveler_1cf4ff64c506b271"
grid_delta = 0.00125
control_grid_delta = 0.005
field_xs = [-0.40, -0.35, 0.35, 0.40]
via_radius = 0.15
etch_depth = 1.2489277093454347
mouth_offset = 0.02
checkpoint_interval = 0.05
time_step_ratio = 0.4999
liner_dose = 0.03
barrier_dose = 0.01
seed_dose = 0.01
initial_fill_duration = 7.40
max_fill_duration = 8.0
fill_duration_step = 0.10
overburden_duration_margin = 0.05
thread_count = 14

[transport_3d]
sector_count = 8
sector_offsets_degrees = [0.0, 22.5]
plane_tolerance = 1e-12
protected_stack_tolerance = 1e-12
mouth_min_radius_factor = 0.25
mouth_max_radius_factor = 1.5
surface_mouth_max_radius_factor = 2.0
wall_height_min_fraction = 0.15
wall_height_max_fraction = 0.95
diagnostic_z_margin = 0.03
floor_height = 0.04
floor_radius_fraction = 0.70
lower_wall_end_fraction = 0.45
middle_wall_end_fraction = 0.70
wall_radius_fraction = 0.65
flux_ratio_target = 0.95
velocity_ratio_target = 1.05
