This lists all known errors in K. Liu and A. Tovar, “An efficient 3D topology optimization code written in Matlab”,

Struct Multidisc Optim, doi:10.1007/s00158-014-1107-x.

### Section 4.1 Minimum compliance

Line under (18):

where the physical densities are defined by (3),

should be:

where the physical densities are defined by (3),

### Section 4.3 Heat conduction

The equilibrium condition for heat transfer in finite element formulation is described by

where now donates the finite element global nodal temperature vector,

should be:

The equilibrium condition for heat transfer in finite element formulation is described by

where now donates the finite element global nodal temperature vector,

(33): The optimization problem for heat conduction is

should be:

### Section 6.1.3 Active and passive elements

Fig.7 *bottom* topology optimized beam

should be:

for more details see: https://top3dapp.com/tutorials/active-and-passive-elements-top3d/

### Section 6.1.4 Alternative filters

**Fig. 8** Topology optimized design used a mesh with 30 x 10 x 2 elements. *Left* optimized design using density filter, *middle left* optimized design using density filter, *middle right* optimized design using density filter and gray scale filter, and *right* optimized design using sensitivity filter and gray scale filter

should be written:

**Fig. 8** Topology optimized design used a mesh with 60 x 20 x 4 elements. *Left* optimized design using density filter, *middle left* optimized design using sensitivity filter, *middle right* optimized design using density filter and gray scale filter, and *right* optimized design using sensitivity filter and gray scale filter

for more details see: Sensitivity filter, Grayscale filter

### Section 6.2 Compliant mechanism synthesis

Ud = U(:,1); U = U(:,2); ce = reshape(sum((U(edofMat)*KE).*Ud(edofMat),2),[nely,nelx,nelz]); c = U(dout,1); dc = penal*(E0-Emin)*xPhys.^(penal-1).*ce;

should be written:

U1 = U(:,1); U2 = U(:,2); ce = reshape(sum((U1(edofMat)*KE).*U2(edofMat),2),[nely,nelx,nelz]); c = U(dout,1); dc = penal*(E0-Emin)*xPhys.^(penal-1).*ce;

for more details see: https://top3dapp.com/tutorials/compliant-mechanisms-synthesis-top3d/

### Appendix A: Symbolic expression of

On 4th column and 2nd row should be instead of :

Thanks to Sebastian Białkowski, Technical University of Lodz in Poland

### Appendix B: Derivation of the Hessian Matrix

The reduced Hessian matrix presented in the paper is inaccurate. Please see Evgrafov, A. Struct Multidisc Optim (2014) 50: 1197. https://doi.org/10.1007/s00158-014-1204-x for the detailed discussion.

### Appendix C: Line 103 *k*

The factor of the matrix should be instead of . Line 103 should be written as:

k = 1/144 * A' * [1; nu];

This change has been applied on the