It works! Thanks. I really appreciate the fast and thorough response. You're awesome.

Thanks,

David

On Friday, June 20, 2014 5:54:55 PM UTC-4, Robert Cimrman wrote:
Hello David,

this was a tricky one - the code was perfectly correct. The only hint was
provided by umfpack complaining about a singular matrix. The problem is an
insufficient quadrature order - try increasing it from 3 to 4.

Explanation: the approx. order 2 means 2x2x2 for tensor product elements in 3D.
The elasticity uses strains, but that then does not mean it is linear - the
components have polynomial orders 1x2x2 (du_1/dx_1), etc. And two functions
e(u) and e(v) are multiplied, which gives quadrature order 4 is necessary (in
the sense 4x4x4).

Does that help?
r.

On 06/20/2014 08:01 PM, David Brough wrote:
> Hello,
>
> I am using SfePy to compute the strain fields for an isotropic material in
> both 2D and 3D with displacement boundary conditions in the x boundaries
> and periodic boundary conditions on the other boundaries. The corners on
> the x line/plane are also fixed in all directions. Below are links to the
> files for both simulations.
>
> 3D
> https://github.com/PyMKS/pymks/blob/issue66-3Dexample/pymks/elasticFEModel3D.py
>
> 2D
> https://github.com/PyMKS/pymks/blob/issue66-3Dexample/pymks/elasticFEModel.py
>
> In both of these files, the displacements are currently being returned and
> not the strain. In both models, the displacements fields should run from
> 0.0 to 3.0 in the x-direction and be zero in the other direction(s). The 2D
> example gives the expected values, while the 3D example does not. Below are
> the displacements of one row of vertices in each of the directions.
>
> 2D
> x - displacement [[ 0.                        1.                        2.
>                         3.]]
> y - displacement [[  0.00000000e+00  -1.87759988e-15  -2.87436852e-15
>   -3.24740235e-15]]
>
> 3D
>
> x - displacement [[ 0.                         4.2962163
> 5.88616087           3.]]
> y - displacement [[ 0.                         13.22615623
> 13.19390252          24.60315355]]
> z - displacement [[ 0.                         11.78213038
> 11.78213038          16.76530931]]
>
> Any thoughts? Do I have the periodic boundary conditions correct or do I
> need to do something similar to what was suggested in this