1. Introduction
Topology optimization is a practical mathematical approach for optimizing structural layouts within a design domain, considering specified load conditions, boundary constraints, and performance objectives [
1,
2]. Since the introduction of the seminal paper by Bendsøe and Kikuchi [
3], the development of topology optimization methodologies has been a popular topic of interest for researchers and designers.
Over time, numerous methods have been introduced in topology optimization to enhance its efficiency in solving complex problems and expand its applications to various domains, including mechanical components [
4,
5,
6], electromagnetics [
7,
8,
9], and photonics [
10,
11,
12], among others. The homogenization design method (HDM) [
13,
14,
15], based on the homogenization approach, the solid isotropic material with penalization (SIMP) method [
16,
17,
18], the level set method [
19,
20,
21], the evolutionary structural optimization (ESO) method [
22,
23,
24], and the moving morphable components (MMC) method [
25,
26,
27], to name a few, are several topology optimization techniques that are commonly utilized both in academic and industrial settings.
Since the publication of the 99-line MATLAB code [
28] for topology optimization, recognized as an educational paper, numerous studies have been dedicated to developing topology optimization codes in various programming languages, including MATLAB and Python [
29,
30,
31,
32,
33]. In addition, topology optimization methods have been implemented for both single- and multimaterial topology optimization [
34]. The Alternating Active-Phase Algorithm [
35], Ordered SIMP [
36], and Level-Set method [
37] are considered some of the most prevalent techniques for multimaterial topology optimization. Through topology optimization, various problems have been addressed, including—but not limited to—imperfect structures under load position uncertainty [
38], the plastic-limit behavior of I-beams [
39], and structural performance enhancement under realistic constraints [
40].
In most studies on topology optimization, the objective function is typically defined as minimizing compliance or, equivalently, maximizing stiffness with volume or mass constraints. Other types of constraints, such as stress [
41,
42,
43], displacement [
44,
45], manufacturing [
46,
47,
48], and buckling constraints [
49,
50,
51], have also been introduced, among others. In topology optimization, a binary solution is usually obtained, which is shown by the relative density, namely the design variable. Various methods have been introduced to achieve an optimum topology optimization solution, classified as gradient-based and gradient-free methods.
Gradient-free algorithms include the Genetic algorithm [
52], particle swarm optimization [
53], simulation annealing [
54], and Nelder–Mead simplex [
55], which are well suited for nondifferentiable functions, mixed design variables, discrete feasible space, and disconnected feasible space [
56].
In contrast, gradient-based algorithms deal with the gradient of objective functions and constraints. For example, Sigmund introduced the optimality criteria (OC) [
28] that uses the Karush–Kuhn–Tucker first-order optimality condition and Kim et al. [
56] introduced its generalized form. Furthermore, Sequential Linear Programming (SLP) and Sequential Quadratic Programming (SQP) [
31,
57,
58] are other alternative algorithms for topology optimization. The method of moving asymptotes (MMA), used for large-scale problems, is another approach developed by Svanberg [
59], which has been widely used for stress-constrained topology optimization [
58].
A newly introduced approach, the Updated Properties Model (UPM) [
60,
61], offers a novel optimization algorithm. In this approach, the objective function is to minimize the standard deviation of the differentiation of the strain energy with respect to a material parameter, such as the Poisson ratio or Young modulus, with the latter being used in the original version. The strain field is obtained by differentiating the strain energy and, through the iterative updating of Young’s modulus as a design variable, the strain at the micro-level (element strain) is homogenized, leading to stiffness maximization. In addition, this objective function has been shown to result in a reduction in compliance. In contrast to typical topology optimization algorithms, where the design variable is the density, the UPM iteratively updates the Young modulus as the design variable instead. This is favorable for multiscale topology optimization and metamaterial generation, achieved by controlling the Young modulus (stiffness) at a micro resolution.
An additional benefit of the UPM method is that it does not require information on the Hessian matrix, namely second-order differentiation, which is computationally expensive and requires significant memory allocation [
56]. This benefit is also seen in the aforementioned algorithms. Moreover, in the UPM method, there are no constraints except for static equilibrium, which is satisfied automatically. Furthermore, similar to the SIMP method, the side constraints, namely the upper and lower bounds for the Young modulus, are satisfied directly when the design variables are obtained.
The UPM method does not explicitly enforce constraints such as volume or mass. However, in many practical applications, it is essential to control the amount of material used in optimized structures. This raises the following question: how can material distribution be guided in a constraint-free framework? In this work, we address this by introducing a semi-penalized formulation of the Updated Properties Model (UPM), which incorporates a density-dependent Young modulus combined with a transformation function. This approach allows the designer to control volume fraction without directly formulating or differentiating constraint terms, unlike classical methods such as SIMP.
The results show that the method can produce both binary (single-material) and functionally graded material (FGM) distributions, with comparable or improved mechanical performance relative to conventional approaches. Importantly, the FGM structures generated by our method exhibit non-predefined spatial patterns, in contrast to many traditional approaches [
62], which assume specific mixing laws or directionally controlled gradients.
FGMs are highly important in applications requiring tailored stiffness, thermal, or acoustic properties. Previous non-predefined FGM approaches often rely on mixture-based modeling [
63,
64] and have more than one design variable to control FGM patterns. In contrast, our formulation introduces a new design variable (Young modulus) and a new update law, offering a physically grounded alternative that supports a broader and more flexible material design space.
2. Materials and Methods
In this section, we derive the topology optimization formulation for the UPM method with a volume constraint. We define the topology optimization problem in the UPM method as
in which
stands for the vector of the design variables that is an energetic measurement of the strain level
,
shows the standard deviation of
,
represents the the mean of
,
N refers to the number of the element,
is the element volume, and
stands for the element strain energy.
We utilize the finite element method (FEM) to discretize the design domain. In order to define the strain energy and its differentiation equation, we use the Principle of Virtual Work as
or equivalently
in which
exhibits the volume of the body;
S indicates the surface boundary of the body; the Cauchy stress tensor is shown by
;
stands for the strain, obtained from the displacement
;
refers to the body force per unit volume;
is the traction per unit area on the boundary; and
R represents the concentrated force.
Solving the static equilibrium equation
, we can obtain the displacement and strain that result in obtaining the strain energy as
where
is the rank-4 elasticity tensor. The total strain energy is obtained by the summation of the strain energy of all elements, expressed as
.
The quantity
for each element is then derived as
with
.
To find the local minimum of the objective function in Equation (
1) for the given design variables, we use Newton’s method of optimization, such that
As reported in [
61], the Hessian
is not invertible, and we cannot use Newton’s method to find the local minimum directly. For this reason, we use gradient descent to find the updating formula as follows
with
Using the following relationship
and
we obtain
Assuming sufficiently slow updating, we can write
, resulting in
in which
In Equation (
12), we have a nonlinear updating formula in terms of
, which can be more simplified using the first term of the Taylor series expansion if we assume that
is a small parameter, such that
Now, we can obtain the final updating formula as
where
k is a tuning parameter to the magnitude of the step taken. As we can see, the new procedure used to obtain the minimum of the objective function does not require a Hessian Matrix. Furthermore, we use Young’s modulus as the design variable instead of
, which simplifies the topology optimization process. The formulation above and the updating formula in Equation (
15) comes from the original UPM method, which does not include any constraints. In what follows, we show a strategy for applying the volume constraint.
We use the density-dependent Young modulus scheme, a transformation function, and a bisection search to apply volume fraction. After updating the Young modulus at each iteration, it is transformed to the density based on the density-dependent formulation of the Young modulus as [
65]
wherein
and
represent the reference Young modulus and material density, respectively; and
stands for a given exponent. The density vector obtained from Equation (
16),
, represents the raw density without enforcing the volume constraint. To impose this constraint, we introduce the following transformation function
that should satisfy
In Equations (
17) and (
18),
adjusts the sharpness of the transition between
and
, the limit of the real density,
shows the threshold density, which is obtained with the help of the bisection method, and
represents the volume fraction. Since the transformation function alters the density distribution, the threshold density
must be iteratively adjusted to achieve the target volume fraction. Consequently, we define an initial bound for the threshold density as
and
, which stand for the threshold at which the volume fraction becomes 0 and 1. We consider an initial large error value to ensure that the iterative process starts; here, we assume that the error is
. The bisection search starts with midpoint search as
, and then we derive the transformed sum at the upper, lower, and midpoint bounds as
At this stage, the bounds can be updated as
An convergence criterion for the bisection search is also defined as
. Following the steps above, the raw density is updated by enforcing the volume constraint. The convergence behavior of our method is indeed influenced by the choice of parameter
, which plays a remarkable role in the transformation function that links the density and the updated Young modulus. In our testing, we observed that if
is not selected appropriately, the optimization process may fail to converge as early as the first iteration. A numerical error typically accompanies this behavior. Specifically, we found that convergence is robust and reliable when
is chosen within the range (
]. Within this interval, the method consistently converges within a reasonable number of iterations for both the bisection search and the main optimization loop. That said, it is possible that in some specific cases, especially for certain boundary conditions or loading configurations, convergence may still occur outside this recommended range. However, the range we report serves as a safe guideline based on our current testing across standard benchmarks.
In the proposed method used to enforce the volume fraction, parameter plays a crucial role. As stated above, this parameter controls the smoothness and aggressiveness of the transformation function. When is small, the transition region is wide, resulting in density values within the intermediate transformed range, similar to non-penalized topology optimization. As increases, the optimized structure tends toward a binary solution, eliminating intermediate values, with densities pushed toward or .
The general iterative process in topology optimization must converge. The convergence criterion is established based on the strain energy at each iteration, as follows:
in which
is a tolerance.
The following, Algorithm 1, presents a pseudocode for implementing the proposed algorithm in a programming language.
Algorithm 1: Semi-penalized UPM with volume fraction |
Require: Model setup: boundary conditions (Dirichlet and Neumann) and bounding volume.
Ensure: FEA isotropic linear elastic calculation at - 1:
Initialize parameters: - 2:
Set loop counter - 3:
Compute initial FEA solution: Solve , obtain compliance C and strain energy - 4:
Store strain energy history: - 5:
Compute initial convergence measure - 6:
Print iteration status - 7:
whileanddo - 8:
Solve FEA: , compute compliance C and total strain energy - 9:
Update material properties: - 10:
Compute density - 11:
Filter density: - 12:
Convert density to Young’s modulus: - 13:
Update material properties in the model: - 14:
Solve FEA with updated material: Obtain compliance C, displacement U, stress , and strain - 15:
Store and export results to VTK file - 16:
Update strain energy history and recompute convergence measure A - 17:
Increment loop counter - 18:
Print iteration status - 19:
end while - 20:
ifthen - 21:
Terminate: Maximum iterations reached, compliance is set to - 22:
end if - 23:
Final Computation: Solve FEA with final material distribution and export results
|
3. Results and Discussion
In this section, we examine the efficiency of our proposal. We investigate the influence of different parameters, such as the volume fraction , , and . For all results, we use , , Poisson’s ratio , , and .
The load cases for two (2D) and three-dimensional (3D) structures are shown in
Figure 1. As shown in
Figure 1a, the first 2D case is a cantilever subjected to traction load at the middle of the free end of
[MPa], with the length
, the height
and the number of elements in the
-direction as
and
-direction
.
The second 2D case involves a three-point bending beam (3pb) with a concentrated load of
[N] applied in the upper center (see
Figure 1b). The general results for the cantilever and three-point bending (3pb) cases are similar; therefore, for brevity, we present the 3pb results in Appendix A.
For the 3D case, we consider a cantilever and a chair with the same traction load. The length
L [mm], width
w [mm] and height
h [mm] of these geometries are shown in
Figure 1c,d. We impose a Dirichlet boundary condition for the chair on the bottom surfaces in four corner circles, each with a radius of 10 [mm]. The adopted Neuman boundary condition is a circle at the top surface with a radius of 20 [mm]. For 2D and 3D cases, we use quadrilateral and hexahedral elements, respectively.
We show the effect of the volume fraction on topology optimization in
Figure 2. We chose three values for the volume fraction
and a case without volume fraction
, namely the original UPM method. We depict the Young modulus map (design variables), the 3D view of the optimized structure, and the strain energy. The figures show the success of the proposed method in imposing the volume fraction. From the figures, we can see that as the volume fraction decreases, less material is in the optimized structure. This means that the distribution of material within the design domain is effected by varying the volume fraction. Furthermore, we observe that a larger volume fraction in the optimized structure results in more material and reduced compliance, indicating greater stiffness compared to structures with a smaller volume fraction, which is expected.
Figure 2j–l shows the result of the cantilever without a volume fraction, which is related to the original UPM method. For this case, the optimized structure has more intermediate Young modulus values, similar to the SIMP method, with a penalty equal to the unity. Moreover, it is clear that in the UPM, we do not have any volume fraction parameter, and only one solution is obtained.
The optimized structure can be the binary solution, as can be seen in
Figure 2d–f and the the other functionally graded sub-figures in
Figure 2. In the graded optimized structure, soft materials with lower Young’s modulus and stiffer materials with higher Young’s modulus coexist. This combination may result in better performance compared to single-material structures by balancing softness and stiffness, ultimately reducing overall compliance.
In the proposed algorithm, the relationship between Young’s modulus and density is given by Equation (
16). This equation resembles the interpolation used in the SIMP method, which incorporates a penalty parameter, typically denoted as
. However, as shown in
Figure 2, even when
, intermediate density values still appear in some cases. This behavior differs from the standard SIMP method, where a penalty greater than one typically suppresses intermediate values. Therefore,
in the proposed algorithm does not act in the same way as the penalty parameter in SIMP. As we can see in the following, when the effect of
is analyzed, it changes the layout of the material within the design domain. Further details on the effect of
will be presented in Figure 4.
We illustrate the influence of
on topology optimization in
Figure 3 for the 2D cantilever load case. The lowest compliance is obtained for
= 0.9; however, the optimized structure exhibits checkerboard patterns. Comparing
Figure 3a–c with
Figure 3g–i, which show solutions without checkerboard patterns, we observe that for the larger
, the stiffness is greater than that of the other case.
Figure 3a–c represents a result similar to classical topology optimization algorithms with a binary solution for the Young modulus. As this parameter decreases, the intermediate values of the design variables become predominant. Taken together,
plays a crucial role in the proposed model, as it can lead to checkerboard patterns, a binary solution, or a solution with intermediate values of Young’s modulus.
To explore the role of parameter
in the optimized structure, we plot
Figure 4. We observe that this parameter does not significantly affect the compliance (stiffness) for the given conditions. For
, the optimized structure is the stiffest and, as this parameter increases, the stiffness decreases. This result is obtained because increasing
reduces the amount of material within the design domain. It is clear that for different values of
, the optimized structure has a graded material, with intermediate values. This exponent parameter is analogous to the penalty term in the SIMP model in terms of formulation, but it carries a different interpretation.
Figure 4c,f,i shows the strain energy map in the optimized structure for different
. In
Figure 4c, the strain energy is spread more broadly within the design domain, indicating that the deformation is distributed more evenly. By increasing
, the strain energy becomes more localized, and eventually the design becomes more refined, with a more precise separation.
Here, we show the result of the topology optimization algorithm in three-dimensional structures, where there are a cantilever and a cubic that we call a chair because its optimized structure resembles a chair.
Figure 5 shows the influence of the volume fraction on two 3D structures, the cantilever and chair-type loading structure. Changing the volume fraction
alters the distribution of the material within the design domain, as observed. It is also clear that increasing the volume fraction leads to a denser, stronger structure, but reduces the material efficiency. We observe that the compliance of the cantilever is lower than that of the chair, indicating that it is stiffer. For the chair structure, the initial cube with the same Young modulus for each element at the first loop is updated iteratively and minimizes the energy, leading to an optimized structure with four legs, starting from the Dirichlet boundary condition to the Neumann boundary condition where the load is applied. The same scenario is also seen for the cantilever, where the material is distributed in the loading path to the fixed end of the structure, namely the Dirichlet boundary condition.
We explore the effect of parameter
on the topology optimization with our proposal in
Figure 6. It is shown that for
, the optimized structure has a more diffuse material distribution and intermediate densities. Furthermore, the compliance in this case is less than that of
, which means a stiffer structure. In summary, and also based on the results in Appendix A, for the case of the 3pb load, we see that the main impact of
is the reduction of material in the optimized structure. Furthermore, although increasing its value can help avoid intermediate densities, for example, in the 3pb case (
Figure A3)—it may still preserve some intermediate values. In general, the effect of this parameter depends on the values of other parameters.
We compare the semi-penalized UPM with the SIMP method due to their similar topology optimization strategies, aiming to identify the optimal structure based on density in the case of SIMP and Young modulus for the semi-penalized UPM. We consider an MMB beam as the structure, with , , a penalty factor of 1, and for the SIMP method. The semi-penalized UPM uses the same number of elements, with dimensions and and algorithm parameters and .
Figure 7 illustrates a comparison between the SIMP method and the semi-penalized UPM in terms of their topology optimization results under different volume fractions
.
Figure 7a depicts the result for the SIMP method with
, showing relatively lower material usage. In
Figure 7b, the semi-penalized UPM with the same volume fraction exhibits a smoother transition between solid and void regions, possibly indicating a more graded or optimized distribution. For the cases with
, we also observe that the semi-penalized UPM yields a smoother and slightly more continuous material transition compared to the SIMP method
Overall, the general layout for both approaches is similar; however, the SIMP method tends to produce more binary (black-and-white) results, while the semi-penalized UPM generates smoother gradients, potentially due to its use of Young modulus as the optimization variable rather than density.
One of the key considerations in topology optimization is computational efficiency. The developed algorithm has been implemented in the Julia programming language, which is known for its speed and efficiency. To evaluate the computational performance of the semi-penalized UPM method, we compare it with the SIMP method for the cases shown in
Figure 7c,d. For a fair comparison, the SIMP method was also implemented in Julia.
The computational time for the SIMP method is approximately 2.305 s, while the semi-penalized UPM completes in 3.579 s. Although this comparison is based on our specific implementation and may vary with different setups, the results demonstrate that the semi-penalized UPM remains computationally efficient. Its reasonable runtime, combined with its flexibility and constraint-free formulation, makes it a promising alternative for solving complex topology optimization problems, particularly in real-world applications with a large number of degrees of freedom.
The semi-penalized UPM offers a simpler and more intuitive approach to topology optimization compared to conventional methods. Instead of relying on artificial penalization and explicitly defined constraints, it uses Young’s modulus as the design variable, which is updated through physical relationships. This makes the method easier to implement and more grounded in real material behavior. By adjusting parameters like and , it allows for smooth transitions between binary and graded materials, giving more flexibility in design. Traditional methods often struggle with issues like checkerboarding, mesh sensitivity, and gray regions, which require additional filters or regularization to fix. In contrast, the semi-penalized UPM naturally avoids or reduces these problems, leading to more stable and mesh-independent results without extra tuning.
In
Figure 8, we perform a mesh sensitivity analysis to demonstrate that the results of the proposed method are independent of the mesh size. Notably, this mesh independence is achieved without the use of filtering, projection methods, or regularization techniques, which are commonly required in classical approaches. This represents a key advantage of the semi-penalized UPM method. We observe that the results remain consistent across different mesh sizes; for finer meshes, the solution appears smoother, but the overall structural layout remains unchanged.
Figure 9 presents the convergence history plot for the cantilever using the semi-penalized UPM. In
Figure 9a, we analyze the effect of
on convergence behavior. The results show that smaller values of
lead to faster convergence but result in higher compliance (i.e., less stiffness), compared to larger values of
. As we see,
has some oscillation initially but reaches the lowest compliance eventually.
In
Figure 9b, we illustrate the effect of parameter
on the convergence history. It is observed that as
increases, more iterations are required for convergence, and the resulting structures exhibit higher compliance, i.e., they are less stiff.
In
Figure 9c, we examine the influence of the volume fraction on the convergence of the optimization. It is evident that increasing the volume fraction results in a stiffer structure and requires fewer iterations to converge compared to lower volume fractions.
Figure 9d shows the effect of parameter
k on the compliance versus iteration curve. While the final compliance is nearly the same for all cases, the value of
k influences the number of iterations required to reach the optimized results.
The results presented in this paper are obtained for simple and structured two- and three-dimensional geometries. Furthermore, the results are provided in image formats such as JPEG, PNG, etc. We are currently developing a Julia package to implement the proposed algorithm for more complex geometries and boundary conditions. In this package, the geometry is provided in STL or OBJ format for greater flexibility. A mesh is then generated from the geometry file, followed by the application of loads and boundary conditions. Afterward, the proposed algorithm described in this paper is applied.
One of the main challenges with complex geometries is mesh generation. To address this, we utilize the
https://github.com/COMODO-research/Geogram.jl (accessed on 17 June 2025) package. The final optimized structure is exported in STL or OBJ format, making it suitable for CAD modeling and 3D printing. The package will be made publicly available in our upcoming work in the near future.
For all finite element analyses in this work, we use the open-source
https://ferrite-fem.github.io/Ferrite.jl/stable/ (accessed on 17 June 2025) package, which is a flexible and efficient FEM library written in Julia. This tool provides full control over mesh generation, element formulation, and boundary condition application, and it is well-suited for research and development purposes.
The proposed topology optimization algorithm has also been implemented in our own open source Julia package in the following link:
https://github.com/Aminofa70/PUPM.jl (accessed on 17 June 2025). This package directly integrates with Ferrite.jl to perform topology optimization using the semi-penalized UPM approach described in the paper. All components of our implementation are open access and reproducible, and the use of Julia offers both high computational performance and clear mathematical syntax, making it ideal for fast prototyping and scientific computing.