0% found this document useful (0 votes)
63 views12 pages

Lattice Programa

This paper presents the development of a lattice structure design tool for building and analyzing 3D-printed lattice structures using ABAQUS. The tool allows for designing lattice structures in a simple way and analyzing their compressive mechanical behavior beyond initial yielding. Challenges in generating lattice geometry, meshing, assigning materials, and defining boundary conditions are addressed.

Uploaded by

guinoytito
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views12 pages

Lattice Programa

This paper presents the development of a lattice structure design tool for building and analyzing 3D-printed lattice structures using ABAQUS. The tool allows for designing lattice structures in a simple way and analyzing their compressive mechanical behavior beyond initial yielding. Challenges in generating lattice geometry, meshing, assigning materials, and defining boundary conditions are addressed.

Uploaded by

guinoytito
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Advances in Engineering Software 169 (2022) 103139

Contents lists available at ScienceDirect

Advances in Engineering Software


journal homepage: www.elsevier.com/locate/advengsoft

ABAQUS plug-in finite element tool for designing and analyzing lattice
cell structures
Abdalsalam Fadeel, Hasanain Abdulhadi, Raghavan Srinivasan, Ahsan Mian *
Department of Mechanical and Materials Engineering, Wright State University, 3640 Colonel Glenn Hwy., Dayton, OH 45435, United States

A R T I C L E I N F O A B S T R A C T

Keywords: This paper presents the development of a lattice structure design (LSD) tool for building and analyzing different
3D-printed lattice structures configurations of 3D-printed lattice structure (LS). This tool was developed via ABAQUS graphical user interface
Finite element modeling (GUI) based on Python code. Due to the extensive research activities in the field of lattice design using exper­
ABAQUS plugin tools
imental and computational methods, there is a high demand for finding new techniques to reduce the compu­
Graphical user interface
Python scripting
tational time and human effort. Also, several challenges were revealed while creating finite element models for
lattices of complicated geometries. These models showed the capability for capturing the elastic and inelastic
mechanical responses of LSs during the compression test. Consequently, the LSD tool was designed not only to
build lattice structures in a short time and simple way, but also to analyze the associated compressive mechanical
behavior that goes beyond initial yielding to cover the entire crushing behavior. This paper examined many
challenges involved in generating and decomposing the lattice geometry, creating hexahedron elements and
optimizing the mesh density, assigning and inserting the material type, activating the face recognition to define
the boundary and loading conditions, and conducting linear and polar patterns. Finally, to demonstrate the
effectiveness of the new approach in designing and analyzing LSs, finite element results were validated with the
previous experimental findings.

1. Introduction structures are developed to advanced levels such that could compete
foam materials and, hence, become a good replacement for solid parts in
Strut-based lattice structures are still attracting thus far the interest several applications [3,4].
of many researchers due to the intriguing compatibility of such materials The lattice mechanical characteristics depend on the solid material
in various applications, such as the biomedical science and aerospace upon which the lattice is made, boundary and loading conditions, and
engineering. This is mainly attributed to its periodic design, which the structural parameters [5,6]. It is important to explain that the
provides a good capability for controlling the lattice mechanical char­ boundary conditions whether constrained or unconstraint and the
acteristics. Copying the same unit cell and repeating it in an array of applied loadings whether axial force, shear load, or bending moment
rows and columns lead to create the periodicity of these structures. It is a have an effect on the lattice deformation mechanisms, as well the
design feature of high importance not only in manipulating the me­ associated mechanical properties [7–9]. The structural parameters
chanical properties but also in saving material and time since the comprising the lattice topologies and geometries have also an influence
behavior of a single unit cell out of which the periodic lattice structure is on the lattice mechanical behavior [10–12]. The topologies indicate to
composed could be approximately similar to that of entire lattice under the shapes of lattice unit cells, and the geometries refer to the unit cell
certain conditions. Beside, the advances in additive manufacturing size, aspect or slenderness ratio, relative density or volume fraction,
technologies enable fabricating different lattices even the ones of strut length, strut diameter or radius, and the strut angle [13–15]. In
complicated feature in a shorter time and reasonable cost comparing addition, the shape of the strut cross-section area corresponding to the
with traditional methods [1,2]. Together, the periodicity of structural same value of the area, and the strut distributions through a single unit
design and the development of 3D printers help to create lattices of light cell or entire lattice have an effect on the mechanical properties of lat­
weight and relatively high mechanical properties. In short, lattice tices [16–20]. Significantly, experimental investigations of the

* Corresponding author.
E-mail address: [email protected] (A. Mian).

https://doi.org/10.1016/j.advengsoft.2022.103139
Received 16 March 2022; Accepted 4 May 2022
Available online 13 May 2022
0965-9978/© 2022 Elsevier Ltd. All rights reserved.
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 1. LSD tool interface.

aforementioned parameters are typically expensive in time and mate­ creating lattice models with a good-quality element type, like hexahe­
rial, and a lot of human efforts are required to achieve that work. dron or brick elements, is not a straightforward work and requires user-
Accordingly, the researchers look forward to using finite element soft­ intervention to be achieved [30,31]. For this reason, many lattice
ware in their investigations, aiming to reduce the size of the experi­ models were conducted using tetrahedron elements, which could be
mental work and obtain a better understanding for the mechanical generated directly with less user efforts. However, these elements
behavior of lattice structures. cannot capture the post-yielding behavior of lattices, as well as higher
ABAQUS is a commercial finite element software used for simulating number of tetrahedron elements are required to reach the convergence
a variety of real-life applications due to its powerful capacity to effi­ limit and obtain accurate results, thereby increasing the computational
ciently build and analyze the complicated models. It could be adopted cost [32–34]. Furthermore, beam element-based modeling of lattices is
for modeling both linear and non-linear mechanical behavior of con­ well-known with a cheap computational cost, but such elements are
cretes, composite materials, and lattice structures [15,21–23]. ABAQUS poor in formulation and cannot work efficiently during the entire lattice
has also been used in a combination with lattice discreet element behavior, especially at the later stages of lattice progressive failure [35].
method to model the material fracture and analyze the progressive Also, the models based on beam elements cannot capture the real ge­
damage [24], and to capture the dynamic behavior [25]. ometry and stiffness of lattices due to not considering properly the
Developing a graphical user interface (GUI) plug-in tool for ABAQUS material overlapping at strut joints [35]. Moreover, finite element
to create and perform finite element modeling is essential because of the modeling using a single unit cell is not always useful since it cannot
tedious process related to building and analyzing the complicated provide a deep and clear understanding for progressive failure stages of
models. Thus, it is required to enhance the ABAQUS through conducting lattices. Up to this point, there are other finite element models for
more efficient models with good mesh convergence to provide accurate simulating the lattice compressive behavior at a good level of accuracy;
results in least computational time. For example, a plug-in tool has been whereas, they are limited to certain relative densities, specific lattice
successfully developed for the sake of reducing the computational time features or deformation mechanisms, and particular material types.
and predicting the material progressive damage during fatigue loading These limitations have in turn motivated the authors to find out practical
[26,27]. In this regard, plug-in tool called Micromechanics has been solutions through developing an efficient tool based on ABAQUS and
established in ABAQUS based on Python encoding for the purpose of PYTHON.
generating representative volume elements (RVE) [28]. The code In this study, a lattice structure designer (LSD) tool has been created
developed for a plug-in tool must be programmed in Python to be based on Python programming and worked under ABAQUS plug-in to
scripted within ABAQUS. These tools appear in plug-in tab and can achieve everything starting from building the structure of lattices till
display plug-in dialog. These tools can offer both less human interven­ analyzing them under compression. This tool improves efficiency of
tion and models of multiple events based on micromechanics of com­ computational simulation and is clearly an innovation that can be uti­
posite materials [29]. lized by other researchers [36]. To run this tool, the user clicks on
Though much research is being published recently in the field of “Fadeel” in the table of plug-in options, as shown in Fig. 1.A detailed
lattice finite element modeling, there are still some limitations in procedure of using and running LSD tool based on ABAQUS is available
developing numerical schemes that could capture accurately the entire in YouTube for user reference.
compressive behavior of strut-based lattice structures. In most cases, We faced several difficulties while generating the lattice structure

2
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 2. The lattice structure designations.

2. Overview

The developed plug-in tool can be used to design, optimize and


analyze six types of the lattice configurations. These configurations are
emerged from three LS families depending on both the geometries of the
unit cells and their distributions in the 3D-space, as summarized in
Fig. 2. First family of lattice configurations is BCC (Body Centered
Cubic), which includes the basic BCC feature recognized with 8 radi­
ating struts from the center of the unit cell, BCCV configuration which
can be described as BCC unit cell combined with five vertical struts (four
of them located along vertical edges of the unit cell and one placed at the
center), and BCCA feature which is defined as a combination of BCC
lattice and vertical struts distributed at alternative layers. The entire
lattice corresponding to any feature can be constructed by replicating
the unit cell in the X, Y and Z directions to create the whole structure.
The user inputs for generating the lattice cell structure include the di­
mensions of the unit cell and the number of cell repetitions in X, Y and Z
directions.
The second is the tetra family, which comprises Tetra (Tet) and
Tetrahedron (TetH) lattice features. The arrangement of the six struts in
a regular way to fit on the six sides of the tetrahedron geometrical shape
is the best description for Tetrahedron lattice cell. The Tetra unit cell is
similar to the Tetrahedron, except that it does not have three horizontal
struts as shown in Fig. 2. Both Tetra and Tetrahedron have to be
Fig. 3. Initial Python flowchart.
distributed radially as levels in the horizontal plane (XY-plane) and
these levels are copied in the vertical direction (Z-direction) to build the
models based on ABAQUS as part of our research. These difficulties entire structure of the lattice as shown in Fig. 2. The last group includes
include creating the lattice geometry, applying partitioning procedure, only Pyramidal (Pyr) lattice configuration, which is similar to the upper
conducting face recognition, performing linear and polar patterns, or lower half of the BCC lattice unit cell combined with four horizontal
activating body recognition, assigning the materials from the library or struts as shown in Fig. 2.
creating a new material, assigning the boundary conditions, and opti­
mizing the mesh based on the convergence analyses. For these reasons, a
Python code was developed as a plug-in to work with ABAQUS simul­ 2.1. The LSD algorithm flow chart
taneously. The following sections describe the programming aspects of
the plug-in tool. Fig. 3 shows the flowchart for the proposed LSD program. Some of
the work was done by Python scripting and submitted to the ABAQUS
solver to complete it and to perform the analyses as well as to provide
the output. In other word, Python helps to perform all the challenging

