ply_nodes_module Module

Description of point sets.


Uses

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

Derived Types

type, public ::  ply_faceNodes_type

Datatype to represent facewise nodes

Components

Type Visibility Attributes Name Initial
integer, public :: nquadPoints

The number of face nodes

real(kind=rk), public, 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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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).

Read more…

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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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).