The "parameter-screening" folder contains codes for parameter screening. File management is carried through signac-flow:
init.py
: Initializes Surface Evolver files with parameters sampled using Latin Hypercube Sampling.main.py
: Runs each file using Surface Evolver. .signac_to_numpy.ipynb
: Generates .npy
files from Signac parameter screening data.The "sensitivity-analysis-master" folder contains following:
master_sensitivity_analysis.py
: Generates data for sensitivity measurement. Model parameters are perturbed by 70% of their nominal value. sensitivity_analysis.ipynb
calculates sensitivity using finite difference methods.The "bayesian-optimization-master" folder contains the main codes for Bayesian optimization:
master_bayesian_optimization.py
: Performs Bayesian optimization to compute parameters of Surface Evolver model that minimized the objective function defined by Frechet distance. Inputs to the model include a text file with xy coordinates of experimental data shape's external contours. The model identifies the 7 listed parameters as shown in Figures 3 and 4 of the manuscript. Estimating other parameters requires generating and training a new GP model and can be achieved through teh parameter-screening codes.analysis_bayesian_optimization.ipynb
: Analyzes data generated during Bayesian optimization.The "hessian-analysis-master" folder contains the code to calculate the local hessian for Frechect distance based obsjective function:
master_hessian_analysis.py
: Variates parameters two at a time. Combined with sensitivity analysis data, it generates curvature of the objective function locally.hessian_analysis.ipynb
: Analyzes the curvature of the objective function, defined the Frechet distance.For inquiries related to the code, please contact:
Nilay Kumar Multicellular Systems Engineering Lab Department of Chemical and Biomolecular Engineering University of Notre Dame, IN Email: nkumar4@nd.edu