3
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

dimensions and cell distributions and the last is for selecting the mate­
rials. In the first panel, a combo-box with list of items is designed to
create the selection port for the configuration type. This combo-box is
denoted as ComboBox1 for the coding. The list of items in the combo-box
of the LSD plug-in is controlled to accept the string values. These items
are BCC, BCCV, BCCA, Tetra, Tetrahedron, and Pyramidal listed in the
combo-box as shown in Fig. 4. A conditional function helps debugging
the configuration selection in the ComboBox1.
After selecting the configuration, the user enters the dimensions of
various configurations and number of unit cells through the second
input panel shown in Fig. 5, which has three groups of inputs depending
on the family of unit cells.
First group is for the BCC, BCCV, and BCCA, second group is for Tetra
and Tetrahedron and third group is for Pyramidal. The third input panel
shows the parameters required for assigning the material in two boxes.
Fig. 4. LSD input panel for the lattice structure selections listed in the The box on the left side is used for selecting materials from a default
combo-box. material set, such as ABS and Ti-6Al-4V (Fig. 6). The other box on the
right side is used to input user defined material. The required properties
that are typically used to define the material type are shown in Fig. 6.

3. Python interpreter

For the Python script, the notepad++ is used to debug the program.
This interpreter is employed here to do many complex tasks, such as
creating and decomposing the geometry, meshing, conducting face and
body recognition, building patterns (linear and polar), making unions,
and assigning materials.

3.1. Creating and decomposing the geometry

Creating the 3D geometry of the lattice based on ABAQUS is a


complicated procedure. It is first necessary to interpolate the cell di­
mensions into the datum coordinates which define the ends of the struts.
The lattice feature then needs to be decomposed into ABAQUS regular
geometric structures so that it can be meshed automatically. In this re­
gard, Benzaly [37], Simulia [28] and Abdulhadi and Mian [15] have
recommended using the hexahedron mesh elements for capturing
post-yield behavior since they have more degrees of freedom and
formulation. Thus, more datum points are required to help identifying
the location of the partitioning planes which are essential in achieving
the geometric decomposition for the sake of creating hexahedron mesh
elements. The aforementioned procedure is both time-consuming and
tedious even for a single lattice cell, and it should be repeated several
times when building the whole lattice structure. Beside, the created
lattice mesh elements should be tested to obtain optimum mesh density,
which is a costly and tedious process. To solve and address these issues,
the command ReferencePoint is used to identify the reference point of the
unit cell and the command DatumPointByCoordinate is employed to
locate the points in the ABAQUS coordinate system as shown in the
Fig. 5. LSD input panel for the cell dimensions and number of unit cells. Fig. 7(a).
In this regard, coordinates X, Y and Z will be inserted as unit cell
tasks which are difficult or impossible to be established manually in dimensions. The program then creates 3D solid features by using the
ABAQUS. However, to make Python scripting work in ABAQUS envi­ command SolidExtrude, starting with the first strut and repeating this
ronment, some ABAQUS components need to be imported into LSD as procedure to create all other struts (see Fig. 7(a)). The next step is to
parameters. For example, it is required to import all what is needed to begin with struts partitioning where the planes required for this process
create the models’ part, abaqusconstant, assembly, materials etc. Other­ should be addressed in the right positions to perform this step efficiently.
wise, Python scripting will not be able to access the ABAQUS features. The partitioning planes are created based on the datum points and are
Also, to make Python program readable and easy to track, one class must required to be six planes for each strut as shown in the Fig. 7(b). After
be created under the name createpart to manipulate all the input pa­ that, the program will check the mesh for the single strut and then for
rameters such as the dimensions, number of cells, etc. the unit cell to ensure the creation of hexahedron mesh elements before
repeating this procedure to the entire lattice structure as shown in the
Fig. 7(c). For the other five remaining configurations, the same steps and
2.2. The LSD input data and characters procedure are performed but different datum points are identified. The
datum points and partitioning planes were executed based on the unit
Three essential panels for the input data are created. The first is for cell dimension by using the following code:
selecting the configuration type, the second is for entering the P.ReferencePoint(point=(0.0, 0.0, 0.0))

4
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 6. LSD material input panel.

Fig. 7. BCC single unit cell debugging of (a) geometry generation based on
reference points, (b) geometry partitioning based on reference planes, and (c)
mesh refinement test. Fig. 8. Face recognition procedure.

3.2. Face recognition


