Download dezoma.eso

Back to the list

   1 : C DEZOMA    SOURCE    CHAT      05/01/12    22:47:58     5004           
   2 : CCC
   3 : C **********************************************************************
   4 : CCC
   5 :       SUBROUTINE DETERZONAMAC(SIGTRI,NDIMS,VARINT,IPLCON,IPLCAP,IPLAPEX,
   6 :      .                        nescri,ues)
   7 :       IMPLICIT INTEGER(I-N)
   8 :       integer ndims,iplcon,iplcap,iplapex,nescri,ues
   9 :       real*8    sigtri(ndims),varint(2),siginvari(3),Eauxp,Eauxq,
  10 :      .          Yicon,Yicap,p,q,t,xco,xca,psepara,aux3,qcor,Nr_qfunc,
  11 :      .          vecp,vecq,pcap,prodesc,wwfunc,etaconfunc,pcapfunc
  12 :       real*8    exm,qaa,pcc,eww,xk1,xk2,etb,exv,xep,paa,cco,
  13 :      .          exl,xnn,aaa,bbb,pc0,exr,cca,phi,alp,pcc2,paa2,qaa2,
  14 :      .          exm2,eww2,cpr,cpm,cfr,you,xnu
  15 :       common /elasdata/ you,xnu
  16 :       common /MRScone/ exm,qaa,pcc,eww,xk1,xk2,etb,exv,xep,paa,cco,
  17 :      .                 exl,xnn,aaa,bbb
  18 :       common /MRScapp/ pc0,exr,cca,phi,alp,pcc2,paa2,qaa2,exm2,eww2,
  19 :      .                 cpr,cpm,cfr
  20 :       iplcon =0
  21 :       iplcap =0
  22 :       iplapex=0
  23 :       do i=1,3
  24 :           siginvari(i)=0.D0
  25 :         enddo
  25 :       call InvariantesPQT(sigtri,ndims,siginvari)
  26 :       p=siginvari(1)
  27 :       q=siginvari(2)
  28 :       t=siginvari(3)
  29 :       xco=varint(1)
  30 :       xca=varint(2)
  31 :       Eauxp=you/(1.D0-2.d0*xnu)/9.D0
  32 :       Eauxq=you/(1.d0+xnu)/2.D0    
  32 :       call yieldcoMAC(siginvari,xco,Yicon)
  32 :       call yieldcaMAC(siginvari,xca,xco,Yicap)
  33 :       pcap=pcapfunc(xca)
  34 :       psepara=alp*pcap
  35 :       aux3=etaconfunc(xco)*(psepara-pcc)/wwfunc(t,eww)
  36 :       qcor=NR_qfunc(aux3,qaa,exm,aux3,1.D-10)
  37 :       if(nescri.eq.1) then
  38 :          write(ues,999) '   Invari : ',p,q,t
  39 :          write(ues,999) '   Var int: ',xco,xca
  40 :          write(ues,999) '    Yicon : ',yicon
  41 :          write(ues,999) '    Yicap : ',yicap
  42 :          write(ues,999) '   Sep.p_q: ',psepara,qcor
  43 :  999     format(a12,3(E15.9,1x))
  44 :       endif
  45 : c zona del cone
  46 :       If (p.le.psepara) then
  47 :          If (Yicon.le.0.D0) return
  48 :          iplcon=1
  49 : c mirar si es apex
  50 :          vecp=-xnn*etaconfunc(xco)*(pcc-alp*pcap)/(pcc+alp*pcap)
  51 :          vecq=wwfunc(t,eww)*Eauxq/Eauxp
  52 :          prodesc=((p-pcc)*(-vecq)+q*(vecp))
  53 :          if (nescri.eq.1) then
  54 :             write(ues,999)' CONE GrApex: ', vecp,vecq,xnn            
  55 :             write(ues,999)'      PtApex: ', pcc,0.D0
  56 :             write(ues,999)'      Prodes: ', prodesc
  57 :          endif
  58 :          if (prodesc.gt.0.D0) then
  59 :             iplapex=1
  60 :             return
  61 :          endif
  62 : c zona del cap
  63 :       else
  64 :          If (Yicap.le.0.D0) return
  65 :          iplcap=1
  66 :       endif
  67 :       return
  68 :       end   
  69 :  
  70 :  
  71 :  

© Cast3M 2003 - All rights reserved.
Disclaimer