Skip to content
Snippets Groups Projects
abstract_particle_rhs.hpp 2.27 KiB
/******************************************************************************
*                                                                             *
*  Copyright 2020 Max Planck Institute for Dynamics and Self-Organization     *
*                                                                             *
*  This file is part of TurTLE.                                               *
*                                                                             *
*  TurTLE 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.                                     *
*                                                                             *
*  TurTLE is distributed in the hope that it will be useful,                  *
*  but WITHOUT ANY WARRANTY; without even the implied warranty of             *
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
*  GNU General Public License for more details.                               *
*                                                                             *
*  You should have received a copy of the GNU General Public License          *
*  along with TurTLE.  If not, see <http://www.gnu.org/licenses/>             *
*                                                                             *
* Contact: Cristian.Lalescu@ds.mpg.de                                         *
*                                                                             *
******************************************************************************/



#ifndef ABSTRACT_PARTICLE_RHS_HPP
#define ABSTRACT_PARTICLE_RHS_HPP

#include "particles/interpolation/abstract_particle_set.hpp"

// children of this class must provide a method to compute the rhs for a given particle set
class abstract_particle_rhs
{
    public:
        // destructor
        virtual ~abstract_particle_rhs(){}

        // important bit
        virtual int operator()(
                double t,
                const abstract_particle_set &pset,
                particle_rnumber *result) const = 0;
};

#endif//ABSTRACT_PARTICLE_RHS_HPP