ply_nodes_module Module

Description of point sets.


Uses

  • module~~ply_nodes_module~~UsesGraph module~ply_nodes_module ply_nodes_module module~aotus_module aotus_module module~ply_nodes_module->module~aotus_module fftw_wrap fftw_wrap module~ply_nodes_module->fftw_wrap module~tem_aux_module tem_aux_module module~ply_nodes_module->module~tem_aux_module module~ply_nodes_header_module ply_nodes_header_module module~ply_nodes_module->module~ply_nodes_header_module module~env_module env_module module~ply_nodes_module->module~env_module module~ply_nodeset_module ply_nodeset_module module~ply_nodes_module->module~ply_nodeset_module module~ply_nodes_header_module->module~env_module module~ply_nodeset_module->module~env_module module~tem_param_module tem_param_module module~ply_nodeset_module->module~tem_param_module

Used by

  • module~~ply_nodes_module~~UsedByGraph module~ply_nodes_module ply_nodes_module module~ply_poly_project_module ply_poly_project_module module~ply_poly_project_module->module~ply_nodes_module

Contents


Derived Types

type, public :: ply_faceNodes_type

Datatype to represent facewise nodes

Components

TypeVisibilityAttributesNameInitial
integer, private :: nquadPoints

The number of face nodes

real(kind=rk), private, allocatable:: points(:,:)

The face nodes. First index goes from 1 to nPoints and second index from 1 to 3 for the 3 spatial coordinates.


Subroutines

public subroutine ply_nodes_create(me, nodes, faces, nQuadPointsPerDir, ndims)

Initialize points with the Chebyshev quadrature points, 3D

Arguments

TypeIntentOptionalAttributesName
type(ply_nodes_header_type), intent(in) :: me
real(kind=rk), intent(out), allocatable:: nodes(:,:)
type(ply_faceNodes_type), intent(out), allocatable:: faces(:,:)
integer, intent(in) :: nQuadPointsPerDir
integer, intent(in) :: ndims

private subroutine ply_nodes_volume_coords(num_intp_per_direction, nDims, nodeset, points)

Create multidimensional points from given 1D set of nodes in the cubic reference element.

Read more…

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: num_intp_per_direction

Number auf integration points in each direction.

integer, intent(in) :: nDims

Number of dimensions to create the points for.

procedure(ply_nodeset_coords) :: nodeset

Set of node coordinates to use in the element.

real(kind=rk), intent(out), allocatable:: points(:,:)

Resulting list of points. First index runs over all points, second indicates the coordinate dimension (x=1,y=2,z=3).

For ndims smaller than 3, the higher dimensions will be set to 0.

private subroutine ply_nodes_surface_coords(num_intp_per_direction, ndims, nodeset, left, right, dir)

Create the integration points on the surface of (cubical) elements.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: num_intp_per_direction

Number of integration points in each direction

integer, intent(in) :: ndims

Number of dimensions in the element.

procedure(ply_nodeset_coords) :: nodeset

Set of node coordinates to use in the element for which the surface points are to be defined.

real(kind=rk), intent(out), allocatable:: left(:,:)

The points on the left surface.

real(kind=rk), intent(out), allocatable:: right(:,:)

The points on the right surface.

integer :: dir

The spatial direction of the face. \n 1 -> x direction \n 2 -> y direction \n 3 -> z direction

private subroutine ply_point_tensor(nPoints1D, nDims, nodeset, points)

Compute a multi-dimensional tensor for the given set of nodes.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: nPoints1D

Number auf integration points in each direction.

integer, intent(in) :: nDims

Number of dimensions to create the points for.

procedure(ply_nodeset_coords) :: nodeset

Set of node coordinates to use in the element.

real(kind=rk), intent(out) :: points(nPoints1D**nDims,nDims)

Resulting list of points. First index runs over all points, second indicates the coordinate dimension (x=1,y=2,z=3).