chombo-discharge
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
TiledMeshRefine Class Reference

Class for generation AMR boxes using a tiling algorithm. More...

#include <CD_TiledMeshRefine.H>

Public Member Functions

 TiledMeshRefine ()=delete
 Default constructor – deleted because we never need it.
 
 TiledMeshRefine (const ProblemDomain &a_coarsestDomain, const Vector< int > &a_refRatios, const IntVect &a_tileSize) noexcept
 Constructor. More...
 
virtual ~TiledMeshRefine () noexcept
 Destructor (does nothing)
 
virtual int regrid (Vector< Vector< Box >> &a_newBoxes, const Vector< IntVectSet > &a_tagsLevel) const noexcept
 Regrid using the tile clustering algorithm. More...
 

Protected Types

using Tile = TileI< int, SpaceDim >
 Tile representation.
 
using TileSet = std::set< Tile >
 Tile set representation.
 

Protected Member Functions

virtual void makeLevelTiles (TileSet &a_tiles, const TileSet &a_fineTiles, const IntVectSet &a_coarTags, const ProblemDomain &a_domain, const int a_refToFine, const int a_refToCoar) const noexcept
 Make tiles on the current level from tags and tile coarsening from finer levels.
 
virtual void makeBoxesFromTiles (Vector< Box > &a_boxes, const TileSet &a_tiles, const ProblemDomain &a_domain) const noexcept
 Turn tiles into boxes.
 

Protected Attributes

Vector< ProblemDomain > m_amrDomains
 Computational domains on each level. More...
 
Vector< int > m_refRatios
 Refinement ratios.
 
IntVect m_tileSize
 Tile size.
 

Detailed Description

Class for generation AMR boxes using a tiling algorithm.

This class provides a scalable method for grid generation where the grids are generated in a pre-set tile pattern. This work by decomposing the grid into a tiled pattern, and then flagging tiles rather than cells for refinement.

Constructor & Destructor Documentation

◆ TiledMeshRefine()

TiledMeshRefine::TiledMeshRefine ( const ProblemDomain &  a_coarsestDomain,
const Vector< int > &  a_refRatios,
const IntVect &  a_tileSize 
)
noexcept

Constructor.

Parameters
[in]a_coarsestDomainCoarsest grid domain
[in]a_refRatiosRefinement ratios
[in]a_tileSizeTile size

Member Function Documentation

◆ regrid()

int TiledMeshRefine::regrid ( Vector< Vector< Box >> &  a_newBoxes,
const Vector< IntVectSet > &  a_tagsLevel 
) const
virtualnoexcept

Regrid using the tile clustering algorithm.

Parameters
[out]a_newBoxesThe new grid boxes
[in]a_tagsLevelGrid tags on each level
Returns
Returns the new finest grid level.

Member Data Documentation

◆ m_amrDomains

Vector<ProblemDomain> TiledMeshRefine::m_amrDomains
protected

Computational domains on each level.

Note
This are the domains for the grid.

The documentation for this class was generated from the following files: