Commit 790192aa authored by frey_m's avatar frey_m
Browse files

Merge branch '496-completion-of-the-amr-interface-3' into 'master'

File header to AMR Ippl classes

See merge request !314
parents bf1022e8 43c3551f
//
// Class AmrParticleBase
// Ippl interface for AMR particles.
// The derived classes need to extend the base class by subsequent methods.
//
// template <class FT, unsigned Dim, class PT>
// void scatter(const ParticleAttrib<FT>& attrib, AmrField_t& f,
// const ParticleAttrib<Vektor<PT, Dim> >& pp,
// int lbase = 0, int lfine = -1) const;
//
//
// gather the data from the given Field into the given attribute, using
// the given Position attribute
//
// template <class FT, unsigned Dim, class PT>
// void gather(ParticleAttrib<FT>& attrib, const AmrField_t& f,
// const ParticleAttrib<Vektor<PT, Dim> >& pp,
// int lbase = 0, int lfine = -1) const;
//
// Copyright (c) 2016 - 2020, Matthias Frey, Uldis Locans, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef AMR_PARTICLE_BASE_H #ifndef AMR_PARTICLE_BASE_H
#define AMR_PARTICLE_BASE_H #define AMR_PARTICLE_BASE_H
...@@ -7,27 +42,6 @@ ...@@ -7,27 +42,6 @@
#include "AmrParticleLevelCounter.h" #include "AmrParticleLevelCounter.h"
/* The derived classes need to extend the base class by subsequent methods.
*
* scatter the data from the given attribute onto the given Field, using
* the given Position attribute
*
* template <class FT, unsigned Dim, class PT>
* void scatter(const ParticleAttrib<FT>& attrib, AmrField_t& f,
* const ParticleAttrib<Vektor<PT, Dim> >& pp,
* int lbase = 0, int lfine = -1) const;
*
*
* gather the data from the given Field into the given attribute, using
* the given Position attribute
*
* template <class FT, unsigned Dim, class PT>
* void gather(ParticleAttrib<FT>& attrib, const AmrField_t& f,
* const ParticleAttrib<Vektor<PT, Dim> >& pp,
* int lbase = 0, int lfine = -1) const;
*/
template<class PLayout> template<class PLayout>
class AmrParticleBase : public IpplParticleBase<PLayout> { class AmrParticleBase : public IpplParticleBase<PLayout> {
......
//
// Class AmrParticleBase
// Ippl interface for AMR particles.
// The derived classes need to extend the base class by subsequent methods.
//
// template <class FT, unsigned Dim, class PT>
// void scatter(const ParticleAttrib<FT>& attrib, AmrField_t& f,
// const ParticleAttrib<Vektor<PT, Dim> >& pp,
// int lbase = 0, int lfine = -1) const;
//
//
// gather the data from the given Field into the given attribute, using
// the given Position attribute
//
// template <class FT, unsigned Dim, class PT>
// void gather(ParticleAttrib<FT>& attrib, const AmrField_t& f,
// const ParticleAttrib<Vektor<PT, Dim> >& pp,
// int lbase = 0, int lfine = -1) const;
//
// Copyright (c) 2016 - 2020, Matthias Frey, Uldis Locans, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef AMR_PARTICLE_BASE_HPP #ifndef AMR_PARTICLE_BASE_HPP
#define AMR_PARTICLE_BASE_HPP #define AMR_PARTICLE_BASE_HPP
......
//
// Class AmrParticleLevelCounter
// Helper class in order to keep track of particles
// per level. It allows to iterate faster through
// particles at a certain level.
// The class is built on the STL map container where
// the key represents the level and the value is the
// the number of particles at that level.
//
// Copyright (c) 2016 - 2020, Matthias Frey Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef AMR_PARTICLE_LEVEL_COUNTER_H #ifndef AMR_PARTICLE_LEVEL_COUNTER_H
#define AMR_PARTICLE_LEVEL_COUNTER_H #define AMR_PARTICLE_LEVEL_COUNTER_H
...@@ -6,14 +31,6 @@ ...@@ -6,14 +31,6 @@
#include <functional> #include <functional>
#include <iterator> #include <iterator>
/*!
* Helper class in order to keep track of particles
* per level. It allows to iterate faster through
* particles at a certain level.
* The class is built on the STL map container where
* the key represents the level and the value is the
* the number of particles at that level.
*/
template < template <
class Key, class Key,
class T, class T,
......
//
// Class ParticleAmrLayout
// Particle layout for AMR particles.
//
// Copyright (c) 2016 - 2020, Matthias Frey, Uldis Locans, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef PARTICLE_AMR_LAYOUT_H #ifndef PARTICLE_AMR_LAYOUT_H
#define PARTICLE_AMR_LAYOUT_H #define PARTICLE_AMR_LAYOUT_H
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment