amfe.mesh_tying module

Mesh tying module allowing for master-slave nodal interaction

amfe.mesh_tying.master_slave_constraint(master_nodes, master_obj, slave_nodes, nodes, tying_type='fixed', robustness=4, verbose=True, conform_slave_mesh=True, fix_mesh_dist=0.001)[source]

Add a master-slave relationship to the given mesh.

Parameters:robustness (int) – factor indicating, how many elements are considered for contact search.
amfe.mesh_tying.proj_point_to_element(X, p, ele_type, niter_max=20, eps=1e-10, verbose=False, max_dist=0.0001)[source]

Compute local element coordinates and weights for for point p projected on an element.

This function is heavily used to project the slave nodes on master elements.

Parameters:
  • X (np.ndarray, shape = (12,)) – points of the quad4 element in reference configuratoin
  • p (np.ndarray, shape = (3,)) – point which should be tied onto the master element
  • ele_type (str {'Quad4', 'Quad8', 'Tri3', 'Tri6'}) – element type on which is projected
  • niter_max (int, optional) – number of maximum iterations of the Newton-Raphson iteration. Default value: 20
  • eps (float, optional) – tolerance for the Newton-Raphson iteration. Default value: 1E-10
  • verbose (bool, optional) – flag for verbose behavior. Default value: False
  • max_dist (float, optional) – maximum normal distance of point to element. If distance of point to element is smaller than max_dist, the element will be regarded as a non-valid element.
Returns:

  • valid_element (bool) – boolean flag setting, if point lies withinn the master element
  • N (ndarray, shape (4,)) – weights of the nodal coordinates
  • local_basis (ndarray, shape (3,3)) – local tangential basis. local_basis[:,0] forms the normal vector, local_basis[:,1:] the vectors along xi and eta
  • xi (ndarray, shape(2,)) – position of p in the local element coordinate system

amfe.mesh_tying.quad4_shape_functions(xi_vec)[source]
amfe.mesh_tying.quad8_shape_functions(xi_vec)[source]
amfe.mesh_tying.tri3_shape_functions(xi_vec)[source]
amfe.mesh_tying.tri6_shape_functions(xi_vec)[source]