Skip to content

Releases: JuliaTopOpt/TopOpt.jl

v0.4.2

08 May 20:38
83d5f24
Compare
Choose a tag to compare

TopOpt v0.4.2

Diff since v0.4.1

Closed issues:

  • Support Percival.jl (#15)
  • CUDA support example (#21)

Merged pull requests:

  • Simplify the install instructions (#23) (@mohamed82008)
  • Test and document local stress constraints with Percival (#24) (@mohamed82008)
  • CompatHelper: bump compat for "Distributions" to "0.25" (#42) (@github-actions[bot])
  • Update Nonconvex compat version (#43) (@mohamed82008)

v0.4.1

09 Apr 15:19
950c331
Compare
Choose a tag to compare

TopOpt v0.4.1

Diff since v0.4.0

v0.4.0

09 Apr 15:19
Compare
Choose a tag to compare

TopOpt v0.4.0

Diff since v0.3.0

Closed issues:

  • Automatic differentiation based refactor (#3)
  • Enable the use of NLopt and Ipopt for optimization (#4)
  • Change JuAFEM.jl dependency to Ferrite.jl (#13)

Merged pull requests:

  • Documentation improvements, examples relocated, and benchmarking (#14) (@yijiangh)
  • Close #13, update JuAFEM -> Ferrite, Tensors (#17) (@yijiangh)

Simpler objective/constraint definition and registered dependencies

06 Apr 03:26
Compare
Choose a tag to compare

Breaking changes:

  • Removed Objective and Constraint , users can simply define objective and constraint in a more straightforward way (thanks to [email protected]):
comp = TopOpt.Compliance(problem, solver)
filter = DensityFilter(solver, rmin = rmin)
obj = x -> comp(filter(x))

volfrac = TopOpt.Volume(problem, solver)
constr = x -> volfrac(filter(x)) - V

Closed issues:

  • Ipopt and Nlopt optimization backend is made available by Nonconvex (#4 )
  • JuAFEM, Tensors, and VTKDataTypes dependencies are changed to their registered version (#13)

Merged pull requests:

  • update JuAFEM -> Ferrite, Tensors (#17)
  • More examples added to docs (#14)

A simpler, more powerful API powered by automatic differentiation

15 Feb 02:07
00acc46
Compare
Choose a tag to compare

This release introduces a number of breaking changes. Thanks to automatic differentiation, there is now a full separation between the optimization algorithm (in the new package Nonconvex.jl) and the topology optimization function definitions. Functions from TopOpt.jl can now be composed with each other or with arbitrary Julia functions freely in objectives and constraints. Refer the test/examples folder for more details.

2D/3D Truss TopOpt Supports and new interactive visualizer

15 Feb 02:01
Compare
Choose a tag to compare

Added

  • Added 2D and 3D truss optimization support, complimenting previously supported 2D and 3D continuum topology optimization on unstructured meshes.
  • A new, interactive visualizer (visualize) for displaying the optimized results as well as FEM deformation.

Changed

  • Wrapped all previous visualization methods into the TopOptProblems.Visualization module

Initial release

10 Feb 04:49
Compare
Choose a tag to compare

This is initial release of TopOpt.jl. There are a number of features available including:

  1. Volume-constrained compliance minimisation for 2D and 3D unstructured meshes.
  2. Density and sensitivity chequerboard filters.
  3. Heaviside projection.
  4. Method of moving asymptotes and the solid isotropic material with penalisation method.
  5. Advanced continuation methods.
  6. Bi-directional evolutionary structural optimisation for compliance minimisation.
  7. Genetic evolutionary structural optimisation for compliance minimisation.
  8. Direct and iterative linear system solvers.
  9. Inp file input and vtk file output for end-to-end topology optimisation.

A number of experimental features are also there including:

  1. Stress constrained optimisation and maximum stress minimisation
  2. Robust maximum compliance constrained optimisation for multiple loading scenarios.
  3. Stochastic and risk-averse compliance minimisation.