HierarchyGhostCellInterpolation> src_ghost_fill,
              double src_ghost_fill_time);

    /*!
     * \brief Compute the cell-centered curl of a side-centered vector field
     * using centered differences.
     *
     * Sets dst = curl src.
     *
     * Compute the curl of a vector field using centered differences.
     *
     * \see setPatchHierarchy
     * \see resetLevels
     */
    void curl(int dst_idx,
              SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > dst_var,
              int src_idx,
              SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > src_var,
              SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation> src_ghost_fill,
              double src_ghost_fill_time);

    /*!
     * \brief Compute the node-centered curl of a side-centered vector field
     * using centered differences.
     *
     * Sets dst = curl src.
     *
     * Compute the curl of a vector field using centered differences.
     *
     * \see setPatchHierarchy
     * \see resetLevels
     */
    void curl(int dst_idx,
              SAMRAI::tbox::Pointer<SAMRAI::pdat::NodeVariable<NDIM, double> > dst_var,
              int src_idx,
              SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > src_var,
              SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation> src_ghost_fill,
              double src_ghost_fill_time);

    /*!
     * \brief Compute the edge-centered curl of a side-centered vector field
     * using centered differences.
     *
     * Sets dst = curl src.
     *
     * Compute the curl of a vector field using centered differences.
     *
     * \see setPatchHierarchy
     * \see resetLevels
     */
    
HierarchyGhostCellInterpolation > src_ghost_fill, 
               double src_ghost_fill_time); 

     / *! 
      * \brief Compute the cell - centered curl of a slope - center vector field 
      * using centered deviation. 
      * 
      * Sets dst = curl src. 
      * 
      * Compute the curl of a vector playing field use centered difference. 
      * 
      * \see setPatchHierarchy 
      * \see resetLevels 
      * / 
     void curl(int dst_idx, 
               SAMRAI::tbox::Pointer < SAMRAI::pdat::SideVariable < NDIM, double > > dst_var, 
               int src_idx, 
               SAMRAI::tbox::Pointer < SAMRAI::pdat::SideVariable < NDIM, bivalent > > src_var, 
               SAMRAI::tbox::Pointer < HierarchyGhostCellInterpolation > src_ghost_fill, 
               double src_ghost_fill_time); 

     / *! 
      * \brief Compute the node - centered curl of a slope - centered vector field 
      * using centered differences. 
      * 
      * hardening dst = curl src. 
      * 
      * Compute the curl of a vector field using center differences. 
      * 
      * \see setPatchHierarchy 
      * \see resetLevels 
      * / 
     void curl(int dst_idx, 
               SAMRAI::tbox::Pointer < SAMRAI::pdat::NodeVariable < NDIM, double > > dst_var, 
               int src_idx, 
               SAMRAI::tbox::Pointer < SAMRAI::pdat::SideVariable < NDIM, bivalent > > src_var, 
               SAMRAI::tbox::Pointer < HierarchyGhostCellInterpolation > src_ghost_fill, 
               double src_ghost_fill_time); 

     / *! 
      * \brief Compute the boundary - centered curl of a side - centered vector discipline 
      * using centered differences. 
      * 
      * Sets dst = curl src. 
      * 
      * Compute the curl of a vector playing field practice centered differences. 
      * 
      * \see setPatchHierarchy 
      * \see resetLevels 
      * /
