#### Previous topic

sfepy.terms.termsPoint module

#### Next topic

sfepy.terms.termsVolume module

# sfepy.terms.termsSurface module¶

class sfepy.terms.termsSurface.ContactPlaneTerm(*args, **kwargs)[source]

Small deformation elastic contact plane term with penetration penalty.

The plane is given by an anchor point and a normal . The contact occurs in points that orthogonally project onto the plane into a polygon given by orthogonal projections of boundary points , on the plane. In such points, a penetration distance is computed, and a force is applied. The force depends on the non-negative parameters (stiffness) and (force at zero penetration):

• If :

• If :

In this case the dependence is smooth, and a (small) force is applied even for (small) negative penetrations: .

 dw_contact_plane (material_f, material_n, material_a, material_b, virtual, state)
Arguments : material_f : material_n : (special) material_a : (special) material_b : , (special) virtual : state :
arg_shapes = {'material_n': '.: D', 'material_a': '.: D', 'material_b': '.: N, D', 'material_f': '1, 2', 'state': 'D', 'virtual': ('D', 'state')}
arg_types = ('material_f', 'material_n', 'material_a', 'material_b', 'virtual', 'state')
static function(out, force, normal, geo, fmode)[source]
geometries = ['3_4', '3_8']
get_fargs(force_pars, normal, anchor, bounds, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = 'surface'
name = 'dw_contact_plane'
static smooth_f(d, k, f0, a, eps, diff)[source]
class sfepy.terms.termsSurface.LinearTractionTerm(name, arg_str, integral, region, **kwargs)[source]

Linear traction forces (weak form), where, depending on dimension of ‘material’ argument, is for a given scalar pressure, for a traction vector, and itself for a stress tensor.

 dw_surface_ltr (material, virtual)
Arguments : material : virtual :
arg_shapes = [{'material': 'S, 1', 'virtual': ('D', None)}, {'material': 'D, 1'}, {'material': '1, 1'}]
arg_types = ('material', 'virtual')
function()
get_fargs(traction, virtual, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = 'surface'
name = 'dw_surface_ltr'
class sfepy.terms.termsSurface.SDSufaceNormalDotTerm(name, arg_str, integral, region, **kwargs)[source]

Sensitivity of scalar traction.

 d_sd_surface_ndot (material, parameter, parameter_mesh_velocity)
Arguments : material : parameter : parameter_mesh_velocity :
arg_shapes = {'parameter_mesh_velocity': 'D', 'material': 'D, 1', 'parameter': 1}
arg_types = ('material', 'parameter', 'parameter_mesh_velocity')
static function(out, material, val_p, div_mv, sg)[source]
get_eval_shape(mat, par, par_mv, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
get_fargs(mat, par, par_mv, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = 'surface'
name = 'd_sd_surface_ndot'
class sfepy.terms.termsSurface.SufaceNormalDotTerm(name, arg_str, integral, region, **kwargs)[source]

“Scalar traction” term, (weak form).

 dw_surface_ndot (material, virtual) (material, parameter)
Arguments : material : virtual :
arg_shapes = {'material': 'D, 1', 'parameter': 1, 'virtual': (1, None)}
arg_types = (('material', 'virtual'), ('material', 'parameter'))
static d_fun(out, material, val, sg)[source]
static dw_fun(out, material, bf, sg)[source]
get_eval_shape(mat, virtual, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
get_fargs(mat, virtual, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = 'surface'
modes = ('weak', 'eval')
name = 'dw_surface_ndot'
set_arg_types()[source]
class sfepy.terms.termsSurface.SurfaceJumpTerm(name, arg_str, integral, region, **kwargs)[source]

Interface jump condition.

 dw_jump (opt_material, virtual, state_1, state_2)
Arguments : material : virtual : state_1 : state_2 :
arg_shapes = [{'state_1': 1, 'opt_material': '1, 1', 'state_2': 1, 'virtual': (1, None)}, {'opt_material': None}]
arg_types = ('opt_material', 'virtual', 'state_1', 'state_2')
static function(out, jump, mul, bf1, bf2, sg, fmode)[source]
get_fargs(coef, virtual, state1, state2, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = 'surface'
name = 'dw_jump'