void applySommerfeldBoundaryConditions(std::function< double(const double *Q, const tarch::la::Vector< Dimensions, double > &x, int normal)> waveSpeed, std::function< void(const tarch::la::Vector< Dimensions, double > &x, double *Q)> farFieldSolution, const peano4::datamanagement::FaceMarker &marker, const tarch::la::Vector< Dimensions, double > &domainOffset, const tarch::la::Vector< Dimensions, double > &domainSize, const std::bitset< Dimensions > &periodicBC, int numberOfGridCellsPerAxis, int overlap, int numberOfUnknowns, int numberOfAuxiliaryVariables, const tarch::la::Vector< Dimensions, double > &origin, double timeStepSize, const double *faceDataOld, double *faceDataNew)
Advance the ghost cells of a face along the domain boundary through a Sommerfeld (radiative,...