P.DatumPointByCoordinate(coords=(X, 0.0, 0.0))
P.DatumPointByCoordinate(coords=(0.0, Y, 0.0)) Another challenge of modeling the lattice structure is to determine
P.DatumPointByCoordinate(coords=(0.0, 0.0, Z)) the outer faces of the lattice structure. Due to the strut partitioning, there
P.DatumPointByCoordinate(coords=(X, Y, 0.0)) will be multiple faces on the upper and lower sides of the lattice struc­
P.DatumPointByCoordinate(coords=(X, 0.0,Z)) ture cells. For example, the number of faces for BCC unit cell will be
P.DatumPointByCoordinate(coords=(X, Y, Z)) eight at each side as shown in the Fig. 8. However, in the case of entire
P.DatumPointByCoordinate(coords=(0.0, Y, Z)) lattice structure built with 5 × 5 × 4 unit cells, there will be 8 × 5 × 5 =
P.DatumAxisByTwoPoint(point1=P.referencePoints 200 faces and the process of selecting all these faces manually will be
[1], point2=P.datums[7]) costly in time and effort. The program is designed to store all these faces
P.DatumAxisByTwoPoint(point1= P.datums[4], point2= as arrays such that they can be used later for other considerations.
P.datums[6]) To achieve that program, the loop while is designed to identify any
P.DatumPlaneByPointNormal(normal=P.datums[9], arbitrary point located in the face. Since the centroid of any face is the
point=P.datums[7]) most ensured point, it is selected to be the reference point for each face.
Based on these points, the argument findAt is used to discover the faces
and store them under Tuple array with the name of Faces_Tuple1 [38,39].

5
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 9. Debugging of BCC face finding and tying with the rigid plate for (a) single unit cell and (b) entire lattice.

Fig. 10. Performing linear pattern by using smart 3D vector debugging.

Fig. 11. Performing polar pattern debugging.


This technique is used to select the faces to be tied with the rigid plates
on the upper and lower sides of the lattice configuration. Regarding the
distributed in X, Y and Z directions and the pattern in ABAQUS is only
entire lattice structure, the same procedure will be repeated based on the
valid for 2D (if we do it manually), this command needs to be applied
number of faces on the top or bottom sides of the lattice structure.
twice to perform the pattern for 3D. First, the command needs to be
Finally, the assigned faces of the lattice will be tied with the rigid plates
applied in XY-plane and then in XZ-plane. However, an argument is
as shown in the Fig. 9 (a,b). The following code shows how to apply the
developed for the LSD to do all these steps directly by using programmed
command findAt to realize the eight faces on the top side of the
3D vector called as Smart Vector. The Smart Vector will work to insert and
unit cell during the face recognition process and save them under
allocate the unit cell based on both the configuration design and the
mySurface: faceRegion= PPAArt2.faces.findAt(coordinates
input parameters. Then, the Smart Vector will produce the cells and
=faces_tuple1+faces_tuple2+faces_tuple3+faces_tupl­
detect the directions as well as build the entire configurations eventually
e4+faces_tuple5+faces_tuple6+faces_tuple7+faces_tu­
as shown in Fig. 10. According to the code, the Smart Vector is created by
ple8)
using 3 loops where each one of them represents a certain direction in
mySurface = M.rootAssembly.Surface(name=’s_Surf-1′ ,
the 3D-space. These loops will produce multiple 3D vectors which can
side1Faces=faceRegion)
move the unit cell parts automatically to its location as illustrated in the
following code:for i in range(NX): for j in range(NY): for k
3.3. Linear pattern in range(NZ): a=M.rootAssembly.Instance(dependent=ON,
name=’Cell’+str(i)+str(j)+str(k), part=P) a.translate
This technique is used only with the configurations that are linearly (vector=((0.0+(i*X)), (0.0+(j*Y)), (0.0+(k*Z))))
distributed such as BCC, BCCV, BCCA and Pyramidal. Since the cells are

6
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

3.5. Body recognitions and union

This technique is used to realize the available features to be pro­


ceeded with further commands such as linear or polar patterns and
union. First, the feature needs to be saved as tuple or list by using the
command keys(). Then, the command list is used to save all the features
under the name of SingleInstances_Tuple as shown in Fig. 12(a). The next
technique is the Union of the features, used to unify many features into
one part by using the argument InstanceFromBooleanMerge to create new
part from the union of the minor parts. However, it is required to keep
the boundary as it is without doing any merge by using Retain and de­
Fig. 12. Performing body recognition and union debugging. leting the instances by using Delete as shown in the Fig. 12(b). The
following Python script shows the command keys() invoked here to
identify the features, save them into list under array,and make a union:
SingleInstances_List=M.rootAssembly.instances.
keys()
SingleInstances_Tuple=list(SingleInstances_List)
print len(SingleInstances_List)
print SingleInstances_List[0]
PPAArt2=mdb.models[’Model-1′ ].rootAssembly.Instan­
ceFromBooleanMerge (name = ’Part-2′ , instances =([ M.
rootAssembly.instances [SingleInstances_List[n]] for n
in range (len(SingleInstances_List))]), mergeNodes=
ALL,nodeMergingTolerance =0.1, domain = GEOMETRY,
keepIntersections =ON, originalInstances =DELETE) M.
rootAssembly.regenerate ()

3.6. Applying the boundary conditions

A lattice structure deformed by an axial compressive force in a ver­


