This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

unconstrained equilibrium (elasto-plasticity), solve with singular matrix

+1 vote

I have to solve the linear-elasticity problem for small deformations. I noticed, that FENICS is able to solve the problem with direct solver even when it is not statically determined (no diricletBC). There is a rigid body translation and rotation. But the result for the strains and stresses seems to be correct.

  1. How is that achieved? Can the strains and stresses be trusted? Can anyone suggest me a source where it is explained?

  2. For non-linear (geometrically) problems the solver does not converge. Is there a way to remove the singularity from the matrix?

  3. For small deformation i removed the singularity by using nullspace method. Is it possible to use this method for large deformation or nonlinear problems? I get an error:.

-

Form has no parts with arity 2.
Traceback (most recent call last):
  File "Stress_largedef_FE04.py", line 240, in <module>
    as_backend_type(links).set_near_nullspace(null_space)
  File "/usr/lib/python2.7/dist-packages/dolfin/cpp/la.py", line 5960, in as_backend_type
    subclass = get_tensor_type(tensor)
  File "/usr/lib/python2.7/dist-packages/dolfin/cpp/la.py", line 5942, in get_tensor_type
    if v(tensor):
TypeError: in method '_has_type_EigenMatrix', argument 1 of type 'std::shared_ptr< dolfin::LinearAlgebraObject > const'

If necessary i can post a minimum example too.

Thanks.

asked Mar 17, 2017 by titusf FEniCS Novice (570 points)
...