11#include "AbstractSelfSimilarInfallFD4.h"
14#include "spherical-accretion/MassAccumulator.h"
15#include "spherical-accretion/GravityModel.h"
17#include "EulerKernels.h"
22 namespace sphericalaccretionupscaling {
23 class SelfSimilarInfallFD4;
47 static constexpr double Gamma = 5.0/3.0;
90 const double * __restrict__ Q,
100 double * __restrict__ Q,
103 bool gridIsConstructed
110 const double * __restrict__ Qinside,
111 double * __restrict__ Qoutside,
123 const double * __restrict__ Q,
128 double * __restrict__ S
141 const double * __restrict__ Q,
153 const double * __restrict__ Q,
159 double * __restrict__ F
Simple spherical mass accumulator.
void addDensity(const tarch::la::Vector< Dimensions, double > &volumeCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double density)
Add density of one voxel to global bookkeeping.
::exahype2::RefinementCommand refinementCriterion(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t) override
Refinement criterion.
static double TotalMassInPreviousTimeStep
After each time step, we backup the total mass in this static variable.
void finishTimeStep() override
static constexpr double aInitial
virtual double maxEigenvalue(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &gridCellH, double t, double dt, int normal) override
Determine max eigenvalue over Jacobian in a given point with solution values (states) Q.
::applications::exahype2::euler::sphericalaccretion::MassAccumulator _accumulator
Use class from application folders.
static constexpr double AdditionalMass
void initialCondition(double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeCentre, const tarch::la::Vector< Dimensions, double > &volumeH, bool gridIsConstructed) override
virtual void boundaryConditions(const double *__restrict__ Qinside, double *__restrict__ Qoutside, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, int normal) override
void sourceTerm(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &gridCellCentre, const tarch::la::Vector< Dimensions, double > &gridCellH, double t, double dt, double *__restrict__ S) override
static constexpr double InitialTopHatRadius
static tarch::logging::Log _log
static constexpr double BaseDensity
static constexpr double Gamma
virtual void flux(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &gridCellH, double t, double dt, int normal, double *__restrict__ F) override
static constexpr double pInitial
This file is part of the ExaHyPE 2 project within Peano 4.