image thumbnail

Aggregate Packing Generator with Fibers

version 1.0.3 (10.7 KB) by Ayad Al-Rumaithi
Aggregate packing generator with fibers used for the simulation of aggregate and fibers in composites

82 Downloads

Updated 07 Jan 2021

View License

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"

1-function Classes=Particles_Generation(x,y,z,Classes_diameters,Alpha,m,Particle_ratio)
Generates aggregates according to Fuller's curve.
2-function Plot_Sieve(Classes,x,y,z,Classes_diameters,Alpha,Particle_ratio)
Plots generated sieve curve.
3-function Ellipsoids=Particles_Distribution(Classes,x,y,z,er)
Generates aggregate with ellipsoids shapes
4-function Plot_Ellipsoids(Ellipsoids,x,y,z)
Plots ellipsoids
5-function Ellipses=Ellipsoids_to_Ellipses(Ellipsoids,dist,r_min)
Converts ellipsoids to ellipses. used for 2D analysis
6-function Plot_Ellipses(Ellipses,x,z)
Plots ellipses
7-function [Nodes_Fibers, Fibers]=Generate_Fiber(x,y,z,L,N,Orientation,Ndiv,Ellipsoids);
Generate fibers
8-function Plot_Fiber(x,y,z,Nodes_Fibers,Fibers)
Plots fibers
9-function Plot_Ellipsoids_Fiber(Ellipsoids,x,y,z,Nodes_Fibers,Fibers)
Plot ellipsoids with fibers
where the variables defined as:

input:
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

Output:
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.

references
[1] Unger, Jörg F., and Stefan Eckardt. "Multiscale modeling of concrete." Archives of Computational Methods in Engineering18.3 (2011): 341.
[2] 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.

Cite As

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 .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!