tical direction will be considered here as an example to clarify some
details in a simple way. In order to achieve this, the upper and lower
surfaces of the lattice need to be placed in contact with rigid plates. Two
types of the boundary conditions are assigned, first for the top plate to be
movable with specific displacement and the other for the bottom plate to
be fixed (Encaster). For the Encaster boundary condition, all the dis­
Fig. 13. Assigning the boundary conditions in the rigid plates. placements such as u1, u2, u3, ur1, ur2, and ur3 are zeros whereas for the
movable boundary condition u3 is equal to the given displacement as
3.4. Polar pattern shown in Fig. 13. The following Python script shows how to apply the
boundary conditions in ABAQUS:
This technique is required for Tetra and Tetrahedron configurations. # Set the Boundary Conditions #####################
Because the Tetra and Tetrahedron cells are distributed in radial levels ####################
around the central axis (pattern center), it is required to use the polar mdb.models[’Model-1′ ].rootAssembly.Set (name=’Set-
pattern as shown in Fig. 11. The following code is used to create the 3′ , referencePoints =(mdb.models[ ’Model-1′ ]. roo­
polar patterns and locate the Tet or TetH unit cells to the appropriate tAssembly.instances [ ’Part-3-2′ ].referencePoints [
location: 2],))
for i in range (P_rad): mdb.models[ ’Model-1′ ].EncastreBC(createStepName =
M.rootAssembly.Instance(dependent=ON, name=’PN’+ ’Initial’, localCsys=None, name=’Fixed’, region= mdb.
str(i), part=mdb.models[’Model-1′ ].parts[’Part-4′ ]) models[ ’Model-1′ ] .rootAssembly.sets[ ’Set-3′ ])
mdb.models[’Model-1′ ].rootAssembly.translate mdb.models[’Model-1′ ].SmoothStepAmplitude(data=
(instanceList=(’PN’+str(i),), vector=(-SL/2.0, -SL* ((0.0, 0.0), (0.01, 1.0)), name=’Amp-1′ , timeSpan=STEP)
sin (60*pi/180), 0)) mdb.models[’Model-1′ ].rootAssembly.Set(name=’Set-4′
mdb.models[’Model-1′ ].rootAssembly.translate , referencePoints=(mdb.models[’Model-1′ ] .rootAssembly
(instanceList=(’PN’+str(i),), vector=(0, 2*i*-SL*sin .instances [ ’Part-3-1′ ]. referencePoints[ 2],))
(60*pi/180), 0)) FD=1
mdb.models[’Model-1′ ].rootAssembly.LinearInstance mdb.models[’Model-1′ ].DisplacementBC(amplitude=’Amp
Pattern(direction1=(5.0, -sin(60*pi/180),0.0), direc­ -1′ , createStepName=’Step-1′ , distributionType = UNI­
tion2 = (0.5, -sin(60*pi/180), 0.0), instanceList = FORM, fieldname =’’, fixed =OFF, localCsys =None, name=
(’PN’+ str(i),), number1=1, number2= RadL-2*i, spacing1 ’Movable_Plate’, region= mdb.models[ ’Model-1′ ].roo­
=SL/2.0, spacing2 =SL) tAssembly.sets [’Set-4′ ],u1=0.0, u2=0.0, u3=FD*0.5,
mdb.models[’Model-1′ ].rootAssembly.LinearInstance ur1=0.0, ur2=0.0, ur3=0.0)
Pattern(direction1=(5.0, sin(60*pi/180),0.0), direc
tion2= (-0.5, -sin(60*pi/180), 0.0), instanceList 3.7. Assigning the materials to the models
=(’PN’+str(i),), number1=1,
number2=RadL-2*i, spacing1=SL/2.0, spacing2=SL) The LSD program is designed to have two sets of material, first set is
the default materials (i.e. ABS and Ti-6Al-6V) and another set is for any

7
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 14. Creating material library.

Fig. 15. Creating material sections.

other possible printed material. Regarding the default materials, the LSD properties of ABS material are identified from our previous studies [19,
code includes the material properties for both Acrylonitrile Butadiene 20] and the corresponding ones for the Titanium alloy (Ti-6Al-4V) were
Styrene (ABS) and Titanium alloy (Ti-6AL-4V). The mechanical taken from other researches in the literature [40,41]. For any other

8
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 16. Assigning the material to the lattice model.

Fig. 18. Entire compressive behavior of body-centered-cubic (BCC) lattice for


both the experimental work and LSD tool results.

For the material section, the LSD is designed to create the section
frame form the material with solid homogeneous as it can be seen in
Fig. 15. For assigning the material, the tool is designed to assign the
Fig. 17. Defining any other possible material. material section to the model and create set data stored under name Set-
2 as shown in the Fig. 16.
possible material, a frame is developed to insert the material name and a Finally, for any other material, the panel is designed to insert the
table to insert the elastic properties as well as another table to insert the material properties and material name in a simple way and the LSD tool
plastic properties. Next, the LSD software would be responsible for will process all the material criteria creatively (see Fig. 17). All the
creating the material library and the material section to be ready for previous panels were encoded as explained below:
assigning the material to the models. For the material library, the LSD if Material==’Acrylonitrile butadiene styrene
enabled to insert the elastic properties, density, plastic properties, and (ABS)’:
fracture criteria such as ductile damage, shear damage as noticed in the print ’Acrylonitrile butadiene styrene (ABS)’
Fig. 14. mdb.models[’Model-1′ ].Material(name=’ABS’)

