Aggregate packing generator with fibers used for the simulation of aggregate and fibers in composites. It can be used especially for meso-scale analysis of fiber-reinforced concrete. Example files are provided for the simulation of aggregate in notched beam "Example_Beam.m" and cylinder "Example_Cylinder.m"
Generates aggregates according to Fuller's curve.
Plots generated sieve curve.
Generates aggregate with ellipsoids shapes
Converts ellipsoids to ellipses. used for 2D analysis
7-function [Nodes_Fibers, Fibers]=Generate_Fiber(x,y,z,L,N,Orientation,Ndiv,Ellipsoids);
Plot ellipsoids with fibers
where the variables defined as:
x,y,z: as vectors defining the specimen dimension. x and z are vectors defining a polygon section in xz plane and y=[ymin ymax] is boundaries of the extrusion of the polygon
Classes_diameters: Particles classes diameters vector (descendingly)
Alpha: Fuller's curve exponent [0.45-0.5].
m: Particles shape distribution factor. m=1 for spheres and m>>1 for elongated ellipsoid shapes.
Particle_ratio: Particles ratio of the total volume including the smaller particles not simulated in the analysis. ranges [0.6-0.9] for portland cement concrete and about 0.9 for asphalt concrete.
er: Spacing factor between particles to avoid contact [0.05-0.1].
dist: Cutting distance for converting ellipsoids to ellipses.
r_min: Minimum ellipse radius involved when ellipsoids are converted to ellipses.
L: Length of fibers
N: Number of fibers
Orientation: can be either:-
-For aligned fibers Orientation=[l m n] where l,m, and n are the direction cosines of the fibers orientation in x,y, and z directions, respectively.
- For random fibers Orientation= (empty)
Ndiv: Number of fiber mesh divisions
Classes: A variable containing generated particles and not yet packed into specimen
Ellipsoids: (N*9) array. each column represent:
(:,1): radius of ellipsoids at direction 1
(:,2): radius of ellipsoids at direction 2
(:,3): radius of ellipsoids at direction 3
(:,4): x-cooridante of centroid
(:,5): y-coordinate of centroid
(:,6): z-coordinate of centroid
(:,7): Inclination angle 1
(:,8): Inclination angle 2
(:,9): Inclination angle 3
Ellipses: (N*5) array. each column represent:
(:,1): radius of ellipses at direction 1
(:,2): radius of ellipses at direction 2
(:,3): x-cooridante of centroid
(:,4): y-coordinate of centroid
(:,5): Inclination angle
Nodes_Fibers: ((Ndiv+1)*N,3) matrix of fibers nodes coordinates.
Fibers: (N,2) matrix of the two nodes indices connecting each fiber segment.
 Unger, Jörg F., and Stefan Eckardt. "Multiscale modeling of concrete." Archives of Computational Methods in Engineering18.3 (2011): 341.
 Fang, Qin, and Jinhua Zhang. "Three-dimensional modelling of steel fiber reinforced concrete material under intense dynamic loading." Construction and Building Materials 44 (2013): 118-132.
Ayad Al-Rumaithi (2021). Aggregate Packing Generator with Fibers (https://www.mathworks.com/matlabcentral/fileexchange/85248-aggregate-packing-generator-with-fibers), MATLAB Central File Exchange. Retrieved .
Please check my new submission that includes the diameter of fibers
Thank you very much for the program, it is very useful. I would like to be able to include the diameter of the fiber, how could it be done? Thank you
yeah， the cohesive element can be added between aggregate and mortar
I might add ITZ and mesh subroutines in the future. But still I think if you manage to make seperate parts for aggregate and mortar, then you can add zero interface layer between those two.
Thank you for your guidance, I will follow your way and try to mesh the model. I will also try some way like using Simpeware to mesh the model. If I can achieve this I will tell you. Besides, in this model you did not consider the ITZ generation, Is this your next research concentration?
There are two ways you can do that in Abaqus:
1-you can save the dimensions of particles in a file like excel, then use python language inside Abaqus to read from that file and generate shapes.
2-The other way is harder by doing 3d mesh using matlab using one of theses tools:
Then after generating that mesh you can create Abaqus input file from thatt mesh using my tool
Sir, this is very useful for the modeling of concrete with aggregate and fibers, thank you for your contribution to this code. I am a student concentrate on the mesoscale modeling of concrete. However, I can only generate sphere aggregate and generate the meshes. How to generate the Abaqus mesh of your model? Could you please reply to me if you know how to generate the mesh of this model? I will cite your research result in my paper.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!