Hi Ronghai,
On 02/24/2015 07:29 PM, Ronghai Wu wrote:
Dear Robert Cimrman,
I am trying to implement elastic inclusion problem. It is a 2D mesh with an inclusion(and therefore eigenstrain) at mesh centre. I developed my codes(as attached) based on following two previous issues.
https://groups.google.com/forum/#!searchin/sfepy-devel/Ronghai/sfepy-devel/r... https://groups.google.com/forum/#!searchin/sfepy-devel/elastic$20periodic$20boundary$20condition|sort:relevance/sfepy-devel/VpVHXS7Jh0Q/bDNs1JP4x94J
But I have troubles with the boundary conditions. I would like to try two kinds of boundary conditions: (1) Top and bottom boundaries: uniaxial loading(or surface traction). Left and Right boundaries: periodic. I used "dw_tl_surface_traction" but some errors come out.
Everything is small deformations, right? Then the term to use for tractions is dw_surface_ltr (as in [1]). The term dw_tl_surface_traction is meant for large deformations and is not linear (depends on the actual displacement).
(2) Periodic at all boundaries. I think there must be a easy way for this, but failed to find out in SfePy documentation and mailing list.
What you did works for me (after fixing the term names above). You have the periodic BC on the left and right sides. If you want also top and bottom displacements to be periodic, add an analogous condition.
Also add some Dirichlet BC, so that the matrix is not singular. Anyway, umfpack complains but solves. :) I guess what you need is to have periodic BC left<->right and top<->bottom, and fixed corner nodes, as in [2] (old long syntax...).
Let me know how it goes.
r.
[1] http://sfepy.org/doc-devel/examples/linear_elasticity/linear_elastic_tractio... [2] http://sfepy.org/doc-devel/examples/standalone/homogenized_elasticity/rs_cor...