#include <CCZ4SBH_FV.h>
|
| | CCZ4SBH_FV () |
| | Initialise the two punctures object if required.
|
| |
| virtual void | initialCondition (double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &volumeCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH) override |
| |
| void | reduceAdmissibleTimeStepSize (double timeStepSize) |
| | Overwrite limiters time step size.
|
| |
| virtual void | startTimeStep (double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize) override |
| | Call superclass and after that report/maintain _numberOfPatches.
|
| |
| virtual void | finishTimeStep () override |
| | Call superclass and after that report/maintain _numberOfPatches.
|
| |
| void | incNumberOfPatches () |
| |
|
| static tarch::logging::Log | _log |
| |
| static tarch::multicore::BooleanSemaphore | _semaphore |
| |
Definition at line 26 of file CCZ4SBH_FV.h.
◆ CCZ4SBH_FV()
| benchmarks::exahype2::ccz4::CCZ4SBH_FV::CCZ4SBH_FV |
( |
| ) |
|
◆ areAllFaceConnectedCellsOverlappingWithBHImpactArea()
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::areAllFaceConnectedCellsOverlappingWithBHImpactArea |
( |
const peano4::datamanagement::CellMarker & | marker | ) |
|
|
static |
◆ areBothAdjacentCellsOverlappingWithBHImpactArea() [1/2]
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::areBothAdjacentCellsOverlappingWithBHImpactArea |
( |
const peano4::datamanagement::CellMarker & | marker, |
|
|
int | faceNumber ) |
|
static |
Check if the faceNumberth adjacent face is adjacent to inside cells.
So first of all, we check if the current cell is overlapping with the BH area. If this is not the case, we can return false immediately. Otherwise, we can move one cell left, right, up, down, front or left and check for this cell as well.
Definition at line 98 of file CCZ4SBH_FV.cpp.
◆ areBothAdjacentCellsOverlappingWithBHImpactArea() [2/2]
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::areBothAdjacentCellsOverlappingWithBHImpactArea |
( |
const peano4::datamanagement::FaceMarker & | marker | ) |
|
|
static |
Check two adjacent octants.
Each face has to adjacent octants. We check if isCellOverlappingWithBHImpactArea() holds for both of them. Delete logic to isCellOverlappingWithBHImpactArea().
Definition at line 112 of file CCZ4SBH_FV.cpp.
◆ finishTimeStep()
| void benchmarks::exahype2::ccz4::CCZ4SBH_FV::finishTimeStep |
( |
| ) |
|
|
overridevirtual |
Call superclass and after that report/maintain _numberOfPatches.
Definition at line 161 of file CCZ4SBH_FV.cpp.
◆ incNumberOfPatches()
| void benchmarks::exahype2::ccz4::CCZ4SBH_FV::incNumberOfPatches |
( |
| ) |
|
◆ initialCondition()
| void benchmarks::exahype2::ccz4::CCZ4SBH_FV::initialCondition |
( |
double *NOALIAS | Q, |
|
|
const tarch::la::Vector< DIMENSIONS, double > & | volumeCentre, |
|
|
const tarch::la::Vector< DIMENSIONS, double > & | volumeH ) |
|
overridevirtual |
◆ isCellOverlappingWithBHImpactArea() [1/2]
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::isCellOverlappingWithBHImpactArea |
( |
const peano4::datamanagement::CellMarker & | marker | ) |
|
|
static |
Is octant area overlapping with BH impact area.
Any unrefined octant overlapping with the impact area should hold a FV solution. Delete logic to isCellOverlappingWithBHImpactArea().
Definition at line 72 of file CCZ4SBH_FV.cpp.
◆ isCellOverlappingWithBHImpactArea() [2/2]
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::isCellOverlappingWithBHImpactArea |
( |
const tarch::la::Vector< DIMENSIONS, double > & | cellCentre, |
|
|
const tarch::la::Vector< DIMENSIONS, double > & | cellH ) |
|
staticprivate |
◆ isOneAdjacentCellOverlappingWithBHImpactArea()
| bool benchmarks::exahype2::ccz4::CCZ4SBH_FV::isOneAdjacentCellOverlappingWithBHImpactArea |
( |
const peano4::datamanagement::FaceMarker & | marker | ) |
|
|
static |
◆ reduceAdmissibleTimeStepSize()
| void benchmarks::exahype2::ccz4::CCZ4SBH_FV::reduceAdmissibleTimeStepSize |
( |
double | timeStepSize | ) |
|
Overwrite limiters time step size.
The FV solver calculates its admissible time step size in finishTimeStep(). So you can always overwrite it in startTimeStep(). Due to stability reasons, you should always reduce the admissible time step size but never ever increase it.
Definition at line 67 of file CCZ4SBH_FV.cpp.
References timeStepSize.
◆ startTimeStep()
| void benchmarks::exahype2::ccz4::CCZ4SBH_FV::startTimeStep |
( |
double | globalMinTimeStamp, |
|
|
double | globalMaxTimeStamp, |
|
|
double | globalMinTimeStepSize, |
|
|
double | globalMaxTimeStepSize ) |
|
overridevirtual |
Call superclass and after that report/maintain _numberOfPatches.
Definition at line 149 of file CCZ4SBH_FV.cpp.
◆ _log
| tarch::logging::Log benchmarks::exahype2::ccz4::CCZ4SBH_FV::_log |
|
staticprivate |
◆ _numberOfPatches
| int benchmarks::exahype2::ccz4::CCZ4SBH_FV::_numberOfPatches |
|
private |
◆ _semaphore
| tarch::multicore::BooleanSemaphore benchmarks::exahype2::ccz4::CCZ4SBH_FV::_semaphore |
|
staticprivate |
The documentation for this class was generated from the following files: