30       integer ifatet(4,*),id,node(100),near,nx(*),ny(*),nz(*),
    31      &  ifs,iface,i,konl(20),nfield,nktet,ielement,ielmax,netet,k,
    32      &  j,iselect(nselect),nselect,kontyp(*),ipkon(*),kon(*),iparent(*),
    33      &  nterms,indexe,nelem,konl_opt(20),idummy1(100),idummy2(100),
    34      &  iparentel(100),nparentel,kflag,ii,inside,nterms_opt,
    35      &  istartset(*),iendset(*),ialset(*),imastset,ielemnr(*),
    36      &  ielementnr,nlength,nearset
    38       real*8 cotet(3,*),planfa(4,*),dface,dfacemax,tolerance,
    39      &  
dist,field(nfield,nktet),ratio(20),pneigh(3,20),pnode(3),xi,et,
    40      &  ze,dist_opt,ratio_opt(20),xp,yp,zp,x(*),y(*),z(*),xo(*),yo(*),
    43       intent(in) x,y,z,xo,yo,zo,nx,ny,nz,
    44      &         planfa,ifatet,nktet,netet,field,nfield,
    45      &         cotet,kontyp,ipkon,kon,iparent,
    46      &         xp,yp,zp,iselect,nselect,
    47      &         istartset,iendset,ialset,imastset,ielemnr
    49       intent(inout) konl,
value,nterms,ratio
    71          call near3d(xo,yo,zo,x,y,z,nx,ny,nz,xp,yp,zp,netet,
    91             if(imastset.ne.0) 
then    92                ielementnr=ielemnr(iparent(ielement))
    93                nlength=iendset(imastset)-istartset(imastset)+1
    94                call nident(ialset(istartset(imastset)),ielementnr,
    97                if(ialset(istartset(imastset)+id-1).ne.ielementnr) cycle
   111                ifs=ifatet(j,ielement)
   113                dist=planfa(1,iface)*xp+planfa(2,iface)*yp
   114      &              +planfa(3,iface)*zp+planfa(4,iface)
   115                if(
dist*ifs.lt.-1.d-10*iface) 
then   116                   dface=dface+
dist*ifs/iface
   120             if(dface.gt.-1.d-10) 
then   129                if(dface.gt.dfacemax) 
then   139          if(imastset.ne.0) 
then   140             if(nearset.eq.0) 
then   144                   write(*,*) 
'*ERROR: no suitable global element found'   145                   write(*,*) 
'        for location (',xp,yp,zp,
')'   158          nelem=iparent(ielement)
   160          if(kontyp(nelem).eq.1) 
then   162          elseif(kontyp(nelem).eq.2) 
then   164          elseif(kontyp(nelem).eq.3) 
then   166          elseif(kontyp(nelem).eq.4) 
then   168          elseif(kontyp(nelem).eq.5) 
then   170          elseif(kontyp(nelem).eq.6) 
then   179          if(kontyp(nelem).eq.4) 
then   181                konl(i)=kon(indexe+i)
   184                konl(i+4)=kon(indexe+i)
   187                konl(i-4)=kon(indexe+i)
   189          elseif(kontyp(nelem).eq.5) 
then   191                konl(i)=kon(indexe+i)
   194                konl(i+3)=kon(indexe+i)
   197                konl(i-3)=kon(indexe+i)
   201                konl(i)=kon(indexe+i)
   209                pneigh(j,i)=cotet(j,konl(i))
   229          if(
dist.gt.tolerance) 
then   232                ratio_opt(i)=ratio(i)
   240                idummy1(i)=iparent(node(i))
   243             call isortii(idummy1,idummy2,nearset,kflag)
   246                if(idummy1(i).eq.nelem) cycle
   248                   iparentel(1)=idummy1(1)
   251                   if(idummy1(i).ne.idummy1(i-1)) 
then   252                      nparentel=nparentel+1
   253                      iparentel(nparentel)=idummy1(i)
   266                if(kontyp(nelem).eq.1) 
then   268                elseif(kontyp(nelem).eq.2) 
then   270                elseif(kontyp(nelem).eq.3) 
then   272                elseif(kontyp(nelem).eq.4) 
then   274                elseif(kontyp(nelem).eq.5) 
then   276                elseif(kontyp(nelem).eq.6) 
then   285                if(kontyp(nelem).eq.4) 
then   287                      konl(i)=kon(indexe+i)
   290                      konl(i+4)=kon(indexe+i)
   293                      konl(i-4)=kon(indexe+i)
   295                elseif(kontyp(nelem).eq.5) 
then   297                      konl(i)=kon(indexe+i)
   300                      konl(i+3)=kon(indexe+i)
   303                      konl(i-3)=kon(indexe+i)
   307                      konl(i)=kon(indexe+i)
   315                      pneigh(j,i)=cotet(j,konl(i))
   328                if(
dist.lt.dist_opt) 
then   331                      ratio_opt(i)=ratio(i)
   336                if(
dist.lt.tolerance) 
exit   344                ratio(i)=ratio_opt(i)
   348          if((ii.eq.3).or.(
dist.lt.tolerance)) 
exit   358             value(k)=value(k)+ratio(j)*field(i,konl(j))
 subroutine near3d(xo, yo, zo, x, y, z, nx, ny, nz, xp, yp, zp, n, neighbor, k)
Definition: near3d.f:20
 
subroutine attach_3d(pneigh, pnode, nterms, ratio, dist, xil, etl, zel)
Definition: attach_3d.f:20
 
subroutine isortii(ix, iy, n, kflag)
Definition: isortii.f:6
 
static double * dist
Definition: radflowload.c:42
 
subroutine nident(x, px, n, id)
Definition: nident.f:26