BoundaryConditionClass Module



Contents


Derived Types

type, public :: ContactName_

Components

TypeVisibility AttributesNameInitial
character(len=200), public :: name

type, public :: Boundary_

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
procedure, public :: Delete => DeallocateBoundary
procedure, public :: CheckDataType => CheckDatatypeBoundary
procedure, public :: RemoveOverlap => DeleteOverlapBoundary
procedure, public :: ImportDBound
procedure, public :: ImportNBound
procedure, public :: MergeDBound
procedure, public :: MergeNBound
procedure, public :: remove => removeBoudary
procedure, public :: removeDBC => removeDBCBoundary
procedure, public :: removeNBC => removeNBCBoundary
procedure, public :: removeTBC => removeTBCBoundary
procedure, public :: save => saveBoundary
procedure, public :: setDB => setDBoundary
procedure, public :: setNB => setNBoundary
procedure, public :: setTB => setTBoundary
procedure, public :: gmsh => gmshBoundary
procedure, public :: create => createBoundary
procedure, public :: show => showBoundary
procedure, public :: export => exportBoundary
procedure, public :: open => openBoundary

Subroutines

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

public subroutine removeBoudary(obj)

Arguments

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

public subroutine showBoundary(obj, onlyRange)

Arguments

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

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

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

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

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

public subroutine CheckDatatypeBoundary(obj)

Arguments

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

public subroutine DeallocateBoundary(obj)

Arguments

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

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

public subroutine DeleteOverlapBoundary(obj)

Arguments

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

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(:,:)

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

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

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(:,:)

public subroutine removeDBCBoundary(obj)

Arguments

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

public subroutine removeNBCBoundary(obj)

Arguments

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

public subroutine removeTBCBoundary(obj)

Arguments

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

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

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

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

public subroutine AddMasterNodeBoundary(obj)

Arguments

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