topopt 0.1.0

Topology optimization, based on TopOpt99
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[![build](https://github.com/cmccomb/topopt-rs/actions/workflows/tests.yml/badge.svg)](https://github.com/cmccomb/topopt-rs/actions/workflows/tests.yml)
[![Crates.io](https://img.shields.io/crates/v/topopt.svg)](https://crates.io/crates/topopt)
[![docs.rs](https://docs.rs/topopt/badge.svg)](https://docs.rs/topopt)

# About
This package performs 2-dimensional topology optimization and is a port of ["A 99 line topology optimization code written in Matlab"](https://www.topopt.mek.dtu.dk/apps-and-software/a-99-line-topology-optimization-code-written-in-matlab).

# Usage
Usage follows exactly the same format as the original topology optimization code:
```rust
let nelx = 30;
let nely = 10;
let volfrac = 0.5;
let penalty = 3.0;
let rmin = 1.5;
let x = topopt::top(nelx, nely, volfrac, penalty, rmin);
```