fedoo.lib_elements.CombinedElement
- class CombinedElement(name, base_elm, **kargs)
Element type whose variables may use different interpolations.
The base element is used for the geometry and, by default, for every variable.
set_variable_interpolation()assigns another element to one variable, typically a lower-order element built on the vertex nodes of the base element. The classical use is a Taylor-Hood pair, quadratic displacement and linear pressure, which satisfies the inf-sup (LBB) condition of mixed and undrained poromechanical formulations.The new element type is registered globally under
namewhen the object is created: create it before the assembly and passnameaselm_typetofedoo.Assembly.create(). The mesh keeps the element type of the base element. Creating another combined element with the same name replaces the previous one.- Parameters:
name (str) – Name of the new element type.
base_elm (str or element class) – Element used for the geometry and for the variables without a specific interpolation, e.g.
"hex20".**kargs – Advanced options:
default_n_gp(number of integration points, default that ofbase_elm),n_nodes,local_csys,dict_elm_typeandassociated_variables.
Notes
The DOFs of a variable on nodes that its interpolation does not use (mid-side nodes for a linear pressure on a quadratic mesh) carry no physical value.
Examples
Quadratic displacement with a linear pore pressure:
>>> import fedoo as fd >>> fd.ModelingSpace("3D") >>> elm = fd.lib_elements.CombinedElement("hex20lbb", "hex20") >>> elm.set_variable_interpolation("PorePressure", "hex8") >>> # assembly = fd.Assembly.create(wf, mesh_hex20, elm_type="hex20lbb")
- __init__(name, base_elm, **kargs)
Methods
Return the set of elements used by the variables, base included.
CombinedElement.get_elm_type(variable_name)Return the element interpolating
variable_name.Use a specific element to interpolate one variable.