xzFacetBasis
Returns the basis on facets which are parallel to xz-plane.
Interface 1
- ܀ Interface
- ️܀ See example
- ↢
INTERFACE yzFacetBasis_Hexahedron
MODULE PURE FUNCTION yzFacetBasis_Hexahedron1( &
& n1, &
& n2, &
& x, &
& y, &
& z) &
& RESULT(ans)
INTEGER(I4B), INTENT(IN) :: n1
!! order along axis 1 of yz face
INTEGER(I4B), INTENT(IN) :: n2
!! order along axis 2 of yz face
REAL(DFP), INTENT(IN) :: x(:), y(:), z(:)
!! point of evaluation
!! these points should be between [-1, 1].
REAL(DFP) :: ans( &
& SIZE(x), &
& (n1 - 1_I4B) * (n2 - 1_I4B) * 2_I4B)
END FUNCTION yzFacetBasis_Hexahedron1
END INTERFACE yzFacetBasis_Hexahedron
n1, n2
These are order of approximations along the x
and z
axis.
x
x
coordinate of all points.
y
y
coordinate of all points.
z
z
coordinate of all points.
PROGRAM main
USE easifemBase
USE easifemClasses
IMPLICIT NONE
REAL(DFP), ALLOCATABLE :: xxx(:, :, :), yyy(:, :, :), zzz(:, :, :), &
& x(:), y(:), z(:), basisValue(:, :), val(:, :, :)
TYPE(VTKPlot_) :: avtk
TYPE(string) :: label(2)
INTEGER(I4B) :: ii
x = linspace(-1.0_DFP, 1.0_DFP, 11)
y = linspace(-1.0_DFP, 1.0_DFP, 11)
z = linspace(-1.0_DFP, 1.0_DFP, 11)
CALL MeshGrid(xxx, yyy, zzz, x, y, z)
x = RESHAPE(xxx, [SIZE(xxx)])
y = RESHAPE(yyy, [SIZE(yyy)])
z = RESHAPE(zzz, [SIZE(zzz)])
basisValue = FacetBasis_Hexahedron(2, 2, x, y, z, dim1=1_I4B, dim2=3_I4B)
DO ii = 1, SIZE(label)
label(ii) = tostring(ii)
END DO
CALL avtk%Plot(xxx, yyy, zzz, basisValue, label, "xzFacetBasis.vts")
END PROGRAM main