1 Introduction

Topology optimisation (TO) is an effective tool for the optimal solutions of structural engineering problems with a variety of objective functions, e.g., minimum compliance (maximum stiffness), minimum stress, minimum weight, minimum thermal potential energy, etc. The required objective function is achieved through an iterative process which distributes the given amount of material within the design domain imposed through a volume/area constraint [1]. The increasingly high demand of lightweight and cost-efficient structural designs in many industrial applications, e.g., automotive, aerospace, wind turbines, buildings, etc., can rightly be fulfilled with TO [2, 3]. After the pioneering work of Bendsoe and Kikuchi [4], a variety of TO methods have been developed, such as solid isotropic material with penalisation (SIMP), evolutionary structural optimisation (ESO) method, bi-directional evolutionary structural optimisation (BESO) method, and level set-based optimisation method [4,5,6,7].

Majority of the existing TO techniques used finite-element method (FEM) for the solution of underlying structural mechanics or thermal problems; for details, see [8, 9]. However, in the literature, meshless methods are also used as alternative to FEM [10,11,12,13]. As compared to FEM, only a set of nodes is required in meshless methods. In addition, meshless methods provide flexible control of approximation and ease in performing local adaptive refinements. Meshless methods have been used for the solution of a large number of engineering problems such as large deformation, fracture mechanics, and contact mechanics problems [14,15,16]. The reproducing kernel particle method (RKPM) coupled with variable density techniques was proposed for the TO of geometrically non-linear structures in [12]. The meshless corrected smoothed particle method (CSPM) was proposed for the TO of plane structure in [17]. Optimisation is based on a modified SIMP approach with a sensitivity filter to avoid the checker-board pattern. The meshless smoothed particle hydrodynamics (SPH) method coupled with SIMP method with a filtering technique was used for the optimisation of linear structures under multiple load cases in [18].

The computational cost of the element-free Galerkin method (EFGM)-based TO algorithm was improved using coupled EFGM and FEM in [19]. The EFGM in combination with SIMP was used for the TO of thermo-mechanical compliant mechanisms with geometrical non-linearities in [13]. Compliance minimization under stress constraint with multiple load condition was studied in [11]. A meshless Galerkin level set method (LSM) was proposed for structural shape and TO problems in [20], where compactly supported radial basis functions (CSRBFs) were used to construct the basis functions for meshless approximations and for parametrisation of the level set function. The EFGM with moving least square (MLS) basis functions with dual-level point-wise density was implemented in [20]. In [21], the EFGM was coupled with LSM for two-dimensional TO problems with single and multiple load cases. For hole insertion inside the structure during the optimisation process, the topological derivative term was added in Hamilton–Jacobi equation. TO of continuum structures using BESO-based EFGM was implemented in [22]. The EFGM for the TO of heat conduction problems was proposed in [23, 24].

Stress-based TO is considered as one of the important areas of structural design. If stress is not taken into account during the conceptual design stage of the structural component, the design will require post-processing or rework and will lead to unexpected costs [25]. For the stress-based structural shape optimisation and TO was proposed in [26]. A mixed finite-element method for stress constraint TO was proposed in [27]. Both displacements and stresses were used as variables in the formulation. The ESO method for stiffness maximisation and stress minimisation was developed in [28]. The proposed method was applied to both single and multiple load cases.

Most of the optimisation methods presented in the literature are based on the evaluation of gradients of objective function and the imposed constraints. In the case of minimum compliance-based TO, design is updated using information from the associated sensitivities obtained through the gradient information of objective function. In the compliance-based TO, a self-adjoint option makes the gradients evaluation as the evaluation of the displacement field only. However, in the case of a minimum stress-based objective function approach, the evaluation of the gradients is based on complex analytical expressions, which are computationally expensive as well as may pose implementation issues [29]. The evaluation of gradient information enhances the convergence speed of an optimisation approach; however, there exist non-gradient techniques with lower implementational complexities and comparable efficiencies [30]. A proportional topology optimisation (PTO) method is presented in [29], which is a non-gradient-based approach for the solution of minimum compliance and stress constraint-based TO problems. The heuristic nature of the proposed approach allows simplicity in its implementation and understanding in addition to obtaining efficient and accurate optimal solution. An improved PTO method for solving the minimum compliance problems was presented in [31], with some advantages in terms of certain performance aspects as compared to the algorithms proposed in [29, 32].

In this paper, PTO with maximum entropy (maxent)-based meshless method is presented for two-dimensional linear elastic structures for both minimum compliance (PTOc) and stress constraint (PTOs) problems. The maxent basis functions possess a weak Kronecker delta property leading to straightforward imposition of Dirichlet boundary conditions as in the case of finite-element analysis [33,34,35,36,37,38]. Furthermore, the calculation of maxent basis functions and corresponding spacial derivatives are more efficient as compared to the standard moving least square (MLS) counterpart [35]. The PTO is a simple, non-gradient, accurate, and efficient method as compared to the standard TO methods [29]. In the PTO method, constraint is imposed on the global structure. Due to its global nature, PTO is considered as heuristic method and search for optimal solution globally. This heuristic nature of PTO is leading to its straightforward implementation in computer program as compared to alternative TO methods. In addition, the PTO does not require the calculation of sensitivities. A detailed and efficient implementation of the computational algorithms for both PTOc and PTOs is presented. The maxent basis functions and its spacial derivative are calculated only once at the start of simulation and used in each optimisation iteration for the calculations of stiffness matrix, stresses, and compliance. Young’s modulus for each background cells is calculated using the SIMP method and is then subsequently used for the calculation of stiffness matrix for structural analysis. A parametric study is also conducted on degree of proportionality and history dependence of the both PTOc and PTOs algorithms. Open-source pre-processor, CUBIT, is used with the developed optimisation algorithms, which allow to construct complex geometries and use robust meshing algorithms [39]. A variety of numerical examples with simple and complex geometries with structured and unstructured discretisation are presented to show the accuracy, efficiency, and robustness of the developed computational algorithms. Both algorithms can handle large topological changes and provide excellent optimisation convergence characteristics.

