GradHex8TransfiniteMap: Compute the gradient of the transfinite mapping
for a hex8 element
corners = the 8 corners in standard FE orientation u = computational space variable (Xi, Eta, Zeta) in [-1,1] grad_x = physical space gradient grad_x(1,:) = (x_Xi, x_Eta, x_Zeta), etc., i.e. grad_x(i,j) = dx_(i)/dXi_(j)
<
GeneralHexTransfiniteMap: Given the six faces and four corners of a hex
element, and
cornerPoints = the 8 corners in standard FE orientation faceData = Interpolation data that defines a face. u = Computational space variable (u, v, w) in [-1,1] x = Physical space location
<
ComputeHexTransfiniteMap: Given the six faces and four corners of a hex
element, and
Compute the transfinite mapping for a general hex element
xi = computational space variable (Xi, Zeta, Eta) in [0,1]
x = resultant physical space variable (x, y, z)
face = face interpolant location for appropriate local face coordinate
edge = edge interpolant location for appropriate edge coordinate
corners = The 8 corners in standard FE format
<
GradGeneralHexTransfiniteMap: Given the six faces and four cornerss of a
hex element,
and a computational point xi, return the jacouan matrix
grad_x = d x_i/d Xi_j
u = computational space variable (xi, eta, zeta) in [-1,1] grad_x = physical space gradient grad_x(:,1) = (x_Xi, x_Eta, x_Zeta), etc. cornerPoints = the 8 corners in standard fe format faceData = interpolant data for the 6 faces
<
ComputeGradHexTransfiniteMap: Compute the gradient for a general hex
element after the incoming face data has
been processed.
xi = computational space variable (Xi, Eta, Zeta) in [0,1] grad_x(1,:) = (x_Xi, x_Eta, x_Zeta), etc., i.e. grad_x(i,j) = dx_(i)/dXi_(j)
face = face interpolant location for appropriate local face coordinate
faceDer = face interpolant derivatives for appropriate local face
coordinate
edge = edge interpolant location for appropriate edge coordinate
edgeDer = edge interpolant derivative for appropriate edge coordinate
corners = The 8 corners in standard fe format
<
GeneralHexGradAndMap: Given the six faces and four cornerss of a
hex element, and a computational point xi, return physical space location
and the jacouan matrix grad_x = d x_i/d Xi_j
xi = computational space variable (X, Y, Z) grad_x = physical space gradient grad_x(:,1) = (x_Xi, x_Eta, x_Zeta), etc. cornerPoints = the 8 corners in standard fe format faceData = interpolant data for the 6 faces
<
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=RP), | public, | DIMENSION(3,8) | :: | corners | |||
type(FacePatch), | public, | DIMENSION(:), ALLOCATABLE | :: | faces |
procedure, public :: constructWithCorners | |
procedure, public :: constructWithFaces | |
procedure, public :: destruct => destructTransfiniteHexMap | |
procedure, public :: transfiniteMapAt | |
procedure, public :: metricDerivativesAt | |
procedure, public :: isHex8 | |
procedure, public :: setCorners |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=RP), | intent(in), | DIMENSION(3) | :: | u | ||
real(kind=RP), | intent(out), | DIMENSION(3) | :: | x | ||
real(kind=RP), | intent(in), | DIMENSION(3,8) | :: | corners |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=RP), | intent(in), | DIMENSION(3) | :: | u | ||
real(kind=RP), | intent(out), | DIMENSION(3,3) | :: | grad_x | ||
real(kind=RP), | intent(in), | DIMENSION(3, 8) | :: | corners |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=RP), | intent(in), | DIMENSION(3) | :: | u | ||
real(kind=RP), | intent(out), | DIMENSION(3) | :: | x | ||
real(kind=RP), | intent(in), | DIMENSION(3,8) | :: | cornerPoints | ||
type(FacePatch), | intent(in), | DIMENSION(6) | :: | faceData |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=RP), | DIMENSION(3) | :: | u | |||
real(kind=RP), | DIMENSION(3,3) | :: | grad_x | |||
real(kind=RP), | DIMENSION(3,8) | :: | cornerPoints | |||
type(FacePatch), | DIMENSION(6) | :: | faceData |