# sfepy.terms.terms_membrane module

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

  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_a1': '1, 1', 'material_a2': '1, 1', 'material_h0': '1, 1', 'state': 'D', '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)
  static function(out, fun, *args)

    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)
  get_fargs(a1, a2, h0, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  integration = 'facet'
  name = 'dw_tl_membrane'
  static weak_function(out, a1, a2, h0, mtx_c, c33, mtx_b, mtx_t, bfg, geo, fmode)

sfepy.terms.terms_membrane.eval_membrane_mooney_rivlin(a1, a2, mtx_c, c33, mode)

  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.