72    REAL, 
DIMENSION(:,:,:,:), 
POINTER  :: sendbuf,     & !< send buffer for boundary data
 
   77    procedure(setboundarydata), 
DEFERRED :: setboundarydata
 
   86    SUBROUTINE setboundarydata(this,Mesh,Physics,time,pvar)
 
   92      REAL,                   
INTENT(IN)    :: time
 
  104  CHARACTER(LEN=32), 
DIMENSION(6), 
PARAMETER :: &
 
  105        direction_name = (/
'  west', 
'  east', 
' south', 
' north', 
'bottom', 
'   top' /)
 
  110  INTEGER, 
PARAMETER :: &
 
  117                  fixed         = int(z
'06'), & 
 
  154    TYPE(
dict_typ),       
INTENT(IN), 
POINTER :: config
 
  155    INTEGER,              
INTENT(IN)          :: bctype,dir
 
  156    CHARACTER(LEN=32),    
INTENT(IN)          :: bcname
 
  159    INTEGER, 
PARAMETER    :: strlen = 32
 
  160    CHARACTER(LEN=strlen) :: sendbuf
 
  161    CHARACTER(LEN=strlen) :: recvbuf
 
  162    INTEGER               :: status(MPI_STATUS_SIZE)
 
  167    CALL this%InitLogging(bctype,bcname)
 
  168    ALLOCATE(this%direction)
 
  175       CALL this%Error(
"InitBoundary_common", 
"Unknown direction")
 
  193    IF (this%GetRank() .EQ. 0 .AND. this%GetRank().EQ.mesh%rank0_boundaries(dir)) 
THEN 
  196       CALL this%Info(
" BOUNDARY-> condition:         " //  trim(this%direction%GetName()) &
 
  197            // 
" " // trim(this%GetName()), this%GetRank())
 
  199    ELSE IF (this%GetRank().EQ.mesh%rank0_boundaries(dir)) 
THEN 
  201       sendbuf = trim(this%direction%GetName())//
" "//trim(this%GetName())
 
  202       CALL mpi_send(sendbuf,strlen,mpi_character,0, &
 
  203                     0,mpi_comm_world,ierror)
 
  204    ELSE IF (this%GetRank().EQ.0) 
THEN 
  206       CALL mpi_recv(recvbuf,strlen,mpi_character,mesh%rank0_boundaries(dir),&
 
  207                     mpi_any_tag,mpi_comm_world,status,ierror)
 
  208       CALL this%Info(
" BOUNDARY-> condition:         " // trim(recvbuf),this%GetRank())
 
  221    dir = 
this%direction%GetType()
 
  230    IF (.NOT.this%Initialized()) &
 
  231        CALL this%Error(
"CloseBoundary_one",
"not initialized")
 
  232    DEALLOCATE(this%direction)
 
integer, parameter axis
axis
 
integer, parameter periodic
connects opposite boundaries
 
integer, parameter custom
user defined
 
pure integer function getdirection(this)
Get the direction number.
 
integer, parameter no_gradients
copy data from last cell in comp. domain in ghost zones
 
integer, parameter farfield
uses far-field data and Riemann invariants
 
integer, parameter extrapolation
linear extrapolation
 
integer, parameter shearing
periodic with shear for shearing sheet/box
 
integer, parameter reflecting
reflecting, i.e. wall
 
subroutine finalize_base(this)
 
integer, parameter absorbing
vanishing characteristic pseudo-variables for incomming waves
 
integer, parameter noslip
reflecting, but with moving wall
 
integer, parameter fixed
set fixed boundary data
 
subroutine initboundary(this, Mesh, Physics, bctype, bcname, dir, config)
 
character(len=32), dimension(6), parameter direction_name
string literal for each orientation
 
Dictionary for generic data types.
 
type(logging_base), save this
 
subroutine finalize(this)
Destructor of logging_base class.
 
derived class for compound of mesh arrays
 
integer, parameter east
named constant for eastern boundary
 
integer, parameter bottom
named constant for bottom boundary
 
integer, parameter south
named constant for southern boundary
 
integer, parameter top
named constant for top boundary
 
integer, parameter north
named constant for northern boundary
 
integer, parameter west
named constant for western boundary