This paper is organised as follows. A computational framework is given in Sect. 2. The computational framework includes an overview of the maxent-based meshless method which is described in Sect. 2.1 and detailed description of the PTO method is given in Sect. 2.2. Mathematical and algorithmic details of PTOs and PTOc are given in Sects. 2.2.1 and 2.2.2, respectively. Numerical examples are provided in Sect. 3 and concluding remarks are given in Sect. 4.

2 Computational framework

The developed computational framework consists of maxent-based meshless method for elasto-statics problems and associated PTO method. Mathematical formulations and computational details of these are provided in the following.

2.1 Maximum entropy meshless method

An overview of the maxent-based meshless method is given in this section, full details of which is available in [33,34,35,36,37,38]. A two-dimensional formulation is provided, which is straightforward to modify for one- and three-dimensional problems. The final discretised system of equations is written as

$$\begin{aligned} {\mathbf {K}}{\mathbf {u}}={\mathbf {f}}, \end{aligned}$$
(1)

where

$$\begin{aligned} {\mathbf {K}}_{ij}= & {} \int \limits _{\Omega }{\mathbf {B}}_{i}^{T}{{\mathbf {D}}}{{\mathbf {B}}}_{j}d\Omega , \end{aligned}$$
(2)
$$\begin{aligned} {\mathbf {f}}_{i}= & {} \int \limits _{\Gamma _{t}}\mathbf {\varvec{\phi }}_{i}\mathbf{\mathbf {\varvec{{\overline{t}}}}}d\Gamma +\int \limits _{\Omega }\mathbf {\varvec{\phi }}_{i}{\mathbf {b}}_fd\Omega , \end{aligned}$$
(3)
$$\begin{aligned} {\mathbf {B}}_{i}= & {} \left[ \begin{array}{cc} \frac{\partial \phi _{i}}{\partial x} &{} 0\\ 0 &{} \frac{\partial \phi _{i}}{\partial y}\\ \frac{\partial \phi _{i}}{\partial y} &{} \frac{\partial \phi _{i}}{\partial x} \end{array}\right] . \end{aligned}$$
(4)

For the plane strain and plane stress cases, matrix \({\mathbf {D}}\) is written as

