Model boundary oblique to axes


I was wondering if Pylith allows model boundaries that are oblique to the x,y,z axes. I am trying to reproduce a “piece of cake” model (to mimic axisymmetric conditions) but I get the error “RuntimeError: Invalid null space vector 0 has zero norm.”
If I comment the lines where I block the [0,1] degrees of freedom of the two oblique boundaries, Pylith runs without error, but the solution is not the one I am looking for.



Model boundaries can be oblique to the coordinate axes. What are your boundary conditions? Can you provide a diagram/sketch of the problem you are trying to solve?

Thanks for your quick reply. Please find attached a sketch. The model is 3D along the z direction.

The current angle is 22.5 (pi/8). I also tried an angle of 90 degrees (so that the normal to the boundaries has equal x and y components), but the problem persists.

Thanks again,


I wanted, on the two oblique faces, to block the 0 and 1 degrees of freedom.

When you say “block the 0 and 1 degrees of freedom”, do you mean you want to apply a Dirichlet (fixed displacement) boundary condition with both the x and y degrees of freedom fixed to the oblique boundaries? You also need a constraint on the z degree of freedom. Usually that would be applied to the bottom (-z) boundary.

Yes, I meant that. Actually I applied Dirichlet boundary conditions on the two oblique faces (to block the x and y directions), and I blocked the z direction on the bottom face, but I got the error “RuntimeError: Invalid null space vector 0 has zero norm”. If I comment the constraints on the oblique faces, the model runs.


We need more information to help diagnose the problem. Please upload the pylith_parameters.json file that is generated by a run and provide a more complete diagram/sketch of the problem you are trying to solve. On your sketch, show all boundary conditions, loading, and material boundaries. A text description of the problem is also usually helpful.

Sorry I think my explanation was not clear. What I would like to do is not to fix the x and y displacements of all nodes on the two oblique faces, but I would like to block the displacement normal to those faces, and allow tangential displacement, so that the model is axi-symmetric (with a small angle, the model is a sector of a circle). Neumann boundary conditions can be applied along normal and shear directions. Is there a way to do a similar thing with Dirichlet displacement conditions ?


PyLith only allows constraint of the displacement in the direction of the coordinate axes; it does not allow constraint of the tangential displacement unless it is aligned with the coordinate axes.

So the smallest section you can use in an axisymmetric boundary value problem, making use of symmetry would have an angle of 90 degrees.

OK thanks