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).


Inherits

type~~tem_surfdata_type~~InheritsGraph type~tem_surfdata_type tem_surfData_type type~tem_parentids_type tem_parentIDs_type type~tem_surfdata_type->type~tem_parentids_type parentIDs type~tem_surfacedata_stlhead_type tem_surfaceData_stlHead_type type~tem_surfdata_type->type~tem_surfacedata_stlhead_type stlHead type~tem_timecontrol_type tem_timeControl_type type~tem_surfdata_type->type~tem_timecontrol_type timeControl type~tem_time_type tem_time_type type~tem_timecontrol_type->type~tem_time_type min, max, interval, trigger

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