Program Listing for File DragForce_Gissler2017.h
↰ Return to documentation for file (SPlisHSPlasH/Drag/DragForce_Gissler2017.h)
#ifndef __DragForce_Gissler2017_h__
#define __DragForce_Gissler2017_h__
#include "SPlisHSPlasH/Common.h"
#include "SPlisHSPlasH/FluidModel.h"
#include "SPlisHSPlasH/NonPressureForceBase.h"
namespace SPH
{
class DragForce_Gissler2017 : public NonPressureForceBase
{
protected:
Real m_dragCoefficient;
const Real rho_a = static_cast<Real>(1.2041);
const Real sigma = static_cast<Real>(0.0724);
const Real mu_l = static_cast<Real>(0.00102);
const Real C_F = static_cast<Real>(1.0/3.0);
const Real C_k = static_cast<Real>(8.0);
const Real C_d = static_cast<Real>(5.0);
const Real C_b = static_cast<Real>(0.5);
const Real mu_a = static_cast<Real>(0.00001845);
virtual void initParameters();
public:
static std::string METHOD_NAME;
static int DRAG_COEFFICIENT;
DragForce_Gissler2017(FluidModel *model);
virtual ~DragForce_Gissler2017(void);
static NonPressureForceBase* creator(FluidModel* model) { return new DragForce_Gissler2017(model); }
virtual std::string getMethodName() { return METHOD_NAME; }
virtual void step();
virtual void reset();
};
}
#endif