OOF: Finite Element Analysis of Microstructures

/adaptive_mesh/relax

/adaptive_mesh/relax

/adaptive_mesh/relax -- optimize a mesh by moving nodes

Synopsis

Uses a gradient descent (via a fake dynamic equation) to move nodes to minimize the mesh-energy E, without relying on the random motions of /adaptive_mesh/anneal. The nodes move in the direction that minimizes E, and unlike /adaptive_mesh/anneal, they all move at once.

On each iteration, ppm2oof numerically computes the gradient of E with respect to each node's position. It computes the time step that will make the fastest node move by a prescribed amount. Then it updates each node's positions by taking one Euler step of the equation ∂ri/∂t = -∇iE, where ri is the position of node i and ∇i is the gradient with respect to ri.

This is an experimental technique that doesn't work very well. It can be slow, unreliable, and vindictive.

Arguments

delta

The distance (in units of the pixel size) that the fastest node will move in one iteration, if the algorithm works. Default: 1.0

iterations

The number of iterations to attempt. Default: 1