DOI: 10.5281/zenodo.16940478
title: A benchmark dataset for steady-state flow models in fibrous microstructures

description: This dataset includes steady-state flow simulations for 5250 (periodic) 2D fibrous microstructures that are representative of those encountered in the manufacturing processes (e.g., resin transfer molding) of fiber-reinforced polymer composite (FRPC). The microstructures have varying 








size: [50, 75, 100, ..., 200] µm 










fiber diameter: [7, 10, 15] µm 










fiber volume fraction: [20, 30, 40, 50, 60] % 






and were generated through an in-house Python package [1]. Each microstructure was subjected to two distinct flow cases: one in the horizontal and one in the vertical direction, yielding 10500 total simulations. The inlet/outlet were respectively placed at the left/right and bottom/top. The simulations were velocity-driven, with inlet velocity equal to 10⁻⁴ m/s, and outlet pressure equal to 0 Pa. The fluid flowing between the fibers was assumed to be epoxy resin having a density ρ=1250 kg/m³ and dynamic viscosity µ=0.5 Pa·s. All simulations were carried out through the same Python package [1] running OpenFOAM [2] in the background.

The raw OpenFOAM files are accessible through simulations.zip, with the following folder structure: 




simulations/ |-- domain_{SIZE1}_vf_{VF1}_diameter_{DIAM1}/ |   |-- domain_{SIZE1}_vf_{VF1}_diameter_{DIAM1}_seed_{SEED1}/ 




|       |-- geometry.json 




|       |-- x_flow/ 




|       |-- y_flow/ |   |-- ... 




|   |-- domain_{SIZE1}_vf_{VF1}_diameter_{DIAM1}_seed_{SEEDn}/ |-- ... 




|-- domain_{SIZEn}_vf_{VFn}_diameter_{DIAMn}/ 




 




The simulation results were then post-processed by a custom Python script to convert the microstructures, velocity, and pressure fields into corresponding image (PyTorch) tensors suitable for training convolutional neural networks. The post-processed data can be found in dataset.zip, with the following folder structure: 




dataset/ 




|-- metadata.json 




|-- x/ 




|   |-- domain.pt 




|   |-- dxyz.pt 





|   |-- U.pt 




|   |-- p.pt 




|   |-- permeability.pt 




|-- y/ 




|   |-- domain.pt 




|   |-- dxyz.pt 




|   |-- U.pt 




|   |-- p.pt 




|   |-- permeability.pt 




The tensors have a shape of (n, C, 256, 256), where n is the number of microstructures. C is the number of channels: C=1 for the microstructure (domain.pt) and pressure (p.pt) tensors, C=2 for the velocity (U.pt) tensor, the two channels corresponding respectively to the x-component and y-component of the velocity field. The physical dimensions and permeability of the microstructures are additionally saved in dyxz.pt and permeability.pt. 




 




References 




[1] Broggi, G., Bessa, M., & Caglar, B. (2024, July 4). A realistic Python 2D microstructural generator: towards an open-source, bottom-up, and multiscale machine learning-based simulation pipeline for composite materials. Zenodo. https://doi.org/10.5281/zenodo.12771720 




[2] Weller, H. G., Tabor, G., Jasak, H., & Fureby, C. (1998). A tensorial approach to computational continuum mechanics using object-oriented techniques. Computers in physics, 12(6), 620-631.