← All Use Cases
🪓
Box-Behnken Design

Wood Glue Joint Strength

Box-Behnken design to maximize joint strength and minimize cure time by tuning glue spread rate, clamping pressure, and open assembly time

Summary

This experiment investigates wood glue joint strength. Box-Behnken design to maximize joint strength and minimize cure time by tuning glue spread rate, clamping pressure, and open assembly time.

The design varies 3 factors: spread g m2 (g/m2), ranging from 100 to 250, clamp psi (psi), ranging from 50 to 250, and open time min (min), ranging from 1 to 10. The goal is to optimize 2 responses: shear strength mpa (MPa) (maximize) and cure hrs (hrs) (minimize). Fixed conditions held constant across all runs include glue type = PVA, wood = red_oak.

A Box-Behnken design was chosen because it efficiently fits quadratic models with 3 continuous factors while avoiding extreme corner combinations — requiring only 15 runs instead of the 8 needed for a full factorial at two levels.

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For shear strength mpa, the most influential factors were open time min (68.6%), spread g m2 (18.1%), clamp psi (13.3%). The best observed value was 9.7 (at spread g m2 = 250, clamp psi = 150, open time min = 10).

For cure hrs, the most influential factors were clamp psi (68.9%), spread g m2 (23.9%), open time min (7.2%). The best observed value was 3.4 (at spread g m2 = 250, clamp psi = 150, open time min = 1).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
spread_g_m2100250g/m2
clamp_psi50250psi
open_time_min110min

Fixed: glue_type = PVA, wood = red_oak

Responses

ResponseDirectionUnit
shear_strength_mpa↑ maximizeMPa
cure_hrs↓ minimizehrs

Configuration

use_cases/199_wood_glue_joint/config.json
{ "metadata": { "name": "Wood Glue Joint Strength", "description": "Box-Behnken design to maximize joint strength and minimize cure time by tuning glue spread rate, clamping pressure, and open assembly time" }, "factors": [ { "name": "spread_g_m2", "levels": [ "100", "250" ], "type": "continuous", "unit": "g/m2" }, { "name": "clamp_psi", "levels": [ "50", "250" ], "type": "continuous", "unit": "psi" }, { "name": "open_time_min", "levels": [ "1", "10" ], "type": "continuous", "unit": "min" } ], "fixed_factors": { "glue_type": "PVA", "wood": "red_oak" }, "responses": [ { "name": "shear_strength_mpa", "optimize": "maximize", "unit": "MPa" }, { "name": "cure_hrs", "optimize": "minimize", "unit": "hrs" } ], "settings": { "operation": "box_behnken", "test_script": "use_cases/199_wood_glue_joint/sim.sh" } }

Experimental Matrix

The Box-Behnken Design produces 15 runs. Each row is one experiment with specific factor settings.

Runspread_g_m2clamp_psiopen_time_min
1175501
21751505.5
325015010
42501501
51751505.5
61751505.5
710015010
8250505.5
91755010
102502505.5
111001501
1217525010
13100505.5
141002505.5
151752501

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/199_wood_glue_joint/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/199_wood_glue_joint/config.json \ --output use_cases/199_wood_glue_joint/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/199_wood_glue_joint/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/199_wood_glue_joint/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/199_wood_glue_joint/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/199_wood_glue_joint/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/199_wood_glue_joint/config.json \ --output use_cases/199_wood_glue_joint/results/report.html

Features Exercised

FeatureValue
Design typebox_behnken
Factor typescontinuous (all 3)
Arg styledouble-dash
Responses2 (shear_strength_mpa ↑, cure_hrs ↓)
Total runs15

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: shear_strength_mpa

