Generate Abaqus Mesh for 2D Mesoscale Geometries

version 1.0.2 (15 KB) by Ayad Al-Rumaithi
Generates Abaqus mesh for 2D mesoscale geometries


Updated 22 May 2021

View License

This tool generates mesh for 2D mesoscale geometries. It can be used especially for mesoscale analysis of concrete and asphalt composites. The elements are divided into three sets. One set named "Aggregate" in the elements set consists of cst elements for the aggregate particles. The other set is named "Matrix" consist of cst elements for the matrix material. A third set "ITZ" consists of cst elements for the interface layer between aggregate and matrix if the ITZ_thickness variable is equal more than zero. If it is zero, the there will be no third set "ITZ" and rigid interface between aggregate and matrix and the interface is assumed rigid between them. The mesh is plotted in matlab and saved in Abaqus input (*.inp) file.
Important Note: This tool requires MESH2D mesh generator (tested with version The user should download it put it in the same folder or inside the folder of this tool. The link for MESH 2D is:
Three example files are provided for the mesh of notched beam "Example_Beam.m", cylinder "Example_Cylinder.m", and cube "Example_Cube.m" assuming rigid bond between aggregate and matrix. Another three for notched beam "Example_Beam_ITZ.m", cylinder "Example_Cylinder_ITZ.m", and cube "Example_Cube_ITZ.m" with ITZ layer.
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-[V, S, face, face_index]=Discretization(Ellipses,x,z,l_seg,N_min,poly_seg,ITZ_thickness)
Convert ellipses and outside polygon to segments
Plot segments
Generates mesh
Plots mesh
Converts mesh to Abaqus input file
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_seg: Segments lengths for outside polygon discretization.
N_min: Min number of segments for aggregate polygon discretization.
poly_seg: Segments lengths for aggregate polygon discretization.
ITZ_thickness: TZ layer thickness. If it is set to 0, no ITZ will be generated and rigid bond is assumed.
Filename: Full path of the input file containing the folder, name of the file and extension such as: 'D:\Example.inp'.
Note: The mesh is imported in Abaqus using the following steps :(1-File___2-Import___3-Model__4-(*.inp) File)
[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 (2022). Generate Abaqus Mesh for 2D Mesoscale Geometries (, 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!