Published January 26, 2026 | Version v1
Dataset Open

Dataset of unidirectional carbon fiber pultruded composites and their constituents (fibers and matrix)

  • 1. ROR icon Technical University of Denmark

Contributors

Data collector:

  • 1. Thermo Fisher Scientific

Description

A comprehensive dataset of the material data of unidirectional carbon fiber reinforced composites and their consitutents, namely the fiber and the matrix. The dataset includes text files acquired through mechanical testing, Python files for calculations, post processing and plotting, Excel files of results and a SEM (scanning electron microscopy) image of the composite sample.

For the material chatacterization data and methods, a journal publication is prepared.

 

Part of the data analysis included in this repository has been done on X-ray CT (computed tomography) scans of three samples (A, B and C) of the same unidirectional carbon fiber reinforced composites. Three pultruded profiles were used in this dataset, and each X-ray scanned sample is cut from one of these profiles. The base material of the profiles was the same, but the pultrusion process parameters were varied. 

Please visit the following links for accessing these data:

sample A: https://doi.org/10.5281/zenodo.18364215  

sample B: https://doi.org/10.5281/zenodo.18370051

sample C: https://doi.org/10.5281/zenodo.18364338

 

The first word of the files (composite, fiber or matrix) indicate the material they refer to.

For the composite material:

The X-ray scans are in h5 format. To extract them in tiff images, please use the script: composite_h5_file_to_tiff.py

For the optional image equalization of the tiff images, please use the script: composite_tiff_images_equalization.py

For the cropping of the tiff images, please use the script: composite_tiff_images_crop.py

For the changing the tiff images into a nifti volume format, please use the script: composite_tiff_images_to_nifti.py

For the determination of the fiber orientation through the structure tensor analysis, please use the script: composite_STanalysis.py (along with the M1_TomoHandling.py and M2_Alignment.py). The code was developed by Ole V. Ferguson and was later modified by Pinelopi Mageira to enable the extraction and storage of the fiber orientation data in an NPZ (numpy.savez) format. 
The original implementation is available at:
https://gitlab.windenergy.dtu.dk/olen/structure-tensor-3d-fe-mapping/-/tree/79dff869ea6825748861018c90c4fc1900ca80fd
Users of this code should cite the following work:
O. V. Ferguson and L. P. Mikkelsen. Three-dimensional finite element modeling of anisotropic materials using X-ray computed micro-tomography data[Formula presented]. Software Impacts, vol. 17, 2023, doi: 10.1016/j.simpa.2023.100523.
The structure tensor analysis scripts are under the MIT license. 

 

Please remember to adjust the file and folder names in the scripts above according to the sample you are examining.

composite_sem_grey_denoised_resampled.tiff: The SEM image of the composite sample. For the analysis scripts of the SEM image, please visit http://doi.org/10.5281/zenodo.7537379 . In case of usage, please give reference to:
Mikkelsen, L.P.; Fæster, S.; Dahl, V.A. Dataset for scanning electron microscopy based local fiber volume fraction analysis of non-crimp fabric glass fiber reinforced composites. Data Brief 2023, 48. doi: 10.1016/j.dib.2023.109058.
The SEM image was captured by Wenbo Sui. 

composite_data_fiber_denity.xlsx: Excel file containing the results of the fiber density calculation, obtained using the burn-off technique on composite samples. It includes the fiber and matrix volume and weight contents, as well as the porosity volume content and other experimentally obtained quantities.

composite_JO*.txt: Text files that include the results of the compression testing of composite samples. Three groups of samples were tested (JOAC1, JOBC1 and JOCC1), with each group cut from one of the three pultruded profiles that the X-ray CT scanned samples were scanned from. This means that group JOAC1 corresponded to X-ray scanned sample A, JOBC1 to sample B and JOCC1 to sample C. 

composite_graph_stress_strain.py: Python script that uses as input the composite_JO*.txt files to plot the compressive stress-strain behaviour of the tested samples. 

composite_graph_fiber_orientation_distribution_histograms.py: Python script that uses as input a npz file (created by the composite_structure_tensor.py script and containing the fiber angles), calculates the mean elevation angle and the mean absolute elevation angle and plots the fiber orientation as a histogram. There is the option of two npz files serving as input, and subsequently two histograms plotted on the same figure, for comparative purposes. 

 

For the fibers:

fiber_*mm_gauge_length_data_results.xlsx: Three Excel files including the results of the single fiber testing, without compliance. Each file corresponds to one gauge length (30mm, 50mm and 70 mm). The first sheet of each file is titled 'Results', with quantities such as max stress and fiber diameter, for all the tested single fibers. The rest of the sheets correspond to each single fiber tested, and describe the tensile curves. These tests on different gauge length were carried out for the determination of the single fiber testing machine.

