13 #ifndef _RESISTIVITYOP_H_    14 #define _RESISTIVITYOP_H_    27 #include "NamespaceHeader.H"    93                 const Real&                                 a_dxLevel,
   100                           bool a_homogeneous = 
false);
   107                           bool a_homogeneous = 
false);
   116                                    const int& a_refRat);
   127                const Box&       a_facebox,
   198                            bool a_homogeneousPhysBC,
   207                              bool a_homogeneousPhysBC,
   215                              bool a_homogeneousPhysBC);
   227                            bool a_skip_res = 
false );
   282                    bool a_homogeneousDomBC,
   288                      bool a_homogeneousBC);
   293                              bool a_homogeneousBC,
   319                          const Box&             a_faceBox,
   320                          const int&             a_faceDir,
   395                        const Real&                                          a_dxCoar,
   402           bool homoOnly = 
true);
   439 #include "NamespaceFooter.H" Vector< Real > m_dx
Definition: ResistivityOp.H:416
 
Definition: ResistivityOp.H:382
 
virtual void applyOp(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, bool a_homogeneous=false)
 
A reference-counting handle class. 
Definition: RefCountedPtr.H:173
 
An irregular domain on an integer lattice. 
Definition: IntVectSet.H:44
 
Real m_alpha
Definition: ResistivityOp.H:336
 
A class to facilitate interaction with physical boundary conditions. 
Definition: ProblemDomain.H:141
 
Real m_beta
Definition: ResistivityOp.H:420
 
LayoutData< CFIVS > m_loCFIVS[SpaceDim]
Definition: ResistivityOp.H:355
 
static const int s_nGradComp
Definition: ResistivityOp.H:344
 
static const int s_nComp
Definition: ResistivityOp.H:343
 
void loHiCenterFace(Box &a_loBox, int &a_hasLo, Box &a_hiBox, int &a_hasHi, Box &a_centerBox, const ProblemDomain &a_eblg, const Box &a_inBox, const int &a_dir)
 
virtual void assign(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs)
 
LevelDataOps< FArrayBox > m_levelOps
Definition: ResistivityOp.H:351
 
void computeOperatorNoBCs(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi)
utility function which computes operator after all bc's have been set 
 
A strange but true thing to make copying from one boxlayoutdata to another fast. 
Definition: Copier.H:145
 
virtual void divideByIdentityCoef(LevelData< FArrayBox > &a_rhs)
Definition: ResistivityOp.H:62
 
LevelData< FArrayBox > m_grad
Definition: ResistivityOp.H:350
 
Vector< DisjointBoxLayout > m_boxes
Definition: ResistivityOp.H:415
 
virtual void diagonalScale(LevelData< FArrayBox > &a_rhs, bool a_kappaWeighted)
Definition: ResistivityOp.H:52
 
virtual void preCond(LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_residual)
 
void interpOnIVSHomo(LevelData< FArrayBox > &a_phif, const DataIndex &a_datInd, const int a_idir, const Side::LoHiSide a_hiorlo, const IntVectSet &a_interpIVS)
 
Quadratic coarse-fine interpolation utility for tensors. 
Definition: TensorCFInterp.H:36
 
LayoutData< TensorFineStencilSet > m_hiTanStencilSets[SpaceDim]
Definition: ResistivityOp.H:358
 
void AMROperator(LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, bool a_homogeneousDomBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp)
 
virtual void restrictResidual(LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_rhsFine)
 
virtual void createCoarsened(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs, const int &a_refRat)
 
virtual void AMRResidualNF(LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC)
 
Vector< IntVect > m_colors
Definition: ResistivityOp.H:360
 
void reflux(const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &residual, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp)
 
Vector< ProblemDomain > m_domains
Definition: ResistivityOp.H:414
 
void(* BCFunc)(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)
Definition: BCFunc.H:30
 
Definition: ResistivityOp.H:40
 
void cfinterp(const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phiCoarse)
 
const int SpaceDim
Definition: SPACE.H:38
 
Definition: AMRMultiGrid.H:39
 
virtual void scale(LevelData< FArrayBox > &a_lhs, const Real &a_scale)
 
Real m_dxCrse
Definition: ResistivityOp.H:346
 
Vector< RefCountedPtr< LevelData< FluxBox > > > m_eta
Definition: ResistivityOp.H:412
 
virtual ~ResistivityOp()
Definition: ResistivityOp.H:70
 
void AMROperatorNF(LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, bool a_homogeneousBC)
 
A FArrayBox-like container for face-centered fluxes. 
Definition: FluxBox.H:22
 
ResistivityOpFactory()
weak construction is bad 
Definition: ResistivityOp.H:423
 
LevelData< FArrayBox > m_phic
Definition: ResistivityOp.H:413
 
virtual int refToCoarser()
Definition: ResistivityOp.H:187
 
virtual Real norm(const LevelData< FArrayBox > &a_x, int a_ord)
 
virtual void setAlphaAndBeta(const Real &a_alpha, const Real &a_beta)
Definition: ResistivityOp.H:44
 
