Engineering Papers⌕ Search

DOE OSTI · 1988063

SOC Synthetic Microstructure Bank

Abstract

QUICK START: Start with property_library.html (can be found by typing the filename into the query box) and use the interactive table to filter, sort, and select a microstructure with the desired properties. Search for the alphabetic code to obtain the corresponding dataset. Full description: This is a bank of 1,970 unique 3-phase electrode microstructure files. When you account for reassigning phase IDs (e.g. declare that 1=Ni and 2=pore, instead of 1=pore and 2=Ni), it actually represents 5,910 unique electrode microstructures, each of which could be considered to be either an air or a fuel electrode (e.g. declare that the phase IDs correspond to pore, Ni, and YSZ; or that they correspond to pore, LSCF, and GDC; or whatever electron-conductor and ion-conductor combination is being studied). The voxel size is 50 nm and each electrode file contains a 4x4 grid of (12.5 micron)^3 sub-volumes. If placed together in a grid, they comprise a 50x50x12.5 micron electrode (note that the interfaces between sub-volumes will be sharp; this can be mitigated via simulating annealing/relaxation). The sub-volumes can also be used individually for a reasonably sized 12.5 micron cubic region-of-interest. A user can simply consider the voxel size to be a different value to rescale the volumes (and all of their morphological features, including particle size) as desired. These microstructures were generated using DREAM3D. The general procedure is outlined in https://doi.org/10.1016/j.jpowsour.2018.03.025 The file names are an alphabetic code having to do with the input parameters used in DREAM3D when they were generated. Most users would be best served by starting with the file property_library.html or property_library_subvols.html (which lists properties for each individual subvolume). These files contain a catalogue of the actual, measured properties of every microstructure in the database. Any combination of property values can be filtered and sorted until a desired electrode is found, at which point the user can find the file corresponding to that alphabetic code. The properties in the catalogue include connected TPB density, and for each phase: phase fraction, average particle size, polydispersity of particle size, tortuosity, and connected pair-wise interfacial area. They also include what fraction of each property is connected through to the interfaces of the volume. If the desired combination of properties is not found at first, remember that the phase IDs can be re-assigned arbitrarily, e.g. swapping 1s and 2s. In fact, the database was generated with this in mind so as not to generate redundant microstructures. If the database does not contain the desired property combinations, try to search for the other possible permutations of those properties with re-assigned phase IDs. Please cite https://doi.org/10.1149/10301.0909ecst for use. Please contact the maintainer, William K. Epting, for additional information or assistance.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Epting, Billy, Abernathy, Harry. 2021-07-18. SOC Synthetic Microstructure Bank. https://doi.org/10.18141/1988063

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

ML-based Micro-CT SOFC Microstructure Models (from Kent 2026 Microstructural Augmentation paper)

Overview -------------------------- This repository contains datasets from the manuscript **"Enhanced Generalizability to Deep-Learning Quantification of 3D Microstructural Characteristics through Microstructurally Aware Augmentation of Scarce Data"** (*William F. Kent, Rochan Bajpai, Rachel C. Kurchin, William K. Epting, Harry W. Abernathy, Paul A. Salvador. Submitted 2026*). The methods are also described in the dissertation **Data Intensive Analysis of Solid Oxide Cell Microstructures** (*Doctoral dissertation, Carnegie Mellon University, 2025*). The datasets here are trained convolutional neural network (CNN) models for predicting key microstructural properties of solid oxide cell (SOC) electrodes from low-res, 2-channel 3D images, as well as some helpful code. The parameters for input images are provided in the paper. Sample data is provided in the file `Combined_anode_aug_dual_1k_examples` - that particular data was used to train `anode_all_aug.pth` and will work most accurately with that model. Please familiarize yourself with all caveats on accuracy and applicability, as detailed in the associated paper. Usage -------------------------- The basic usage is as follows, assuming `model_fn` is the path to the .pth file, and `X` is 2-channel input image(s) of the proper dimensions (either one image of shape `[2,12,24,24]`, or a batch of N input images of shape `[N,2,12,24,24]`): from CNN_inferencer import load_model_for_inference model = load_model_for_inference(model_fn) y_predicted = model(X) The model object automatically handles input scaling and output de-scaling based on the way the models were trained - in other words, pass in a 2-channel micro-CT image, and it will output microstructural property values in real units. ## Other model object attributes Note that model has useful attributes other than its forward pass model(X). * `model.output_descaler` - returns the output descaler object. Model does the de-scaling when generating inferences, but you may want to re-use this de-scaler on other values to e.g. compare predictions to ground truth from already-scaled training data. * `model.prop_names` - Gives the property names of the predicted y values, in order. Only exists if there's an output scaler as part of the model object, which there will be in the models provided here. ## Usage with sample data Here is a short script to use with the included sample data. from CNN_inferencer import display_predictions, load_model_for_inference, calculate_mape, parity_plot import h5py import numpy as np model_fn = 'anode_all_aug.pth' data_fn = 'Combined_anode_aug_dual_1k_examples.h5' N_samples = 200 figure_outdir = '.' model = load_model_for_inference(model_fn) with h5py.File(data_fn,'r') as f: XX = f['X'] #These are the 2-channel 3D images yy = f['y'] #These are the ground-truth microstructural properties, but they have been scaled for training - need to de-scale below N = XX.shape[0] #How many images total in the input data file #Run inferences on N_samples random samples from XX. #Run in a batch, much more efficient than one at a time. ii = np.random.choice(N,N_samples,replace=False) ii.sort() y_pred = model(XX[ii]) #Get the original/true (but normalized/scaled) values from the training dataset... #Because they were normalized, they are not in real units yet. So let's also de-scale them using model.output_scaler. y_true = model.output_scaler.transform(yy[ii]) #Let's display actual values for just 5 random ones for i in np.random.choice(N_samples,5,replace=False): display_predictions(y_true[i], y_pred[i], model.prop_names) #Make parity plots for each property (ground truth vs predicted values) #Also label each plot with the mean abs. percent error (MAPE) of the predicted values for i,key in enumerate(model.prop_names): mape = calculate_mape(y_true[:,i], y_pred[:,i]) parity_plot(y_true[:,i], y_pred[:,i], figure_outdir, key, extra_title=f' ({mape:.2f}% MAPE)')

3D microstructure↗

SOC Microstructural Analyzer

This program was designed to analyze the 3-phase microstructure of the electrodes of a solid oxide fuel cell (SOFC) or electrolysis cell (SOEC), both referred to in combination as a solid oxide cell (SOC). It is agnostic to the exact system, so it could be repurposed to analyze any 3-phase microstructure. This tool directly analyzes segmented voxel-based data that has been segmented into phase IDs (1,2,3). The voxels will be analyzed directly for: - tortuosity factors - triple phase boundaries - 2-phase interfacial areas, using a meshed isosurface - mean diameters of each phase, using an inscribed sphere method - standard deviation of the diameters of each phase, from the same inscribed sphere data - connectivity information Comprehensive information is available in the readme file (within the zipped repository in Markdown language, and also available here as a rendered PDF). Please cite this page / DOI, as well as https://doi.org/10.1111/jace.14775, for usage.

3D microstructure↗