# sfepy.terms.terms_fibres module

class sfepy.terms.terms_fibres.FibresActiveTLTerm(*args, **kwargs)

  Hyperelastic active fibres term. Effective stress S_{ij} = A f_{\rm max} \exp{\left\{-(\frac{\epsilon - \varepsilon_{\rm opt}}{s})^2\right\}} d_i d_j, where \epsilon = E_{ij} d_i d_j is the Green strain \ull{E} projected to the fibre direction \ul{d}.

  Definition:

  \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

  Call signature:

  dw_tl_fib_a | `(material_1, material_2, material_3, material_4, material_5, virtual, state)`

  Arguments:

    - material_1 : f_{\rm max}

    - material_2 : \varepsilon_{\rm opt}

    - material_3 : s

    - material_4 : \ul{d}

    - material_5 : A

    - virtual : \ul{v}

    - state : \ul{u}

  arg_shapes = {'material_1': '1, 1', 'material_2': '1, 1', 'material_3': '1, 1', 'material_4': 'D, 1', 'material_5': '1, 1', 'state': 'D', 'virtual': ('D', 'state')}
  arg_types = ('material_1', 'material_2', 'material_3', 'material_4', 'material_5', 'virtual', 'state')
  family_data_names = ['green_strain']
  get_eval_shape(mat1, mat2, mat3, mat4, mat5, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  get_fargs(mat1, mat2, mat3, mat4, mat5, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  name = 'dw_tl_fib_a'
  static stress_function(out, pars, green_strain, fibre_data=None)
  static tan_mod_function(out, pars, green_strain, fibre_data=None)

class sfepy.terms.terms_fibres.FibresExponentialTLTerm(*args, **kwargs)

  Hyperelastic fibres term with an exponential response. Effective stress S_{ij} = \max\left(0, \sigma \left[ \exp{\left\{k (\epsilon - \epsilon_0)\right\}} - 1 \right]\right) d_i d_j, where \epsilon = E_{ij} d_i d_j is the Green strain \ull{E} projected to the fibre direction \ul{d}.

  Definition:

  \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

  Call signature:

  dw_tl_fib_e | `(material_1, material_2, material_3, material_4, virtual, state)`

  Arguments:

    - material_1 : \sigma

    - material_2 : k

    - material_3 : \epsilon_{0}

    - material_4 : \ul{d}

    - virtual : \ul{v}

    - state : \ul{u}

  arg_shapes = {'material_1': '1, 1', 'material_2': '1, 1', 'material_3': '1, 1', 'material_4': 'D, 1', 'state': 'D', 'virtual': ('D', 'state')}
  arg_types = ('material_1', 'material_2', 'material_3', 'material_4', 'virtual', 'state')
  family_data_names = ['green_strain']
  get_eval_shape(mat1, mat2, mat3, mat4, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  get_fargs(mat1, mat2, mat3, mat4, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  name = 'dw_tl_fib_e'
  static stress_function(out, pars, green_strain, fibre_data=None)
  static tan_mod_function(out, pars, green_strain, fibre_data=None)

class sfepy.terms.terms_fibres.FibresSoftPlusExponentialTLTerm(*args, **kwargs)

  Hyperelastic fibres term with an exponential response. Effective stress S_{ij} = \max\left(0, \sigma \left[ e^{k (\epsilon - \epsilon_0)} - 1 \right]\right) d_i d_j, where \epsilon = E_{ij} d_i d_j is the Green strain \ull{E} projected to the fibre direction \ul{d}. The \max is approximated by the softplus function scaled by \alpha, i.e. \frac{1}{\alpha} \log\left(1 + e^{\alpha x}\right).

  Definition:

  \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

  Call signature:

  dw_tl_fib_spe | `(opt_material_0, material_1, material_2, material_3, material_4, virtual, state)`

  Arguments:

    - material_0 : \alpha (default: 50)

    - material_1 : \sigma

    - material_2 : k

    - material_3 : \epsilon_{0}

    - material_4 : \ul{d}

    - virtual : \ul{v}

    - state : \ul{u}

  arg_shapes = [{'material_1': '1, 1', 'material_2': '1, 1', 'material_3': '1, 1', 'material_4': 'D, 1', 'opt_material_0': '.: 1', 'state': 'D', 'virtual': ('D', 'state')}, {'opt_material_0': None}]
  arg_types = ('opt_material_0', 'material_1', 'material_2', 'material_3', 'material_4', 'virtual', 'state')
  family_data_names = ['green_strain']
  get_eval_shape(mat1, mat2, mat3, mat4, mat5, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  get_fargs(mat0, mat1, mat2, mat3, mat4, virtual, state, mode=None, term_mode=None, diff_var=None, **kwargs)
  name = 'dw_tl_fib_spe'
  static stress_function(out, pars, green_strain, fibre_data=None)
  static tan_mod_function(out, pars, green_strain, fibre_data=None)

sfepy.terms.terms_fibres.compute_fibre_strain(green_strain, omega)

  Compute the Green strain projected to the fibre direction.

sfepy.terms.terms_fibres.create_omega(fdir)

  Create the fibre direction tensor \omega_{ij} = d_i d_j.