# sfepy.terms.terms_biot module

class sfepy.terms.terms_biot.BiotETHTerm(name, arg_str, integral, region, **kwargs)

  This term has the same definition as dw_biot_th, but assumes an exponential approximation of the convolution kernel resulting in much higher efficiency. Can use derivatives.

  Definition:

  \begin{array}{l} \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau)\,p(\tau)) \difd{\tau} \right]\,e_{ij}(\ul{v}) \mbox{ ,} \\ \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau) e_{kl}(\ul{u}(\tau)) \difd{\tau} \right] q \end{array}

  Call signature:

  dw_biot_eth | `(ts, material_0, material_1, virtual, state)`
  | `(ts, material_0, material_1, state, virtual)`

  Arguments 1:

    - ts : `TimeStepper` instance

    - material_0 : \alpha_{ij}(0)

    - material_1 : \exp(-\lambda \Delta t) (decay at t_1)

    - virtual : \ul{v}

    - state : p

  Arguments 2:

    - ts : `TimeStepper` instance

    - material_0 : \alpha_{ij}(0)

    - material_1 : \exp(-\lambda \Delta t) (decay at t_1)

    - state : \ul{u}

    - virtual : q

  arg_shapes = {'material_0': 'S, 1', 'material_1': '1, 1', 'state/div': 'D', 'state/grad': 1, 'virtual/div': (1, None), 'virtual/grad': ('D', None)}
  arg_types = (('ts', 'material_0', 'material_1', 'virtual', 'state'), ('ts', 'material_0', 'material_1', 'state', 'virtual'))
  get_fargs(ts, mat0, mat1, vvar, svar, mode=None, term_mode=None, diff_var=None, **kwargs)
  modes = ('grad', 'div')
  name = 'dw_biot_eth'

class sfepy.terms.terms_biot.BiotStressTerm(name, arg_str, integral, region, **kwargs)

  Evaluate Biot stress tensor.

  It is given in the usual vector form exploiting symmetry: in 3D it has 6 components with the indices ordered as [11, 22, 33, 12, 13, 23], in 2D it has 3 components with the indices ordered as [11, 22, 12].

  Supports ‘eval’, ‘el_avg’ and ‘qp’ evaluation modes.

  Definition:

  - \int_{\Omega} \alpha_{ij} p

  Call signature:

  ev_biot_stress | `(material, parameter)`

  Arguments:

    - material : \alpha_{ij}

    - parameter : p

  arg_shapes = {'material': 'S, 1', 'parameter': 1}
  arg_types = ('material', 'parameter')
  static function(out, val_qp, mat, vg, fmode)
  get_fargs(mat, parameter, mode=None, term_mode=None, diff_var=None, **kwargs)
  integration = 'cell'
  name = 'ev_biot_stress'

class sfepy.terms.terms_biot.BiotTHTerm(name, arg_str, integral, region, **kwargs)

  Fading memory Biot term. Can use derivatives.

  Definition:

  \begin{array}{l} \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau)\,p(\tau)) \difd{\tau} \right]\,e_{ij}(\ul{v}) \mbox{ ,} \\ \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau) e_{kl}(\ul{u}(\tau)) \difd{\tau} \right] q \end{array}

  Call signature:

  dw_biot_th | `(ts, material, virtual, state)`
  | `(ts, material, state, virtual)`

  Arguments 1:

    - ts : `TimeStepper` instance

    - material : \alpha_{ij}(\tau)

    - virtual : \ul{v}

    - state : p

  Arguments 2:

    - ts : `TimeStepper` instance

    - material : \alpha_{ij}(\tau)

    - state : \ul{u}

    - virtual : q

  arg_shapes = {'material': '.: N, S, 1', 'state/div': 'D', 'state/grad': 1, 'virtual/div': (1, None), 'virtual/grad': ('D', None)}
  arg_types = (('ts', 'material', 'virtual', 'state'), ('ts', 'material', 'state', 'virtual'))
  get_fargs(ts, mats, vvar, svar, mode=None, term_mode=None, diff_var=None, **kwargs)
  modes = ('grad', 'div')
  name = 'dw_biot_th'

class sfepy.terms.terms_biot.BiotTerm(name, arg_str, integral, region, **kwargs)

  Biot coupling term with \alpha_{ij} given in:

  - vector form exploiting symmetry - in 3D it has the indices ordered as [11, 22, 33, 12, 13, 23], in 2D it has the indices ordered as [11, 22, 12],

  - matrix form - non-symmetric coupling parameter.

  Corresponds to weak forms of Biot gradient and divergence terms. Can be evaluated. Can use derivatives.

  Definition:

  \int_{\Omega} p\ \alpha_{ij} e_{ij}(\ul{v}) \mbox{ , } \int_{\Omega} q\ \alpha_{ij} e_{ij}(\ul{u})

  Call signature:

  dw_biot | `(material, virtual, state)`
  | `(material, state, virtual)`
  | `(material, parameter_v, parameter_s)`

  Arguments 1:

    - material : \alpha_{ij}

    - virtual : \ul{v}

    - state : p

  Arguments 2:

    - material : \alpha_{ij}

    - state : \ul{u}

    - virtual : q

  Arguments 3:

    - material : \alpha_{ij}

    - parameter_v : \ul{u}

    - parameter_s : p

  arg_shapes = [{'material': 'S, 1', 'parameter_s': 1, 'parameter_v': 'D', 'state/div': 'D', 'state/grad': 1, 'virtual/div': (1, None), 'virtual/grad': ('D', None)}, {'material': 'D, D'}]
  arg_types = (('material', 'virtual', 'state'), ('material', 'state', 'virtual'), ('material', 'parameter_v', 'parameter_s'))
  get_eval_shape(mat, vvar, svar, mode=None, term_mode=None, diff_var=None, **kwargs)
  get_fargs(mat, vvar, svar, mode=None, term_mode=None, diff_var=None, **kwargs)
  modes = ('grad', 'div', 'eval')
  name = 'dw_biot'
  set_arg_types()