Freedom251 › Generative Design Software
ARL Topologies

What ARL Topologies is
ARL Topologies is a free, self-hosted topology optimization program intended for research and general use. It separates design representation, optimization method, and objective function, with support for 2D and 3D element-based density discretization using SIMP interpolation, and nodal-based density discretization using Heaviside projection and filtering. Inputs can be ASCII ExodusII or GMSH meshes, or rectangular pixel and voxel regions. Available methods include optimality criterion, method of moving asymptotes, BFGS via NLopt, and a genetic algorithm. Its implemented objective function performs static structural finite element analysis. Density-based results can be post-processed to STL, and output formats include VTK, GMSH, and Matlab. The objective function is loaded from a shared library to enable extension to different problems. It runs from the command line using an XML input file, with an optional -mpi argument when MPI is enabled and useful. Building requires a C++11-compatible compiler and listed libraries including CGAL, Boost, GMP, MPFR, PugiXML, NLopt, and Eigen for the finite element solver.
Who it suits
ARL Topologies suits researchers and other users working on topology optimization for structural finite element analysis. It may fit developers who can build C++ software and manage its listed library requirements.
What it does well
- Supports 2D and 3D density discretization
- Accepts mesh, pixel, and voxel inputs
- Includes four implemented optimization approaches
- Outputs include STL, VTK, GMSH, and Matlab
- Objective functions can be extended through shared libraries
What to know first
- Requires a C++11-compatible compiler and listed libraries
- Runs from the command line using an XML input file
- The implemented objective function is static structural finite element analysis
Limits
The free plan requires compiling from source with a C++11-compatible compiler and listed libraries, including Eigen for the finite element solver. The default build uses MPI, though it can be removed by deleting -DUSE_MPI.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| CC0-licensed software | Compile from source · C++11 compiler and listed libraries required | Free |
As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.
Getting started
- Open the USArmyResearchLab repository.
- Compile the program using a C++11-compatible compiler and the required libraries.
- Prepare an XML input file with a supported mesh or rectangular pixel or voxel region.
- Run the program from the command line.
- Use the optional -mpi argument when MPI is enabled and useful.
Verdict
ARL Topologies offers multiple representations and optimization methods for structural analysis, with an extension route through shared libraries. Its build dependencies and command-line workflow are important considerations before adoption.
Questions
Is ARL Topologies free?
Yes. It is listed as free, and the repository license describes CC0 1.0 Universal terms with a stated patent-license modification for contributions.
What does ARL Topologies do?
It is an extensible topology optimization program intended for research and general use. Its implemented objective function performs static structural finite element analysis.
Which input formats does it accept?
It accepts ASCII ExodusII or GMSH meshes, as well as rectangular pixel or voxel regions.
Which optimization methods are implemented?
The program includes optimality criterion, method of moving asymptotes, BFGS through NLopt, and a genetic algorithm.
What outputs can it produce?
Output formats include VTK, GMSH, and Matlab. Density-based representations can also be post-processed to STL.
What is required to build it?
Building requires a C++11-compatible compiler and libraries including CGAL, Boost, GMP, MPFR, PugiXML, and NLopt. Eigen is required for the finite element solver.
Facts from ARL Topologies's own pages
- Build requirements
- Building requires a C++11-compatible compiler and libraries including CGAL, Boost, GMP, MPFR, PugiXML, NLopt, and Eigen for the finite element solver. · github.com, 4 Oct 2026
- Contributions
- The project says outside contributions must include a Contributor License Agreement. · github.com, 4 Oct 2026
- Design
- The program separates topology optimization into representation, optimizer, and objective function components. · github.com, 4 Oct 2026
- Extensibility
- The objective function is loaded from a shared library, allowing the program to be extended to different problems. · github.com, 4 Oct 2026
- Headquarters
- Adelphi, Maryland, United States · github.com, 28 Sept 2026
- License
- The repository license describes CC0 1.0 Universal terms, with a stated patent-license modification for contributions. · github.com, 4 Oct 2026
- Maker
- The repository is published by USArmyResearchLab and describes the project as a work of the United States government. · github.com, 4 Oct 2026
- Mesh inputs
- It accepts ASCII ExodusII or GMSH meshes, as well as pixel or voxel rectangular regions. · github.com, 4 Oct 2026
- MPI
- The default build configuration uses MPI, which can be removed by deleting -DUSE_MPI; the included FEM library does not use MPI. · github.com, 4 Oct 2026
- Objective function
- The implemented objective function is static structural finite element analysis. · github.com, 4 Oct 2026
- Optimizers
- Implemented optimizers include optimality criterion, method of moving asymptotes and BFGS via NLopt, and a genetic algorithm. · github.com, 4 Oct 2026
- Outputs
- Density-based representations can be post-processed to STL, and output formats include VTK, GMSH, and Matlab. · github.com, 4 Oct 2026
- Purpose
- ARL_Topologies is an extensible topology optimization program intended as both a research platform and a general-use tool. · github.com, 4 Oct 2026
- Representations
- It supports 2D and 3D element-based density discretization with SIMP interpolation and nodal-based density discretization using Heaviside projection and filtering. · github.com, 4 Oct 2026
- Usage
- The program runs from the command line with an XML input file, with an optional -mpi argument when MPI is enabled and useful. · github.com, 4 Oct 2026
Where ARL Topologies stands on Freedom251
- Generative Design Software#4 of 20