## 2 Topology Optimization under Single- and Multiple-Loading Conditions
### Single-Loading Condition  
In a structural TO problem with a single-loading condition, the goal is to find the best distribution of material within a given design domain, which is referred to as the optimum design, minimizing (or maximizing) an objective function while satisfying a set of constraints. The most common objective in TO is maximizing its stiffness, which is equivalent to minimizing its compliance. Other objectives include minimizing the structural weight with consideration of stress constraints and minimizing the stress level within a given amount of material. The minimization of the maximum stress is a general concept of structural design. However, the formulations aimed at reducing the maximum stress or considered stress constraints usually cause very complex calculations of cost functions and sensitivities and, consequently, a high computational cost. In contrast, a formulation that considers compliance minimization is always simpler. Accordingly, the second formulation is preferable and widely used in the field of structural TO.  
A simple compliance-minimizing TO problem under a single-loading condition using SIMP approach can be formulated as follows:  
\[\underset{\mathbf{x}}{\text{min}}(\mathbf{x})=\mathbf{u}^{T}\mathbf{Ku},\] (3a) subject to \[\frac{V(\mathbf{x})}{V_{0}}=f, \tag{3b}\] \[\mathbf{Ku}=\mathbf{F},\] (3c) \[g(\mathbf{x})\leq\mathbf{0},\] (3d) \[0<x_{min}\leq x_{i}\leq 1,\,\,i=1,2,\ldots,n, \tag{3e}\]  
where \(c(\mathbf{x})\) is the compliance of the system; \(\mathbf{u}\) is the global displacement vector, also known as the state variable; \(\mathbf{K}\) is the global stiffness matrix; \(g(\mathbf{x})\) is a set of constraint functions, which can be performance (e.g., strain or stress), geometrical, or other types of restriction; \(V(\mathbf{x})\) and \(V_{0}\) are the material volume and the volume of the design domain, respectively; \(f\) is a volume fraction, given to constrain the amount of material that can be used for the structure; \(\mathbf{F}\) is the global force vector; \(\mathbf{x}=\left\{x_{1}\quad x_{2}\quad\cdots\quad x_{n}\right\}^{T}\) is the design variables vector; \(n\) is the number of design variables; and \(x_{min}\) is a positive small lower bound of the design variables employed to avoid the singularity issue.  
Equation (3c) is the equilibrium equation of the system, where the force vector \(\mathbf{F}\) is given as a constant; and the stiffness matrix \(\mathbf{K}\) is defined with respect to the design variables, i.e., \(\mathbf{K}\) is a function of \(\mathbf{x}\), which can be written as \(\mathbf{K}=\mathbf{K}(\mathbf{x})\). Therefore, when \(\mathbf{x}\) is defined, \(\mathbf{K}\) is defined, and \(\mathbf{u}\) can be found by solving the equilibrium equation as follows:  
\[\mathbf{u}=\mathbf{K}^{-1}\mathbf{F}. \tag{4}\]  
During the optimization process, the equilibrium equation associated with the only loading condition is solved once at each iteration to find the vector of displacements \(\mathbf{u}\), and all cost functions are evaluated using this state variable. The update of the design variables is decided based on the evaluated cost functions and their derivatives. The process is repeated for new design variables until convergence.