ShapeFunction_ Derived Type

type, public :: ShapeFunction_


Contents


Components

TypeVisibility AttributesNameInitial
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 AttributesName
    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 AttributesName
    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)

    Arguments

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

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)

    call GetShapeFuncDer2(obj)

    Arguments

    Type IntentOptional AttributesName
    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)

    call GetShapeFuncDer2(obj)

    Arguments

    Type IntentOptional AttributesName
    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 AttributesName
    class(ShapeFunction_), intent(inout) :: obj

procedure, public :: Deallocate => DeallocateShapeFunction

procedure, public :: getType => getShapeFuncType

  • public subroutine getShapeFuncType(obj, NumOfDim, NumOfNodePerElem)

    Arguments

    Type IntentOptional AttributesName
    class(ShapeFunction_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: NumOfDim
    integer(kind=int32), intent(in) :: NumOfNodePerElem

procedure, public :: GetGaussPoint

  • public subroutine GetGaussPoint(obj)

    Triangular or Tetrahedral

    Arguments

    Type IntentOptional AttributesName
    class(ShapeFunction_), intent(inout) :: obj

    include "./GetGaussPoint.f90"

procedure, public :: export => exportShapeFunction

  • public subroutine exportShapeFunction(obj, restart, path)

    Arguments

    Type IntentOptional AttributesName
    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 AttributesName
    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 AttributesName
    class(ShapeFunction_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: getNvec => getNvecShapeFunction

  • public function getNvecShapeFunction(obj, x, y, z) result(nvec)

    Arguments

    Type IntentOptional AttributesName
    class(ShapeFunction_), intent(in) :: obj
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z

    Return Value real(kind=real64), allocatable, (:)