sfepy.terms.terms_contact module

class sfepy.terms.terms_contact.ContactIPCTerm(*args, **kwargs)[source]

Contact term based on IPC Toolkit.

This term has a dynamic connectivity of DOFs in its region.

Definition:

\int_{\Gamma_{c}} \sum_{k \in C} \nabla b(d_k, \ul{u})

Call signature:

dw_contact_ipc

(material_m, material_k, material_d, material_p, virtual, state)

Arguments:
  • material_m : m

  • material_k : k

  • material_d : \hat{d}

  • material_p : PSDProjectionMethod

  • virtual : \ul{v}

  • state : \ul{u}

arg_shapes = {'material_d': '.: 1', 'material_k': '.: 1', 'material_m': '.: 1', 'material_p': '.: str', 'state': 'D', 'virtual': ('D', 'state')}
arg_types = ('material_m', 'material_k', 'material_d', 'material_p', 'virtual', 'state')
call_function(out, fargs)[source]
eval_real(shape, fargs, mode='eval', term_mode=None, diff_var=None, **kwargs)[source]
static function(out, fun, *args)[source]
static function_weak(out, out_cc)[source]
geometries = ['3_4', '3_8']
get_contact_info(state)[source]
get_fargs(avg_mass, stiffness, dhat, spd_projection, virtual, state, mode=None, term_mode=None, diff_var=None, ci=None, **kwargs)[source]
integration = 'facet'
name = 'dw_contact_ipc'
class sfepy.terms.terms_contact.ContactInfo(region, integral, geo, state)[source]

Various contact-related data of contact terms.

update(xx)[source]

A dict-like update for Struct attributes.

class sfepy.terms.terms_contact.ContactTerm(*args, **kwargs)[source]

Contact term with a penalty function.

The penalty function is defined as \varepsilon_N \langle g_N(\ul{u})
\rangle, where \varepsilon_N is the normal penalty parameter and \langle g_N(\ul{u}) \rangle are the Macaulay’s brackets of the gap function g_N(\ul{u}).

This term has a dynamic connectivity of DOFs in its region.

Definition:

\int_{\Gamma_{c}} \varepsilon_N \langle g_N(\ul{u}) \rangle \ul{n}
\ul{v}

Call signature:

dw_contact

(material, virtual, state)

Arguments:
  • material : \varepsilon_N

  • virtual : \ul{v}

  • state : \ul{u}

arg_shapes = {'material': '.: 1', 'state': 'D', 'virtual': ('D', 'state')}
arg_types = ('material', 'virtual', 'state')
call_function(out, fargs)[source]
eval_real(shape, fargs, mode='eval', term_mode=None, diff_var=None, **kwargs)[source]
static function(out, fun, *args)[source]
static function_weak(out, out_cc)[source]
get_contact_info(geo, state, init_gps=False)[source]
get_eval_shape(epss, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
get_fargs(epss, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
static integrate(out, val_qp, geo, fmode)[source]
integration = 'facet'
name = 'dw_contact'