# PhasicFlow: src/Particles/GrainParticles/boundaryGrainParticles.hpp Source File
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

boundaryGrainParticles.hpp
Go to the documentation of this file.
#ifndef __boundaryGrainParticles_hpp__
#define __boundaryGrainParticles_hpp__
#include "generalBoundary.hpp"
#include "virtualConstructor.hpp"
#include "timeInfo.hpp"
namespace pFlow
{
class grainParticles;
class boundaryGrainParticles
: public generalBoundary
{
private:
grainParticles& particles_;
public:
TypeInfo("boundaryGrainParticles<none>");
boundaryGrainParticles(
const boundaryBase &boundary,
grainParticles& prtcls
);
create_vCtor(
boundaryGrainParticles,
boundaryBase,
(
const boundaryBase &boundary,
grainParticles& prtcls
),
(boundary, prtcls)
);
add_vCtor(
boundaryGrainParticles,
boundaryGrainParticles,
boundaryBase
);
grainParticles& Particles();
const grainParticles& Particles()const;
bool hearChanges(
real t,
real dt,
uint32 iter,
const message &msg,
const anyList &varList) override
{
return true;
}
virtual
bool acceleration(const timeInfo& ti, const realx3& g)
{
return true;
}
static
uniquePtr<boundaryGrainParticles> create(
const boundaryBase &boundary,
grainParticles& prtcls);
};
}
#endif
pFlow::boundaryGrainParticles::TypeInfo
TypeInfo("boundaryGrainParticles<none>")
type info
pFlow::boundaryGrainParticles
Definition: boundaryGrainParticles.hpp:15
pFlow::message
Definition: message.hpp:33
pFlow::real
float real
Definition: builtinTypes.hpp:45
timeInfo.hpp
pFlow::grainParticles
Definition: grainParticles.hpp:42
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::timeInfo
Definition: timeInfo.hpp:28
pFlow
Definition: demGeometry.hpp:27
pFlow::boundaryGrainParticles::acceleration
virtual bool acceleration(const timeInfo &ti, const realx3 &g)
Definition: boundaryGrainParticles.hpp:63
pFlow::anyList
Definition: anyList.hpp:35
pFlow::boundaryGrainParticles::add_vCtor
add_vCtor(boundaryGrainParticles, boundaryGrainParticles, boundaryBase)
virtualConstructor.hpp
pFlow::boundaryBase
Definition: boundaryBase.hpp:42
pFlow::boundaryGrainParticles::create_vCtor
create_vCtor(boundaryGrainParticles, boundaryBase,(const boundaryBase &boundary, grainParticles &prtcls),(boundary, prtcls))
pFlow::uniquePtr
Definition: uniquePtr.hpp:42
generalBoundary.hpp
pFlow::generalBoundary::boundary
const auto & boundary() const
Definition: generalBoundary.hpp:108
pFlow::triple< real >
pFlow::boundaryGrainParticles::hearChanges
bool hearChanges(real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
Definition: boundaryGrainParticles.hpp:52
pFlow::boundaryGrainParticles::boundaryGrainParticles
boundaryGrainParticles(const boundaryBase &boundary, grainParticles &prtcls)
Definition: boundaryGrainParticles.cpp:6
pFlow::generalBoundary
Definition: generalBoundary.hpp:38
pFlow::boundaryGrainParticles::particles_
grainParticles & particles_
Definition: boundaryGrainParticles.hpp:20
pFlow::boundaryGrainParticles::create
static uniquePtr< boundaryGrainParticles > create(const boundaryBase &boundary, grainParticles &prtcls)
Definition: boundaryGrainParticles.cpp:27
pFlow::boundaryGrainParticles::Particles
grainParticles & Particles()
Definition: boundaryGrainParticles.cpp:17