Commit 43de4712 authored by PIACIBELLO Cyrille's avatar PIACIBELLO Cyrille

en cours de test

parent 8dbed468
......@@ -27,18 +27,18 @@
*
*
*/
template <int P>
template <int P, int order>
class FTaylorCell : public FBasicCell {
protected:
//Size of Multipole Vector
static const int MultipoleSize = ((P+1)*(P+2)*(P+3))/6;
static const int MultipoleSize = ((P+1)*(P+2)*(P+3))*order/6;
//Size of Local Vector
static const int LocalSize = ((P+1)*(P+2)*(P+3))/6;
static const int LocalSize = ((P+1)*(P+2)*(P+3))*order/6;
//Multipole vector
FVector<FReal> multipole_exp = FVector<FReal>(MultipoleSize);
FReal multipole_exp[MultipoleSize];
//Local vector
FVector<FReal> local_exp = FVector<FReal>(LocalSize);
FReal local_exp[LocalSize];
public:
/**
......@@ -47,14 +47,26 @@ public:
FTaylorCell(){
}
//Get multipole Vector
FVector<FReal> * getMultipole(void)
//Get multipole Vector for setting
FReal * getMultipole(void)
{
return multipole_exp;
}
//Get multipole Vector for reading
const FReal * getMultipole(void) const
{
return multipole_exp;
}
//Get local Vector
FVector<FReal> * getLocal(void)
FReal * getLocal(void)
{
return local_exp;
}
//Get local Vector for reading
const FReal * getLocal(void) const
{
return local_exp;
}
......
This diff is collapsed.
// ===================================================================================
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Bérenger Bramas, Matthias Messner
// olivier.coulaud@inria.fr, berenger.bramas@inria.fr
// This software is a computer program whose purpose is to compute the FMM.
//
// This software is governed by the CeCILL-C and LGPL licenses and
// abiding by the rules of distribution of free software.
//
// This program 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 and CeCILL-C Licenses for more details.
// "http://www.cecill.info".
// "http://www.gnu.org/licenses".
// ===================================================================================
#ifndef FTAYLORPARTICLECONTAINER_HPP
#define FTAYLORPARTICLECONTAINER_HPP
#include "../../Components/FBasicParticleContainer.hpp"
/**
* @author Cyrille Piacibello
* @class FTaylorParticleContainer
*
* This class is a particle used for the Taylor Kernel
*/
class FTaylorParticleContainer : public FBasicParticleContainer<4>{
typedef FBasicParticleContainer<5> Parent;
public:
const FReal * getPhysicalValues() const {
return Parent::getAttribute(0)[];
}
FReal* getForcesX(){
return Parent::getAttribute(1);
}
const FReal* getForcesX() const {
return Parent::getAttribute(1);
}
FReal* getForcesY(){
return Parent::getAttribute(2);
}
const FReal* getForcesY() const {
return Parent::getAttribute(2);
}
FReal* getForcesZ(){
return Parent::getAttribute(3);
}
const FReal* getForcesZ() const {
return Parent::getAttribute(3);
}
};
#endif
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