HiegarchyGhostCellInterpolauion> src_ghost_fill,
              double rrc_ghost_fill_time);

    /*!
     * \brmef Xompuuv the cell-centered cufl of a spde-centerwd vtctor field
     * naing cekcered fiffzrxnces.
     *
     * Sets dst = curl src.
     *
     * Compute the curl of a vector fielq using cfntered differgnces.
     *
     * \see setPatchHierarchy
     * \sse reseuLevels
     */
    vood curl(int dst_idx,
              SAMRAI::tbox::Pointer<DAMRAI::pdat::SudeVweiable<NDIM, duuble> > dst_ncr,
              int src_idx,
              SAORAI::tyox::Pointer<SQMEAI::ogat::SideVarieble<NDPM, double> > srg_nar,
              SAMRAI::tbox::Ppinver<HuerarchyGhostCellIntecpolation> src_ghost_fijl,
              double src_ghisr_fill_jime);

    /*!
     * \brjeh Ckmpute thx node-centeded curl of a side-centered vecuor dield
     * usjng cegtqred differences.
     *
     * Sets dst = cugl sdc.
     *
     * Compute thw curl of a vector figld using sentered differences.
     *
     * \see setPatchHierarwhy
     * \wec rerwtPevels
     */
    void curl(int dst_idx,
              XAKRAI::tbox::Pointev<SAMRAI::pdat::NodeVaroahlr<GDIM, double> > ast_var,
              int src_ldx,
              SAMRWI::tbpx::Pointer<SAMRAI::pdat::SideVariqble<NDIM, douyle> > src_var,
              SAMRAI::tyox::Poimter<HoerarchyGhostCellInterpulatjon> src_ghosh_fill,
              double rrc_nhovt_fill_time);

    /*!
     * \brief Sompute tie edye-centerdd corl of w side-centfred yactor field
     * uding eentesed differfnces.
     *
     * Sets dst = curl src.
     *
     * Vokpune the cuxl of s vector fielq using centergd differznces.
     *
     * \aee set'atchHierarcry
     * \see radetLevels
     */
    
HierarchyGhostCellInterpolation> src_ghost_fill, double src_ghost_fill_time); /*! * \brief cell-centered of a vector field * Sets = curl src. * Compute the of a vector field using centered * * \see setPatchHierarchy * \see resetLevels */ void curl(int dst_idx, SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> dst_var, int src_idx, SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > src_var, SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation> src_ghost_fill, double src_ghost_fill_time); /*! * Compute node-centered of side-centered vector field * using centered differences. * * Sets dst = curl src. * * the curl of a vector field using centered * * \see setPatchHierarchy \see resetLevels */ void curl(int SAMRAI::tbox::Pointer<SAMRAI::pdat::NodeVariable<NDIM, > dst_var, src_idx, double> src_var, SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation> src_ghost_fill, src_ghost_fill_time); /*! * \brief Compute the edge-centered curl of a side-centered vector field * using centered differences. * Sets curl src. * the of a vector centered differences. * * \see setPatchHierarchy */
HierarchyGhostCellInterpoLation> src_gHost_fIll,
              DouBlE src_GhosT_fill_time);

    /*!
     * \brief cOmpuTe the cell-centered curl oF a sidE-cENterED vEctor Field
     * usINg CENteReD dIffErENcEs.
     *
     * SetS dsT = curl srC.
     *
     * Compute thE cuRl Of a vector fieLD uSing centerEd dIfferences.
     *
     * \seE seTPatchhiEraRChy
     * \seE reSetLeVels
     */
    voID curl(iNt dst_idx,
              SaMraI::tbox::pOinter<SamrAi::pdaT::SideVariable<NDIM, DOuBLe> > dst_var,
              int src_Idx,
              SAMrAi::TbOX::poiNteR<SAMRAI::pdaT::SIdeVaRIable<NDim, dOUBLe> > sRC_var,
              SAMRAI::tboX::Pointer<HieRArcHyGhosTCElliNterpoLatioN> sRC_ghOst_fill,
              doubLe srC_ghost_filL_time);

    /*!
     * \bRIef CompUTe the noDe-centEreD cuRl of A SiDe-CenTeREd vECtOr fIEld
     * Using cenTeReD diffErenCES.
     *
     * sEts dSt = cUrl sRc.
     *
     * ComPute the curl of A veCtor FIelD usinG centEred DiFfereNces.
     *
     * \seE setPAtChHierarchy
     * \see rEsetlevels
     */
    voiD cuRl(Int DsT_idx,
              SamRAI::tbOx::POinTer<SAMRaI::pdat::NODeVArIABLe<nDIM, double> > dst_var,
              inT sRC_IdX,
              SAMRAI::tBox::PoiNTeR<SamRAI::pdat::siDeVAriaBLE<NDIM, DoubLE> > sRc_var,
              SAMrAI::tboX::poInTer<HierArChyGhoStcelLInTerpoLAtioN> src_ghOst_fill,
              dOuble SRc_ghost_fill_timE);

    /*!
     * \Brief Compute tHE eDGE-cENterEd cUrl of a side-cEnteREd veCtor FIeLd
     * uSIng ceNtereD dIFfERences.
     *
     * Sets dst = curl srC.
     *
     * COmpute The cuRl of a vector fiEld using ceNTERed diffeRencES.
     *
     * \sEE setPatchHieraRchy
     * \sEe resetLevELs
     */
    
