source: src/units/particle/interface_particles.hpp@ e85cfd

Last change on this file since e85cfd was e85cfd, checked in by Julian Iseringhausen <isering@…>, 13 years ago

Work.

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[fcf7f6]1/*
2 * vmg - a versatile multigrid solver
3 * Copyright (C) 2012 Institute for Numerical Simulation, University of Bonn
4 *
5 * vmg is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * vmg is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
[48b662]19/**
20 * @file interface_particles.hpp
21 * @author Julian Iseringhausen <isering@ins.uni-bonn.de>
22 * @date Tue Apr 12 17:40:36 2011
23 *
24 * @brief Interface for computing forces and energies in
25 * particle systems.
26 *
27 */
28
29#ifndef INTERFACE_PARTICLES_HPP
30#define INTERFACE_PARTIVLES_HPP
31
[dfed1c]32#include <list>
33
[f003a9]34#include "base/defs.hpp"
35#include "base/interface.hpp"
36#include "units/particle/bspline.hpp"
37#include "units/particle/particle.hpp"
[48b662]38
39namespace VMG
40{
41
42class Grid;
43class Multigrid;
44
[f003a9]45class InterfaceParticles : public Interface
[48b662]46{
47public:
[dfed1c]48 InterfaceParticles(const Boundary& boundary, const int& levelMin, const int& levelMax,
49 const Vector& box_offset, const vmg_float& box_size,
[ac6d04]50 const int& near_field_cells,
[e85cfd]51 const int& max_boundary_nodes = 9, const vmg_float& alpha = 1.6) :
52 Interface(boundary, levelMin, levelMax, box_offset, box_size, max_boundary_nodes, alpha),
[36d56c]53 spl(near_field_cells, Extent(MaxLevel()).MeshWidth().Max())
[48b662]54 {}
55
56 void ImportRightHandSide(Multigrid& multigrid);
57 void ExportSolution(Grid& grid);
[dfed1c]58
59protected:
[f003a9]60 Particle::BSpline spl;
[dfed1c]61
62private:
63 std::list<Particle::Particle> particles;
[48b662]64};
65
66}
67
68#endif /* INTERFACE_PARTICLES_HPP */
Note: See TracBrowser for help on using the repository browser.