/*@@ @file AHFinder_dat.F @date April 1998 @author Miguel Alcubierre @desc F90 module containing data to be shared by the different subroutines. For the meaning of the spectral components of the different flows see: C. Gundlach, Phys. Rev. D 57, 863 (1998). @enddesc @@*/ #include "cctk.h" module AHFinder_dat implicit none logical firstfun,firstleg,firstint logical nonaxi,refx,refy,refz,cartoon logical offset,wander logical minarea,flow,find_trapped_surface logical logfile,verbose,veryver,guessverbose logical interror,guessold logical find3,sloppy,inner,guess_absmin,manual_guess CCTK_INT lmax,stepx,stepy,stepz CCTK_INT ntheta,nphi CCTK_INT nfile CCTK_INT interror1,interror2,interror3 CCTK_INT mfind,ahf_ncall CCTK_INT nx,ny,nz CCTK_INT nprocs,myproc,ierr CCTK_INT inside_min_count,inside_min_neg_count CCTK_REAL xc,yc,zc CCTK_REAL xc_old,yc_old,zc_old CCTK_REAL intexp,intexp2,intexpdel2,intarea CCTK_REAL rhmax,rhmin CCTK_REAL hw,cw,nw CCTK_REAL dx,dy,dz CCTK_REAL, allocatable, dimension (:) :: c0,c0_old CCTK_REAL, allocatable, dimension (:,:) :: cc,cs,cc_old,cs_old CCTK_REAL, allocatable, dimension (:) :: hflow0,cflow0,nflow0 CCTK_REAL, allocatable, dimension (:,:) :: hflowc,cflowc,nflowc CCTK_REAL, allocatable, dimension (:,:) :: hflows,cflows,nflows character*200 filestr data mfind / 0 / data ahf_ncall / 0 / save mfind,ahf_ncall save c0,cc,cs ! Description of variables: ! ! firstfun First call to function FUNC? ! firstleg First call to function LEGEN? ! firstint First call to subroutine AHFinder_int? ! ! nonaxi Is the data non-axisymmetric? ! ! refx Reflection symmetry x->-x? ! ! refy Reflection symmetry y->-y? ! ! refz Reflection symmetry z->-z? ! ! cartoon Are we using cartoon_2d? ! ! inner Look for inner horizon? ! ! sloppy Sloppy initial guess? ! ! offset Is the center offset from the origin? ! wander Do we allow the center to wander? ! ! minarea Do we want to minimize area? ! ! flow Use fast flow algorithm instead of minimization? ! ! logfile Write log file? ! ! verbose Write messages to screen? ! ! veryver Write lots of messages to screen? ! ! guessverbose Write info on initial guess points? ! ! lmax Maximum number of terms in theta expansion. ! ! stepx 1 if (refx=1), 0 otherwise. ! stepy 1 if (refy=1), 0 otherwise. ! stepz 1 if (refz=1), 0 otherwise. ! ! ntheta Number of subdivisions in theta. ! nphi Number of subdivisions in phi. ! ! xc Coordinate x of centre of surface. ! yc Coordinate y of centre of surface. ! zc Coordinate z of centre of surface. ! ! intexp Integral of expansion over the surface. ! intexp2 Integral of expansion squared over the surface. ! intarea Area of the surface. ! ! rhmax Maximum radius of horizon. ! rhmin Minimum radius of horizon. ! ! c0(l) Coefficients of LEGEN(l,0,cos(theta)) ! cc(l,m) Coefficients of LEGEN(l,m,cos(theta))*cos(m*phi) ! cs(l,m) Coefficients of LEGEN(l,m,cos(theta))*sin(m*phi) ! ! hflow* Spectral components for "H" flow. ! cflow* Spectral components for "C" flow. ! nflow* Spectral components for "N" flow. ! ! interror1 Different from zero if radius is negative. ! interror2 Different from zero if outside computational domain. ! interror3 Different from zero if inside mask ! interror True if any of the 3 errors above are non-zero. ! ! find3 Look for 3 horizons? ! mfind Counter to see for which horizon we are looking. ! ! inside_min_count Number of elements in integral (should always ! be ntheta*nphi) ! ! inside_min_neg_count Number of elements in integral that have ! negative expansion. ! *************** ! *** END *** ! *************** end module AHFinder_dat