sfepy.terms.terms_multilinear module¶
-
class
sfepy.terms.terms_multilinear.
ECauchyStressTerm
(*args, **kwargs)[source]¶ Evaluate Cauchy stress tensor.
It is given in the usual vector form exploiting symmetry: in 3D it has 6 components with the indices ordered as
, in 2D it has 3 components with the indices ordered as
.
- Definition
- Call signature
de_cauchy_stress
(material, parameter)
- Arguments
material :
parameter :
-
arg_shapes
= {'material': 'S, S', 'parameter': 'D'}¶
-
arg_types
= ('material', 'parameter')¶
-
name
= 'de_cauchy_stress'¶
-
class
sfepy.terms.terms_multilinear.
EConvectTerm
(*args, **kwargs)[source]¶ Nonlinear convective term.
- Definition
- Call signature
de_convect
(virtual, state)
- Arguments
virtual :
state :
-
arg_shapes
= {'state': 'D', 'virtual': ('D', 'state')}¶
-
arg_types
= ('virtual', 'state')¶
-
name
= 'de_convect'¶
-
class
sfepy.terms.terms_multilinear.
EDivGradTerm
(*args, **kwargs)[source]¶ Vector field diffusion term.
- Definition
- Call signature
de_div_grad
(opt_material, virtual, state)
(opt_material, parameter_1, parameter_2)
- Arguments 1
material :
(viscosity, optional)
virtual :
state :
- Arguments 2
material :
(viscosity, optional)
parameter_1 :
parameter_2 :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': ('D', 'state'), 'state': 'D', 'parameter_1': 'D', 'parameter_2': 'D'}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual', 'state'), ('opt_material', 'parameter_1', 'parameter_2'))¶
-
modes
= ('weak', 'eval')¶
-
name
= 'de_div_grad'¶
-
class
sfepy.terms.terms_multilinear.
EDivTerm
(*args, **kwargs)[source]¶ Weighted divergence term.
- Definition
- Call signature
de_div
(opt_material, virtual)
(opt_material, parameter)
- Arguments 1
material :
(optional)
virtual :
- Arguments 2
material :
(optional)
parameter :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': ('D', None), 'parameter': 'D'}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual'), ('opt_material', 'parameter'))¶
-
modes
= ('weak', 'eval')¶
-
name
= 'de_div'¶
-
class
sfepy.terms.terms_multilinear.
EIntegrateVolumeOperatorTerm
(*args, **kwargs)[source]¶ Volume integral of a test function weighted by a scalar function
.
- Definition
- Call signature
de_volume_integrate
(opt_material, virtual)
- Arguments
material :
(optional)
virtual :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': (1, None)}, {'opt_material': None}]¶
-
arg_types
= ('opt_material', 'virtual')¶
-
name
= 'de_volume_integrate'¶
-
class
sfepy.terms.terms_multilinear.
ELaplaceTerm
(*args, **kwargs)[source]¶ Laplace term with
coefficient. Can be evaluated. Can use derivatives.
- Definition
- Call signature
de_laplace
(opt_material, virtual, state)
(opt_material, parameter_1, parameter_2)
- Arguments 1
material :
virtual :
state :
- Arguments 2
material :
parameter_1 :
parameter_2 :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': (1, 'state'), 'state': 1, 'parameter_1': 1, 'parameter_2': 1}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual', 'state'), ('opt_material', 'parameter_1', 'parameter_2'))¶
-
modes
= ('weak', 'eval')¶
-
name
= 'de_laplace'¶
-
class
sfepy.terms.terms_multilinear.
ELinearElasticTerm
(*args, **kwargs)[source]¶ General linear elasticity term, with
given in the usual matrix form exploiting symmetry: in 3D it is
with the indices ordered as
, in 2D it is
with the indices ordered as
.
- Definition
- Call signature
de_lin_elastic
(material, virtual, state)
(material, parameter_1, parameter_2)
- Arguments 1
material :
virtual :
state :
- Arguments 2
material :
parameter_1 :
parameter_2 :
-
arg_shapes
= {'material': 'S, S', 'parameter_1': 'D', 'parameter_2': 'D', 'state': 'D', 'virtual': ('D', 'state')}¶
-
arg_types
= (('material', 'virtual', 'state'), ('material', 'parameter_1', 'parameter_2'))¶
-
modes
= ('weak', 'eval')¶
-
name
= 'de_lin_elastic'¶
-
class
sfepy.terms.terms_multilinear.
ENonPenetrationPenaltyTerm
(*args, **kwargs)[source]¶ Non-penetration condition in the weak sense using a penalty.
- Definition
- Call signature
de_non_penetration_p
(material, virtual, state)
- Arguments
material :
virtual :
state :
-
arg_shapes
= {'material': '1, 1', 'state': 'D', 'virtual': ('D', 'state')}¶
-
arg_types
= ('material', 'virtual', 'state')¶
-
integration
= 'surface'¶
-
name
= 'de_non_penetration_p'¶
-
class
sfepy.terms.terms_multilinear.
EScalarDotMGradScalarTerm
(*args, **kwargs)[source]¶ Volume dot product of a scalar gradient dotted with a material vector with a scalar.
- Definition
- Call signature
de_s_dot_mgrad_s
(material, virtual, state)
(material, state, virtual)
- Arguments 1
material :
virtual :
state :
- Arguments 2
material :
state :
virtual :
-
arg_shapes
= [{'material': 'D, 1', 'virtual/grad_state': (1, None), 'state/grad_state': 1, 'virtual/grad_virtual': (1, None), 'state/grad_virtual': 1}]¶
-
arg_types
= (('material', 'virtual', 'state'), ('material', 'state', 'virtual'))¶
-
modes
= ('grad_state', 'grad_virtual')¶
-
name
= 'de_s_dot_mgrad_s'¶
-
class
sfepy.terms.terms_multilinear.
EStokesTerm
(*args, **kwargs)[source]¶ Stokes problem coupling term. Corresponds to weak forms of gradient and divergence terms.
- Definition
- Call signature
de_stokes
(opt_material, virtual, state)
(opt_material, state, virtual)
(opt_material, parameter_v, parameter_s)
- Arguments 1
material :
(optional)
virtual :
state :
- Arguments 2
material :
(optional)
state :
virtual :
- Arguments 3
material :
(optional)
parameter_v :
parameter_s :
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual/grad': ('D', None), 'state/grad': 1, 'virtual/div': (1, None), 'state/div': 'D', 'parameter_v': 'D', 'parameter_s': 1}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual', 'state'), ('opt_material', 'state', 'virtual'), ('opt_material', 'parameter_v', 'parameter_s'))¶
-
modes
= ('grad', 'div', 'eval')¶
-
name
= 'de_stokes'¶
-
class
sfepy.terms.terms_multilinear.
ESurfaceDotTerm
(*args, **kwargs)[source]¶ Surface
dot product for both scalar and vector fields.
- Definition
- Call signature
de_surface_dot
(opt_material, virtual, state)
(opt_material, parameter_1, parameter_2)
- Arguments 1
material :
or
(optional)
virtual :
or
state :
or
- Arguments 2
material :
or
(optional)
parameter_1 :
or
parameter_2 :
or
-
integration
= 'surface'¶
-
name
= 'de_surface_dot'¶
-
class
sfepy.terms.terms_multilinear.
ETermBase
(*args, **kwargs)[source]¶ Reserved letters:
c .. cells q .. quadrature points d-h .. DOFs axes r-z .. auxiliary axes
Layout specification letters:
c .. cells q .. quadrature points v .. variable component - matrix form (v, d) -> vector v*d g .. gradient component d .. local DOF (basis, node) 0 .. all material axes
-
can_backend
= {'dask_single': <module 'dask.array' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/dask/array/__init__.py'>, 'dask_threads': <module 'dask.array' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/dask/array/__init__.py'>, 'jax': <module 'jax.numpy' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/jax/numpy/__init__.py'>, 'jax_vmap': <module 'jax.numpy' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/jax/numpy/__init__.py'>, 'numpy': <module 'numpy' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/numpy/__init__.py'>, 'numpy_loop': <module 'numpy' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/numpy/__init__.py'>, 'numpy_qloop': <module 'numpy' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/numpy/__init__.py'>, 'opt_einsum': <module 'opt_einsum' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/opt_einsum/__init__.py'>, 'opt_einsum_dask_single': <module 'dask.array' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/dask/array/__init__.py'>, 'opt_einsum_dask_threads': <module 'dask.array' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/dask/array/__init__.py'>, 'opt_einsum_loop': <module 'opt_einsum' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/opt_einsum/__init__.py'>, 'opt_einsum_qloop': <module 'opt_einsum' from '/home/eldaran/miniconda3/lib/python3.8/site-packages/opt_einsum/__init__.py'>}¶
-
layout_letters
= 'cqgvd0'¶
-
verbosity
= 0¶
-
-
class
sfepy.terms.terms_multilinear.
EVolumeDotTerm
(*args, **kwargs)[source]¶ Volume
weighted dot product for both scalar and vector fields. Can be evaluated. Can use derivatives.
- Definition
- Call signature
de_volume_dot
(opt_material, virtual, state)
(opt_material, parameter_1, parameter_2)
- Arguments 1
material :
or
(optional)
virtual :
or
state :
or
- Arguments 2
material :
or
(optional)
parameter_1 :
or
parameter_2 :
or
-
arg_shapes
= [{'opt_material': '1, 1', 'virtual': (1, 'state'), 'state': 1, 'parameter_1': 1, 'parameter_2': 1}, {'opt_material': None}, {'opt_material': '1, 1', 'virtual': ('D', 'state'), 'state': 'D', 'parameter_1': 'D', 'parameter_2': 'D'}, {'opt_material': 'D, D'}, {'opt_material': None}]¶
-
arg_types
= (('opt_material', 'virtual', 'state'), ('opt_material', 'parameter_1', 'parameter_2'))¶
-
modes
= ('weak', 'eval')¶
-
name
= 'de_volume_dot'¶