Program Listing for File TimeStepPCISPH.h
↰ Return to documentation for file (SPlisHSPlasH/PCISPH/TimeStepPCISPH.h)
#ifndef __TimeStepPCISPH_h__
#define __TimeStepPCISPH_h__
#include "SPlisHSPlasH/Common.h"
#include "SPlisHSPlasH/TimeStep.h"
#include "SimulationDataPCISPH.h"
namespace SPH
{
class SimulationDataPCISPH;
class TimeStepPCISPH : public TimeStep
{
protected:
SimulationDataPCISPH m_simulationData;
unsigned int m_iterations;
Real m_maxError;
unsigned int m_minIterations;
unsigned int m_maxIterations;
void pressureSolve();
void pressureSolveIteration(const unsigned int fluidModelIndex, Real &avg_density_err);
virtual void performNeighborhoodSearchSort();
virtual void emittedParticles(FluidModel *model, const unsigned int startIndex);
virtual void initParameters();
public:
static std::string METHOD_NAME;
static int SOLVER_ITERATIONS;
static int MIN_ITERATIONS;
static int MAX_ITERATIONS;
static int MAX_ERROR;
TimeStepPCISPH();
virtual ~TimeStepPCISPH(void);
virtual void step();
virtual void reset();
virtual void resize();
virtual std::string getMethodName() { return METHOD_NAME; }
virtual int getNumIterations() { return m_iterations; }
};
}
#endif