tem_surfData_type Derived Type

type, public :: tem_surfData_type

Datatype to store the surface information in. The surface data consists of an array of unique points (XYZ coordinates) and their connectivity list (triangles).


Components

Type Visibility Attributes Name Initial
type(tem_surfaceData_stlHead_type), public, allocatable :: stlHead(:)

data (filename) for the surface data header

character(len=PathLen), public :: outprefix

output prefix

logical, public :: dumpForce

dump min and max force to a seperate file (debug output)

type(tem_timeControl_type), public :: timeControl

time control type for controlling the dumping of the stl file

integer, public :: nUniquePoints_total

number of unique point coordinates

real(kind=rk), public, allocatable :: pointCoords(:)

linearized array of point coordinates (X,Y,Z) the coordinates are stored one after another --------------------------- | X1,Y1,Z1, ... , Xn,Yn,Zn| --------------------------- size: 3*nUniquePoints_total

real(kind=rk), public, allocatable :: surfArea(:)

array of surface areas attached to this point

type(tem_parentIDs_type), public, allocatable :: parentIDs(:)

array of levelwise pointers to the parent eulerian elements of the lagrangian points in the levelDesc (size: nLevels)

integer, public, allocatable :: trias(:,:)

connectivity array of the points size: 3, nTrias

integer, public :: nTrias

total number of triangles stored

real(kind=rk), public, allocatable :: backPointCoords(:)

backup for linearized array of point coordinates (X,Y,Z) needed for defining offsets based on the initial position the coordinates are stored one after another --------------------------- | X1,Y1,Z1, ... , Xn,Yn,Zn| --------------------------- size: 3*nUniquePoints_total


Source Code

  type tem_surfData_type
    !> data (filename) for the surface data header
    type( tem_surfaceData_stlHead_type ), allocatable :: stlHead(:)
    !> output prefix
    character(len=PathLen) :: outprefix
    !> dump min and max force to a seperate file (debug output)
    logical :: dumpForce
    !> time control type for controlling the dumping of the stl file
    type(tem_timeControl_type) :: timeControl
    !> number of unique point coordinates
    integer :: nUniquePoints_total
    !> linearized array of point coordinates (X,Y,Z)
    !! the coordinates are stored one after another
    !!        ---------------------------
    !!        | X1,Y1,Z1, ... , Xn,Yn,Zn|
    !!        ---------------------------
    !! size: 3*nUniquePoints_total
    real(kind=rk), allocatable :: pointCoords(:)
    !> array of surface areas attached to this point
    real(kind=rk), allocatable :: surfArea(:)
    !> array of levelwise pointers to the parent eulerian elements
    !! of the lagrangian points in the levelDesc (size: nLevels)
    type( tem_parentIDs_type ), allocatable :: parentIDs(:)
    !> connectivity array of the points
    !! size: 3, nTrias
    integer, allocatable :: trias(:,:)
    !> total number of triangles stored
    integer :: nTrias
    !> backup for linearized array of point coordinates (X,Y,Z)
    !! needed for defining offsets based on the initial position
    !! the coordinates are stored one after another
    !!        ---------------------------
    !!        | X1,Y1,Z1, ... , Xn,Yn,Zn|
    !!        ---------------------------
    !! size: 3*nUniquePoints_total
    real(kind=rk), allocatable :: backPointCoords(:)
  end type tem_surfData_type