Commit 6f978087 authored by adelmann's avatar adelmann 🎗
Browse files

cleanup

parent 7f8033a2
......@@ -5,233 +5,6 @@
/LICENSE -text
/README -text
cmake/IPPLConfig.cmake.in -text
doc/DiscField/DiscFieldDoc.doc -text
doc/DiscField/DiscFieldDoc.htm -text
doc/DiscField/DiscFieldDoc.pdf -text
doc/OLDTESTS/FFT/Makefile -text
doc/OLDTESTS/FFT/TestFFT.cpp -text
doc/OLDTESTS/FFT/TestFFT.cpp.org -text
doc/OLDTESTS/FFT/TestRC.cpp -text
doc/OLDTESTS/FFT/fftspeed.cpp -text
doc/OLDTESTS/parallel/2ddens.cpp -text
doc/OLDTESTS/parallel/Makefile -text
doc/OLDTESTS/parallel/dualmpi.cpp -text
doc/OLDTESTS/parallel/reduce.cpp -text
doc/OLDTESTS/parallel/reduce.cpp.org -text
doc/OLDTESTS/parallel/t.c -text
doc/OLDTESTS/parallel/volley.cpp -text
doc/OLDTESTS/particle/DiscParticle.cpp -text
doc/OLDTESTS/particle/FieldCompare.cpp -text
doc/OLDTESTS/particle/Makefile -text
doc/OLDTESTS/particle/PIC2d.cpp -text
doc/OLDTESTS/particle/PIC3d.cpp -text
doc/OLDTESTS/particle/PIC3dBCo-p.cpp -text
doc/OLDTESTS/particle/PIC3dBCo-p.cpp.nok -text
doc/OLDTESTS/particle/chsr-1.cpp -text
doc/OLDTESTS/particle/chsr-2.cpp -text
doc/OLDTESTS/particle/interpolate.cpp -text
doc/OLDTESTS/particle/loadbalance.cpp -text
doc/OLDTESTS/particle/parexp.cpp -text
doc/OLDTESTS/particle/pbconds.cpp -text
doc/OLDTESTS/particle/pbconds3D.cpp -text
doc/OLDTESTS/particle/pbconds_vis.cpp -text
doc/OLDTESTS/particle/pdb_ala.pdb -text
doc/OLDTESTS/particle/pdb_br.pdb -text
doc/OLDTESTS/particle/pdbtest.cpp -text
doc/OLDTESTS/particle/spatial.cpp -text
doc/OLDTESTS/particle/uniform.cpp -text
doc/OLDTESTS/particle/vlasovBB1D.cpp -text
doc/OLDTESTS/paws/.pawsrc -text
doc/OLDTESTS/paws/Makefile -text
doc/OLDTESTS/paws/field-P2.paws -text
doc/OLDTESTS/paws/field-recv.cpp -text
doc/OLDTESTS/paws/field-send.cpp -text
doc/OLDTESTS/paws/field.paws -text
doc/OLDTESTS/paws/keepit -text
doc/OLDTESTS/paws/particle-recv.cpp -text
doc/OLDTESTS/paws/particle-send.cpp -text
doc/OLDTESTS/paws/particle.paws -text
doc/OLDTESTS/paws/resources.paws -text
doc/OLDTESTS/paws/scalar-P2.paws -text
doc/OLDTESTS/paws/scalar-recv.cpp -text
doc/OLDTESTS/paws/scalar-send.cpp -text
doc/OLDTESTS/paws/scalar.paws -text
doc/OLDTESTS/simple/.cvsignore -text
doc/OLDTESTS/simple/Clock.h -text
doc/OLDTESTS/simple/FVecOps.cpp -text
doc/OLDTESTS/simple/Makefile -text
doc/OLDTESTS/simple/PETE_test0d.cpp -text
doc/OLDTESTS/simple/PETE_test1d.cpp -text
doc/OLDTESTS/simple/PETE_test2d.cpp -text
doc/OLDTESTS/simple/PETE_test3d.cpp -text
doc/OLDTESTS/simple/ReadMe -text
doc/OLDTESTS/simple/ScaV1 -text
doc/OLDTESTS/simple/ScalarAdvection.cpp -text
doc/OLDTESTS/simple/Slice.cpp -text
doc/OLDTESTS/simple/TestAverageVC_CV.cpp -text
doc/OLDTESTS/simple/TestBC.cpp -text
doc/OLDTESTS/simple/TestBC2.cpp -text
doc/OLDTESTS/simple/TestCartesian.cpp -text
doc/OLDTESTS/simple/TestCartesianCentering.cpp -text
doc/OLDTESTS/simple/TestCrossProduct.cpp -text
doc/OLDTESTS/simple/TestEureka.cpp -text
doc/OLDTESTS/simple/TestFieldDebug.cpp -text
doc/OLDTESTS/simple/TestFieldDebug2.cpp -text
doc/OLDTESTS/simple/TestFieldNDIndexing.cpp -text
doc/OLDTESTS/simple/TestLayout.cpp -text
doc/OLDTESTS/simple/TestParticleDebug.cpp -text
doc/OLDTESTS/simple/TestParticleDebugParallel.cpp -text
doc/OLDTESTS/simple/TestPeriodicBC.cpp -text
doc/OLDTESTS/simple/TestPeriodicBC.txt -text
doc/OLDTESTS/simple/TestPeriodicBCGuardCell1.txt -text
doc/OLDTESTS/simple/TestPeriodicBCGuardCell2.txt -text
doc/OLDTESTS/simple/TestScalarIndexing.cpp -text
doc/OLDTESTS/simple/TestTensorUnaryOps.cpp -text
doc/OLDTESTS/simple/TestUniformCartesian.cpp -text
doc/OLDTESTS/simple/balance.cpp -text
doc/OLDTESTS/simple/bc.cpp -text
doc/OLDTESTS/simple/bc2.cpp -text
doc/OLDTESTS/simple/bc3.cpp -text
doc/OLDTESTS/simple/bc_convert.cpp -text
doc/OLDTESTS/simple/bool.cpp -text
doc/OLDTESTS/simple/component.cpp -text
doc/OLDTESTS/simple/compressed.cpp -text
doc/OLDTESTS/simple/conejo_balance.cpp -text
doc/OLDTESTS/simple/ctoc.cpp -text
doc/OLDTESTS/simple/cv.cpp -text
doc/OLDTESTS/simple/doof2d.cpp -text
doc/OLDTESTS/simple/doof2d_a.cpp -text
doc/OLDTESTS/simple/doof2d_complex.cpp -text
doc/OLDTESTS/simple/doof2d_file.cpp -text
doc/OLDTESTS/simple/doof2d_simple.cpp -text
doc/OLDTESTS/simple/doof2d_vis.cpp -text
doc/OLDTESTS/simple/doof3d.cpp -text
doc/OLDTESTS/simple/doof3d_file.cpp -text
doc/OLDTESTS/simple/doof3d_vis.cpp -text
doc/OLDTESTS/simple/drive1.cpp -text
doc/OLDTESTS/simple/drive2.cpp -text
doc/OLDTESTS/simple/drive3.cpp -text
doc/OLDTESTS/simple/fivefields.cpp -text
doc/OLDTESTS/simple/float.cpp -text
doc/OLDTESTS/simple/flyercode.cpp -text
doc/OLDTESTS/simple/funcface.cpp -text
doc/OLDTESTS/simple/gcprint.cpp -text
doc/OLDTESTS/simple/itercompress.cpp -text
doc/OLDTESTS/simple/left.cpp -text
doc/OLDTESTS/simple/minmax.cpp -text
doc/OLDTESTS/simple/out.0 -text
doc/OLDTESTS/simple/p1.cpp -text
doc/OLDTESTS/simple/p2.cpp -text
doc/OLDTESTS/simple/p3.cpp -text
doc/OLDTESTS/simple/patches.cpp -text
doc/OLDTESTS/simple/random.cpp -text
doc/OLDTESTS/simple/randomparallel.cpp -text
doc/OLDTESTS/simple/reduce.cpp -text
doc/OLDTESTS/simple/reduceloc.cpp -text
doc/OLDTESTS/simple/repartition.cpp -text
doc/OLDTESTS/simple/repartition.cpp.org -text
doc/OLDTESTS/simple/single.cpp -text
doc/OLDTESTS/simple/slices.cpp -text
doc/OLDTESTS/simple/soffset.cpp -text
doc/OLDTESTS/simple/stest1 -text
doc/OLDTESTS/simple/stest2 -text
doc/OLDTESTS/simple/subdivide.cpp -text
doc/OLDTESTS/simple/subreadtest.cpp -text
doc/OLDTESTS/simple/sumslice.cpp -text
doc/OLDTESTS/simple/t.cpp -text
doc/OLDTESTS/simple/t2.cpp -text
doc/OLDTESTS/simple/t3.cpp -text
doc/OLDTESTS/simple/t4.cpp -text
doc/OLDTESTS/simple/t5.cpp -text
doc/OLDTESTS/simple/t6.cpp -text
doc/OLDTESTS/simple/t7.cpp -text
doc/OLDTESTS/simple/text.correct.TestBC -text
doc/OLDTESTS/simple/text.test.TestBC -text
doc/OLDTESTS/simple/transpose.cpp -text
doc/OLDTESTS/simple/tv.cpp -text
doc/OLDTESTS/simple/tz.cpp -text
doc/OLDTESTS/simple/vc.cpp -text
doc/OLDTESTS/sindex/Makefile -text
doc/OLDTESTS/sindex/TestSIndex.cpp -text
doc/OLDTESTS/sindex/compsindex.cpp -text
doc/OLDTESTS/sindex/sindex.cpp -text
doc/OLDTESTS/sindex/subfield.cpp -text
doc/OLDTESTS/sindex/vertcell.cpp -text
doc/OLDTESTS/speed/Makefile -text
doc/OLDTESTS/speed/diskfield.cpp -text
doc/OLDTESTS/speed/gcspeed.cpp -text
doc/OLDTESTS/speed/particle_simple.cpp -text
doc/OLDTESTS/speed/reducespeed.cpp -text
doc/OLDTESTS/speed/speed1.cpp -text
doc/OLDTESTS/speed/stencil1.cpp -text
doc/OLDTESTS/speed/stencil_c.c -text
doc/OLDTESTS/suite/Generate_Tests.c -text
doc/expde-doc/ParamEstimate/128.dat -text
doc/expde-doc/ParamEstimate/Makefile -text
doc/expde-doc/ParamEstimate/domDec1.dat -text
doc/expde-doc/ParamEstimate/domDec2.dat -text
doc/expde-doc/ParamEstimate/ecloud1.dat -text
doc/expde-doc/ParamEstimate/fodo3FEMCfg.inp -text
doc/expde-doc/ParamEstimate/intTest1.dat -text
doc/expde-doc/ParamEstimate/intTest2.dat -text
doc/expde-doc/ParamEstimate/intTest3.dat -text
doc/expde-doc/ParamEstimate/intTest4.dat -text
doc/expde-doc/ParamEstimate/p2048.dat -text
doc/expde-doc/ParamEstimate/p4096.dat -text
doc/expde-doc/ParamEstimate/p512.dat -text
doc/expde-doc/ParamEstimate/p64.dat -text
doc/expde-doc/ParamEstimate/param2proc -text
doc/expde-doc/ParamEstimate/param2proc.cpp -text
doc/expde-doc/ParamEstimate/seaborg2048.dat -text
doc/expde-doc/ParamEstimate/seaborg4096.dat -text
doc/expde-doc/ParamEstimate/seaborg4096.dat- -text
doc/expde-doc/ParamEstimate/seaborg512.dat -text
doc/expde-doc/ParamEstimate/solTest1.dat -text
doc/expde-doc/ParamEstimate/solTest2.dat -text
doc/expde-doc/ParamEstimate/solTest3.dat -text
doc/expde-doc/ParamEstimate/solTest4.dat -text
doc/expde-doc/ParamEstimate/solTest5.dat -text
doc/expde-doc/ParamEstimate/solTest6.dat -text
doc/expde-doc/ParamEstimate/solTest_chris.dat -text
doc/expde-doc/Poisson/Ball/poisson.cc -text
doc/expde-doc/Poisson/Cylinder/main.cc -text
doc/expde-doc/Poisson/Cylinder/makefile -text
doc/expde-doc/Poisson/Cylinder/para.dat -text
doc/expde-doc/Poisson/Cylinder/runit.pbs -text
doc/expde-doc/Work.txt -text
doc/expde-doc/avs.v -text
doc/expde-doc/avs2.v -text
doc/expde-doc/domain.dat -text
doc/expde-doc/domain.dx -text
doc/expde-doc/hex.dat -text
doc/expde-doc/main.cc -text
doc/expde-doc/main_MG.cc -text
doc/expde-doc/main_cg.cc -text
doc/expde-doc/main_test_index.cc -text
doc/expde-doc/makefile -text
doc/expde-doc/para.dat -text
doc/expde-doc/testInt.cc -text
doc/expde-doc/vor1.ps -text
doc/expde-doc/vor1.sdd -text
doc/expde-doc/vor2.ps -text
doc/expde-doc/vor2.sdd -text
doc/expde-doc/vor2.sxi -text
doc/manual/background.html -text
doc/manual/compilers.html -text
doc/manual/errors.html -text
doc/manual/index.html -text
doc/manual/install.html -text
doc/manual/introduction.html -text
doc/manual/reading.html -text
doc/manual/self-test.html -text
doc/manual/threading.html -text
doc/manual/tut-1.html -text
doc/manual/tut-2.html -text
doc/manual/tut-3.html -text
doc/manual/tut-4.html -text
doc/projects/progsch/iff.sty -text
doc/projects/progsch/ippl_progsch.tex -text
doc/projects/progsch/progsch.tex -text
doc/tex/dingbat.sty -text
doc/tex/error_time.pdf -text svneol=unset#unset
doc/tex/figures/psi_logo_wide.eps -text
......
This diff is collapsed.
// -*- C++ -*-
/***************************************************************************
*
* The IPPL Framework
*
* This program was prepared by PSI.
* All rights in the program are reserved by PSI.
* Neither PSI nor the author(s)
* makes any warranty, express or implied, or assumes any liability or
* responsibility for the use of this software
*
* Visit http://www.acl.lanl.gov/POOMS for more details
*
***************************************************************************/
##########################################################################
#
# Makefile for fft benchmark
#
##########################################################################
USE_PTUSED =
##########################################################################
### standard Makefile rules and targets for Linac application
##########################################################################
### initialize information about this Makefile environment
SHELL = /bin/sh
BACK = `date +%m%d`
### include the Makefile.app file from IPPL, which includes settings on
### how to compile the program and the appropriate suffix rules
include $(IPPL_ROOT)/lib/$(IPPL_ARCH)/Makefile.app
### final collection of all options (do not comment this line out)
USER_CXXFLAGSAPP = $(USE_PTUSED) -DOLD_FFT
### files used in the Linac application
MAIN = fftspeed
ALLTARGETS = $(MAIN) TestRC
##########################################################################
###
### The default rule for Linac (and Linac.o) is sufficient to compile
### the program; it is obtained automatically from the IPPL Makefile.app
###
##########################################################################
all default: $(ALLTARGETS)
clean:
/bin/rm -f $(ALLTARGETS) *.o core *~
clobber: clean
/bin/rm -rf ti_files ii_files .d*
##########################################################################
# end of file
##########################################################################
/***************************************************************************
* $RCSfile: addheaderfooter,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:17 $
* IPPL_VERSION_ID: $Id: addheaderfooter,v 1.1.1.1 2003/01/23 07:40:17 adelmann Exp $
***************************************************************************/
// -*- C++ -*-
/***************************************************************************
*
* The IPPL Framework
*
* This program was prepared by PSI.
* All rights in the program are reserved by PSI.
* Neither PSI nor the author(s)
* makes any warranty, express or implied, or assumes any liability or
* responsibility for the use of this software
*
* Visit http://www.acl.lanl.gov/POOMS for more details
*
***************************************************************************/
// -*- C++ -*-
/***************************************************************************
*
* The IPPL Framework
*
*
* Visit http://people.web.psi.ch/adelmann/ for more details
*
***************************************************************************/
// TestFFT.cpp , Tim Williams 1/27/1997
// Updated by Julian Cummings, 3/31/98
// Tests the use of the (parallel) FFT class.
#include "Ippl.h"
#ifdef IPPL_USE_STANDARD_HEADERS
#include <complex>
using namespace std;
#else
#include <complex.h>
#endif
#define THREED
enum FsT {FFTSolver,Pt2PtSolver,TreeSolver,None};
enum InterPolT {NGP,CIC};
enum BCT {OOO,OOP,PPP,DDD,DDO,DDP}; // OOO == all dim, open BC
enum TestCases {test1};
bool Configure(int argc, char *argv[], InterPolT *interPol,
unsigned int *nx, unsigned int *ny, unsigned int *nz,
TestCases *test2Perform,
int *serialDim, unsigned int *processes, unsigned int *nLoop)
{
Inform msg("Configure ");
Inform errmsg("Error ");
string bc_str;
string interPol_str;
string dist_str;
for (int i=1; i < argc; ++i) {
string s(argv[i]);
if (s == "-grid") {
*nx = atoi(argv[++i]);
*ny = atoi(argv[++i]);
*nz = atoi(argv[++i]);
} else if (s == "-test1") {
*test2Perform = test1;
} else if (s == "-NGP") {
*interPol = NGP;
msg << "Interploation NGP" << endl;
} else if (s == "-CIC") {
*interPol = CIC;
msg << "Interploation CIC" << endl;
} else if (s == "-Loop") {
*nLoop = atoi(argv[++i]);
} else if (s == "-Decomp") {
*serialDim = atoi(argv[++i]);
}
else {
errmsg << "Illegal format for or unknown option '" << s.c_str() << "'.";
errmsg << endl;
}
}
if (*serialDim == 0)
msg << "Serial dimension is x" << endl;
else if (*serialDim == 1)
msg << "Serial dimension is y" << endl;
else if (*serialDim == 2)
msg << "Serial dimension is z" << endl;
else {
msg << "All parallel" << endl;
*serialDim = -1;
}
*processes = Ippl::getNodes();
return true;
}
int main(int argc, char *argv[])
{
Ippl ippl(argc,argv);
Inform testmsg(NULL,0);
unsigned int processes;
int serialDim;
TestCases test2do;
unsigned int nx,ny,nz;
unsigned int nLoop;
InterPolT interPol;
bool res = Configure(argc, argv, &interPol, &nx, &ny, &nz,
&test2do, &serialDim, &processes, &nLoop);
// The preceding cpp definition causes compile-time setting of D:
const unsigned D=3U;
testmsg << "Dimensionality: D= " << D << " P= " << processes;
testmsg << " nx= " << nx << " ny= " << ny << " nz= " << nz << endl;
unsigned ngrid[D]; // grid sizes
// Used in evaluating correctness of results:
double realDiff;
// Various counters, constants, etc:
int d;
int tag = Ippl::Comm->next_tag(IPPL_APP_TAG0);
double pi = acos(-1.0);
double twopi = 2.0*pi;
// Timer:
Timer timer;
// Layout information:
unsigned vnodes; // number of vnodes; input at cmd line
e_dim_tag allParallel[D]; // Specifies SERIAL, PARALLEL dims
for (d=0; d<D; d++)
allParallel[d] = PARALLEL;
// Compression of temporaries:
bool compressTemps;
vnodes = processes;
compressTemps = false;
ngrid[0]=nx;
ngrid[1]=ny;
ngrid[2]=nz;
testmsg << "In-place CC transform using all-parallel layout ..." << endl;
// ================BEGIN INTERACTION LOOP====================================
//------------------------complex<-->complex-------------------------------
// Complex test Fields
// create standard domain
NDIndex<D> ndiStandard;
for (d=0; d<D; d++)
ndiStandard[d] = Index(ngrid[d]);
// create new domain with axes permuted to match FFT output
NDIndex<D> ndiPermuted;
ndiPermuted[0] = ndiStandard[D-1];
for (d=1; d<D; d++)
ndiPermuted[d] = ndiStandard[d-1];
// create half-size domain for RC transform along zeroth axis
NDIndex<D> ndiStandard0h = ndiStandard;
ndiStandard0h[0] = Index(ngrid[0]/2+1);
// create new domain with axes permuted to match FFT output
NDIndex<D> ndiPermuted0h;
ndiPermuted0h[0] = ndiStandard0h[D-1];
for (d=1; d<D; d++)
ndiPermuted0h[d] = ndiStandard0h[d-1];
// create half-size domain for sine transform along zeroth axis
// and RC transform along first axis
NDIndex<D> ndiStandard1h = ndiStandard;
ndiStandard1h[1] = Index(ngrid[1]/2+1);
// create new domain with axes permuted to match FFT output
NDIndex<D> ndiPermuted1h;
ndiPermuted1h[0] = ndiStandard1h[D-1];
for (d=1; d<D; d++)
ndiPermuted1h[d] = ndiStandard1h[d-1];
// all parallel layout, standard domain, normal axis order
FieldLayout<D> layoutPPStan(ndiStandard,allParallel,vnodes);
FieldLayout<D> layoutPPStan0h(ndiStandard0h,allParallel,vnodes);
FieldLayout<D> layoutPPStan1h(ndiStandard1h,allParallel,vnodes);
// create test Fields for complex-to-complex FFT
BareField<dcomplex,D> CFieldPPStan(layoutPPStan);
BareField<dcomplex,D> CFieldPPStan_save(layoutPPStan);
BareField<double,D> diffFieldPPStan(layoutPPStan);
// For calling FieldDebug functions from debugger, set up output format:
setFormat(4,3);
// Rather more complete test functions (sine or cosine mode):
dcomplex sfact(1.0,0.0); // (1,0) for sine mode; (0,0) for cosine mode
dcomplex cfact(0.0,0.0); // (0,0) for sine mode; (1,0) for cosine mode
// Conditionally-compiled loading functions (couldn't make these
double xfact, kx, yfact, ky, zfact, kz;
xfact = pi/(ngrid[0] + 1.0);
yfact = 2.0*twopi/(ngrid[1]);
zfact = 2.0*twopi/(ngrid[2]);
kx = 1.0; ky = 2.0; kz = 3.0; // wavenumbers
CFieldPPStan[ndiStandard[0]][ndiStandard[1]][ndiStandard[2]] =
sfact * ( sin( (ndiStandard[0]+1) * kx * xfact +
ndiStandard[1] * ky * yfact +
ndiStandard[2] * kz * zfact ) +
sin( (ndiStandard[0]+1) * kx * xfact -
ndiStandard[1] * ky * yfact -
ndiStandard[2] * kz * zfact ) ) +
cfact * (-cos( (ndiStandard[0]+1) * kx * xfact +
ndiStandard[1] * ky * yfact +
ndiStandard[2] * kz * zfact ) +
cos( (ndiStandard[0]+1) * kx * xfact -
ndiStandard[1] * ky * yfact -
ndiStandard[2] * kz * zfact ) );
CFieldPPStan_save = CFieldPPStan; // Save values for checking later
// CC FFT tests
// Instantiate complex<-->complex FFT object
// Transform in all directions
FFT<CCTransform,D,double> ccfft(ndiStandard, compressTemps);
// set direction names
ccfft.setDirectionName(+1, "forward");
ccfft.setDirectionName(-1, "inverse");
timer.start();
for (unsigned int i=0; i<nLoop; i++) {
// Test complex<-->complex transform (simple test: forward then inverse transform, see if get back original values.
ccfft.transform("forward", CFieldPPStan);
ccfft.transform("inverse", CFieldPPStan);
diffFieldPPStan = Abs(CFieldPPStan - CFieldPPStan_save);
realDiff = max(diffFieldPPStan);
testmsg << "CC <-> CC: fabs(realDiff) = " << fabs(realDiff) << endl;
//-------------------------------------------------------------------------
CFieldPPStan = CFieldPPStan_save;
}
timer.stop();
testmsg << " CPU time used = " << timer.cpu_time() << " secs." << endl;
return 0;
}
/***************************************************************************
* $RCSfile: TestFFT.cpp,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2000/11/30 21:02:12 $
***************************************************************************/
/***************************************************************************
* $RCSfile: addheaderfooter,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:17 $
* IPPL_VERSION_ID: $Id: addheaderfooter,v 1.1.1.1 2003/01/23 07:40:17 adelmann Exp $
***************************************************************************/
This diff is collapsed.
// -*- C++ -*-
/***************************************************************************
*
* The IPPL Framework
*
* This program was prepared by PSI.
* All rights in the program are reserved by PSI.
* Neither PSI nor the author(s)
* makes any warranty, express or implied, or assumes any liability or
* responsibility for the use of this software
*
* Visit http://www.acl.lanl.gov/POOMS for more details
*
***************************************************************************/
// -*- C++ -*-
/***************************************************************************
*
* The IPPL Framework
*
*
* Visit http://people.web.psi.ch/adelmann/ for more details
*
***************************************************************************/
// TestFFT.cpp , Tim Williams 1/27/1997
// Updated by Julian Cummings, 3/31/98
// Tests the use of the (parallel) FFT class.
#include "Ippl.h"
#ifdef IPPL_USE_STANDARD_HEADERS
#include <complex>
using namespace std;
#else
#include <complex.h>
#endif
int main(int argc, char *argv[])
{
TAU_PROFILE("main()", "int (int, char **)", TAU_DEFAULT);
Ippl ippl(argc,argv);
Inform testmsg(NULL,0);
// Hardwire dimensionality by setting cpp definition ONED, TWOD, or THREED:
// The preceding cpp definition causes compile-time setting of D:
const unsigned D=3U;
testmsg << "%%%%%%% Dimensionality: D = " << D << " %%%%%%%" << endl;
unsigned ngrid[D]; // grid sizes