File Exchange

image thumbnail

Aggregate Packing Generator

version 1.0.2 (8.24 KB) by Ayad Al-Rumaithi
Aggregate packing generator used for the simulation of aggregate in composites

6 Downloads

Updated 01 Nov 2019

View License

Aggregate packing generator used for the simulation of aggregate in composites. It can be used especially for meso-scale analysis of concrete and asphalt composites .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

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.

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

references
[1] Unger, Jörg F., and Stefan Eckardt. "Multiscale modeling of concrete." Archives of Computational Methods in Engineering18.3 (2011): 341.

Cite As

Ayad Al-Rumaithi (2020). Aggregate Packing Generator (https://www.mathworks.com/matlabcentral/fileexchange/73188-aggregate-packing-generator), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Dear Mohamed,

You need to perform the following steps:
1-Apply segmentation to ellipses/ellipsoids to make them discrete shapes. I have that code for ellipses but not ellipsoids:
https://www.mathworks.com/matlabcentral/fileexchange/71572-convert-ellipses-to-polygons
2-After that you should generate mesh using one of the available online matlab codes such as:
https://www.mathworks.com/matlabcentral/fileexchange/25555-mesh2d-delaunay-based-unstructured-mesh-generation
https://github.com/dengwirda/jigsaw-matlab
3-Finally convert generated mesh to input file for Abaqus using my available tool:
https://www.mathworks.com/matlabcentral/fileexchange/71339-convert-matlab-mesh-to-abaqus

how to convert a model like that this model to STL-files/ abaqus files

Updates

1.0.2

description

1.0.1

description

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