source: src/units/particle/interface_particles.hpp@ 6f05224

Last change on this file since 6f05224 was f003a9, checked in by Julian Iseringhausen <isering@…>, 14 years ago

Refactored vmg in order to separate the core library and the particle simulation part properly.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1798 5161e1c8-67bf-11de-9fd5-51895aff932f

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/**
2 * @file interface_particles.hpp
3 * @author Julian Iseringhausen <isering@ins.uni-bonn.de>
4 * @date Tue Apr 12 17:40:36 2011
5 *
6 * @brief Interface for computing forces and energies in
7 * particle systems.
8 *
9 */
10
11#ifndef INTERFACE_PARTICLES_HPP
12#define INTERFACE_PARTIVLES_HPP
13
14#include <list>
15
16#include "base/defs.hpp"
17#include "base/interface.hpp"
18#include "units/particle/bspline.hpp"
19#include "units/particle/particle.hpp"
20
21namespace VMG
22{
23
24class Grid;
25class Multigrid;
26
27class InterfaceParticles : public Interface
28{
29public:
30 InterfaceParticles(const Boundary& boundary, const int& levelMin, const int& levelMax,
31 const Vector& box_offset, const vmg_float& box_size,
32 const int& near_field_cells,
33 const int& coarsening_steps, const vmg_float& alpha) :
34 Interface(boundary, levelMin, levelMax, box_offset, box_size, coarsening_steps, alpha),
35 spl(near_field_cells*Extent(MaxLevel()).MeshWidth().Max())
36 {}
37
38 void ImportRightHandSide(Multigrid& multigrid);
39 void ExportSolution(Grid& grid);
40
41protected:
42 Particle::BSpline spl;
43
44private:
45 std::list<Particle::Particle> particles;
46};
47
48}
49
50#endif /* INTERFACE_PARTICLES_HPP */
Note: See TracBrowser for help on using the repository browser.