Case 1: One threading dislocation in the thinfilm code
Benchmarks to check PBC in thin film code
ILL RYU
May 31, 2010
From these benchmarks, we like to confirm if the periodic boundary condition works properly. To do that, two models are prepared as following figures. In the first model, one threading dislocation is located at the center of the simulation domain. In the other model, threading dislocation is split and is put into both right and the left surface.
Model geometries
To check if PBC works, forces at the nodes are printed out in each cases. If forces output in both cases are the same, we can conclude PBC works well in the thinfilm code.
Test cases
In the thinfilm code, there are several flags which can turn on'off the spectral method (DEFS += -D_TFIMGSTRESS), with or without virtual segments (DEFS += -D_NOVIRTUALSEG) and with or without the Yoffe image stress (DEFS += -D_NOYOFFESTRESS). In order to test these different cases, force outputs are compared as the following table.
| Test cases | Spectral method | Virtural segment | Yoffe stress |
|---|---|---|---|
| threading_force_NoImg_NoVS_NoYoffe | OFF | OFF | OFF |
| threading_force_NoImg_NoVS_YesYoffe | OFF | OFF | ON |
| threading_force_NoImg_YesVS_NoYoffe | OFF | ON | OFF |
| threading_force_NoImg_YesVS_YesYoffe | OFF | ON | ON |
| threading_force_YesImg_NoVS_NoYoffe | ON | OFF | OFF |
| threading_force_YesImg_YesVS_YesYoffe | ON | ON | ON |
Image stress stress
Total stress
Conclusion
The reason why the infinite stress does not match each other is the infinite stress can have some inaccuracy near the boundary. From the plot, we can conclude that PBC works well in cylinder code, because the stress output fits well to each other. Moreover, we can see zero traction boundary condition is satisfied on the surface of the cylinder.