Top factors: open_time_min (68.6%), spread_g_m2 (18.1%), clamp_psi (13.3%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
spread_g_m220.94130.47060.2140.8121
clamp_psi20.48270.24130.1100.8976
open_time_min214.18237.09123.2180.0943
LackofFit69.70441.6174
PureError24.4067
Error814.11102.2033
Total1429.71732.1227

Pareto Chart

Pareto chart for shear_strength_mpa

Main Effects Plot

Main effects plot for shear_strength_mpa

Normal Probability Plot of Effects

Normal probability plot for shear_strength_mpa

Half-Normal Plot of Effects

Half-normal plot for shear_strength_mpa

Model Diagnostics

Model diagnostics for shear_strength_mpa

Response: cure_hrs

Top factors: clamp_psi (68.9%), spread_g_m2 (23.9%), open_time_min (7.2%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
spread_g_m220.16980.08490.3220.7334
clamp_psi20.87020.43511.6520.2508
open_time_min20.01270.00630.0240.9763
LackofFit61.97800.3297
PureError20.5267
Error82.50460.2633
Total143.55730.2541

Pareto Chart

Pareto chart for cure_hrs

Main Effects Plot

Main effects plot for cure_hrs

Normal Probability Plot of Effects

Normal probability plot for cure_hrs

Half-Normal Plot of Effects

Half-normal plot for cure_hrs

Model Diagnostics

Model diagnostics for cure_hrs

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

cure hrs clamp psi vs open time min

RSM surface: cure hrs clamp psi vs open time min

cure hrs spread g m2 vs clamp psi

RSM surface: cure hrs spread g m2 vs clamp psi

cure hrs spread g m2 vs open time min

RSM surface: cure hrs spread g m2 vs open time min

shear strength mpa clamp psi vs open time min

RSM surface: shear strength mpa clamp psi vs open time min

shear strength mpa spread g m2 vs clamp psi

RSM surface: shear strength mpa spread g m2 vs clamp psi

shear strength mpa spread g m2 vs open time min

RSM surface: shear strength mpa spread g m2 vs open time min

Multi-Objective Optimization

When responses compete, Derringer–Suich desirability finds the best compromise. Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.

Overall Desirability
D = 0.8527

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
shear_strength_mpa 1.5
0.7909
8.80 0.7909 8.80 MPa
cure_hrs 1.0
0.9545
3.40 0.9545 3.40 hrs

Recommended Settings

FactorValue
spread_g_m2100 g/m2
clamp_psi50 psi
open_time_min5.5 min

Source: from observed run #4

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
cure_hrs3.403.40+0.00

Top 3 Runs by Desirability

RunDFactor Settings
#150.7783spread_g_m2=250, clamp_psi=250, open_time_min=5.5
#100.7370spread_g_m2=100, clamp_psi=150, open_time_min=10

Model Quality

ResponseType
cure_hrs0.1926linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.8527 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- shear_strength_mpa 1.5 0.7909 8.80 MPa ↑ cure_hrs 1.0 0.9545 3.40 hrs ↓ Recommended settings: spread_g_m2 = 100 g/m2 clamp_psi = 50 psi open_time_min = 5.5 min (from observed run #4) Trade-off summary: shear_strength_mpa: 8.80 (best observed: 9.70, sacrifice: +0.90) cure_hrs: 3.40 (best observed: 3.40, sacrifice: +0.00) Model quality: shear_strength_mpa: R² = 0.8290 (quadratic) cure_hrs: R² = 0.1926 (linear) Top 3 observed runs by overall desirability: 1. Run #4 (D=0.8527): spread_g_m2=100, clamp_psi=50, open_time_min=5.5 2. Run #15 (D=0.7783): spread_g_m2=250, clamp_psi=250, open_time_min=5.5 3. Run #10 (D=0.7370): spread_g_m2=100, clamp_psi=150, open_time_min=10

Full Analysis Output

doe analyze
=== Main Effects: shear_strength_mpa === Factor Effect Std Error % Contribution -------------------------------------------------------------- open_time_min 2.2250 0.3762 68.6% spread_g_m2 0.5857 0.3762 18.1% clamp_psi 0.4321 0.3762 13.3% === ANOVA Table: shear_strength_mpa === Source DF SS MS F p-value ----------------------------------------------------------------------------- spread_g_m2 2 0.9413 0.4706 0.214 0.8121 clamp_psi 2 0.4827 0.2413 0.110 0.8976 open_time_min 2 14.1823 7.0912 3.218 0.0943 Lack of Fit 6 9.7044 1.6174 0.734 0.6747 Pure Error 2 4.4067 2.2033 Error 8 14.1110 2.2033 Total 14 29.7173 2.1227 === Summary Statistics: shear_strength_mpa === spread_g_m2: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 7.6000 1.5811 6.0000 9.7000 175 7 7.0143 1.7985 4.7000 8.8000 250 4 7.0750 0.7890 6.2000 8.0000 clamp_psi: Level N Mean Std Min Max ------------------------------------------------------------ 150 7 7.0429 1.1267 5.9000 8.8000 250 4 7.1500 1.6902 4.9000 8.8000 50 4 7.4750 2.0855 4.7000 9.7000 open_time_min: Level N Mean Std Min Max ------------------------------------------------------------ 1 4 5.5750 0.9430 4.7000 6.7000 10 4 7.7250 1.0996 6.2000 8.8000 5.5 7 7.8000 1.2410 5.9000 9.7000 === Main Effects: cure_hrs === Factor Effect Std Error % Contribution -------------------------------------------------------------- clamp_psi 0.6500 0.1302 68.9% spread_g_m2 0.2250 0.1302 23.9% open_time_min 0.0679 0.1302 7.2% === ANOVA Table: cure_hrs === Source DF SS MS F p-value ----------------------------------------------------------------------------- spread_g_m2 2 0.1698 0.0849 0.322 0.7334 clamp_psi 2 0.8702 0.4351 1.652 0.2508 open_time_min 2 0.0127 0.0063 0.024 0.9763 Lack of Fit 6 1.9780 0.3297 1.252 0.5075 Pure Error 2 0.5267 0.2633 Error 8 2.5046 0.2633 Total 14 3.5573 0.2541 === Summary Statistics: cure_hrs === spread_g_m2: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 4.0000 0.4082 3.4000 4.3000 175 7 4.2000 0.5477 3.4000 4.8000 250 4 3.9750 0.6021 3.4000 4.8000 clamp_psi: Level N Mean Std Min Max ------------------------------------------------------------ 150 7 4.0429 0.4198 3.4000 4.7000 250 4 3.8000 0.6164 3.4000 4.7000 50 4 4.4500 0.4041 4.1000 4.8000 open_time_min: Level N Mean Std Min Max ------------------------------------------------------------ 1 4 4.1000 0.5354 3.4000 4.7000 10 4 4.1250 0.5852 3.4000 4.8000 5.5 7 4.0571 0.5255 3.4000 4.8000

Optimization Recommendations

doe optimize
=== Optimization: shear_strength_mpa === Direction: maximize Best observed run: #10 spread_g_m2 = 250 clamp_psi = 150 open_time_min = 10 Value: 9.7 RSM Model (linear, R² = 0.2853, Adj R² = 0.0903): Coefficients: intercept +7.1867 spread_g_m2 -0.0250 clamp_psi +0.7875 open_time_min +0.6625 RSM Model (quadratic, R² = 0.6422, Adj R² = -0.0018): Coefficients: intercept +5.8000 spread_g_m2 -0.0250 clamp_psi +0.7875 open_time_min +0.6625 spread_g_m2*clamp_psi +0.6250 spread_g_m2*open_time_min +0.1750 clamp_psi*open_time_min +0.2500 spread_g_m2^2 +1.1500 clamp_psi^2 +0.3750 open_time_min^2 +1.0750 Curvature analysis: spread_g_m2 coef=+1.1500 convex (has a minimum) open_time_min coef=+1.0750 convex (has a minimum) clamp_psi coef=+0.3750 convex (has a minimum) Notable interactions: spread_g_m2*clamp_psi coef=+0.6250 (synergistic) Predicted optimum (from linear model, at observed points): spread_g_m2 = 175 clamp_psi = 250 open_time_min = 10 Predicted value: 8.6367 Surface optimum (via L-BFGS-B, linear model): spread_g_m2 = 100 clamp_psi = 250 open_time_min = 10 Predicted value: 8.6617 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. open_time_min (effect: 1.6, contribution: 38.1%) 2. clamp_psi (effect: 1.6, contribution: 36.8%) 3. spread_g_m2 (effect: 1.1, contribution: 25.1%) === Optimization: cure_hrs === Direction: minimize Best observed run: #1 spread_g_m2 = 250 clamp_psi = 150 open_time_min = 1 Value: 3.4 RSM Model (linear, R² = 0.0049, Adj R² = -0.2665): Coefficients: intercept +4.0867 spread_g_m2 -0.0250 clamp_psi +0.0125 open_time_min +0.0375 RSM Model (quadratic, R² = 0.8063, Adj R² = 0.4576): Coefficients: intercept +4.3667 spread_g_m2 -0.0250 clamp_psi +0.0125 open_time_min +0.0375 spread_g_m2*clamp_psi -0.3250 spread_g_m2*open_time_min +0.1750 clamp_psi*open_time_min -0.4500 spread_g_m2^2 -0.4583 clamp_psi^2 +0.2667 open_time_min^2 -0.3333 Curvature analysis: spread_g_m2 coef=-0.4583 concave (has a maximum) open_time_min coef=-0.3333 concave (has a maximum) clamp_psi coef=+0.2667 convex (has a minimum) Notable interactions: clamp_psi*open_time_min coef=-0.4500 (antagonistic) spread_g_m2*clamp_psi coef=-0.3250 (antagonistic) Predicted optimum (from quadratic model, at observed points): spread_g_m2 = 175 clamp_psi = 50 open_time_min = 10 Predicted value: 4.7750 Surface optimum (via L-BFGS-B, quadratic model): spread_g_m2 = 100 clamp_psi = 50 open_time_min = 1 Predicted value: 3.2167 Model quality: Good fit — general trends are captured, some noise remains. Factor importance: 1. spread_g_m2 (effect: 0.5, contribution: 40.9%) 2. open_time_min (effect: 0.4, contribution: 30.5%) 3. clamp_psi (effect: 0.3, contribution: 28.7%)
← Previous: Party Planning Optimization Next: Table Saw Cut Quality →