virtual void applyOpNoBoundary(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi)
 
virtual void prolongIncrement(LevelData< FArrayBox > &a_phiThisLevel, const LevelData< FArrayBox > &a_correctCoarse)
 
virtual void create(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs)
 
void homogeneousCFInterpPhi(LevelData< FArrayBox > &a_phif, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo)
 
virtual void AMRProlong(LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection)
 
int m_refToFine
Definition: ResistivityOp.H:339
 
double Real
Definition: REAL.H:33
 
Definition: MultiGrid.H:30
 
virtual void setToZero(LevelData< FArrayBox > &a_x)
 
ProblemDomain m_domain
Definition: ResistivityOp.H:347
 
virtual void AMRUpdateResidual(LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection)
 
virtual void fillGrad(const LevelData< FArrayBox > &a_phiFine)
These functions are part of the LevelTGA interface...... 
 
virtual void getFlux(FluxBox &a_flux, const LevelData< FArrayBox > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale)
 
virtual Real dotProduct(const LevelData< FArrayBox > &a_1, const LevelData< FArrayBox > &a_2)
 
A BoxLayout that has a concept of disjointedness. 
Definition: DisjointBoxLayout.H:30
 
void getFaceDivAndGrad(FArrayBox &a_faceDiv, FArrayBox &a_faceGrad, const FArrayBox &a_data, const FArrayBox &a_gradData, const ProblemDomain &a_domain, const Box &a_faceBox, const int &a_faceDir, const Real a_dx)
 
void cellGrad(FArrayBox &a_gradPhi, const FArrayBox &a_phi, const Box &a_grid)
 
LoHiSide
Definition: LoHiSide.H:27
 
void divergenceCC(LevelData< FArrayBox > &a_div, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiC)
take cell centered divergence of the inputs. 
 
Real m_beta
Definition: ResistivityOp.H:337
 
ResistivityOpFactory(const ResistivityOpFactory &a_opin)
Definition: ResistivityOp.H:428
 
virtual void createCoarser(LevelData< FArrayBox > &a_coarse, const LevelData< FArrayBox > &a_fine, bool ghosted)
 
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code. 
 
TensorCFInterp m_interpWithCoarser
Definition: ResistivityOp.H:353
 
virtual void incr(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, Real a_scale)
 
Copier m_exchangeCopier
Definition: ResistivityOp.H:352
 
virtual void AMRRestrict(LevelData< FArrayBox > &a_resCoarse, const LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection, bool a_skip_res=false)
 
RefCountedPtr< LevelData< FluxBox > > m_eta
Definition: ResistivityOp.H:334
 
A Rectangular Domain on an Integer Lattice. 
Definition: Box.H:465
 
void homogeneousCFInterp(LevelData< FArrayBox > &a_phif)
 
virtual void residual(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false)
 
ResistivityOp(const ResistivityOp &a_opin)
Definition: ResistivityOp.H:368
 
Definition: DataIndex.H:112
 
virtual void AMRResidualNC(LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp)
 
Real m_dx
Definition: ResistivityOp.H:345
 
virtual void AMROperatorNC(LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, bool a_homogeneousBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp)
 
Definition: FArrayBox.H:45
 
int m_refToCoar
Definition: ResistivityOp.H:338
 
virtual void AMRResidual(LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp)
 
BCFunc m_bc
Definition: ResistivityOp.H:340
 
void homogeneousCFInterpTanGrad(LevelData< FArrayBox > &a_tanGrad, const LevelData< FArrayBox > &a_phi, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo)
 
virtual Real AMRNorm(const LevelData< FArrayBox > &a_coarseResid, const LevelData< FArrayBox > &a_fineResid, const int &a_refRat, const int &a_ord)
 
Definition: AMRMultiGrid.H:233
 
void operator=(const ResistivityOp &a_opin)
Definition: ResistivityOp.H:372
 
BCFunc m_bc
Definition: ResistivityOp.H:419
 
LayoutData< TensorFineStencilSet > m_loTanStencilSets[SpaceDim]
Definition: ResistivityOp.H:359
 
LevelData< FArrayBox > m_lambda
Definition: ResistivityOp.H:349
 
virtual ~ResistivityOpFactory()
Definition: ResistivityOp.H:385
 
LayoutData< CFIVS > m_hiCFIVS[SpaceDim]
Definition: ResistivityOp.H:356
 
void operator=(const ResistivityOpFactory &a_opin)
Definition: ResistivityOp.H:433
 
DisjointBoxLayout m_grids
Definition: ResistivityOp.H:335
 
virtual void diagonalScale(LevelData< FArrayBox > &a_rhs)
Definition: ResistivityOp.H:57
 
virtual void relax(LevelData< FArrayBox > &a_e, const LevelData< FArrayBox > &a_residual, int iterations)
 
ResistivityOp()
weak construction is bad 
Definition: ResistivityOp.H:363
 
Vector< int > m_refRatios
Definition: ResistivityOp.H:418
 
virtual void axby(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, const LevelData< FArrayBox > &a_y, Real a, Real b)