The effect of voids on matrix cracking in composite laminates as revealed by combined computations at the micro- and meso-scales