| 
    Chombo + EB
    3.2
    
   | 
 
#include <Correct1D2D.H>
Public Member Functions | |
| Correct1D2D (const EBLevelGrid &a_eblg, const LayoutData< bool > &a_is1D, int a_nvar) | |
| ~Correct1D2D () | |
| void | setToZero () | 
| void | increment1D (const EBFaceFAB &a_1DFlux, const Real &a_scale, const DataIndex &a_dit) | 
| void | increment2D (const EBFaceFAB &a_2DFlux, const Real &a_scale, const DataIndex &a_dit) | 
| void | correctSolution (LevelData< EBCellFAB > &a_U) | 
Static Public Member Functions | |
| static void | makeIntMap (LevelData< BaseFab< int > > &a_intmap, const LayoutData< bool > &a_is1D, const DisjointBoxLayout &a_dbl) | 
Protected Member Functions | |
| int | index (int a_dir, Side::LoHiSide a_sd) | 
Protected Attributes | |
| LevelData< BaseFab< int > > | m_1d2d | 
| DisjointBoxLayout | m_dbl1d [2 *SpaceDim] | 
| DisjointBoxLayout | m_dbl2d [2 *SpaceDim] | 
| int | m_nvar | 
| EBLevelGrid | m_eblg | 
| LayoutData< Vector< VolIndex > > | m_sets1d [2 *SpaceDim] | 
| LayoutData< Vector< VolIndex > > | m_sets2d [2 *SpaceDim] | 
| LevelData< EBCellFAB > | m_deltaU1d [2 *SpaceDim] | 
| LevelData< EBCellFAB > | m_deltaU2d [2 *SpaceDim] | 
Private Member Functions | |
| Correct1D2D () | |
| Correct1D2D (const Correct1D2D &a_in) | |
| void | operator= (const Correct1D2D &a_in) | 
Given an EB application that uses one algorithm for fluxes on some boxes and another on other boxes, this will make the solution's fluxes match at box-box boundaries. In all this class, the winning algorithm at the boundary is denoted by 2D, the losing by 1D but this would work for whatever polyalgorithm you choose.
| Correct1D2D::Correct1D2D | ( | const EBLevelGrid & | a_eblg, | 
| const LayoutData< bool > & | a_is1D, | ||
| int | a_nvar | ||
| ) | 
      
  | 
  inline | 
References correctSolution(), increment1D(), increment2D(), and setToZero().
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  static | 
| void Correct1D2D::setToZero | ( | ) | 
sets buffers to zero
Referenced by ~Correct1D2D().
| void Correct1D2D::increment1D | ( | const EBFaceFAB & | a_1DFlux, | 
| const Real & | a_scale, | ||
| const DataIndex & | a_dit | ||
| ) | 
increments the 1D (losing) buffer by -flux*scale*sign(side) (side is which side of the changed cell we are talking about) typically scale = 1/dx[idir]
Referenced by ~Correct1D2D().
| void Correct1D2D::increment2D | ( | const EBFaceFAB & | a_2DFlux, | 
| const Real & | a_scale, | ||
| const DataIndex & | a_dit | ||
| ) | 
increments the 2D (winning) buffer by flux*scale*sign(side) (side is which side of the changed cell we are talking about) typically scale = 1/dx[idir]
Referenced by ~Correct1D2D().
subtracts off change in solution due to losing flux and adds in change in solution due to winning flux.
Referenced by ~Correct1D2D().
      
  | 
  inlineprotected | 
References SpaceDim.
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
 1.8.13