Boundary_ Derived Type

type, public :: Boundary_


Contents


Components

TypeVisibility AttributesNameInitial
type(Mesh_), public :: DBound
type(Mesh_), public :: NBound
type(Mesh_), public :: TBound
real(kind=real64), public, allocatable:: DBoundPara(:,:)
real(kind=real64), public, allocatable:: NBoundPara(:,:)
real(kind=real64), public, allocatable:: TBoundPara(:,:)
real(kind=real64), public, allocatable:: DBoundVal(:,:)
real(kind=real64), public, allocatable:: NBoundVal(:,:)
real(kind=real64), public, allocatable:: TBoundVal(:,:)
real(kind=real64), public, allocatable:: TBoundElemGpVal(:,:,:)
real(kind=real64), public, allocatable:: DBoundValInc(:,:)
real(kind=real64), public, allocatable:: NBoundValInc(:,:)
real(kind=real64), public, allocatable:: TBoundValInc(:,:)
integer(kind=int32), public, allocatable:: DBoundNodID(:,:)
integer(kind=int32), public, allocatable:: NBoundNodID(:,:)
integer(kind=int32), public, allocatable:: TBoundNodID(:,:)
integer(kind=int32), public, allocatable:: TBoundElemID(:)
integer(kind=int32), public, allocatable:: DBoundNum(:)
integer(kind=int32), public, allocatable:: NBoundNum(:)
integer(kind=int32), public, allocatable:: TBoundNum(:)
integer(kind=int32), public, allocatable:: TBoundElemNum(:)
type(ContactName_), public, allocatable:: ContactNameList(:)
integer(kind=int32), public, allocatable:: MasterNodeID(:,:)
integer(kind=int32), public, allocatable:: SlaveNodeID(:,:)
integer(kind=int32), public, allocatable:: MasterSegment(:,:)
integer(kind=int32), public, allocatable:: SlaveSegment(:,:)
real(kind=real64), public :: x_max
real(kind=real64), public :: x_min
real(kind=real64), public :: y_max
real(kind=real64), public :: y_min
real(kind=real64), public :: z_max
real(kind=real64), public :: z_min
real(kind=real64), public :: t_max
real(kind=real64), public :: t_min
integer(kind=int32), public :: Dcount
integer(kind=int32), public :: Ncount
integer(kind=int32), public :: Tcount
integer(kind=int32), public :: layer
character(len=200), public :: Name =" "
character(len=70), public :: ErrorMsg =" "

Type-Bound Procedures

procedure, public :: AddMasterNode => AddMasterNodeBoundary

procedure, public :: Init => InitializeBoundary

  • public subroutine InitializeBoundary(obj, Default, NumberOfBC)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    logical, intent(in), optional :: Default
    integer(kind=int32), intent(in), optional :: NumberOfBC

procedure, public :: Delete => DeallocateBoundary

procedure, public :: CheckDataType => CheckDatatypeBoundary

procedure, public :: RemoveOverlap => DeleteOverlapBoundary

procedure, public :: ImportDBound

  • public subroutine ImportDBound(obj, Node_ID, DValue)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: Node_ID(:,:)
    real(kind=real64), intent(in) :: DValue(:,:)

procedure, public :: ImportNBound

  • public subroutine ImportNBound(obj, Node_ID, NValue)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: Node_ID(:,:)
    real(kind=real64), intent(in) :: NValue(:,:)

procedure, public :: MergeDBound

  • public subroutine MergeDBound(BCObj1, MeshObj1, BCObj2, MeshObj2, OutBCObj)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(in) :: BCObj1
    class(Mesh_), intent(in) :: MeshObj1
    class(Boundary_), intent(in) :: BCObj2
    class(Mesh_), intent(in) :: MeshObj2
    class(Boundary_), intent(inout) :: OutBCObj

procedure, public :: MergeNBound

  • public subroutine MergeNBound(BCObj1, MeshObj1, BCObj2, MeshObj2, OutBCObj)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(in) :: BCObj1
    class(Mesh_), intent(in) :: MeshObj1
    class(Boundary_), intent(in) :: BCObj2
    class(Mesh_), intent(in) :: MeshObj2
    class(Boundary_), intent(inout) :: OutBCObj

procedure, public :: remove => removeBoudary

  • public subroutine removeBoudary(obj)

    Arguments

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

procedure, public :: removeDBC => removeDBCBoundary

procedure, public :: removeNBC => removeNBCBoundary

procedure, public :: removeTBC => removeTBCBoundary

procedure, public :: save => saveBoundary

  • public subroutine saveBoundary(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: setDB => setDBoundary

  • public subroutine setDBoundary(obj, x_max, x_min, y_max, y_min, z_max, z_min, t_max, t_min, BoundValue, Layer)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: z_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: t_max
    real(kind=real64), intent(in), optional :: t_min
    real(kind=real64), intent(in), optional :: BoundValue
    integer(kind=int32), intent(in), optional :: Layer

procedure, public :: setNB => setNBoundary

  • public subroutine setNBoundary(obj, x_max, x_min, y_max, y_min, z_max, z_min, t_max, t_min, BoundValue, Layer)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: z_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: t_max
    real(kind=real64), intent(in), optional :: t_min
    real(kind=real64), intent(in), optional :: BoundValue
    integer(kind=int32), intent(in), optional :: Layer

procedure, public :: setTB => setTBoundary

  • public subroutine setTBoundary(obj, x_max, x_min, y_max, y_min, z_max, z_min, t_max, t_min, BoundValue, Layer)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: z_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: t_max
    real(kind=real64), intent(in), optional :: t_min
    real(kind=real64), intent(in), optional :: BoundValue
    integer(kind=int32), intent(in), optional :: Layer

procedure, public :: gmsh => gmshBoundary

  • public subroutine gmshBoundary(obj, Dirichlet, Neumann, Time, Name, Tag)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    logical, intent(in), optional :: Dirichlet
    logical, intent(in), optional :: Neumann
    logical, intent(in), optional :: Time
    character(len=*), intent(in), optional :: Name
    character(len=*), intent(in), optional :: Tag

procedure, public :: create => createBoundary

  • public subroutine createBoundary(obj, Name, Category, x_max, x_min, y_max, y_min, z_max, z_min, t_max, t_min, BoundValue, Layer)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    character(len=*), intent(in), optional :: Name
    character(len=*), intent(in), optional :: Category
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: z_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: t_max
    real(kind=real64), intent(in), optional :: t_min
    real(kind=real64), intent(in), optional :: BoundValue
    integer(kind=int32), intent(in), optional :: Layer

procedure, public :: show => showBoundary

  • public subroutine showBoundary(obj, onlyRange)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    logical, intent(in), optional :: onlyRange

procedure, public :: export => exportBoundary

  • public subroutine exportBoundary(obj, restart, path)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    logical, intent(in), optional :: restart
    character(len=*), intent(in) :: path

procedure, public :: open => openBoundary

  • public subroutine openBoundary(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(Boundary_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name