On 03/07/2018 09:04 PM, Ben Melosh wrote:

I know this is an old thread, but anyone know how to get a shear traction on a surface using dw_surface_ltr?

The dw_surface_ltr can work with a given scalar pressure, a traction vector, or a stress tensor, see [1]. So passing a traction vector would work for you, right? If you need to know surface facet normals in each quadrature point to determine the tangent plane, that is also possible to get in the user function for setting the material parameters:

geo, _ = term.get_mapping(term.args[1])

def get_traction(ts, coor, mode=None, equations=None, term=None, problem=None, **kwargs): if mode == 'qp': geo, _ = term.get_mapping(term.args[1]) print geo.normal

...

Is this what you need?

r.

[1] http://sfepy.org/doc-devel/src/sfepy/terms/terms_surface.html#sfepy.terms.te...