sfepy.terms.terms_surface module¶
-
class
sfepy.terms.terms_surface.
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:
.
- Definition
- Call signature
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_a': '.: D', 'material_b': '.: N, D', 'material_f': '1, 2', 'material_n': '.: D', 'state': 'D', 'virtual': ('D', 'state')}¶
-
arg_types
= ('material_f', 'material_n', 'material_a', 'material_b', 'virtual', 'state')¶
-
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'¶
-
class
sfepy.terms.terms_surface.
ContactSphereTerm
(*args, **kwargs)[source]¶ Small deformation elastic contact sphere term with penetration penalty.
The sphere is given by a centre point
and a radius
. The contact occurs in points that are closer to
than
. In such points, a penetration distance
is computed, and a force
is applied, where
. 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:
.
- Definition
- Call signature
dw_contact_sphere
(material_f, material_c, material_r, virtual, state)
- Arguments
material_f :
material_c :
(special)
material_r :
(special)
virtual :
state :
-
arg_shapes
= {'material_c': '.: D', 'material_f': '1, 2', 'material_r': '.: 1', 'state': 'D', 'virtual': ('D', 'state')}¶
-
arg_types
= ('material_f', 'material_c', 'material_r', 'virtual', 'state')¶
-
geometries
= ['3_4', '3_8']¶
-
get_fargs
(force_pars, centre, radius, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
integration
= 'surface'¶
-
name
= 'dw_contact_sphere'¶
-
class
sfepy.terms.terms_surface.
LinearTractionTerm
(name, arg_str, integral, region, **kwargs)[source]¶ Linear traction forces, where, depending on dimension of ‘material’ argument,
is
for a given scalar pressure,
for a traction vector, and itself for a stress tensor.
The material parameter can have one of the following shapes: 1 or (1, 1), (D, 1), (S, 1). The symmetric tensor storage is used in the last case: in 3D S = 6 and the indices ordered as
, in 2D S = 3 and the indices ordered as
.
- Definition
- Call signature
dw_surface_ltr
(opt_material, virtual)
(opt_material, parameter)
- Arguments
material :
virtual :
-
arg_shapes
= [{'opt_material': 'S, 1', 'virtual': ('D', None), 'parameter': 'D'}, {'opt_material': 'D, 1'}, {'opt_material': '1, 1'}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual'), ('opt_material', 'parameter'))¶
-
integration
= 'surface'¶
-
modes
= ('weak', 'eval')¶
-
name
= 'dw_surface_ltr'¶
-
class
sfepy.terms.terms_surface.
SDSufaceIntegrateTerm
(name, arg_str, integral, region, **kwargs)[source]¶ Sensitivity of scalar traction.
- Definition
- Call signature
d_sd_surface_integrate
(parameter, parameter_mesh_velocity)
- Arguments
parameter :
parameter_mesh_velocity :
-
arg_shapes
= {'parameter': 1, 'parameter_mesh_velocity': 'D'}¶
-
arg_types
= ('parameter', 'parameter_mesh_velocity')¶
-
integration
= 'surface'¶
-
name
= 'd_sd_surface_integrate'¶
-
class
sfepy.terms.terms_surface.
SufaceNormalDotTerm
(name, arg_str, integral, region, **kwargs)[source]¶ “Scalar traction” term, (weak form).
- Definition
- Call signature
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'))¶
-
integration
= 'surface'¶
-
modes
= ('weak', 'eval')¶
-
name
= 'dw_surface_ndot'¶
-
class
sfepy.terms.terms_surface.
SurfaceJumpTerm
(name, arg_str, integral, region, **kwargs)[source]¶ Interface jump condition.
- Definition
- Call signature
dw_jump
(opt_material, virtual, state_1, state_2)
- Arguments
material :
virtual :
state_1 :
state_2 :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': (1, None), 'state_1': 1, 'state_2': 1}, {'opt_material': None}]¶
-
arg_types
= ('opt_material', 'virtual', 'state_1', 'state_2')¶
-
get_fargs
(coef, virtual, state1, state2, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
integration
= 'surface'¶
-
name
= 'dw_jump'¶