Program Listing for File TimeStepICSPH.h
↰ Return to documentation for file (SPlisHSPlasH/ICSPH/TimeStepICSPH.h)
#ifndef __TimeStepICSPH_h__
#define __TimeStepICSPH_h__
#include "SPlisHSPlasH/Common.h"
#include "SPlisHSPlasH/TimeStep.h"
#include "SimulationDataICSPH.h"
#include "SPlisHSPlasH/SPHKernels.h"
namespace SPH
{
class SimulationDataICSPH;
class TimeStepICSPH : public TimeStep
{
protected:
SimulationDataICSPH m_simulationData;
Real m_lambda;
bool m_clamping;
const Real m_psi = 1.5;
void computeDensityAdv(const unsigned int fluidModelIndex);
void compute_aii(const unsigned int fluidModelIndex);
void pressureSolve();
void pressureSolveIteration(const unsigned int fluidModelIndex, Real &avg_density_err);
void integration(const unsigned int fluidModelIndex);
void computePressureAccels(const unsigned int fluidModelIndex);
virtual void performNeighborhoodSearchSort();
virtual void initParameters();
virtual void emittedParticles(FluidModel *model, const unsigned int startIndex);
public:
static int LAMBDA;
static int PRESSURE_CLAMPING;
TimeStepICSPH();
virtual ~TimeStepICSPH(void);
virtual void step();
virtual void reset();
virtual void resize();
const SimulationDataICSPH &getSimulationData() { return m_simulationData; };
};
}
#endif