sfepy.mechanics.friction module

Friction-slip model formulated as the implicit complementarity problem.

To integrate over a (dual) mesh, one needs:

  • coordinates of element vertices
  • element connectivity
  • local base for each element * constant in each sub-triangle of the dual mesh

Data for each dual element:

  • connectivity of its sub-triangles
  • base directions t_1, t_2

Normal stresses:

  • Assemble the rezidual and apply the LCBC operator described below.

Solution in hat{V}_h^c:

  • construct a restriction operator via LCBC just like in the no-penetration case
  • use the substitution: u_1 = n_1 * w u_2 = n_2 * w u_3 = n_3 * w The new DOF is w.
  • for the record, no-penetration does: w_1 = - (1 / n_1) * (u_2 * n_2 + u_3 * n_3) w_2 = u_2 w_3 = u_3
class sfepy.mechanics.friction.DualMesh(region)[source]

Dual mesh corresponding to a (surface) region.

create_friction_bcs(dof_name)[source]

Fix friction DOFs on surface boundary edges, i.e. that are not shared by two friction surface faces.

describe_dual_surface(surface)[source]
iter_groups(igs=None)[source]

Domain-like functionality.

save(filename)[source]
save_axes(filename)[source]
sfepy.mechanics.friction.edge_data_to_output(coors, conn, e_sort, data)[source]