9
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Fig. 19. Entire compressive behavior of body-centered-cubic lattice with ver­ Fig. 22. Entire compressive behavior of Tetrahedron (TetH) lattice including
tical struts (BCCV) for both the experimental work and LSD tool results. both the experimental work and LSD tool results.

Fig. 20. Entire compressive behavior of body-centered-cubic lattice with Fig. 23. Entire compressive behavior of Pyramidal (Pyr) lattice including both
alternative struts (BCCA) for both the experimental work and LSD tool results. the experimental work and LSD tool results.

mdb.models[’Model-1′ ].materials[’ABS’].Density
(table=((7.92e-10,),))
mdb.models[’Model-1′ ].materials[’ABS’].Elastic
(table=((861.0, 0.35),))
mdb.models[’Model-1′ ].materials[’ABS’].Plastic
(table=((25.77548896, 0.0), (
25.79557414, 3.1e-05), (25.81674124, 6.15e-05),
(25.84618533, 0.000107775))
mdb.models[’Model-1′ ].HomogeneousSolidSection
(material=ABS, name=
’ABS’, thickness=None)
mdb.models[’Model-1′ ].HomogeneousSolidSection
(material=’ABS’, name=
’ABS’, thickness=None)
PP4.Set(cells=PP4.cells.getByBoundingBox(-50,-
50,-50,50,50,50), name=’Set-2′ )
PP4.SectionAssignment(offset=0.0, offsetField=’’,
offsetType=MIDDLE_SURFACE, region=
PP4.sets[’Set-2′ ], sectionName=’ABS’, thickness
Assignment=FROM_SECTION)
Fig. 21. Entire compressive behavior of Tetra (Tet) lattice for both the exper­
imental work and LSD tool results.
elif Material==’Other Material (Need to be defiened)’:
print Mat_Name

10
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

Table. 1
Summary of comparisons and validations for the LSD tool results with the average experimental works for all six configurations.
Item Yong Modulus (MPa) Lattice Yield Stresses (MPa) Peak Load (N)
average experiment LSD COV average experiment LSD COV average experiment LSD COV

BCC 13.46 14.19 5.14% 0.806976 0.813024 0.74% 515.5 470.29 − 9.61%
BCCV 125.58 112.21 − 11.92% 4.78 4.63 − 3.24% 3012.1 2826.18 − 6.58%
BCCA 30.8 28.83 − 6.83% 1.49 1.37 − 8.76% 936.56 857.48 − 9.22%
Tet 24.97 29.33 14.87% 0.989 1.24 20.24% 695.22 840.11 17.25%
TetH 143.679 151.61 5.23% 5.1336 5.13328 − 0.01% 3372.12 3361.2 − 0.32%
Pyr 69.91 85.06 17.81% 2.5528 2.9484 13.42% 2013.2 1825.3 − 10.29%

mdb.models[’Model-1′ ].Material(name=Mat_Name) compressive behavior of various lattice configurations and showed good
mdb.models[’Model-1′ ].materials[Mat_Name].Elastic capabilities for capturing the progressive damage stages and overall
(table=((Young, Poiss), stress-strain trend during the entire compression process. Therefore, this
)) tool can be useful to design and analyze a wide-range of lattice
mdb.models[’Model-1′ ].materials[Mat_Name].Plastic generations.
(table=((Table)))
mdb.models[’Model-1′ ].materials[Mat_Name].Density • The LSD tool is designed so that it is user friendly, no need to be run
(table=((Den*1.1023113109244E-12,),)) # convert the by ABAQUS expert. Anyone interested in the field of lattice structure
density kg/m3 to Ton/mm3 could use this tool for designing and analyzing lattice structures.
mdb.models[’Model-1′ ].HomogeneousSolidSection • The tool can build and analyze 6 lattice configurations with refined
(material=Mat_Name, name= and converged mesh.
Mat_Name, thickness=None) • The LSD tool enables the users to build efficient lattice models in
mdb.models[’Model-1′ ].HomogeneousSolidSection short time and less effort along with providing accurate results. This
(material=Mat_Name, name= in turn opens more avenues for conducting wide-range investigations
Mat_Name, thickness=None) in the field of lattice structure.
PP4.Set(cells=PP4.cells.getByBoundingBox(-50,- • It is possible to upgrade the tool to deal with more lattice configu­
50,-50,50,50,50), name=’Set-2′ ) rations by adding the datum points and update the parametric
PP4.SectionAssignment(offset=0.0, offsetField=’’, inputs.
offsetType=MIDDLE_SURFACE, region= • It is possible to investigate further lattice configurations with
PP4.sets[’Set-2′ ], sectionName=Mat_Name, thickness different material types with the help of LSD tool.
Assignment=FROM_SECTION) • It is possible to conduct further studies on lattice configurations
made with different geometrical parameters such as the strut angle
4. Results and validation or length.

The developed LSD plug-in tool has been validated for various lattice Funding
configurations through comparing the results of the finite element
models with those of the experimental work from previous research. As The authors received no financial support relevant to the research,
an example, Fig.18 shows stress-strain compressive behavior of BCC authorship, and/or publication of this article.
lattice configuration, comprising three plots of solid lines for the
experimental data and the dash-line plot for the finite element model
extracted from LSD tool. It is clear to notice that the elastic, plateau, and Declaration of Competing Interest
even the strain densification regimes have been captured at a good level
of accuracy. Beside, Young modulus of the experimental work was The authors declared no conflicts of interest regarding to the
computed based on the average value of the three specimens, which was research, authorship, and/or publication of this article.
about 13.46 MPa. In this regard, the LSD tool provided approximate
Young modulus of 14.19 MPa value corresponding to coefficient of References
variance (COV) less than 5.14%. Moreover, this tool predicted the Yield
[1] Mellor S, Hao L, Zhang D. Additive manufacturing: a framework for
point of the BCC lattice and the peak load with reasonable COVs, which implementation. Int J Prod Econ 2014;149(0925–5273):194–201.
were 0.74% and 9.61% respectively. The LSD tool has been also vali­ [2] Gao W, Zhang Y, Ramanujan D, Ramani K, Chen Y, Williams CB, Wang CC,
dated for all other five configurations as shown in Figs. 19–23. To this Shin YC, Zhang S, Zavattieri PD. The status, challenges, and future of additive
manufacturing in engineering. Comput Aided Des 2015;69:65–89.
end, Table 1 shows COVs as a type of numerical comparison between the [3] Deshpande VS, Fleck NA, Ashby MF. Effective properties of the octet-truss lattice
results of LSD tool and the average values of the experimental work for material. J Mech Phys Solids 2001;49(8):1747–69.
all lattice configurations. [4] Deshpande VS, Ashby MF, Fleck NA. Foam topology bending versus stretching
dominated architectures. Compos Sci Technol 2003;63:2331–43.
[5] Ashby MF, Evans AG, Fleck NA, Gibson LJ, Hutchinson JW, Wadley HNG. Metal
5. Summary foams: a design guide. Burlington: Butterworth-Heinemann; 2000.
[6] Ashby MF. The properties of foams and lattices. Philos Trans R Soc A 2006;364
(1838):15–30.
The developed LSD plug-in tool can be used to develop finite element [7] Shen Y, Ckown SM, Tsopanos S, Sutcliffe CJ, Mines And RAW, Cantwell WJ. The
models for different types of lattice configurations in ABAQUS effi­ mechanical properties of sandwich structures based on metal lattice architectures.
ciently. It participated in completing a Ph.D. dissertation successfully J Sandw Struct Mater 2010;12(2):159–80.
[8] Smith M, Cantwell W, Guan Z, Tsopanos S, Theobald M, Nurick G, Langdon G. The
regarding the development and application of a computational
quasi-static and blast response of steel lattice structure. J Sandw Struct Mater 2010;
modeling scheme for periodic lattice structures [12],and publishing a 13(4):479–501.
valuable study recently [42] about the post-yielding behavior of [9] Gümrük R, Mines RAW, Karadeniz S. Static mechanical behaviours of stainless steel
3D-printed polymer lattice structures. The results were tested and vali­ micro-lattice structures under different loading conditions. Mater Sci Eng A 2013;
586:392–406.
dated with the experimental work from previous research, thereby [10] T.A. Alwattar, "Developing equivalent solid model for lattice cell structure using
showing very good agreement. This tool has been used to model the numerical approaches," Ph.D. Dissertation,Wright State University, Dayton,Ohio,

11
A. Fadeel et al. Advances in Engineering Software 169 (2022) 103139

2020. Available at: http://rave.ohiolink.edu/etdc/view?acc_num=wright1610335 [27] Zuo ZH, Xie YM. A simple and compact Python code for complex 3D topology
304435815. optimization. Adv Eng Softw 2015;85:1–11.
[11] H.S. Abdulhadi, "Designing new generations of BCC lattice structures and [28] SIMULA, "ABAQUS Version 6.6 Documentation," SIMULA, 2009. [Online].
developing scaling laws to predict compressive mechanical characteristics and Available at: https://classes.engineering.wustl.edu/2009/spring/mase5513/abaqu
geometrical parameters," Ph.D. Dissertation, Wright State University, Dayton,Ohio, s/docs/v6.6/index.html. [Accessed 2022].
p. 171, 2020. Available at: http://rave.ohiolink.edu/etdc/view?acc_num=wright [29] Távara L, Moreno L, Paloma E, Mantič V. Accurate modelling of instabilities caused
1610335306482598. by multi-site interface-crack onset and propagation in composites using the
[12] F. Abdalsalam, "Development and application of a computational modeling scheme sequentially linear analysis and ABAQUS. Compos Struct 2019;225:110993. no.
for periodic lattice structures," Ph.D. Dissertation, Wright State University, Dayton, May.
Ohio, 2021. Available at: http://rave.ohiolink.edu/etdc/view?acc_num=wright [30] Tadepalli SC, Erdemir A, Cavanagh PR. Comparison of hexahedral and tetrahedral
162248153014535. elements in finite element analysis of the foot and footwear. J Biomech 2011;44
[13] Alwattar TA, Mian A. Development of an elastic material model for BCC lattice cell (12):2337–43.
structures using finite element analysis and neural networks approache. J Compos [31] de Oliveira BL, Sundnes J. Comparison of tetrahedral and hexahedral meshes for
Sci 2019;3(2):33. finite element simulation of cardiac electro-mechanics. In: Proceedings of the VII
[14] Alwattar TA, Mian A. Developing an equivalent solid material model for BCC European congress on computational methods in applied sciences and engineering
lattice cell structures involving vertical and horizontal struts. J Compos Sci 2020;4 (ECCOMAS Congress 2016); 2016. p. 164–77.
(2):74. [32] Smith M, Guan Z, Cantwell WJ. Finite element modelling of the compressive
[15] Abdulhadi HS, Mian A. Effect of strut length and orientation on elastic mechanical response of lattice structures manufacture using the selective laser melting
response of modified body-centered cubic lattice structures. J Mater Des Appl technique. Int J Mech Sci 2013;67:28–41.
2019;233:2219–33. [33] Al-Saedi DS, Masood SH, Faizan-Ur-Rab M, Alomarah A, Ponnusamy P. Mechanical
[16] Queheillalt DT, Wadley HNG. Pyramidal lattice truss structures with hollow properties and energy absorption capability of functionally graded F2BCC lattice
trusses. Mater Sci Eng A 2005;397(1–2):132–7. fabricated by SLM. Mater Des 2018;144:32–44.
[17] Queheillalt DT, Wadley HNG. Cellular metal lattices with hollow trusses. Acta [34] Karamooz MR, Kadkhodaei M. A computationally efficient modeling approach for
Mater 2005;53(2):303–13. predicting mechanical behavior of cellular lattice structures. J Mater Eng Perform
[18] Huang Y, Xue Y, Wang X, Han F. Effect of cross sectional shape of struts on the 2015;24:245–52.
mechanical properties of aluminum based pyramidal lattice structures. Mater Lett [35] Luxner MH, Stampfl J, Pettermann HE. Finite element modeling concepts and
2017;202:55–8. linear analyses of 3D regular open cell structures. J Mater Sci 2005;40:5859–66.
[19] Fadeel A, Mian A, Al Refaie M, Srinivasan R. Effect of vertical strut arrangements [36] A. Fadeel, "YouTube," 2020. [Online]. Available: https://www.youtube.com/w
on compression characteristics of 3D printed polymer lattice structures: atch?v=A_-Di3G96KE. [Accessed 7 June 2021].
experimental and computational study. J Mater Eng Perform 2018;1:1–8. [37] S. E. Benzley, E. Perry, K. Merkley, and B. Clark. A comparison of all hexagonal and
[20] Fadeel A, Abdulhadi H, Srinivasan R, Mian A. A computational approach in all tetrahedral finite element meshes for elastic and elasto-plastic analysis. In
understanding the low-velocity impact behavior and damage of 3D-printed Proceedings, 4th International Meshing Roundtable, pages 179–191. Sandia National
polymer lattice structures. J Mater Eng Perform 2021. Laboratories, October 1995. Available at: http://citeseerx.ist.psu.edu/vie
[21] Pavan Venkata Naga Sai B, Agarapu DCK, Eluru A. Assay of moment resisting wdoc/summary?doi=10.1.1.70.392.
precast and monolithic frames using ABAQUS software. Mater Today Proc 2020; [38] stackoverflow, "Abaqus: script to select elements on a surface," stackoverflow, 1
33:162–9. p. XXX in press. July2019. [Online]. Available at: https://stackoverflow.com/questions/3704868
[22] Zhang X, Gu X, Lv J, Zhu Z, Zou X. Numerical analysis of the rheological behaviors 9/abaqus-script-to-select-elements-on-a-surface.
of basalt fiber reinforced asphalt mortar using ABAQUS. Constr Build Mater 2017; [39] iMechanica, "Partitioning or selecting faces in ABAQUS using scripting techniques,"
157:392–401. iMechanica, 2 May 2016. [Online]. Available: https://imechanica.org/n
[23] Kartheek T, Das TV. 3D Modelling and analysis of encased steel-concrete composite ode/15852 . [Accessed 21 July 2020].
column using abaqus. Mater Today Proc 2020;27:1545–54. [40] Denlinger ER, Michaleris P. Effect of stress relaxation on distortion in additive
[24] da Silva GS, Kosteski LE, Iturrioz I. Analysis of the failure process by using the manufacturing process modeling. Addit Manuf 2016;12:51–9.
lattice discrete element method in the abaqus environment. Theor Appl Fract Mech [41] Tancogne-dejean T, Roth C, Woy U, Mohr D. Probabilistic fracture of Ti e 6Al e 4V
2020;107:102563. no. October 2019. made through additive layer manufacturing. Int J Plasti 2016;78:145–72.
[25] Huang X, Bie Z, Wang L, Jin Y, Su G, He X. Finite element method of bond-based [42] Fadeel A, Abdulhadi H, Newaz G, Srinivasan R, Mian A. Computational
peridynamics and its ABAQUS implementation. Eng Fract Mech 2019;206:408–26. Investigation of the post-yielding behavior of 3D printed polymer lattice structures.
November 2018. J Comput Des Eng 2022;9(1):263–77. 02 February.
[26] Nesládek M, Španiel M. An abaqus plugin for fatigue predictions. Adv Eng Softw
2017;103:1–11.

12

You might also like