sfepy.terms.terms_membrane module

class sfepy.terms.terms_membrane.TLMembraneTerm(*args, **kwargs)[source]

Mooney-Rivlin membrane with plain stress assumption.

The membrane has a uniform initial thickness h_0 and obeys a hyperelastic material law with strain energy by Mooney-Rivlin: \Psi
= a_1 (I_1 - 3) + a_2 (I_2 - 3).

Call signature:
dw_tl_membrane (material_a1, material_a2, material_h0, virtual, state)
Arguments:
  • material_a1 : a_1
  • material_a2 : a_2
  • material_h0 : h_0
  • virtual : \ul{v}
  • state : \ul{u}
arg_shapes = {‘material_a2’: ‘1, 1’, ‘state’: ‘D’, ‘material_a1’: ‘1, 1’, ‘material_h0’: ‘1, 1’, ‘virtual’: (‘D’, ‘state’)}
arg_types = (‘material_a1’, ‘material_a2’, ‘material_h0’, ‘virtual’, ‘state’)
static eval_function(out, a1, a2, h0, mtx_c, c33, mtx_b, mtx_t, geo, term_mode, fmode)[source]
static function(out, fun, *args)[source]

Notes

fun is either weak_function or eval_function according to evaluation mode.

geometries = [‘3_4’, ‘3_8’]
get_eval_shape(a1, a2, h0, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
get_fargs(a1, a2, h0, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)[source]
integration = ‘surface’
name = ‘dw_tl_membrane’
static weak_function(out, a1, a2, h0, mtx_c, c33, mtx_b, mtx_t, bfg, geo, fmode)[source]
sfepy.terms.terms_membrane.eval_membrane_mooney_rivlin(a1, a2, mtx_c, c33, mode)[source]

Evaluate stress or tangent stiffness of the Mooney-Rivlin membrane.

[1] Baoguo Wu, Xingwen Du and Huifeng Tan: A three-dimensional FE nonlinear analysis of membranes, Computers & Structures 59 (1996), no. 4, 601–605.