ShapeFunction_ Derived Type

type, public :: ShapeFunction_


Components

Type Visibility Attributes Name Initial
real(kind=real64), public, allocatable :: Nmat(:)
real(kind=real64), public, allocatable :: dNdgzi(:,:)
real(kind=real64), public, allocatable :: dNdgzidgzi(:,:)
real(kind=real64), public, allocatable :: gzi(:)
real(kind=real64), public, allocatable :: GaussPoint(:,:)
real(kind=real64), public, allocatable :: GaussIntegWei(:)
real(kind=real64), public, allocatable :: Jmat(:,:)
real(kind=real64), public, allocatable :: JmatInv(:,:)
real(kind=real64), public, allocatable :: ElemCoord(:,:)
real(kind=real64), public, allocatable :: ElemCoord_n(:,:)
real(kind=real64), public, allocatable :: du(:,:)
real(kind=real64), public :: detJ
integer(kind=int32), public :: NumOfNode
integer(kind=int32), public :: NumOfOrder
integer(kind=int32), public :: NumOfDim = 0
integer(kind=int32), public :: NumOfGp = 0
integer(kind=int32), public :: GpID
integer(kind=int32), public :: ierr
integer(kind=int32), public :: currentGpID
integer(kind=int32), public :: ElementID
logical, public :: ReducedIntegration = .false.
logical, public :: Empty = .true.
character(len=70), public :: ElemType
character(len=60), public :: ErrorMsg

Type-Bound Procedures

procedure, public :: init => initShapeFunction

  • public subroutine initShapeFunction(obj, ElemType)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    character(len=*), intent(in), optional :: ElemType

procedure, public :: update => updateShapeFunction

  • public subroutine updateShapeFunction(obj, ElemType, NodCoord, ElemNod, ElemID, GpID)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    character(len=*), intent(in), optional :: ElemType
    real(kind=real64), intent(in) :: NodCoord(:,:)
    integer(kind=int32), intent(in) :: ElemNod(:,:)
    integer(kind=int32), intent(in) :: ElemID
    integer(kind=int32), intent(in) :: GpID

procedure, public :: SetType => SetShapeFuncType

  • public subroutine SetShapeFuncType(obj, NumOfDim, NumOfNodePerElem, ReducedIntegration, NumOfGp)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: NumOfDim
    integer(kind=int32), intent(in), optional :: NumOfNodePerElem
    logical, intent(in), optional :: ReducedIntegration
    integer(kind=int32), intent(in), optional :: NumOfGp

procedure, public :: GetAll => GetAllShapeFunc

  • public subroutine GetAllShapeFunc(obj, elem_id, nod_coord, nod_coord_n, elem_nod, OptionalNumOfNode, OptionalNumOfOrder, OptionalNumOfDim, OptionalNumOfGp, OptionalGpID, ReducedIntegration, NumOfDim, NumOfNodePerElem)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: elem_id
    real(kind=real64), intent(in), optional :: nod_coord(:,:)
    real(kind=real64), intent(in), optional :: nod_coord_n(:,:)
    integer(kind=int32), intent(in), optional :: elem_nod(:,:)
    integer(kind=int32), intent(in), optional :: OptionalNumOfNode
    integer(kind=int32), intent(in), optional :: OptionalNumOfOrder
    integer(kind=int32), intent(in), optional :: OptionalNumOfDim
    integer(kind=int32), intent(in), optional :: OptionalNumOfGp
    integer(kind=int32), intent(in), optional :: OptionalGpID
    logical, intent(in), optional :: ReducedIntegration
    integer(kind=int32), intent(in), optional :: NumOfDim
    integer(kind=int32), intent(in), optional :: NumOfNodePerElem

procedure, public :: get => GetAllShapeFunc

  • public subroutine GetAllShapeFunc(obj, elem_id, nod_coord, nod_coord_n, elem_nod, OptionalNumOfNode, OptionalNumOfOrder, OptionalNumOfDim, OptionalNumOfGp, OptionalGpID, ReducedIntegration, NumOfDim, NumOfNodePerElem)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: elem_id
    real(kind=real64), intent(in), optional :: nod_coord(:,:)
    real(kind=real64), intent(in), optional :: nod_coord_n(:,:)
    integer(kind=int32), intent(in), optional :: elem_nod(:,:)
    integer(kind=int32), intent(in), optional :: OptionalNumOfNode
    integer(kind=int32), intent(in), optional :: OptionalNumOfOrder
    integer(kind=int32), intent(in), optional :: OptionalNumOfDim
    integer(kind=int32), intent(in), optional :: OptionalNumOfGp
    integer(kind=int32), intent(in), optional :: OptionalGpID
    logical, intent(in), optional :: ReducedIntegration
    integer(kind=int32), intent(in), optional :: NumOfDim
    integer(kind=int32), intent(in), optional :: NumOfNodePerElem

procedure, public :: getOnlyNvec => GetShapeFunction

  • public subroutine GetShapeFunction(obj)

    ######################################################################### ####### ####### ####### + (1) ####### ####### ####### ####### ####### ######################################################################### ######################################################################### ####### ####### ####### +-----------------------+ ####### ####### (1) (2) ####### ####### ####### #########################################################################

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj

procedure, public :: Deallocate => DeallocateShapeFunction

procedure, public :: getType => getShapeFuncType

  • public subroutine getShapeFuncType(obj, NumOfDim, NumOfNodePerElem, NumOfGp)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: NumOfDim
    integer(kind=int32), intent(in) :: NumOfNodePerElem
    integer(kind=int32), intent(in), optional :: NumOfGp

procedure, public :: GetGaussPoint

  • public subroutine GetGaussPoint(obj)

    Triangular or Tetrahedral

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj

procedure, public :: export => exportShapeFunction

  • public subroutine exportShapeFunction(obj, restart, path)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    logical, intent(in), optional :: restart
    character(len=*), intent(in) :: path

procedure, public :: remove => removeShapeFunction

procedure, public :: save => saveShapeFunction

  • public subroutine saveShapeFunction(obj, path, name)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: open => openShapeFunction

  • public subroutine openShapeFunction(obj, path, name)

    Arguments

    Type IntentOptional Attributes Name
    class(ShapeFunction_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name