Occlude a cylinder with suction pressure

Unstructured Hex meshes aren’t supported in FEniCS, but as I understand the support for these has improved in dolfinx. Your mesh-to-be-imported in FEniCS has to be linear. You can then use a higher order function space over the linear mesh – since these two are decoupled in FEniCS.

As for using SNES, you can either use it through the NonlinearVariationalSolver interface via

snes_solver_parameters = {
    "nonlinear_solver": "snes",
    "snes_solver": {
        "linear_solver": "mumps",  
        "line_search": "bt", # stands for backtracking line search
        "maximum_iterations": 50,
        "report": True
    }
}
solver.parameters.update(snes_solver_parameters)

or for a finer control use PETSc.SNES directly as demonstrated here and in several other posts on the group.

2 Likes