/** * @file interface_particles.hpp * @author Julian Iseringhausen * @date Tue Apr 12 17:40:36 2011 * * @brief Interface for computing forces and energies in * particle systems. * */ #ifndef INTERFACE_PARTICLES_HPP #define INTERFACE_PARTIVLES_HPP #include #include "base/defs.hpp" #include "base/interface.hpp" #include "units/particle/bspline.hpp" #include "units/particle/particle.hpp" namespace VMG { class Grid; class Multigrid; class InterfaceParticles : public Interface { public: InterfaceParticles(const Boundary& boundary, const int& levelMin, const int& levelMax, const Vector& box_offset, const vmg_float& box_size, const int& near_field_cells, const int& coarsening_steps, const vmg_float& alpha) : Interface(boundary, levelMin, levelMax, box_offset, box_size, coarsening_steps, alpha), spl(near_field_cells*Extent(MaxLevel()).MeshWidth().Max()) {} void ImportRightHandSide(Multigrid& multigrid); void ExportSolution(Grid& grid); protected: Particle::BSpline spl; private: std::list particles; }; } #endif /* INTERFACE_PARTICLES_HPP */