Class TetrahedralElement
source code
An arbitrary-order tetrahedral finite element.
Coordinate systems used:
unit coordinates (r,s,t):
^ s
|
C
/|\
/ | \
/ | \
/ | \
/ O| \
/ __A-----B---> r
/_--^ ___--^^
,D--^^^
t L
(squint, and it might start making sense...)
Points in unit coordinates:
O=( 0, 0, 0)
A=(-1,-1,-1)
B=(+1,-1,-1)
C=(-1,+1,-1)
D=(-1,-1,+1)
Points in equilateral coordinates (x,y,z):
O = (0,0)
A = (-1,-1/sqrt(3),-1/sqrt(6))
B = ( 1,-1/sqrt(3),-1/sqrt(6))
C = ( 0, 2/sqrt(3),-1/sqrt(6))
D = ( 0, 0, 3/sqrt(6))
When global vertices are passed in, they are mapped to the reference
vertices A, B, C, D in order.
Faces are always ordered ABC, ABD, ACD, BCD.
|
__init__(self,
order)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature |
source code
|
|
|
|
|
faces_for_node_tuple(self,
node_tuple)
Return the list of face indices of faces on which the node
represented by node_tuple lies. |
source code
|
|
|
equilateral_nodes(self)
Generate warped nodes in equilateral coordinates (x,y). |
source code
|
|
|
|
|
|
|
|
|
|
|
get_face_index_shuffle_to_match(self,
face_1_vertices,
face_2_vertices) |
source code
|
|
|
|
Inherited from SimplicialElement :
dt_non_geometric_factor ,
equidistant_barycentric_nodes ,
equidistant_equilateral_nodes ,
equidistant_unit_nodes ,
face_count ,
face_indices ,
face_node_count ,
generate_mode_identifiers ,
node_count ,
unit_nodes ,
vertex_indices
Inherited from Element :
differentiation_matrices ,
find_diff_mat_permutation ,
grad_vandermonde ,
inverse_mass_matrix ,
lifting_matrix ,
mass_matrix ,
multi_face_mass_matrix ,
vandermonde
Inherited from object :
__delattr__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__str__
|
|
barycentric_to_equilateral((lambda1, lambda2, lambda3, lambda4))
Return the equilateral (x,y) coordinate corresponding to the
barycentric coordinates (lambda1..lambdaN). |
source code
|
|
|
dimensions = 3
|
|
has_local_jacobians = False
|
|
equilateral_to_unit = AffineMap(numpy.array([[1,-1/ sqrt(3),-1...
|
x.__init__(...) initializes x; see x.__class__.__doc__ for
signature
- Overrides:
object.__init__
- (inherited documentation)
|
Generate tuples enumerating the node indices present in this element.
Each tuple has a length equal to the dimension of the element. The tuples
constituents are non-negative integers whose sum is less than or equal to
the order of the element.
The order in which these nodes are generated dictates the local node
numbering.
- Decorators:
|
Return a list of tuples of indices into the node list that generate a
tesselation of the reference element.
- Decorators:
|
Get a sequence of functions that form a basis of the approximation
space.
The approximation space is spanned by the polynomials:
r**i * s**j * t**k for i+j+k <= order
- Decorators:
- Overrides:
Element.basis_functions
|
equilateral_to_unit
- Value:
AffineMap(numpy.array([[1,-1/ sqrt(3),-1/ sqrt(6)], [0, 2/ sqrt(3),-1/
sqrt(6)], [0, 0, sqrt(6)/ 2]]), numpy.array([-1/ 2,-1/ 2,-1/ 2]))
|
|