O experimento
O resumo dos autores descreve um sucessor compacto do código de 99 linhas, adicionando filtragem de densidade e melhorando a eficiência por pré-alocação e vetorização. Aqui implementamos seu método principal de mínima flexibilidade.
Cada quadrado usa um elemento bilinear de tensão plana. SIMP interpola sua rigidez como E = 10⁻⁹ + ρᵖ(1 − 10⁻⁹). Os critérios de optimalidade redistribuem material, com limite de movimento de 0.2. A fatoração de Cholesky esparsa do motor resolve o equilíbrio a cada iteração.
Reprodução
Valores padrão: 60 × 20 elementos, fração de volume 0.5, penalização 3, raio do filtro 2.4. Correspondem à seção 3.4 e à Figura 3(a) do manuscrito dos autores (páginas 6–7). Os filtros de sensibilidade e densidade usam os mesmos parâmetros. São mostradas as densidades físicas.
A flexibilidade é medida antes de cada atualização; o volume e a densidade são registrados depois, exatamente como em top88. Para quando a maior mudança de projeto é no máximo 0.01. A referência é sobreposta apenas quando os parâmetros padrão coincidem.
Evidências e limitações
O executor de referência baixa a função original dos autores, verifica seu SHA-256 e observa dados de precisão completa nas chamadas de desenho em GNU Octave. Os testes de Rust comparam o número de iterações, cada valor de flexibilidade, volume e mudança, e as densidades finais, junto com verificações independentes de elementos e filtros.
O manuscrito acessível apresenta imagens otimizadas e tabelas de tempos, não a flexibilidade final nem o número de iterações para estes casos. Não afirmamos uma comparação com as figuras do artigo. A concordância entre implementações não é validação experimental nem certificação de engenharia. As condições de contorno alternativas são remetidas ao artigo de 2001; este experimento suporta o caso de carga MBB.
Resumo, manuscrito e referência dos autores. Volume 43 (2011), páginas 1–16; Crossref registra a publicação on-line em 2010.
Citar isto
Stabileo Research, “Otimização topológica de uma viga MBB”, reprodução de Erik Andreassen, Anders Clausen, Mattias Schevenels, Boyan S. Lazarov, Ole Sigmund (2010), doi:10.1007/s00158-010-0594-7. Implementação: research/optimization/andreassen-2011 no commit 8068cd16ea2c. Motor: o motor do Stabileo no mesmo commit. Estão previstos links permanentes para esta compilação exata.