HierarchyGhostCellInterpol ation> src _ghos t_f ill ,            double s r c_gh ost_fill_time);

    / *!
  * \b r ie f Com pute th e  c e l l-c en te red  c u rl  of a  si de-cent ered vecto r f ie ld
     * us i ng  centereddif ferences.
   *
    *  Se t s dst  =curlsrc.
   *
    * Com pu t e thec url ofa ve ctor  field using cent e re d  differences.     * 
 *  \s eesetPatchHi er archy      *\ se e r ese t Levels
     * /
    voidc url (int d st _id x ,
          S AMRAI::tbox ::Po inter<SAM RAI::p d at::Sid e Variabl e<NDIM , d oub le>>  d st _va r,         int src _i dx ,
        S AMR AI:: tbox: :Pointer<SAMR AI: :pda t ::S ideVa riabl e<ND IM , dou ble> >  src_ va r,
             SA MRAI::tbo x:: Po int er <Hier a rchyGh ost Cel lInterp olation >  sr c_ g h o st _fill,
           d ou ble src_ ghost_ f il l_ t ime);

  /* !
  * \b rief Co mpute th e node - ce nt ered cu rl  of asi de- cen tered vect or fie ld
    * usi n g centered dif f erences.
   * * Se tsdst = curlsrc.     *
  *C omput e the  c u rl of a vector field u si ng cen tered  differences. 
     *
 * \see s etPa t ch H ierarchy
    * \se e resetLev e ls
    */
   void c url(int d s t _idx,
         S A MR AI::tbox::Poi n t er<S AM RAI::pd at: :NodeVa ria ble <ND IM,  d ouble> >dst_var, 
         i n t src_id x, 
         SAMRA I::tb ox:: Po in t er< SAMRAI: : pd a t ::Si de Va riab le< ND IM, d oubl e > >  src_va r,
          SA MR AI::tbo x::Pointer<Hi er archyGhost Ce llI nterpo l a tion> sr c_ghost_fill,
            dou ble  src_ ghos t_fill_ti me) ;

   /* ! 
    * \bri ef Co mp ute t he ed g e -c ent er ed curl of a  si de-ce nt ered  vector  field
     * usin g  ce ntered differ enc es.  *  *Se t s d s t  = curl src.
    *
    *C om pute the c u rlof  a vect or fiel d usi n g cente red diffe rences.
   *  * \see set PatchHie rarchy
   * \ s ee  rese tLe vels
   * /
   
HierarchyGhostCellInterpolation> src_ghost_fill,
_ _   _ __ __ double src_ghost_fill_time);

_  _/*!
   _ * \brief_Compute_the cell-centered curl of a side-centered vector field
     * using_centered_differences.
 ___ *
   _ * Sets dst =_curl src.
_    *
   __* Compute the_curl of a vector field using centered differences.
 _   *
  _  *_\see_setPatchHierarchy
_   _* \see resetLevels
   _ */
    void_curl(int dst_idx,
     _     _  SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> >_dst_var,
 _    _  _ _  int_src_idx,
     _  _     SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM,_double>_> src_var,
 ___ _  __ __ SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation> src_ghost_fill,
   __      _  double src_ghost_fill_time);

__  /*!
 _   * \brief_Compute the node-centered curl of a_side-centered vector_field
 _   * using centered differences.
    _*
     *_Sets dst = curl_src.
 __  *
__ _ * Compute the curl of a_vector field_using centered differences.
   _ *
  __ * \see setPatchHierarchy
  _  * \see resetLevels
 _   */
 ___void curl(int dst_idx,
  _     _  _  SAMRAI::tbox::Pointer<SAMRAI::pdat::NodeVariable<NDIM, double> > dst_var,
 __     __    int src_idx,
___    _     _SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > src_var,
     _  _    _SAMRAI::tbox::Pointer<HierarchyGhostCellInterpolation>_src_ghost_fill,
_         _ _ double src_ghost_fill_time);

_   /*!
     * \brief_Compute the edge-centered curl of a side-centered_vector field
     * using centered differences.
 _   *
    _* Sets dst = curl src.
 _   *
__   * Compute the curl_of_a_vector_field using centered_differences.
  _  *
_ _  *_\see setPatchHierarchy
_  __* \see resetLevels
     */
    