.. _program_listing_file_SPlisHSPlasH_TimeStep.h: Program Listing for File TimeStep.h =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``SPlisHSPlasH/TimeStep.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "Common.h" #include "ParameterObject.h" #include "FluidModel.h" #include "BoundaryModel.h" #include "Discregrid/discrete_grid.hpp" namespace SPH { class TimeStep : public GenParam::ParameterObject { protected: void clearAccelerations(const unsigned int fluidModelIndex); virtual void initParameters(); void approximateNormal(Discregrid::DiscreteGrid* map, const Eigen::Vector3d &x, Eigen::Vector3d &n, const unsigned int dim); void computeVolumeAndBoundaryX(const unsigned int fluidModelIndex, const unsigned int i, const Vector3r &xi); void computeVolumeAndBoundaryX(); void computeDensityAndGradient(const unsigned int fluidModelIndex, const unsigned int i, const Vector3r &xi); void computeDensityAndGradient(); public: TimeStep(); virtual ~TimeStep(void); void computeDensities(const unsigned int fluidModelIndex); virtual std::string getMethodName() = 0; virtual void step() = 0; virtual void reset(); virtual void init(); virtual void resize() = 0; virtual void emittedParticles(FluidModel *model, const unsigned int startIndex) {}; virtual void performNeighborhoodSearchSort() {}; virtual void saveState(BinaryFileWriter &binWriter) {}; virtual void loadState(BinaryFileReader &binReader) {}; virtual int getNumIterations() = 0; #ifdef USE_PERFORMANCE_OPTIMIZATION void precomputeValues(); #endif }; }