sfepy.terms.terms_hyperelastic_tl module¶
-
class
sfepy.terms.terms_hyperelastic_tl.
BulkActiveTLTerm
(*args, **kwargs)[source]¶ Hyperelastic bulk active term. Stress S_{ij} = A J C_{ij}^{-1}, where A is the activation in [0, F_{\rm max}].
Definition: \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})
Call signature: dw_tl_bulk_active (material, virtual, state)
Arguments: - material : A
- virtual : \ul{v}
- state : \ul{u}
-
family_data_names
= ['det_f', 'sym_inv_c']¶
-
name
= 'dw_tl_bulk_active'¶
-
static
stress_function
()¶
-
static
tan_mod_function
()¶
-
class
sfepy.terms.terms_hyperelastic_tl.
BulkPenaltyTLTerm
(*args, **kwargs)[source]¶ Hyperelastic bulk penalty term. Stress S_{ij} = K(J-1)\; J C_{ij}^{-1}.
Definition: \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})
Call signature: dw_tl_bulk_penalty (material, virtual, state)
Arguments: - material : K
- virtual : \ul{v}
- state : \ul{u}
-
family_data_names
= ['det_f', 'sym_inv_c']¶
-
name
= 'dw_tl_bulk_penalty'¶
-
static
stress_function
()¶
-
static
tan_mod_function
()¶
-
class
sfepy.terms.terms_hyperelastic_tl.
BulkPressureTLTerm
(*args, **kwargs)[source]¶ Hyperelastic bulk pressure term. Stress S_{ij} = -p J C_{ij}^{-1}.
Definition: \int_{\Omega} S_{ij}(p) \delta E_{ij}(\ul{u};\ul{v})
Call signature: dw_tl_bulk_pressure (virtual, state, state_p)
Arguments: - virtual : \ul{v}
- state : \ul{u}
- state_p : p
-
arg_shapes
= {'state': 'D', 'state_p': 1, 'virtual': ('D', 'state')}¶
-
arg_types
= ('virtual', 'state', 'state_p')¶
-
family_data_names
= ['det_f', 'sym_inv_c']¶
-
get_eval_shape
(virtual, state, state_p, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
name
= 'dw_tl_bulk_pressure'¶
-
static
stress_function
()¶
-
static
tan_mod_u_function
()¶
-
static
weak_dp_function
()¶
-
static
weak_function
()¶
-
class
sfepy.terms.terms_hyperelastic_tl.
DiffusionTLTerm
(*args, **kwargs)[source]¶ Diffusion term in the total Lagrangian formulation with linearized deformation-dependent permeability \ull{K}(\ul{u}) = J \ull{F}^{-1} \ull{k} f(J) \ull{F}^{-T}, where \ul{u} relates to the previous time step (n-1) and f(J) = \max\left(0, \left(1 + \frac{(J - 1)}{N_f}\right)\right)^2 expresses the dependence on volume compression/expansion.
Definition: \int_{\Omega} \ull{K}(\ul{u}^{(n-1)}) : \pdiff{q}{\ul{X}} \pdiff{p}{\ul{X}}
Call signature: dw_tl_diffusion (material_1, material_2, virtual, state, parameter)
Arguments: - material_1 : \ull{k}
- material_2 : N_f
- virtual : q
- state : p
- parameter : \ul{u}^{(n-1)}
-
arg_shapes
= {'material_1': 'D, D', 'material_2': '1, 1', 'parameter': 'D', 'state': 1, 'virtual': (1, 'state')}¶
-
arg_types
= ('material_1', 'material_2', 'virtual', 'state', 'parameter')¶
-
family_data_names
= ['mtx_f', 'det_f']¶
-
static
function
()¶
-
get_eval_shape
(perm, ref_porosity, virtual, state, parameter, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
get_fargs
(perm, ref_porosity, virtual, state, parameter, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
name
= 'dw_tl_diffusion'¶
-
class
sfepy.terms.terms_hyperelastic_tl.
HyperElasticSurfaceTLBase
(*args, **kwargs)[source]¶ Base class for all hyperelastic surface terms in TL formulation family.
-
get_family_data
= HyperElasticSurfaceTLFamilyData¶
-
-
class
sfepy.terms.terms_hyperelastic_tl.
HyperElasticSurfaceTLFamilyData
(**kwargs)[source]¶ Family data for TL formulation applicable for surface terms.
-
cache_name
= 'tl_surface_common'¶
-
data_names
= ('mtx_f', 'det_f', 'inv_f')¶
-
static
family_function
()¶
-
-
class
sfepy.terms.terms_hyperelastic_tl.
HyperElasticTLBase
(*args, **kwargs)[source]¶ Base class for all hyperelastic terms in TL formulation family.
The subclasses should have the following static method attributes: - stress_function() (the stress) - tan_mod_function() (the tangent modulus)
The common (family) data are cached in the evaluate cache of state variable.
-
get_family_data
= HyperElasticTLFamilyData¶
-
hyperelastic_mode
= 0¶
-
static
weak_function
()¶
-
-
class
sfepy.terms.terms_hyperelastic_tl.
HyperElasticTLFamilyData
(**kwargs)[source]¶ Family data for TL formulation.
-
cache_name
= 'tl_common'¶
-
data_names
= ('mtx_f', 'det_f', 'sym_c', 'tr_c', 'in2_c', 'sym_inv_c', 'green_strain')¶
-
static
family_function
()¶
-
-
class
sfepy.terms.terms_hyperelastic_tl.
MooneyRivlinTLTerm
(*args, **kwargs)[source]¶ Hyperelastic Mooney-Rivlin term. Effective stress S_{ij} = \kappa J^{-\frac{4}{3}} (C_{kk} \delta_{ij} - C_{ij} - \frac{2}{3 } I_2 C_{ij}^{-1}).
Definition: \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})
Call signature: dw_tl_he_mooney_rivlin (material, virtual, state)
Arguments: - material : \kappa
- virtual : \ul{v}
- state : \ul{u}
-
family_data_names
= ['det_f', 'tr_c', 'sym_inv_c', 'sym_c', 'in2_c']¶
-
name
= 'dw_tl_he_mooney_rivlin'¶
-
static
stress_function
()¶
-
static
tan_mod_function
()¶
-
class
sfepy.terms.terms_hyperelastic_tl.
NeoHookeanTLTerm
(*args, **kwargs)[source]¶ Hyperelastic neo-Hookean term. Effective stress S_{ij} = \mu J^{-\frac{2}{3}}(\delta_{ij} - \frac{1}{3}C_{kk}C_{ij}^{-1}).
Definition: \int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})
Call signature: dw_tl_he_neohook (material, virtual, state)
Arguments: - material : \mu
- virtual : \ul{v}
- state : \ul{u}
-
family_data_names
= ['det_f', 'tr_c', 'sym_inv_c']¶
-
name
= 'dw_tl_he_neohook'¶
-
static
stress_function
()¶
-
static
tan_mod_function
()¶
-
class
sfepy.terms.terms_hyperelastic_tl.
SurfaceFluxTLTerm
(*args, **kwargs)[source]¶ Surface flux term in the total Lagrangian formulation, consistent with
DiffusionTLTerm
.Definition: \int_{\Gamma} \ul{\nu} \cdot \ull{K}(\ul{u}^{(n-1)}) \pdiff{p}{\ul{X}}
Call signature: d_tl_surface_flux (material_1, material_2, parameter_1, parameter_2)
Arguments: - material_1 : \ull{k}
- material_2 : N_f
- parameter_1 : p
- parameter_2 : \ul{u}^{(n-1)}
-
arg_shapes
= {'material_1': 'D, D', 'material_2': '1, 1', 'parameter_1': 1, 'parameter_2': 'D'}¶
-
arg_types
= ('material_1', 'material_2', 'parameter_1', 'parameter_2')¶
-
family_data_names
= ['det_f', 'inv_f']¶
-
static
function
()¶
-
get_eval_shape
(perm, ref_porosity, pressure, displacement, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
get_fargs
(perm, ref_porosity, pressure, displacement, mode=None, term_mode=None, diff_var=None, **kwargs)[source]¶
-
integration
= 'surface_extra'¶
-
name
= 'd_tl_surface_flux'¶
-
class
sfepy.terms.terms_hyperelastic_tl.
SurfaceTractionTLTerm
(*args, **kwargs)[source]¶ Surface traction term in the total Lagrangian formulation, expressed using \ul{\nu}, the outward unit normal vector w.r.t. the undeformed surface, \ull{F}(\ul{u}), the deformation gradient, J = \det(\ull{F}), and \ull{\sigma} a given traction, often equal to a given pressure, i.e. \ull{\sigma} = \pi \ull{I}.
Definition: \int_{\Gamma} \ul{\nu} \cdot \ull{F}^{-1} \cdot \ull{\sigma} \cdot \ul{v} J
Call signature: dw_tl_surface_traction (opt_material, virtual, state)
Arguments: - material : \ull{\sigma}
- virtual : \ul{v}
- state : \ul{u}
-
arg_shapes
= [{'opt_material': 'D, D', 'virtual': ('D', 'state'), 'state': 'D'}, {'opt_material': None}]¶
-
arg_types
= ('opt_material', 'virtual', 'state')¶
-
family_data_names
= ['det_f', 'inv_f']¶
-
static
function
()¶
-
integration
= 'surface_extra'¶
-
name
= 'dw_tl_surface_traction'¶
-
class
sfepy.terms.terms_hyperelastic_tl.
VolumeSurfaceTLTerm
(*args, **kwargs)[source]¶ Volume of a D-dimensional domain, using a surface integral in the total Lagrangian formulation, expressed using \ul{\nu}, the outward unit normal vector w.r.t. the undeformed surface, \ull{F}(\ul{u}), the deformation gradient, and J = \det(\ull{F}). Uses the approximation of \ul{u} for the deformed surface coordinates \ul{x}.
Definition: 1 / D \int_{\Gamma} \ul{\nu} \cdot \ull{F}^{-1} \cdot \ul{x} J
Call signature: d_tl_volume_surface (parameter)
Arguments: - parameter : \ul{u}
-
arg_shapes
= {'parameter': 'D'}¶
-
arg_types
= ('parameter',)¶
-
family_data_names
= ['det_f', 'inv_f']¶
-
static
function
()¶
-
integration
= 'surface_extra'¶
-
name
= 'd_tl_volume_surface'¶
-
class
sfepy.terms.terms_hyperelastic_tl.
VolumeTLTerm
(*args, **kwargs)[source]¶ Volume term (weak form) in the total Lagrangian formulation.
Definition: \begin{array}{l} \int_{\Omega} q J(\ul{u}) \\ \mbox{volume mode: vector for } K \from \Ical_h: \int_{T_K} J(\ul{u}) \\ \mbox{rel\_volume mode: vector for } K \from \Ical_h: \int_{T_K} J(\ul{u}) / \int_{T_K} 1 \end{array}
Call signature: dw_tl_volume (virtual, state)
Arguments: - virtual : q
- state : \ul{u}
-
arg_shapes
= {'state': 'D', 'virtual': (1, None)}¶
-
arg_types
= ('virtual', 'state')¶
-
family_data_names
= ['mtx_f', 'det_f', 'sym_inv_c']¶
-
static
function
()¶
-
name
= 'dw_tl_volume'¶