Home : Introduction : Theory : FEM : Strain Energy : Results : Summary

Strain Energy Calculation

Calculating w can be a cumbersome task. Here, we use a finite element package, Abaqus, to automatically calculate w . We use Matlab as a main program to evolve the morphology and only call Abaqus when strain energy calculation is required.

We model the effect of the misfit as a constant force applied at the edge of the film. This is equivalent to a film on a stiff and infinitely large substrate. This assumption is reasonable when the substrate is much thicker than the film.

The workflow is as followed.

•  Matlab generates initial positions of the nodes on the surface and write the data to a position-file.

•  Matlab automatically calls a DOS batch file. In this batch file, Abaqus was called to read the position-file and a pre-programmed input file. It then generates meshes over the entire domain and, with specified boundary force, calculates the strain energy. Note that we add additional two grids on both sides of the film so that the area of interest is far from the boundary. This avoids error due to edge effect.


Fig. 2. Calculation domain and meshes generated by Abaqus. Our calculation domain is 60x10. We attached additional 10x10 grid to avoid edge effect. The color specifies the magnitude of the strain energy density.

•  Abaqus then writes the strain energy associated with the nodes in the surface to the data file.

•  Matlab reads the data file and evolves the node on the surface and write the updated nodal position to the new position-file.

•  Repeat step b)

In our simulation we didn't need to recalculate the strain energy density at every time step. If the position doesn't change too much, the strain energy from the previous step is still valid. We found that calculate strain energy at every 10 time steps is a compromise between speed and accuracy.

The command for Matlab to call batch file is:

system('callabaq.bat')

The command in the batch file to call Abaqus is:

CALL abaqus j=elasden.inp int,

where elasden.inp is the name of the pre-programmed input file.