00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _EBTENSORCFINTERP_H_
00012 #define _EBTENSORCFINTERP_H_
00013
00014 #include <iostream>
00015 #include <math.h>
00016 #include "SPACE.H"
00017 #include <stdlib.h>
00018 #include "REAL.H"
00019 #include "IntVect.H"
00020 #include "Box.H"
00021 #include "BaseFab.H"
00022 #include "DisjointBoxLayout.H"
00023 #include "LevelData.H"
00024 #include "FArrayBox.H"
00025 #include "QuadCFStencil.H"
00026 #include "ProblemDomain.H"
00027 #include "TensorFineStencilSet.H"
00028 #include "REAL.H"
00029 #include "FArrayBox.H"
00030 #include "LevelData.H"
00031 #include "DisjointBoxLayout.H"
00032 #include "EBISLayout.H"
00033 #include "EBCellFAB.H"
00034 #include "Interval.H"
00035 #include "Stencils.H"
00036 #include "QuadCFInterp.H"
00037 #include "BaseIVFAB.H"
00038 #include "TensorCFInterp.H"
00039 #include "NamespaceHeader.H"
00040
00042
00047 class EBTensorCFInterp
00048 {
00049 public:
00050
00052 EBTensorCFInterp(const DisjointBoxLayout& a_fineBoxes,
00053 const DisjointBoxLayout& a_coarBoxes,
00054 const EBISLayout& a_ebislFine,
00055 const EBISLayout& a_ebislCoar,
00056 const ProblemDomain& a_domainCoar,
00057 const int& a_nref,
00058 const int& a_nvar,
00059 Real a_dxFine);
00060
00062 ~EBTensorCFInterp();
00063
00065
00068 void coarseFineInterp(LevelData<EBCellFAB>& a_phif,
00069 LevelData<EBCellFAB>& a_tanGradf,
00070 const LevelData<EBCellFAB>& a_phic);
00071
00072
00074
00079 void coarseFineInterpH(LevelData<EBCellFAB>& a_phif,
00080 LevelData<EBCellFAB>& a_tanGradf);
00081
00082
00083 protected:
00084
00086
00090 EBISLayout m_ebislCoar;
00091 EBISLayout m_ebislFine;
00092 DisjointBoxLayout m_gridsCoar;
00093 DisjointBoxLayout m_gridsFine;
00094 ProblemDomain m_domainFine;
00095 ProblemDomain m_domainCoar;
00096 int m_nComp;
00097 int m_refRat;
00098 TensorCFInterp m_tensorCFInterp;
00099
00100 private:
00101
00102 EBTensorCFInterp()
00103 {
00104 MayDay::Error("invalid operator");
00105 }
00106
00107
00108 EBTensorCFInterp(EBTensorCFInterp& a_input)
00109 {
00110 MayDay::Error("invalid operator");
00111 }
00112
00113
00114 void operator=(EBTensorCFInterp& a_input)
00115 {
00116 MayDay::Error("invalid operator");
00117 }
00118
00119 };
00120
00121 #include "NamespaceFooter.H"
00122 #endif