9 #include "../athena.hpp"
14 enum class TaskStatus;
28 Physics(MeshBlock *pmb, ParameterInput *pin);
manages all physics package data and functions
size_t DumpRestartData(char *pdst)
AthenaArray< Real > com_bot_
TaskStatus BotSpongeLayer(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
void ApplyPhysicsPackages(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskStatus RelaxBotTemperature(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskStatus RightSpongeLayer(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskStatus TopCooling(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
void Initialize(AthenaArray< Real > const &w)
AthenaArray< Real > vel_bot_
std::vector< PhysicsPackage > packages_
TaskStatus TopSpongeLayer(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskStatus RelaxBotVelocity(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
size_t LoadRestartData(char *psrc)
AthenaArray< Real > tem_bot_
TaskStatus LeftSpongeLayer(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
AthenaArray< Real > hydro_bot_
size_t RestartDataSizeInBytes()
TaskStatus BotHeating(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskStatus RelaxBotComposition(AthenaArray< Real > &du, AthenaArray< Real > const &w, Real time, Real dt)
TaskManager< Physics > * ptm
Physics(MeshBlock *pmb, ParameterInput *pin)
const uint64_t RHT_SPONGE_LAYER
const uint64_t LFT_SPONGE_LAYER
const uint64_t BOT_HEATING
const uint64_t FIX_BOT_TEMPERATURE
const uint64_t BOT_SPONGE_LAYER
const uint64_t TOP_SPONGE_LAYER
const uint64_t FIX_BOT_COMPOSITION
const uint64_t TOP_COOLING
const uint64_t FIX_BOT_VELOCITY
task to do on a meshblock
int cost
cost of this task
TaskStatus(Physics::* Function)(AthenaArray< Real > &, AthenaArray< Real > const &, Real, Real)
uint64_t conflict
encodes conflict tasks
uint64_t dep
encodes dependencies to other tasks
uint64_t id
encodes task using bit positions
bool load_balance
whether to do load balance