Operations on Integration Points (interpolation, projection, etc.)#
In this module:
compute_*functions perform the full computation starting from mesh geometry and integration points. They internally re-compute shape functions, Jacobians, and other required quantities.assemble_*functions operate on precomputed quantities (shape functions, Jacobians, weights, etc.) and perform only the final algebraic operation. They are intended for advanced usage and performance-critical workflows.
Description#
The package pysdic provides functions to perform operations for various types of elements used in finite element analysis.
In a space of dimension \(E\) with a mesh constituted of \(N_{e}\) elements and \(N_{v}\) nodes/vertices. The mesh is composed of \(K\)-dimensional elements (with \(K \leq E\)) defined by \(N_{vpe}\) nodes for each element.
The objective of these operations is to interpolate or project values defined at integration points to nodes or other points in space, and vice versa.
If we consider a property \(P\) defined at the vertices of the elements, we can interpolate this property at any point within the element using shape functions:
where \(P\) is the interpolated value at the point, \(N_i\) are the shape functions, and \(P_i\) are the nodal values.
See also
Shape functions collection (1D, 2D) for shape functions definitions and details.
Building operation matrices and precomputed quantities#
In this section:
shape_functionrefers to the computed shape functions values at the integration points with shape \((N_{p}, N_{vpe})\).shape_function_derivativerefers to the computed shape function derivatives at the integration points with shape \((N_{p}, N_{vpe}, K)\) with respect to the natural coordinates.shape_function_matrixrefers to the assembled shape function matrix at the integration points with shape \((N_{p}, N_{v})\).jacobian_matrixrefers to the Jacobian matrix of the transformation from natural coordinates to global coordinates at the integration points with shape \((N_{p}, E, K)\) (ie \(J = \frac{\partial (x, y, z, ...)}{\partial (\xi, \eta, \zeta, ...)}\)).
Assemble the shape function matrix \(\mathcal{N}\) at given integration points within elements with shape \((N_{p}, N_{v})\), from precomputed shape functions values with zero-filling for non-associated nodes/vertices. |
|
Compute and assemble the shape function matrix \(\mathcal{N}\) at given integration points within specified elements with shape \((N_{p}, N_{v})\). |
|
Assemble the Jacobian (derivative) matrix \(J\) of the transformation from natural coordinates \((\xi, \eta, \zeta, ...)\) to global coordinates \((x, y, z, ...)\) with shape \((N_{p}, E, K)\) from precomputed shape function derivatives and remapped vertex coordinates. |
|
Compute and assemble the Jacobian (derivative) matrix \(J\) of the transformation from natural coordinates \((\xi, \eta, \zeta, ...)\) to global coordinates \((x, y, z, ...)\) with shape \((N_{p}, E, K)\) at given integration points within specified elements. |
|
Remap the global coordinates of the vertices to given integration points within elements based on the element connectivity, and the remapped coordinates will have shape \((N_{p}, N_{vpe}, E)\). |
Performing property interpolation, projection, and derivatives at integration points#
In this section:
interpolationrefers to interpolating vertices properties \((N_v, P)\) to integration points \((N_{p}, P)\).projectionrefers to projecting properties defined at integration points \((N_{p}, P)\) back to vertices \((N_v, P)\).derivativerefers to computing the spatial derivatives of properties defined at vertices \((N_v, P)\) at integration points \((N_{p}, \nabla P)\) with respect to the global coordinates.
Interpolate a property defined at the nodes of a mesh to given integration points within elements using precomputed shape functions . |
|
Interpolate a property defined at the nodes of a mesh to given integration points within elements using mesh and integration point information. |
|
Project a property defined at integration points within elements back to the nodes of a mesh using a precomputed shape function matrix. |
|
Project a property defined at integration points within elements back to the nodes of a mesh using mesh and integration point information. |
|
Assemble the derivative of a property defined at the nodes of a mesh to given integration points within elements with respect to global coordinates \((x,y,z,...)\) from precomputed shape function derivatives and Jacobian matrices. |
|
Compute and assemble the derivative of a property defined at the nodes of a mesh to given integration points within elements with respect to global coordinates \((x,y,z,...)\) from mesh and integration point information. |