$$\begin{aligned} {\mathbf {D}}=\frac{{\overline{E}}}{1-{\overline{\nu }}^{2}}\left[ \begin{array}{ccc} 1 &{} {\overline{\nu }} &{} 0\\ {\overline{\nu }} &{} 1 &{} 0\\ 0 &{} 0 &{} \frac{1-{\overline{\nu }}}{2} \end{array}\right] , \end{aligned}$$
(5)
$$\begin{aligned} {\overline{E}}= & {} \left\{ \begin{array}{ll} E &{} \text {for plane stress,}\\ \frac{E}{1-\nu ^{2}} &{} \text {for plane strain}, \end{array}\right. \end{aligned}$$
(6a)
$$\begin{aligned} {\overline{\nu }}= & {} \left\{ \begin{array}{ll} \nu &{} \text {for plane stress},\\ \frac{\nu }{1-\nu } &{} \text {for plane strain}, \end{array}\right. \end{aligned}$$
(6b)

where \(\nu\) is the Poisson’s ratio and E is the Young’s modulus, and \({\mathbf {b}}_f\) and \(\mathbf {{\overline{t}}}\) are body force and traction, respectively. To perform the integrations in Eqs. (2) and (3) numerically, the problem domain \(\Omega\) and traction boundary \(\Gamma _{t}\) are divided into a number of non-overlapping background cells. In Eq. (1), the vector \({\mathbf {u}}\) contains fictitious nodal values or nodal parameters, and \({\mathbf {K}}\) and \({\mathbf {f}}\) are global stiffness matrix and force vector, respectively. The maxent basis functions possess a weak Kronecker delta property leading to straightforward imposition of Dirichlet boundary conditions. The original maxent shape functions derived for the polygonal interpolation in [33] are not ideal for meshless methods as they extend to the global problem domain. The non-local and non-interpolating characteristics of these shape functions are highlighted in [34] where the (more useful) local maxent formulations are introduced and incorporated into meshless modelling of linear and non-linear elasticity. The weak Kronecker delta property of these shape functions was also observed, and its correspondence with the MLS was also highlighted. Compact support shape functions are derived using Gaussian weight functions (or priors) in [34], work which is extended in [40] for any weight function (or generalized prior). In this paper, the local maxent formulation based on [40] is used. A detailed derivation of both global and local maxent basis function is also given in [35]. The \(\varvec{\phi }_{i}\) is a matrix of the local maxent basis functions for node i at a point \({\mathbf {x}}\), that is

$$\begin{aligned} \varvec{\phi }_{i}=\left[ \begin{array}{cc} \phi _{i} &{} 0\\ 0 &{} \phi _{i} \\ \end{array}\right] . \end{aligned}$$
(7)

The maxent shape functions is defined as

$$\begin{aligned} \phi _{i}=\frac{Z_{i}}{Z}, \end{aligned}$$
(8)

where

$$\begin{aligned} \qquad Z_{i}=w_{i}e^{-\uplambda _{1}{\widetilde{x}}_{i}-\uplambda _{2}{\widetilde{y}}_{i}}\qquad \text {and} \qquad Z=\sum _{j=1}^{n}Z_{j}, \end{aligned}$$
(9)

in which \(w_i\) is the weight function associated with node i, evaluated at point \({\mathbf {x}}=\left( x, y\right) ^T,\) \(\widetilde{x}_{i}=x_{i}-x\) and \(\widetilde{y}_{i}=y_{i}-y\) are shifted coordinates. n is the number of nodes in support of Gauss point \({\mathbf {x}}\) (nodes, the influence domains of whose encompass the Gauss point) and \(\uplambda _{1}\) and \(\uplambda _{2}\) are Lagrange multipliers which can be found from

$$\begin{aligned} \left( \uplambda _1, \uplambda _2 \right)= & {} \text {argmin}F\left( \uplambda _1, \uplambda _2 \right) \qquad \text {where} \nonumber \\ F\left( \uplambda _1, \uplambda _2 \right)= & {} \text {log}(Z). \end{aligned}$$
(10)

F is a convex function and Newton’s method is used to solve (10) to find the Lagrange multipliers which can then be used in the expressions for the shape functions [33, 34, 40].

In this paper, cubic spline weight function is used. The cubic spline weight function in one dimension is given as follows:

$$\begin{aligned} w\left( x-x_{i}\right) =w\left( r\right) =\left\{ \begin{array}{ll} \frac{2}{3}-4r^{2}+4r^{3} &{} \text {for}\, r\le \frac{1}{2},\\ \frac{4}{3}-4r+4r^{2}-\frac{4}{3}r^{3} &{} \text {for}\,\frac{1}{2}<r\le 1,\\ 0 &{} \text {for}\, r>1. \end{array}\right. \end{aligned}$$
(11)

Here, \(r=\frac{d_i}{d_{mi}}\) is the normalised radius, where \(d_{i}=\left\| x-x_{i}\right\|\) is the distance between the node i and point of interest x. The \(d_{mi}\) is the domain of influence of a node and is a very important concept in meshless methods, as it determines the region in which it has influence. The size of domain of influence for a node i is \(d_{mi}=d_{\max }c_i\), where \(d_{\max }\) is a scaling parameter. For static analysis, its value ranges from 2.0 to 4.0 and \(c_i\) is determined by searching for enough neighbour nodes.

The shape function derivatives follow as:

$$\begin{aligned} \nabla \phi _{i}=\phi _{i}\left( \nabla f_{i}-\sum \limits _{i=1}^{n}\phi _{i}\nabla f_{i}\right) , \end{aligned}$$
(12)

where

$$\begin{aligned} \nabla f_{i}= & {} \frac{\nabla w_{i}}{w_{i}}+\varvec{\uplambda }+\widetilde{\mathbf{x }}_{i}\left[ \mathbf{H }^{-1}-\mathbf{H }^{-1} \mathbf{A }\right] \qquad \text {and} \nonumber \\ \mathbf{A }= & {} \sum \limits _{k=1}^{n}\phi _{k}\widetilde{\mathbf{x }}_{k}\otimes \frac{\nabla w_{k}}{w_{k}}, \end{aligned}$$
(13)

where \(\mathbf{H }\) is the Hessian matrix and the dyadic product \(\otimes\) of two vector \(\mathbf{a }\) and \(\mathbf{b }\) is a second order tensor, i.e., \({\mathbf {a}}\otimes {\mathbf {b}}\) defined as \({\mathbf {a}}\otimes {\mathbf {b}}={\mathbf {a}}{{{\mathbf {b}}}^{T}}\).

2.2 Proportional topology optimisation

Mathematical background and computational algorithms for both PTOs and PTOc and their coupling with maxent-based meshless method are given in the following sections. Both PTOc and PTOs algorithms are implemented in MATLAB for two-dimensional problems.

2.2.1 Stress constraint topology optimisation

The PTOs search for the optimal design with minimisation of available material or volume fraction for constraining the stress to user-defined limit. Mathematically, PTOs is written as [29]:

$$\begin{aligned} \text { Minimise: }m=\sum _{i=1}^{n_{BC}}\rho _{i}v_{i}, \end{aligned}$$
(14)

such that

$$\begin{aligned} \left\{ \begin{array}{ll} \mathbf {Ku}=f, \\ \sigma _i \le \sigma _l, &{} \text{ if } \quad \rho > 0 \\ 0 \le \rho _{\min } \le \rho _i \le \rho _{\max } \le 1. \end{array}\right. \end{aligned}$$
(15)

Here, \(n_{BC}\) is the number of background cells used for the discretisation of design domain, and \(\rho\) is the design variable or density. \(\rho _i\) and \(v_i\) are density and volume/area of background cell i. \(\rho _i=1\) means solid material and \(\rho _i=0\) refer to as hole. \(\rho _{\max }=1\) and \(\rho _{\min }=0.001\) are the maximum and minimum values of the design variable. \(\rho _{\min }=0.001\) is used instead of \(\rho _{\min }=0\) to avoid singularity of the stiffness matrix. The \(\mathbf {K}\), \(\mathbf {u}\), and \(\mathbf {f}\) are standard global stiffness matrix, nodal parameters vector, and external force vector, respectively. \(\sigma _i\) is a stress measure calculated at the centre of each background cell, while \(\sigma _l\) is the user defined stress limiting value. von Misses stress measure is used in this paper.

Fig. 1
figure 1

Algorithm for PTOs

The computational algorithm for the PTOs is shown in Fig. 1. The algorithm starts with setting up the problem. This step consists of either creating discretisation information for simple geometries directly within the MATLAB program or importing these from the input files created using CUBIT for complex geometries. The discretisation information consists of data for background cells, nodal position, and Dirichlet and traction boundary conditions. Domains of influence for each node within the design domain are subsequently calculated. The maxent basis functions and their spacial derivatives are calculated and saved to be used in each optimisation iteration. External force vector is also calculated only once at the start of simulation. In each optimisation iteration, Young’s modulus (E) for each background cells is calculated from its density (\(\rho\)) using the SIMP method [41]. The calculated E for each background cell is then used for the calculation of its stiffness matrix. The modified SIMP approach is given as

$$\begin{aligned} E(\rho )=E_{\min }+\rho ^p E_0. \end{aligned}$$
(16)

Here, \(E_{\min }\) is minimum value of Young’s modulus, typically \(10^{-9}\), and is assigned to void background cells to avoid singularity of global stiffness matrix \(\mathbf {K}\). After the solution of final system of equations, i.e., Eq. (1), stresses and compliance are calculated. In the case of two-dimensional problem, stresses \(\varvec{\sigma }=[\sigma _x \quad \sigma _y \quad \sigma _{xy}]^{T}\) are calculated at the centre \(({\mathbf {x}})\) of each background cell from the nodal parameters \({\mathbf {u}}_i=[u_{xi} \quad u_{yi}]^{T}\) as follows:

$$\begin{aligned} \varvec{\sigma }({\mathbf {x}})=\sum _{i=1}^{n} \mathbf {D B}_{i} {\mathbf {u}}_{i}, \end{aligned}$$
(17)

where \(\sigma _x\) and \(\sigma _y\) are normal stresses in x and y direction, respectively, and \(\sigma _{xy}\) are shear stress. Equations for matrices \({\mathbf {D}}\) and \({\mathbf {B}}_i\) are given in Sect. 2.1 and n are the number of nodes in the support of point \({\mathbf {x}}\). The von Misses stress is subsequently calculated at the centre of each background cell using

$$\begin{aligned} \sigma _{vM}=\sqrt{\sigma _{x}^{2}+\sigma _{y}^{2}-\sigma _{x} \sigma _{y}+3 \sigma _{x y}^{2}}. \end{aligned}$$
(18)

The maximum \(\sigma _{vM}\) is compared with user-defined allowable stress limit \(\sigma _l\). If the convergence criterion satisfies, i.e., \(\sigma _{vM}-\sigma _l=\eta\), then the analysis is terminated, where \(\eta\) is a small number. In this paper, \(\eta =0.01\) is used. If the convergence criteria are not satisfied, the simulation continues to add or remove material from the design domain. If \(\sigma _{vM} > \sigma _{l}\) material is added to the design domain; otherwise, material is removed, that is

$$\begin{aligned} \begin{array}{ll} TM=CM+MM,&{} \text {if} \quad \sigma _{vM} > \sigma _{l}\\ TM=CM-MM, &{} \text {if} \quad \sigma _{vM} < \sigma _{l}, \end{array} \end{aligned}$$
(19)

where TM is the new target material for the design domain, CM is the current material, and MM is the move material. In this paper, \(MM=(0.001\times \text {number of background cells}\)) is used. The calculated TM is then iteratively distributed to the design domain within the second internal loop in each optimisation iteration. Material is proportionally assigned to each background cell according to its von Misses stress

$$\begin{aligned} \rho _i^{\text {opt}}=\frac{RM}{\sum _j^{n_{BC}}\sigma _{vM_j}^{q}}\sigma _{vM_i}^{q}, \end{aligned}$$
(20)

where \(RM=TM-AM\) is the remaining material, AM is the actual material, and q is the degree of proportionality. Filter is applied subsequently to the density field. A cone-type filter is used in this paper [29]. For each background cell, density (\(\rho _i\)) is calculated using the following equation:

$$\begin{aligned} \rho _{i}=\frac{\sum _{j=1}^n w_{i j} \rho _{j}}{\sum _{j=1}^n w_{i j}} \quad \text{ where } w_{i j}=\left\{ \begin{array}{cc} \frac{r_{0}-r_{i j}}{r_{0}} &{} \text{ for } r_{i j}<r_{0} \\ 0 &{} \text{ for } r_{i j} \ge r_{0}. \end{array}\right. \end{aligned}$$
(21)

Due to the use of complex geometries and unstructured discretisation, Eq. (21) is implemented using influence domain associated with each background cell. Domain of influence \(d_{\max }=r_0 c_i\) is calculated for each background cell, where \(c_i\) is found by searching for enough neighbouring background cells and \(r_0\) is a user-defined scaling parameter. \(r_0=1.2\) is used to include enough neighbouring background cell in the calculation. At the same time, this smaller value of \(r_0\) will ensure local characteristics. \(c_i=\max (r_1,\, r2)\) where \(r_1\) and \(r_2\) are two diagonal of background cell. \(w_{ij}\) is the weigh function shown in Eq. (11), n is the number of neighbouring background cells in the support of cell i. \(r_{ij}=\frac{d_i}{d_{mi}}\) is normalised radius and \(d_i=\left\| {\mathbf {x}}_{i}-{\mathbf {x}}_{j}\right\|\), where \({\mathbf {x}}_{i}\) and \({\mathbf {x}}_{j}\) are spacial coordinates of geometric centres of background cells i and j, respectively. This density filtering is local averaging and preserve volume of the design domain.

The RM distribute into background cells without regard to the density limits of 0 and 1. Subsequently, density limits are applied and actual material is calculated using \(AM=\sum _{i=1}^{n_{BC}} \rho _i\). The calculated AM is then used to calculate the remaining material using \(RM=TM-AM\). Due to this difference of TM and AM, iterative procedure is adopted for the distribution of material to the design domain. The convergence criteria for the second internal loop are \(RM < \psi\), where \(\psi =0.0001\) is used here. Finally, the calculated density in the current optimisation iteration for each background cell \(\rho _{i}^{\text {opt}}\) is linearly blended with the density of the same background cell in the previous optimisation iteration \(\rho _{i}^{\text {prev}}\) using the following equation:

$$\begin{aligned} \rho _{i}^{\text {new}}=\alpha \rho _{i}^{\text {prev}}+(1-\alpha ) \rho _{i}^{\text {opt}}, \end{aligned}$$
(22)

where \(\rho _{i}^{\text {new}}\) is the new density of the background cell i, and \(\alpha\) is a coefficient for blending densities between two optimisation iterations. \(\alpha =0\) represents no contribution from the previous optimisation iteration and \(\alpha =0.5\) represents half of the contribution from the previous optimisation iteration.

2.2.2 Minimum compliance topology optimisation

In the case of PTOc, optimisation algorithm search for optimal design with minimum compliance subjected to volume constraint

$$\begin{aligned} \text{ Minimise: } C = \sum _{i=1}^{n_{BC}} \mathbf {u}^T_i \mathbf {K} \mathbf {u}_i = \mathbf {u}^T \mathbf {Ku}, \end{aligned}$$
(23)

such that

$$\begin{aligned} \left\{ \begin{array}{ll} \mathbf {Ku}=f, \\ \sum _{i=1}^{n_{BC}} \rho _i v_i = M \\ 0 \le \rho _{\min } \le \rho _i \le \rho _{\max } \le 1, \end{array}\right. \end{aligned}$$
(24)

where C is the compliance of the whole structure and can be calculated from the summation of compliance of each background cell (\(\sum _{i=1}^{n_{BC}} \mathbf {u}^T_i \mathbf {K} \mathbf {u}_i\)) or directly for the global problem \(\mathbf {u}^T \mathbf {Ku}\). The computational algorithm for the PTOc is shown in Fig. 2.

Fig. 2
figure 2

Algorithm for PTOc

In the PTOc, the target material TM is fixed during the whole optimisation process and determined a priori using a user-defined volume fraction, that is

$$\begin{aligned} TM=n_{BC} \times v_f, \end{aligned}$$
(25)

where \(v_f\) is the user-defined volume fraction. TM is distributed proportional to the compliance in each background cell, that is

$$\begin{aligned} \rho _{i}^{\text {opt}}=\frac{RM}{\sum _{j=1}^{n_{BC}} C_{j}^{q}} C_{i}^{q}, \end{aligned}$$
(26)

where RM is the remaining material, \(\rho _{i}^{\text {opt}}\) is the optimised density, and \(C_i\) is the compliance of background cell i and q is the degree of proportionality. At each optimisation iteration, compliance is calculated for each background cell, and then, the TM is iteratively distributed to each background cells proportional to their compliance. The convergence criteria in the case of PTOc are given as

$$\begin{aligned} \max (\rho _{i}^n - \rho _{i}^{n-1}) = \eta , \end{aligned}$$
(27)

where \(\rho _{i}^n\) and \(\rho _{i}^{n-1}\) are densities of background cell i for current (n) and previous (\(n-1\)) iterations, respectively, and \(\eta\) is a small number. Similar to the PTOs, convergence criteria for the inner loop are \(RM < \psi\). Finally, Eq. (22) is used to linearly blend density in the current iteration for each background cell with the density of the same background cell in the previous iteration.

3 Numerical examples

A variety of two-dimensional numerical examples are presented in the following to demonstrate the accuracy, efficiency, and robustness of the developed computational algorithms. In the first three numerical examples, including MBB beam, cantilever beam, and L-shaped bracket, simple geometries and structured discretisations are used. These geometries and their discretisations are created directly in the MATLAB program. In the final numerical example, complex geometries and unstructured discretisations are considered including serpentine beam, hook problem, and wrench problem. CUBIT is used to create these geometries and input data for their discretisations.

3.1 MBB beam

The first numerical example is MBB beam. Geometry, boundary conditions, and loading for this problem are shown in Fig. 3. For this problem, the input parameters used are \(E_0=1\), \(E_{\min }=1\times 10^{-9}\), \(\nu =0.3\), \(p=3\), \(L=40\), \(r_{\min }=1.2\), \(v_f=0.35\), and \(d_{\max }=1.5\). A detailed parametric study is first conducted on the MBB beam using \(q=(0.25, 0.5, \cdots , 3.0)\) and \(\alpha = (0.0, 0.1, \cdots , 0.9)\) for both PTOc and PTOs algorithms. For the parametric study, a discretisation with \(n_{BC}\) of \((20\times 60)\) and nodes of \((21\times 61)\) are considered. In addition, simulations are restricted to 100 optimisation iterations.

For the PTOc, compliance is given in Table 1. The minimum value of compliance is 299.13 and all the compliance values within 10% are shown  as bold text which are in the range of \(\alpha = (0.4, \cdots , 0.9)\). These values of compliance for each \(\alpha\) versus q are subsequently plotted in Fig. 4a. Any combination of \(\alpha\) and q shown as bold text in Table 1 can provide a reasonable optimised geometry, as shown in Fig. 4a. The optimised geometries for \(\alpha =0.5\) and \(q=(0.5, \cdots 3.0)\) are shown in Fig. 4a. For \(q=(0.75, 1.0, 1.25, 1.5)\), it gives expected optimised geometries, but for \(q > 1.5\), PTOc generates unreasonable optimised geometries with very high compliance values as given in Table 1. For \(\alpha =(0.4, 0.6, 0.7, 0.8, 0.9)\) and \(q=3.0\), optimised geometries are also given in Fig. 4a. For \(\alpha =(0.7,0.8,0.9)\) and q=3.0 it provides reasonable optimised geometries, but for \(\alpha =(0.4, 0.6)\) and q=3.0 it leads to unreasonable optimised geometries with very high values of compliance.

Similarly, obtained compliance values and volume fractions for the PTOs algorithm are given in Tables 2 and 3, respectively. The minimum value of compliance in Table 2 is 249.38 and compliance values within 10% range are shown  as bold text. Similar to the PTOc, for any combination of \(\alpha\) and q shown as bold text in Table 2, PTOs provide reasonable optimised geometries. In the case of PTOs, volume fractions of the optimised geometries for each \(\alpha\) versus q are shown in Fig. 4c. Lower volume fractions are obtained with higher values of \(\alpha\), but this leads to increase in compliance as given in Table 2. The optimised geometries for \(\alpha =0\) and \(q=(0.5, \cdots 3.0)\) are shown in Fig. 4b. Similarly, optimised geometries for \(\alpha =(0.1, 0.2, 0.3)\) and \(q=3.0\) are also shown in Fig. 4b. With few exceptions, all these are reasonable optimised geometries.

Fig. 3
figure 3

Geometry, boundary conditions, and loading for the MBB problem

Table 1 Compliance values for different combination of \(\alpha\) and q for the PTOc 
Table 2 Compliance values for different combination of \(\alpha\) and q for the PTOs
Table 3 Volume fractions for different combination of \(\alpha\) and q for the PTOs
Fig. 4
figure 4

Plots of compliance and volume fraction for selected \(\alpha\) and q

For the MBB problem, discretisation are uniformly refined to assess its effect on the optimised geometries and associated compliance and \(\max (\sigma _{vM})\) values for both PTOc and PTOs algorithms. The \(n_{BC}\) in the consecutive discretisations are \((10\times 30)\), \((20\times 60)\), \((30\times 90)\), \((40\times 120)\), and \((50\times 150)\), respectively, and the number of nodes are \((11\times 31)\), \((21\times 61)\), \((31\times 91)\), \((41\times 121)\), and \((51\times 151)\), respectively. For the PTOc algorithm, in addition to other parameters, mentioned earlier, \(\alpha =0.5\) and \(q=1\) are used. The optimised geometries with refinement are shown in Fig. 5. These optimised geometries are in a very good agreement with the previously published results [29]. Although, the overall optimised geometries are very similar for all discretisations but with increasing refinement, extra details appear for discretisation with \(n_{BC}\) of \((50\times 150)\) as shown in Fig. 5e. For all these five discretisations, compliance and \(\max (\sigma _{vM})\) versus number of iterations are shown in Fig. 6a and b, respectively. For each discretisation, the final compliance value, \(\max (\sigma _{vM})\) and number of iteration required for convergence are also given in Table 4. As expected, compliance is decreasing and \(\max (\sigma _{vM})\) is increasing with increasing refinement level.

For the PTOs, in addition to the previously mentioned parameters, \(\alpha =0\) and \(q=2\) are used. For all five discretisations, optimised geometries are shown in Fig. 7. For each discretisation, \(\sigma _l\) is used from the corresponding converged value of \(\max (\sigma _{vM})\) of the PTOc algorithm. All discretisations provide similar results to the one reported in the literature [29] and the one obtained with the PTOc algorithm shown in Fig. 5. The only exception is Fig. 7a, which is due to the use of very coarse discretisation with \(n_{BC}\) of \((10\times 30)\). In this case, compliance and \(\max (\sigma _{vM})\) versus iterations is shown in Fig. 8. In addition, final compliance values and the number iterations required for convergence for all the discretisations are given in Table 4. As compared to the PTOc, the compliance value for the PTOs is lower for discretisations with \(n_{BC}\) of \((10\times 30)\) and \((20\times 60)\), but for the remaining discretisation with \(n_{BC}\) of \((30\times 90)\), \((40\times 120)\), and \((50\times 150)\), the compliance values are higher for the PTOs. In the case of PTOs, except for the discretisation with \(n_{BC}\) of \((10\times 30)\), less number of iterations are required for convergence.

Fig. 5
figure 5

Optimised geometries with uniform refinement for the PTOc

Fig. 6
figure 6

Compliance and \(\max (\sigma _{vM})\) versus optimisation iterations for the PTOc

Fig. 7
figure 7

Optimised geometries with uniform refinements for the PTOs

Fig. 8
figure 8

Compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOs

Table 4 Compliance and \(\max (\sigma _{vM})\) for the PTOc and PTOs

Local maxent basis functions are used in this paper. Figure 9a and b shows compliance and \(\max (\sigma _{vM})\) versus number of iterations, respectively, for the PTOc using meshless with different \(d_{\max }\) and finite-element analysis. Only 100 iterations are considered. In addition, the final values of compliance, \(\max (\sigma _{vM})\) and simulation time are also given in Table 5. The compliance versus iteration plot in Fig. 9a is very similar for meshless with different \(d_{\max }\) and finite element. The \(\max (\sigma _{vM})\) versus iteration plot is very similar for meshless with \(d_{\max }=1.5\) and the FEA, as shown in Fig. 9b. With increasing values of \(d_{\max }\) from 1.5 to 3.0, \(\max (\sigma _{vM})\) versus number of iterations plot converges. For \(d_{\max }=3.5\), \(\max (\sigma _{vM})\) plot starts to diverge and the stress values are even higher than for meshless with \(d_{\max }=1.5\) and the FEA. From Table 5, it can be seen that simulation time for meshless with \(d_{\max }=1.5\) and FEA is very similar. In the case of the FEA, shape functions and their derivatives are calculated during each iteration, while in the case of meshless, these are calculated only once at the start of simulation. With increasing \(d_{\max }\), simulation time increases due to inclusion of more nodes in the calculation of shape functions for each integration point.

Similarly, compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOs using meshless with different \(d_{\max }\) and the FEA are shown in Fig. 10. The final values of compliance, \(\max (\sigma _{vM})\), and simulation time are also given in Table 6. Similar to Fig. 9, compliance values are very similar for meshless with different values of \(d_{\max }\) and the FEA. In the case of \(\max (\sigma _{vM})\), stress values converge for meshless with increasing \(d_{\max }\) up to 3.0 and start to diverge for \(d_{\max }=3.5\).

Fig. 9
figure 9

Compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOc using meshless with different \(d_{\max }\) and the FEA

Fig. 10
figure 10

Compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOs using meshless with different \(d_{\max }\) and the FEA

Table 5 Compliance, \(\max (\sigma _{vM})\), and simulation time for the PTOc using meshless with different \(d_{\max }\) and the FEA
Table 6 Compliance, \(\max (\sigma _{vM})\), and simulation time for the PTOs using meshless with different \(d_{\max }\) and the FEA

3.2 Cantilever beam

The second numerical example is cantilever beam subjected to point load in the middle of the free edge. Geometry, boundary conditions, and loading for this problem are shown in Fig. 11. Input parameters used for this problem are the same as used in the MBB problem for both PTOc and PTOs algorithm. For the PTOc algorithms, \(\alpha =0.5\) and \(q=1\) are used. Four discretisation with \(n_{BC}\) of \((30\times 60)\), \((40\times 80)\), \((50\times 100)\), and \((60\times 120)\) and number of nodes of \((31\times 61)\), \((41\times 81)\), \((51\times 101)\), and \((61\times 121)\) with increasing refinement levels are considered. Compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 12a and b respectively. The final optimised geometries are also shown in Fig. 12b. The final compliance, \(\max (\sigma _{vM})\), and number of iterations are also given in Table 7. The final optimised geometries are in a very good agreement with the one achieved in the literature for the same problem [29]. The problem converges within reasonable number of iterations. As expected, with increasing refinement level, compliance values decreases, while \(\max (\sigma _{vM})\) increases.

For the PTOs, the same four discretisations are also considered with \(\alpha =0\) and \(q=2\). For each discretisation, \(\sigma _l\) for the PTOs is used from the corresponding \(\max (\sigma _{vM})\) of the PTOc algorithm. Compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 13a and b, respectively. The final optimised geometries are also shown in Fig. 13b. In addition, the final compliance values and number of iterations required for convergence are also given in Table 7. For \(\alpha =0\) and \(q=2\), the PTOs algorithm struggles to converge and required large number of iterations to achieve the same stress level as in the case of PTOc.The final optimised geometries are not in a very good agreement with the one given in literature for the same problem [29] and corresponding results obtained from PTOc shown in Fig. 12b. This problem is subsequently solved with PTOs with \(\alpha =0\) and \(q=1\), for which compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 14a and b, respectively. The final optimised geometries are also shown in Fig. 14b. In addition, the final compliance values and number of iterations required for convergence are also given in Table 7. All these optimised geometries are in a very good agreement with the ones given in the literature [29] and with those obtained using the PTOc shown in Fig. 12b. The convergence in this case is very quick and it only takes very few iterations as compared to the PTOc and PTOs with \(\alpha =0\) and \(q=2\). As compared to the compliance and \(\max (\sigma _{vM})\) versus iteration plots shown in Fig. 13, plots in Fig. 14 are very smooth. The final compliance values for the PTOs with \(\alpha =0\) and \(q=1\) are less than the corresponding values for the PTOc and PTOs with \(\alpha =0\) and \(q=2\).

Fig. 11
figure 11

Geometry, boundary conditions, and loading for cantilever beam problem

Fig. 12
figure 12

Compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOc for cantilever beam problem

Fig. 13
figure 13

Compliance and \(\max (\sigma _{vM})\) versus iterations using \(q=2\) for the PTOs for cantilever beam problem

Fig. 14
figure 14

Compliance and \(\max (\sigma _{vM})\) versus iterations using \(q=1\) for the PTOs for cantilever beam problem

Table 7 Compliance, \(\max (\sigma _{vM})\), and number of iterations for the PTOc and PTOs for cantilever beam problem

3.3 L-shaped bracket

The third numerical example is L-shaped bracket for which geometry, boundary conditions, and loading are shown in Fig. 15. It is fully fixed at the top edge and a point load is applied at the right corner. Input parameters used for this problem are also the same as used in the MBB problem for both PTOc and PTOs algorithms. In this case, four discretisations with \(n_{BC}\) of 567, 1600, 6400, 14400 and number of nodes of 637, 1701, 6601, and 14701 are considered. For \(\alpha =0.5\) and \(q=1\), compliance and \(\max (\sigma _{vM})\) versus the number of iterations are shown in Fig. 16a and b, respectively. The optimised geometries are also shown in Fig. 16b. The optimised geometries are in a very good agreement with the one given in the literature [29]. The problem converges within reasonable number of iterations. Similar to the previous problems, with increasing refinement, compliance values decreases, while \(\max (\sigma _{vM})\) increases. Additional details can also be observed in the links on the bottom side for the fine discretisation with \(n_{BC}\) of 14,400 and number of nodes of 14,701.

In the case of PTOs, for \(\alpha =0, q=2\) and \(\alpha =0, q=1\), compliance versus iterations are given in Figs. 17a and 18a, respectively. For the same parameters, \(\max (\sigma _{vM})\) versus iterations and final optimised geometries are shown in Figs. 17b and 18b, respectively. The PTOs with \(\alpha =0, q=1\) converge very quickly as compared to PTOc and PTOs with \(\alpha =0, q=2\) and leading to optimised geometries which are very similar to the one given in literature and ones obtained using the PTOc.

Fig. 15
figure 15

Geometry, boundary conditions, and loading for the L-shaped bracket problem

Fig. 16
figure 16

Compliance and \(\max (\sigma _{vM})\) versus iterations for the PTOc for the L-shaped bracket problem

Fig. 17
figure 17

Compliance and \(\max (\sigma _{vM})\) versus iterations using \(q=2\) for the PTOs for the L-shaped bracket problem

Fig. 18
figure 18

Compliance and \(\max (\sigma _{vM})\) versus iterations using \(q=1\) for the PTOs for the L-shaped bracket problem

3.4 Problems with complex geometries

The first three numerical examples are with relatively simple geometries and structured discretisations. In this numerical examples, both PTOc and PTOs algorithms are tested for complex geometries with unstructured discretisations to show the robustness of the developed computational framework. These geometries includes serpentine beam, hook problem, and wrench problem [42,43,44,45]. Geometries, boundary conditions, and loadings for serpentine beam, hook problem, and wrench problem are shown in Fig. 19a–c, respectively. Background cells and nodes for these problems are shown in Fig. 20. The discretisation of serpentine beam, hook problem, and wrench problem are \((n_{BC}=5660, \text {nodes}=5842)\), \((n_{BC}=5802, \text {nodes}=6455)\), and \((n_{BC}=4448, \text {nodes}=4655)\) respectively.

In the case of PTOc, \(\alpha =0.5\) and \(q=1\) are used, while in the case of PTOs, \(\alpha =0\) and \(q=(0.5, 1, 2.0)\) are considered. For the hook problem, plots for compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 21a and b, respectively. The final optimised geometries in the case of PTOc, PTOs (\(q=2\)), PTOs (\(q=1\)) and PTOs (\(q=0.5\)) are shown in Figs. 22a–d, respectively. These optimised geometries are in a good agreement with the one obtained in literature for similar problem [42,43,44,45]. Compliance and \(\max (\sigma _{vM})\) plots for PTOc are very smooth and converge in about 120 iterations. In the case of PTOs with \(q=2\), plots for both compliance and \(\max (\sigma _{vM})\) versus iterations are fluctuating, but lead to reasonable optimised final geometry. In the case of PTOs with \(q=1\), plots for both compliance and \(\max (\sigma _{vM})\) versus iterations are very smooth and converge within 50 iterations. For PTOs with \(q=0.5\), both compliance and \(\max (\sigma _{vM})\) versus iterations plots are very smooth but converge slowly as compared to the PTOs with \(q=1\). Although, the final optimised geometry for the PTOs with \(q=0.5\) is similar to the one obtained with PTOc, but material is inappropriately distributed and there are many background cells with density between 0 and 1.

Similarly, serpentine beam and wrench problem is solved with the same parameters. For the serpentine beam, plots for compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 23a and b, respectively. The optimised geometries in the case of PTOc, PTOs (\(q=2\)), PTOs (\(q=1\)), and PTOs (\(q=0.5\)) are shown in Fig. 24a–d, respectively. For the wrench problem, plots for compliance and \(\max (\sigma _{vM})\) versus iterations are shown in Fig. 25a and b, respectively. The final optimised geometries in the case of PTOc, PTOs (\(q=2\)), PTOs (\(q=1\)), and PTOs (\(q=0.5\)) are shown in Fig. 26a–d, respectively. These optimised geometries are in a very good agreement with the one obtained in the literature [42,43,44,45]. Similar to the hook problem plots for PTOc and PTOs with \(q=1, 0.5\) are very smooth but results for PTOs with \(q=2\) fluctuates.

Fig. 19
figure 19

Geometry, boundary conditions, and loading for complex geometries

Fig. 20
figure 20

Discretisation information for complex geometries

Fig. 21
figure 21

Compliance and \(\max (\sigma _{vM})\) versus iterations for the hook problem

Fig. 22
figure 22

Optimised geometries for the hook problem

Fig. 23
figure 23

Compliance and \(\max (\sigma _{vM})\) versus iterations for the serpentine beam problem

Fig. 24
figure 24

Optimised geometries for the serpentine beam problem

Fig. 25
figure 25

Compliance and \(\max (\sigma _{vM})\) versus iterations for the wrench problem

Fig. 26
figure 26

Optimised geometries for the wrench problem

4 Conclusion

Maximum entropy-based proportional topology optimisation (PTO) is presented in this paper for two-dimensional linear elastic structures for both minimum compliance (PTOc) and stress constraint (PTOs) problems. The use of maximum entropy basis functions provides efficient calculation of basis functions and its spacial derivatives and leading to straightforward imposition of Dirichlet boundary conditions as in the case of finite-element analysis. The non-gradient nature of the PTO method makes it convenient to implement in a computer program and at the same time provides very accurate results efficiently as compared to the standardised TO methods. The calculation of maxent basis functions and its spacial derivative only once at the start of simulation improve the computational efficiency. In addition, background cell-based approach, i.e., the calculation of cell-based density, compliance, and stress, add to the computational efficiency. A variety of numerical examples with both simple and complex geometries, and structured and unstructured discretisations are presented to show the accuracy, efficiency, and robustness of both PTOc and PTOs algorithms. It was found that both algorithms can handle large topological changes and provide excellent optimisation convergence characteristics in terms of compliance and \(\max (\sigma _{vM})\) versus iterations curves. The optimised geometries are found to be in a very good agreement with the one found in the literatures. It was shown that PTOs with appropriate proportionality and history dependence parameters provide excellent results compared to PTOc in terms of compliance values and number of iteration required for convergence. It was also shown that for PTOc algorithms compliance decreases and stress increases with increasing refinement level. In addition, it was shown that final optimised geometries are very similar for different refinement level. Due to the use of coupled meshless method and PTO, the developed computational framework provides a solid foundation to be extended for the solution of three-dimensional and non-linear problems (both material and geometrical) and will be pursued in the future. Moreover, the current computational framework for isotropic material behaviour will be extended to fibre-reinforced polymer (FRP) composite with anisotropic constitutive relation.