Public Member Functions | Protected Member Functions | List of all members
AMR Class Referenceabstract

Base class for amr. More...

#include <amr.hpp>

Inheritance diagram for AMR:
Inheritance graph
[legend]
Collaboration diagram for AMR:
Collaboration graph
[legend]

Public Member Functions

virtual void operator() (hdsim &sim)=0
 Runs the AMR. More...
 
virtual void UpdateCellsRefine (Tessellation &tess, OuterBoundary const &obc, vector< ComputationalCell > &cells, EquationOfState const &eos, vector< Extensive > &extensives, double time, Tessellation const &proctess, TracerStickerNames const &tracerstickernames, CacheData const &cd, PhysicalGeometry const &pg) const =0
 Runs the refine. More...
 
virtual void UpdateCellsRemove (Tessellation &tess, OuterBoundary const &obc, vector< ComputationalCell > &cells, vector< Extensive > &extensives, EquationOfState const &eos, double time, Tessellation const &proctess, TracerStickerNames const &tracerstickernames, CacheData const &cd, PhysicalGeometry const &pg) const =0
 Runs the removal. More...
 
virtual ~AMR (void)
 Virtual destructor.
 

Protected Member Functions

void GetNewPoints (vector< size_t > const &ToRefine, Tessellation const &tess, vector< std::pair< size_t, Vector2D > > &NewPoints, vector< Vector2D > &Moved, OuterBoundary const &obc, vector< Vector2D > const &proc_chull) const
 Calculates the positions of the new points. More...
 
vector< size_t > RemoveNearBoundaryPoints (vector< size_t > const &ToRemove, Tessellation const &tess, vector< double > &merits) const
 Removes points because they are near the edge of a cpu domain. More...
 
void GetNewPoints2 (vector< size_t > const &ToRefine, Tessellation const &tess, vector< std::pair< size_t, Vector2D > > &NewPoints, vector< Vector2D > &Moved, OuterBoundary const &obc) const
 Calculates the positions of the new points like AREPO. More...
 

Detailed Description

Base class for amr.

Definition at line 150 of file amr.hpp.

Member Function Documentation

◆ GetNewPoints()

void AMR::GetNewPoints ( vector< size_t > const &  ToRefine,
Tessellation const &  tess,
vector< std::pair< size_t, Vector2D > > &  NewPoints,
vector< Vector2D > &  Moved,
OuterBoundary const &  obc,
vector< Vector2D > const &  proc_chull 
) const
protected

Calculates the positions of the new points.

Parameters
ToRefinepoints to refine
tessTessellation
NewPointsoutput
Moveddisplacement for periodic grid
obcOuter boundary conditions
proc_chullCells' convex hull

Definition at line 714 of file amr.cpp.

Here is the call graph for this function:

◆ GetNewPoints2()

void AMR::GetNewPoints2 ( vector< size_t > const &  ToRefine,
Tessellation const &  tess,
vector< std::pair< size_t, Vector2D > > &  NewPoints,
vector< Vector2D > &  Moved,
OuterBoundary const &  obc 
) const
protected

Calculates the positions of the new points like AREPO.

Parameters
ToRefinepoints to refine
tessTessellation
NewPointsoutput
Moveddisplacement for periodic grid
obcOuter boundary conditions

Definition at line 674 of file amr.cpp.

Here is the call graph for this function:

◆ operator()()

virtual void AMR::operator() ( hdsim sim)
pure virtual

Runs the AMR.

Parameters
simThe sim object

Implements Manipulate.

Implemented in NonConservativeAMR, and ConservativeAMR.

◆ RemoveNearBoundaryPoints()

vector< size_t > AMR::RemoveNearBoundaryPoints ( vector< size_t > const &  ToRemove,
Tessellation const &  tess,
vector< double > &  merits 
) const
protected

Removes points because they are near the edge of a cpu domain.

Parameters
ToRemoveCandidates for AMR
meritsThe merits for points to be removed. given as input and output. should be empty vector for refinement
tessTessellation
Returns
The new indices and merits of points

Definition at line 1154 of file amr.cpp.

Here is the call graph for this function:

◆ UpdateCellsRefine()

virtual void AMR::UpdateCellsRefine ( Tessellation tess,
OuterBoundary const &  obc,
vector< ComputationalCell > &  cells,
EquationOfState const &  eos,
vector< Extensive > &  extensives,
double  time,
Tessellation const &  proctess,
TracerStickerNames const &  tracerstickernames,
CacheData const &  cd,
PhysicalGeometry const &  pg 
) const
pure virtual

Runs the refine.

Parameters
tessThe tessellation
cellsThe computational cells
eosThe equation of state
extensivesThe extensive variables
timeThe sim time
obcOuter boundary conditions
tracerstickernamesThe names of the tracers and stickers
cdThe cache data of the tessellation
pgThe physical geometry
proctessTessellation of the processes (for parallel runs)

Implemented in NonConservativeAMR, and ConservativeAMR.

◆ UpdateCellsRemove()

virtual void AMR::UpdateCellsRemove ( Tessellation tess,
OuterBoundary const &  obc,
vector< ComputationalCell > &  cells,
vector< Extensive > &  extensives,
EquationOfState const &  eos,
double  time,
Tessellation const &  proctess,
TracerStickerNames const &  tracerstickernames,
CacheData const &  cd,
PhysicalGeometry const &  pg 
) const
pure virtual

Runs the removal.

Parameters
tessThe tessellation
cellsThe computational cells
eosThe equation of state
extensivesThe extensive variables
timeThe sim time
obcThe outer boundary conditions
tracerstickernamesThe names of the tracers and stickers
cdThe cache data of the tessellation
pgThe physical geometry
proctessTessellation of the processes (for parallel runs)

Implemented in NonConservativeAMR, and ConservativeAMR.


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