fiber_50mm_gauge_length_data_results_with_compliance: The Excel file of the results of the single fibers whose gauge length was 50mm, with the compliance of the machine considered on the calculations. 

fiber_apparent_fiber_modulus_gauge_length.py: Python script for plotting the graph of the reciprocal of the apparent fiber modulus (1 / E*) compared to the reciprocal of each fiber gauge length examined. 

fiber_graph_diameter_histogram.py: Python script for plotting the fiber diameter histogram.

fiber_graph_stress_strain_50mm.py: Python script for plotting the individual stress-strain curves of the 50mm gauge length single fiber data.

fiber_graph_tension_compression_stress_strain.py: Pyhton script for the back-calculation of the compressive stress-strain curves of the single fibers. Inputs from the composite and the matrix are needed for applying the rule of mixtures.

fiber_graph_fitted_stress_strain_all_calculation_mean_median_stress.py: Python script for calculating and plotting the fitting stress-strain curves, with each fit corresponding to each gauge length's single fiber data. It also calculates the mean and median failure stresses for each gauge length data.

fiber_tangent_modulus.py: Python script for calculating and ploting the tangent modulus, both regarding the tension (from experimental data) and the compression (from the back-calculated data).

fiber_graph_weibull.py: Python script for the Weibull plot of the failure stress of the single carbon fibers tested, for each examined gauge length. 

fiber_calculation_weibull_failure_probability.py: Python script for the calculation of the fibers failure probability. It uses as input the fiber_*mm_gauge_length_data_results.xlsx files, and exports an Excel file with the results, named as fiber_weibull_failure_probability.xlsx, with each sheet corresponding to a gauge length.

fiber_graph_failure_stress_gauge_length.py: Python script for plotting the characteristic, median and mean failure stress of the single carbon fibers for each gauge length.

fiber_table_weibull_results.xlsx: Excel file with the Weibull parameters calculated from the above scripts gathered.

 

For the matrix:

matrix_KEB*_tension.sta.txt: Text files that include the results of the tensile testing of matrix samples.

matrix_KEA*_shear.sta.txt: Text files that include the results of the shear testing of matrix samples.

matrix_graph_tensile_stress_strain.py: Python script that uses as input the matrix_KEB*_tension.sta.txt files to plot the tensile stress-strain behaviour of the tested matrix samples. 

matrix_graph_shear_stress_strain.py: Python script that uses as input the matrix_KEA*_shear.sta.txt files to plot the shear stress-strain behaviour of the tested matrix samples. 

matrix_graph_von_mises: Python script for the calculation and plotting of the matrix von Mises stress. It uses as input the matrix_KE*.txt files.

matrix_data_stress_strain_for_ramberg_osgood.xlsx: The Excel that serves as input for the calculation of the Ramberg Osgood material model parameters. It includes the values of the strain and the stress, extracted from the tensile stress-strain results. 

matrix_calculation_curve_fitting_ramberg_osgood.py: Python script for the calculation of the Ramberg Osgood parameters. The matrix_data_stress_strain_for_ramberg_osgood.xlsx serves as input.

 

This dataset has been used in the following publications: 

Mageira, P.; Poulios, K.; Andreasen, J.W.; Dahl, V.A.; Mikkelsen, L.P. Experimental and Numerical Compression Analysis of 3D X-Ray CT Scanned Uni-directional Pultruded Carbon Fiber Composites. In ICCM International Conferences on Composite Materials, Baltimore, MD, United States, 4 August 2025. 

Mageira, P.; Poulios, K.; Andreasen, J.W.; Dahl, V.A.; Mikkelsen, L.P. From 3D X-ray CT scans to mesh-independent numerical compressive strength predictions of unidirectional carbon fiber composites. IOP Conf. Ser. Mater. Sci. Eng. 2025, 1338. doi: 10.1088/1757-899x/1338/1/012026.
 
This study was funded by EU Horizon MSCA 2021 DN Reliance: REaL-tIme characterization of ANisotropic Carbon-based tEchnological fibers, films and composites, grant no. 101073040.

The authors would like to thank Wenbo Sui for providing the SEM image of the sample used for the analysis.

Files

composite_JOAC1-01.sta.txt

Files (9.7 GB)

Name Size Download all
md5:0ddff5a9aecda7c6c1c9a6e968aaaf24
22.3 kB Download
md5:c9101b55e9eac41950193222d4d5363f
4.3 kB Download
md5:cd986c236501c7ee1e6554d5abd54bda
3.1 kB Download
md5:021081282127fdec3add438144594e38
1.5 kB Download
md5:6914242faeb92980b262ffd5873d99e5
106.6 kB Preview Download
md5:6f4ec6ab848b1341e48755ad2cd65582
108.4 kB Preview Download
md5:64b78af635e58447a0d18a975383b72c
103.2 kB Preview Download
md5:13c60f0d17586cdabb7bbd19ceab28b5
101.6 kB Preview Download
md5:4c67bfed6e51b5a825d49002596590e3
83.1 kB Preview Download
md5:3d2ae55f656d444639282cc8b031964a
116.5 kB Preview Download
md5:69d71267fcbb81ee216d04352840420d
100.9 kB Preview Download
md5:465ab10a4d11a186066e4fe72ca030f1
115.9 kB Preview Download
md5:6930a48946f4edf81e956723f6108ba8
110.8 kB Preview Download
md5:83e73ae421d6d146f09f6908175fa04c
109.8 kB Preview Download
md5:b698729ae168e0826cedcf1465434043
90.9 kB Preview Download
md5:dcc273e76e2cb312d9b4803ba4225c5b
112.5 kB Preview Download
md5:180e5f2ba831855632141678ac1c06bc
104.5 kB Preview Download
md5:47122f8ee962e457acd5ecd0f140f7f7
105.2 kB Preview Download
md5:211e05ff10cfd6ea5e319cf1f0768042
118.1 kB Preview Download
md5:82e0b0ee6c9069ec9ae86294fc93b5b7
100.2 kB Preview Download
md5:8366cdbd388f5fadc89bdf4392b91cc3
110.6 kB Preview Download
md5:6b7b20216d9ddc05ec5710a90614f78c
9.6 GB Preview Download
md5:bac435b0db6b1d65eb1f1e606132bc8c
6.2 kB Download
md5:20348f3eea9f444b442efada995e9237
3.0 kB Download
md5:dbff3a345a296306ed9fa5de0478454f
1.9 kB Download
md5:96b51e270f33da781c42f118d33869a9
1.7 kB Download
md5:f45259d5beacfb90ca198ad5bed580c4
10.2 MB Download
md5:9ef512f97f2ed138a6480d2f05849248
10.2 MB Download
md5:c93141787587a274539de88b2a50cabf
44.2 MB Download
md5:f51f4976b306e5a2b6e6bc01f6b62db0
44.3 MB Download
md5:cc07c4020d983a0af302b9be561a81f9
18.6 MB Download
md5:d19aa7a6b86e6efac48a58685a4ff313
18.6 MB Download
md5:50716c3929296328b43aabc1ffa3b643
2.4 kB Download
md5:beb540d01fd497ee95489db69c96826f
2.1 kB Download
md5:0fa8955bc5a89863a6ebd9bf245ecda5
668 Bytes Download
md5:5ca5eb73da24cd0f613530574c914bf2
2.7 kB Download
md5:2e761884a79e73ab1ba7710e4b96dcfa
4.0 kB Download
md5:e33c06f5e48a9f5d3e3e7594a8a3eefd
2.1 kB Download
md5:346ff2c7c390b6ab729695613a2ce0ef
9.9 kB Download
md5:269c1bf10653d4b081815967b87041f2
1.5 kB Download
md5:dc5ba95112b2599ccb1a86e6b9bac9c0
10.0 kB Download
md5:d77c5684a6043a169ef8ff7d41b06b97
9.9 kB Download
md5:3e5bd1474741fa0691fb2792245a61d2
15.6 kB Download
md5:09d79dfcf28c457e3f283ec0dec1c50b
4.0 kB Download
md5:df44dfbeef3e3298fc352916ac54ee81
7.8 kB Download
md5:6949bed341c8fe7d6d8003aee7f6c2db
8.3 kB Download
md5:0c51723f0518847662d7d83029799c5c
13.0 kB Download
md5:355164b68116620d6faf0532cebfd730
2.4 kB Download
md5:a1aee0c781cb83f040ffb776c8c9cd8f
2.1 kB Download
md5:969ad05cbddc9002a576c76fa0674ad1
5.8 kB Download
md5:6402a5456884656e6115db6e8e3a3cfb
171.3 kB Preview Download
md5:15bc227ce4392b2566317a8b547d1ee1
116.0 kB Preview Download
md5:8eacfe690f794970e261bccedbe3aec7
127.0 kB Preview Download
md5:64db3003144a5a6fef35fe26dd3f75b1
85.6 kB Preview Download
md5:7ff0d20f97d98c2add1d37c127e678ae
28.1 kB Preview Download
md5:06297998bce28d25c338c5397e257183
25.1 kB Preview Download
md5:96560d8a720a2be0b5e6bc5dfd3a8e2b
24.1 kB Preview Download
md5:cde0e7fca31a4b5479c2751fd4ad0025
17.7 kB Preview Download
md5:78c2431ecc3ec6ed74d1fe9918bc635d
17.7 kB Preview Download
md5:9e2c413e3a656e24568a90e9984588fb
25.8 kB Preview Download
md5:f93a217bbd433643e6377f763125d584
21.2 kB Preview Download