Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 00:23
· 32 commits to master since this release

TopOpt v0.14.0

Diff since v0.13.0

New features

  • Level-set topology optimization via a port of OpenLSTO, with 2D and 3D
    level-set methods, hole nucleation, p-norm stress minimization, and 3D
    compliance minimization; results are visualizable and documented in a new
    tutorial and API reference (#334, #336).
  • New and updated Quarto tutorials addressing many open issues: stochastic
    compliance (mean/std objectives, exact and randomized trace estimators, and an
    augmented-Lagrangian maximum-compliance constraint), compliance-constrained
    volume minimization, fixed-element regions, the projected density filter,
    iterative/matrix-free and custom solvers, INP import and VTK export, a
    penalty-function comparison, and simultaneous analysis and design (#332).
  • ProjectedDensityFilterFun is now exported with a convenience constructor, and
    a physics-inferred FEASolver(Solver, problem) constructor accepts any
    AbstractLinearSolver subtype (#332).
  • TemperatureFun and cell_temperature for heat-transfer problems; save_mesh
    now writes the nodal temperature field (#323, #324).
  • All exported TopOpt features are now documented (#325).

Breaking changes

  • The celltype::Symbol keyword replaces the positional
    Val{:Linear}/Val{:Quadratic} API in problem and grid constructors (#323).

Improvements

  • Static (offline) visualization for tutorials, with WGLMakie/Bonito export
    support (#322).
  • JET findings fixed, GESO crossover/mutation deduplicated, and
    TrussFEACrossSec arithmetic added (#323).

Prepared with assistance from deepseek-v4-pro via opencode.

Merged pull requests:

Closed issues:

  • Stochastic topology optimisation (#31)
  • Simultaneous analysis and design tutorial (#91)
  • Example on custom linear system solver and preconditioner (#96)
  • using type TrussFEACrossSec{Float64} with TrussSolver (#156)
  • Temperature function (#202)
  • Improve visualize and mesh writing for heat problems (#205)
  • Restore test coverage after docs overhaul (#244)
  • Tutorials in PR preview docs lose Quarto formatting (#252)
  • Deduplicate repeated algorithm logic in BESO/GESO and thermal adjoint (#259)
  • Convert WCSMO benchmark demos to Quarto tutorials (#261)
  • Tutorial: Stochastic compliance minimization with SVD-based methods (#266)
  • Add tutorial for FixedElementProjectorFun (#284)
  • Add tutorial for ProjectedDensityFilterFun (#285)
  • Add tutorial for iterative and matrix-free solvers (#286)
  • Add tutorial for VTK export (#287)
  • Add tutorial for INP file import (#288)
  • Add tutorial comparing alternative penalty functions (#289)
  • Improve visualization default options (#291)
  • Wrap TopOpt_in_PETSc_jll (precompiled binary for topopt/TopOpt_in_PETSc) (#328)
  • Wrap OpenLSTO_jll (precompiled binary for M2DOLab/OpenLSTO) (#327)
  • Add level-set topology optimization (OpenLSTO port) (#333)