Schmidt, Martin-Pierre https://orcid.org/0009-0008-4008-783X
Pedersen, Claus B. W.
Article History
Received: 2 May 2025
Revised: 26 August 2025
Accepted: 14 September 2025
First Online: 30 September 2025
Declarations
:
: On behalf of all authors, the corresponding author states that there is no conflict of interest.
: The method and its default settings are described in detail in Sect. . Non-default settings used to obtain the results shown in Sect. are explicitly specified in the accompanying text. In order to replicate the present method into a minimum working example, one can start from a well-tested density-based topology optimization code for isotropic materials such as the 2D MATLAB code by Andreassen et al. (). This code must then be modified to add the scalar field for anisotropic properties (only and in 2D) and assemble the local stiffness matrix of each element as a function of these spatially varying fields as described in Sect. . Assembling the global matrix and solving for the nodal displacements does not necessitate any alteration of the code. However, the sensitivity analysis requires calculating the additional gradients as described in the beginning of Sect. . Then, a CAD parameterization should be built to interface with the field-based representation. For simplicity of development and unit testing, it is advised to first emulate the CAD mapping step in using a simple Constructive Solid Geometry (CSG) approach. This allows efficiently representing the parameterized shape as a Boolean union of basic primitives having known analytical distance functions and derivatives. Finally, the MMA optimizer originally used to update the density field can be repurposed to update the CAD parameters.