31       character*1 typeboun(*)
    32       character*20 sideload(*),labmpc(*)
    34       integer nfabou,ifaext(*),nfaext,ielem,ielfa(4,*),ifa,jface,
    35      &  j,idof,ikboun(*),nboun,id,ilboun(*),iboun,nelemload(2,*),
    36      &  nload,isolidsurf(*),nsolidsurf,ifabou(*),i,nface,indexb,
    37      &  nodeboun(*),ndirboun(*),jsum,ig,ikmpc(*),ilmpc(*),nmpc,mpc,
    38      &  nactdohinv(*),compressible,iatleastonepressurebc,iface,
    39      &  ifaceblk,ipkonf(*),kon(*),konf(*),nblk,indexe
    42       iatleastonepressurebc=0
    52          ielem=nactdohinv(ielfa(1,ifa))
    62             indexe=ipkonf(ielfa(1,ifa))
    76             call nident(ikboun,idof,nboun,id)
    78                if(ikboun(id).eq.idof) 
then    80                   if(typeboun(iboun).ne.
'F') cycle
    81                   if(ielfa(2,ifa).eq.0) 
then    90                   if(compressible.eq.0) 
then    93                            write(*,*) 
'*WARNING in applyboun: a pressure    94      & SPC is being applied to'    95                            write(*,*) 
'         face ',iface,
    96      &                      
'of element ',ielem,
'for which all'    97                            write(*,*) 
'         velocities are known (by    98      & SPCs or MPCs). The pressure'    99                            write(*,*) 
'         SPC is discarded'   103                         iatleastonepressurebc=1
   108                   ifabou(-ielfa(2,ifa)+j)=iboun
   114             call nident(ikmpc,idof,nmpc,id)
   116                if(ikmpc(id).eq.idof) 
then   118                   if(labmpc(mpc)(1:5).ne.
'FLUID') cycle
   119                   if(ielfa(2,ifa).eq.0) 
then   122                   else if(ifabou(-ielfa(2,ifa)+j).ne.0) 
then   123                      write(*,*) 
'*ERROR in applyboun: MPC is applied'   124                      write(*,*) 
'       to degree of freedom ',j
   125                      write(*,*) 
'       in face ',iface
   126                      write(*,*) 
'       of element ',ielem,
'.'   127                      write(*,*) 
'       To this degree of freedom '   128                      write(*,*) 
'       another SPC or MPC has already'   129                      write(*,*) 
'       been applied'   136                   if(compressible.eq.0) 
then   139                            write(*,*) 
'*WARNING in applyboun: a pressure   140      & MPC is being applied to'   141                            write(*,*) 
'         face ',iface,
   142      &                       
'of element ',ielem,
'for which all'   143                            write(*,*) 
'         velocities are known (by   144      & SPCs or MPCs). The pressure'   145                            write(*,*) 
'         MPC is discarded'   152                   ifabou(-ielfa(2,ifa)+j)=-mpc
   159          call nident2(nelemload,ielem,nload,id)
   163                if(nelemload(1,id).eq.ielem) 
then   164                   if(sideload(id)(1:1).eq.
'S') 
then   165                      read(sideload(id)(2:2),
'(i1)') ig
   167                         if(ielfa(2,ifa).eq.0) 
then   171                         ifabou(-ielfa(2,ifa)+6)=id
   186          call nident2(nelemload,ielem,nload,id)
   191                if(nelemload(1,id).eq.ielem) 
then   192                   if(sideload(id)(1:1).eq.
'M') 
then   193                      read(sideload(id)(2:2),
'(i1)') ig
   196                         if(ielfa(2,ifa).eq.0) 
then   201                         ifabou(-ielfa(2,ifa)+5)=-1
   216          call nident(isolidsurf,jface,nsolidsurf,id)
   218             if(isolidsurf(id).eq.jface) 
then   219                if(ielfa(2,ifa).eq.0) 
then   224                if((ifabou(indexb+1).eq.0).or.
   225      &            (ifabou(indexb+2).eq.0).or.
   226      &            (ifabou(indexb+3).eq.0)) 
then   227                   write(*,*) 
'*ERROR in applyboun: face',iface
   228                   write(*,*) 
'       of element ',ielem,
'is defined'   229                   write(*,*) 
'       as solid surface but not all'   230                   write(*,*) 
'       velocity components are defined'   231                   write(*,*) 
'       as boundary conditions'   248          if(ielfa(2,ifa).eq.0) 
then   252             ielfa(3,ifa)=-ielfa(3,ifa)
   253          elseif(ifabou(-ielfa(2,ifa)+5).ne.-1) 
then   257             if((jsum.eq.0).or.(jsum.eq.4)) 
then   261                ielfa(3,ifa)=-ielfa(3,ifa)
 subroutine nident2(x, px, n, id)
Definition: nident2.f:27
 
subroutine nident(x, px, n, id)
Definition: nident.f:26
 
subroutine identifyface(konl1, konl2, iface1, iface2)
Definition: identifyface.f:20