Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
a6018e3
alpine files moved to sub-directory
srikrrish Oct 24, 2022
6e2186b
Files copied from PIC directory to PIF for modifying
srikrrish Oct 24, 2022
8c282c9
class name changed for ChargedParticles
srikrrish Oct 24, 2022
3cb368d
CMakeLists added for alpine
srikrrish Oct 24, 2022
440d593
Landau damping modified for PIF. Need to do scatter, solver and gather
srikrrish Oct 24, 2022
27856b2
scatterPIF implemented and seems to be working
srikrrish Nov 2, 2022
0d4f2b2
PIF implemented but gives nan results. Need to check
srikrrish Nov 4, 2022
676ba07
Bugs corrected in PIF and it seems to be working. Need to check more
srikrrish Nov 14, 2022
0a8f787
[-K K] implementation
srikrrish Nov 17, 2022
2ca3462
Version which has correct energy error convergence
srikrrish Dec 2, 2022
f79439d
PinT directory created and necessary files copied and renamed
srikrrish Dec 5, 2022
2890a1d
PIF and PIC integrators made. Need to write parareal now.
srikrrish Dec 5, 2022
4a9fa74
In the middle of MPI send and receive
srikrrish Dec 5, 2022
6888fed
PinT directory and files added in alpine
srikrrish Dec 6, 2022
d3f5e74
additional classes created and code modified. Need to do MPI send/recv
srikrrish Dec 6, 2022
e4223ca
Parareal almost completed. Need to do convergence check and data writing
srikrrish Dec 6, 2022
fa4c8ce
Some modifications made and output writing done
srikrrish Dec 7, 2022
47d8575
Finished error calculation also. Need to compile and test
srikrrish Dec 7, 2022
8ceeede
nx,ny,nz changed for PIC and PIF. Need to compile and test
srikrrish Dec 7, 2022
0f18f74
some compilation bugs fixed
srikrrish Dec 7, 2022
bb2ee18
Code compiles now. Need to run and test
srikrrish Dec 7, 2022
3d54270
Code runs but gives all zeros for electric field. Need to debug
srikrrish Dec 7, 2022
6525492
Code is running but results are wrong. Need to debg further
srikrrish Dec 8, 2022
34b94e6
Some more modifications to reduce initial communication
srikrrish Dec 9, 2022
2c42519
Code seems to be working
srikrrish Dec 9, 2022
f8afcda
Some cleanup done
srikrrish Dec 10, 2022
5a39d31
Error Vs iterations file writing added
srikrrish Dec 10, 2022
0c588e2
Particle periodic BCs changed as the previous one was giving seg faults
srikrrish Dec 12, 2022
0e09cb2
Several tests performed. Need to run with larger no. of particles and…
srikrrish Dec 12, 2022
fb65a66
Some checking things for PIC
srikrrish Dec 13, 2022
631b008
PIC checked
srikrrish Dec 13, 2022
32b3614
Current version corresponding to the slides
srikrrish Dec 16, 2022
9ffde44
Twostream instability and Penning trap PinT files added
srikrrish Dec 19, 2022
cdb062d
Penningtrap IC generation fixed with CDF
srikrrish Dec 20, 2022
36a6975
ceil used for number of coarse and fine time steps
srikrrish Dec 21, 2022
a7112e7
Stopping criteria changed in all mini-apps
srikrrish Dec 23, 2022
17bf673
If conditions removed and performance improved a little bit
srikrrish Jan 6, 2023
8032aed
Layout lefts and rights specified
srikrrish Jan 9, 2023
ab9b6b9
Some performance tests made and good configuration for delta shape fu…
srikrrish Jan 9, 2023
2517255
Precalculated shape functions implemented and tested
srikrrish Jan 10, 2023
897d7a6
Comments changed
srikrrish Jan 10, 2023
dc152a5
Comment typos corrected
srikrrish Jan 10, 2023
35a7f0a
Bump-on-tail instability and Penning trap PIF examples created
srikrrish Jan 13, 2023
4b9db5a
New files added
srikrrish Jan 13, 2023
06ca5e6
bug fixed for BumponTail and PenningTrap
srikrrish Jan 16, 2023
a3151c6
few tweaks
srikrrish Jan 16, 2023
62ca48c
Position error calculation changed
srikrrish Jan 20, 2023
3f1e870
unnecesary thing removed
srikrrish Jan 20, 2023
a838a0c
modified stopping added to LandauDamping and BumponTail
srikrrish Jan 21, 2023
b8cd2d9
bug in PenningTrapPinT fixed
srikrrish Jan 21, 2023
77f7b67
Linf errors changed to L2
srikrrish Jan 21, 2023
9249627
Grid, Pc change test done for all examples
srikrrish Jan 31, 2023
55bc603
dumpVTK commented
srikrrish Jan 31, 2023
31720f9
cuFINUFFT interface made. Need to create a test and see if it works
srikrrish Feb 10, 2023
64d3df9
Interface made and test done but have some compilation issues
srikrrish Feb 13, 2023
e1ab9d1
test file added
srikrrish Feb 13, 2023
9f7534f
Find cmake file added for cufinufft
srikrrish Feb 14, 2023
dccf8ca
Test for type 2 NUFFT also added
srikrrish Feb 14, 2023
e526bef
few tweaks and cleanups but still lot of things need to be generalized
srikrrish Feb 14, 2023
85c53cc
NUFFT interface merged
srikrrish Feb 14, 2023
9d7204e
In the middle of changes
srikrrish Feb 14, 2023
613a80a
include directories added
srikrrish Feb 14, 2023
7198e2f
target_include_directories seems to work
srikrrish Feb 16, 2023
dff882c
conflicts fixed with the merge from cufinufft interface branch
srikrrish Feb 16, 2023
4744281
Almost done but have some compilation errors
srikrrish Feb 16, 2023
c4f9d71
Function pointers and C-style arrays introduced to solve the type and…
srikrrish Feb 17, 2023
dd86a10
Conflicts fixed and merged with cufinufft interface
srikrrish Feb 17, 2023
70cd2c4
Code compiles and runs but the results are wrong. Need to see.
srikrrish Feb 17, 2023
f06bb87
some more modifications
srikrrish Feb 18, 2023
f1934f1
PIF with NUFFT now seems to be working on 1 GPU. Need to test more
srikrrish Feb 21, 2023
8778100
bugs in the origin corrected in TestNUFFT1 and TestNUFFT2
srikrrish Feb 21, 2023
65664ff
PinT also works with NUFFT. Need to do space-time parallel now.
srikrrish Feb 22, 2023
9474ff8
Twostream instability and Penning trap ran with higher no. of modes a…
srikrrish Feb 24, 2023
5f508e4
Block parareal first version done
srikrrish Mar 3, 2023
1331f37
Output writing changed for block parareal. Need to compile and test
srikrrish Mar 4, 2023
2b46726
multiCycle Parareal implemented for PenningTrap and TSI. Need to post…
srikrrish Mar 6, 2023
d890e03
Kokkos::Experimenta->numbers for v 4.0.0
srikrrish Apr 12, 2023
a06118e
Kokkos::numbers removed for v 4.0.0
srikrrish Apr 12, 2023
b27bc5d
LandauDamping modified for multiBlock Parareal
srikrrish Apr 12, 2023
62dba0f
Added missing critical Kokkos::fence() after NUFFT as otherwise we ha…
srikrrish Apr 17, 2023
456f146
Cleanup commented Inform
srikrrish Apr 17, 2023
f3e550f
Add ifdefs for NUFFT
srikrrish Apr 17, 2023
846e3da
Revert "Add ifdefs for NUFFT"
srikrrish Apr 18, 2023
d3f288a
PenningTrap PIF with NUFFT made
srikrrish Apr 25, 2023
b7d6c29
tolerance changed in PenningTrap PIF and NUFFT init moved to a separa…
srikrrish Apr 27, 2023
ed6d721
Initial space-time distributed parallel code made. Need to compile an…
srikrrish May 30, 2023
b708c67
MPI_Comm_free added for space and time communicators
srikrrish May 30, 2023
dfe3c75
Compilation errors removed. Need to run and test
srikrrish May 30, 2023
384256a
space-time parallelism seems to work. Need to run more tests and conf…
srikrrish May 30, 2023
1849822
In the middle of debugging
srikrrish Jun 1, 2023
cb97096
bug in Penning trap corrected
srikrrish Jun 1, 2023
01e1ab9
TSI and Landau damping modified and a bug in multiblock corrected
srikrrish Jun 12, 2023
8652212
Penning Trap ICs modified in all mini-apps
srikrrish Jun 19, 2023
25b272d
error checking criterion changed
srikrrish Jun 19, 2023
cb03845
Total particles changed in PIF codes
srikrrish Jun 20, 2023
824fc55
Bug in Two-stram instability fixed
srikrrish Jun 24, 2023
ffcdaf7
FFT temporaries moved as member variables and sort ption removed in N…
srikrrish Jul 7, 2023
3b74416
Uncommited changes committed and pushed
srikrrish Jul 31, 2023
061854f
Uncommited changes pushed
srikrrish Sep 5, 2023
7497f8e
State corresponding to Perlmutter full system scaling study
srikrrish Dec 20, 2023
a0fe7e3
Merge branch '131-implement-electrostatic-particle-in-fourier' of htt…
srikrrish Dec 21, 2023
1343b2a
Tweaks needed for finufft 2.2.0 and stages 2024
srikrrish Jan 3, 2024
1cf99a3
Code modified for using NUFFT of higher tolerance also as coarse prop…
srikrrish Jan 4, 2024
f67d5ae
In the middle of trying to understand why particles creation take so …
srikrrish Jan 9, 2024
b417e28
Reason for initial communication to be expensive identified.
srikrrish Jan 10, 2024
ccc064f
Uncommitted changes committed
srikrrish Jan 29, 2024
4688555
In the middle of cleanup before running speedup studies
srikrrish Mar 1, 2024
380e3e4
Unwanted files removed
srikrrish Mar 1, 2024
3202f99
Still in the middle of cleanup
srikrrish Mar 1, 2024
eb6fccd
Landaudamping cleaned, chargedparticles as well as others need to be …
srikrrish Mar 1, 2024
67d2fd5
ChargedParticles also cleaned
srikrrish Mar 2, 2024
c198655
FFT files cleaned a bit
srikrrish Mar 2, 2024
5e571f7
Particle Attribute also cleaned a bit
srikrrish Mar 2, 2024
8efb99e
Landaudamping results verified after clean up
srikrrish Mar 2, 2024
fc82529
TSI and Penning trap also cleaned. Need to test and see if it works
srikrrish Mar 2, 2024
fff184d
Momentum difference seems to stem from different initial seed only
srikrrish Mar 2, 2024
c4104ed
Uncommitted changes committed
srikrrish Mar 28, 2024
7a61baa
Bug in shape function corrected
srikrrish Apr 23, 2024
3a14e8a
Added a comment
srikrrish Apr 26, 2024
2bae528
Variable name changed related to the bugfix and dumping commented for…
srikrrish Apr 30, 2024
bf5582b
State prior to submission with file writings enabled
srikrrish Jun 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ add_compile_options (-Wunused)
add_compile_options (-Wextra)
add_compile_options (-Werror)


# allow deprecated functions
add_compile_options (-Wno-deprecated-declarations)
add_compile_options (-Wno-stringop-overflow)
add_compile_options (-Wno-array-bounds)
add_compile_options (-Wno-restrict)

option (USE_STATIC_LIBRARIES "Link with static libraries if available" ON)

Expand Down Expand Up @@ -62,6 +66,13 @@ if (ENABLE_FFT)
message (STATUS "Found Heffte_DIR: ${Heffte_DIR}")
endif ()

option (ENABLE_NUFFT "Enable NUFFT transform" OFF)
if (ENABLE_NUFFT)
add_definitions (-DENABLE_NUFFT)
find_package(CUFINUFFT REQUIRED)
message (STATUS "Found CUFINUFFT_DIR: ${CUFINUFFT_DIR}")
endif ()

option (ENABLE_SOLVERS "Enable IPPL solvers" OFF)

add_subdirectory (src)
Expand Down
32 changes: 32 additions & 0 deletions CMakeModules/FindCUFINUFFT.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# Find CUFINUFFT includes and library
#
# CUFINUFFT_INCLUDE_DIR - where to find cufinufft.h
# CUFINUFFT_LIBRARY - libcufinufft.so path
# CUFINUFFT_FOUND - do not attempt to use if "no" or undefined.

FIND_PATH(CUFINUFFT_INCLUDE_DIR cufinufft.h
HINTS $ENV{CUFINUFFT_INCLUDE_PATH} $ENV{CUFINUFFT_INCLUDE_DIR} $ENV{CUFINUFFT_PREFIX}/include $ENV{CUFINUFFT_DIR}/include ${PROJECT_SOURCE_DIR}/include
PATHS ENV CPP_INCLUDE_PATH
)
#Static library has some issues and gives a cuda error at the end of compilation
FIND_LIBRARY(CUFINUFFT_LIBRARY_DIR libcufinufft.so
HINTS $ENV{CUFINUFFT_LIBRARY_PATH} $ENV{CUFINUFFT_LIBRARY_DIR} $ENV{CUFINUFFT_PREFIX}/lib $ENV{CUFINUFFT_DIR}/lib $ENV{CUFINUFFT}/lib ${PROJECT_SOURCE_DIR}/lib
PATHS ENV LIBRARY_PATH
)

IF(CUFINUFFT_INCLUDE_DIR AND CUFINUFFT_LIBRARY_DIR)
SET( CUFINUFFT_FOUND "YES" )
SET( CUFINUFFT_DIR $ENV{CUFINUFFT_DIR} )
ENDIF()

IF (CUFINUFFT_FOUND)
IF (NOT CUFINUFFT_FIND_QUIETLY)
MESSAGE(STATUS "Found cufinufft library dir: ${CUFINUFFT_LIBRARY_DIR}")
MESSAGE(STATUS "Found cufinufft include dir: ${CUFINUFFT_INCLUDE_DIR}")
ENDIF (NOT CUFINUFFT_FIND_QUIETLY)
ELSE (CUFINUFFT_FOUND)
IF (CUFINUFFT_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find CUFINUFFT!")
ENDIF (CUFINUFFT_FIND_REQUIRED)
ENDIF (CUFINUFFT_FOUND)
45 changes: 19 additions & 26 deletions alpine/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,22 @@
file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
message (STATUS "Adding index test found in ${_relPath}")

include_directories (
${CMAKE_SOURCE_DIR}/src
)

link_directories (
${CMAKE_CURRENT_SOURCE_DIR}
${Kokkos_DIR}/..
)

set (IPPL_LIBS ippl ${MPI_CXX_LIBRARIES})
set (COMPILE_FLAGS ${OPAL_CXX_FLAGS})

add_executable (PenningTrap PenningTrap.cpp)
target_link_libraries (PenningTrap ${IPPL_LIBS})

add_executable (UniformPlasmaTest UniformPlasmaTest.cpp)
target_link_libraries (UniformPlasmaTest ${IPPL_LIBS})

add_executable (LandauDamping LandauDamping.cpp)
target_link_libraries (LandauDamping ${IPPL_LIBS})

add_executable (BumponTailInstability BumponTailInstability.cpp)
target_link_libraries (BumponTailInstability ${IPPL_LIBS})
macro(list_subdirectories retval curdir)
file(GLOB sub-dir RELATIVE ${curdir} *)
set(list_of_dirs "")
foreach(dir ${sub-dir})
if(IS_DIRECTORY ${curdir}/${dir})
set(list_of_dirs ${list_of_dirs} ${dir})
endif()
endforeach()
set(${retval} ${list_of_dirs})
endmacro()

#list_subdirectories("TESTS" ${CMAKE_CURRENT_SOURCE_DIR})
#foreach (test ${TESTS})
# add_subdirectory (${test})
#endforeach()

add_subdirectory (ElectrostaticPIC)
add_subdirectory (ElectrostaticPIF)
add_subdirectory (PinT)

# vi: set et ts=4 sw=4 sts=4:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ int main(int argc, char *argv[]){

Vector_t hr = {dx, dy, dz};
Vector_t origin = {rmin[0], rmin[1], rmin[2]};
const double dt = 0.5*dx;//0.05
const double dt = std::atof(argv[9]);;//0.5*dx;

const bool isAllPeriodic=true;
Mesh_t mesh(domain, hr, origin);
Expand Down Expand Up @@ -383,6 +383,7 @@ int main(int argc, char *argv[]){

IpplTimings::startTimer(dumpDataTimer);
P->dumpBumponTail();
P->dumpEnergy(totalP);
P->gatherStatistics(totalP);
//P->dumpLocalDomains(FL, 0);
IpplTimings::stopTimer(dumpDataTimer);
Expand Down Expand Up @@ -442,6 +443,7 @@ int main(int argc, char *argv[]){
P->time_m += dt;
IpplTimings::startTimer(dumpDataTimer);
P->dumpBumponTail();
P->dumpEnergy(totalP);
P->gatherStatistics(totalP);
IpplTimings::stopTimer(dumpDataTimer);
msg << "Finished time step: " << it+1 << " time: " << P->time_m << endl;
Expand Down
35 changes: 35 additions & 0 deletions alpine/ElectrostaticPIC/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
message (STATUS "Adding index test found in ${_relPath}")

include_directories (
${CMAKE_SOURCE_DIR}/src
)

link_directories (
${CMAKE_CURRENT_SOURCE_DIR}
${Kokkos_DIR}/..
)

set (IPPL_LIBS ippl ${MPI_CXX_LIBRARIES})
set (COMPILE_FLAGS ${OPAL_CXX_FLAGS})

add_executable (PenningTrap PenningTrap.cpp)
target_link_libraries (PenningTrap ${IPPL_LIBS})

add_executable (UniformPlasmaTest UniformPlasmaTest.cpp)
target_link_libraries (UniformPlasmaTest ${IPPL_LIBS})

add_executable (LandauDamping LandauDamping.cpp)
target_link_libraries (LandauDamping ${IPPL_LIBS})

add_executable (BumponTailInstability BumponTailInstability.cpp)
target_link_libraries (BumponTailInstability ${IPPL_LIBS})

# vi: set et ts=4 sw=4 sts=4:

# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,126 @@ class ChargedParticles : public ippl::ParticleBase<PLayout> {

Ippl::Comm->barrier();
}


void dumpLandauParticle(size_type totalP) {

auto Eview = E.getView();

double fieldEnergy, ExAmp;
double temp = 0.0;

Kokkos::parallel_reduce("Ex energy", this->getLocalNum(),
KOKKOS_LAMBDA(const int i, double& valL){
double myVal = Eview(i)[0] * Eview(i)[0];
valL += myVal;
}, Kokkos::Sum<double>(temp));

double globaltemp = 0.0;
MPI_Reduce(&temp, &globaltemp, 1, MPI_DOUBLE, MPI_SUM, 0, Ippl::getComm());
double volume = (rmax_m[0] - rmin_m[0]) * (rmax_m[1] - rmin_m[1]) * (rmax_m[2] - rmin_m[2]);
fieldEnergy = globaltemp * volume / totalP ;

double tempMax = 0.0;
Kokkos::parallel_reduce("Ex max norm", this->getLocalNum(),
KOKKOS_LAMBDA(const size_t i, double& valL)
{
double myVal = std::fabs(Eview(i)[0]);
if(myVal > valL) valL = myVal;
}, Kokkos::Max<double>(tempMax));
ExAmp = 0.0;
MPI_Reduce(&tempMax, &ExAmp, 1, MPI_DOUBLE, MPI_MAX, 0, Ippl::getComm());


if (Ippl::Comm->rank() == 0) {
std::stringstream fname;
fname << "data/FieldLandau_";
fname << Ippl::Comm->size();
fname << ".csv";


Inform csvout(NULL, fname.str().c_str(), Inform::APPEND);
csvout.precision(10);
csvout.setf(std::ios::scientific, std::ios::floatfield);

if(time_m == 0.0) {
csvout << "time, Ex_field_energy, Ex_max_norm" << endl;
}

csvout << time_m << " "
<< fieldEnergy << " "
<< ExAmp << endl;

}

Ippl::Comm->barrier();
}


void dumpEnergy(size_type /*totalP*/) {


double potentialEnergy, kineticEnergy;
//auto Eview = E.getView();
double temp = 0.0;

//Kokkos::parallel_reduce("Potential energy", this->getLocalNum(),
// KOKKOS_LAMBDA(const int i, double& valL){
// double myVal = dot(Eview(i), Eview(i)).apply();
// valL += myVal;
// }, Kokkos::Sum<double>(temp));

double globaltemp = 0.0;
//MPI_Reduce(&temp, &globaltemp, 1, MPI_DOUBLE, MPI_SUM, 0, Ippl::getComm());
//double volume = (rmax_m[0] - rmin_m[0]) * (rmax_m[1] - rmin_m[1]) * (rmax_m[2] - rmin_m[2]);
//potentialEnergy = 0.5 * globaltemp * volume / totalP ;

rho_m = dot(E_m, E_m);
potentialEnergy = 0.5 * hr_m[0] * hr_m[1] * hr_m[2] * rho_m.sum();

auto Pview = P.getView();
auto qView = q.getView();

temp = 0.0;

Kokkos::parallel_reduce("Kinetic Energy", this->getLocalNum(),
KOKKOS_LAMBDA(const int i, double& valL){
double myVal = dot(Pview(i), Pview(i)).apply();
myVal *= -qView(i);
valL += myVal;
}, Kokkos::Sum<double>(temp));

temp *= 0.5;
globaltemp = 0.0;
MPI_Reduce(&temp, &globaltemp, 1, MPI_DOUBLE, MPI_SUM, 0, Ippl::getComm());

kineticEnergy = globaltemp;

if (Ippl::Comm->rank() == 0) {
std::stringstream fname;
fname << "data/Energy_";
fname << Ippl::Comm->size();
fname << ".csv";


Inform csvout(NULL, fname.str().c_str(), Inform::APPEND);
csvout.precision(10);
csvout.setf(std::ios::scientific, std::ios::floatfield);

if(time_m == 0.0) {
csvout << "time, Potential energy, Kinetic energy, Total energy" << endl;
}

csvout << time_m << " "
<< potentialEnergy << " "
<< kineticEnergy << " "
<< potentialEnergy + kineticEnergy << endl;

}

Ippl::Comm->barrier();
}


void dumpBumponTail() {

const int nghostE = E_m.getNghost();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Landau Damping Test
// Usage:
// srun ./LandauDamping <nx> <ny> <nz> <Np> <Nt> <stype> <lbthres> <ovfactor> --info 10
// srun ./LandauDamping <nx> <ny> <nz> <Np> <Nt> <stype> <lbthres> <ovfactor> <dt> --info 10
// nx = No. cell-centered points in the x-direction
// ny = No. cell-centered points in the y-direction
// nz = No. cell-centered points in the z-direction
Expand All @@ -13,6 +13,7 @@
// simulations.
// ovfactor = Over-allocation factor for the buffers used in the communication. Typical
// values are 1.0, 2.0. Value 1.0 means no over-allocation.
// dt = Time stepize
// Example:
// srun ./LandauDamping 128 128 128 10000 10 FFT 0.01 2.0 --info 10
//
Expand Down Expand Up @@ -177,6 +178,7 @@ int main(int argc, char *argv[]){

const size_type totalP = std::atoll(argv[4]);
const unsigned int nt = std::atoi(argv[5]);
const double dt = std::atof(argv[9]);;//0.5*dx;

msg << "Landau damping"
<< endl
Expand All @@ -200,7 +202,7 @@ int main(int argc, char *argv[]){

// create mesh and layout objects for this problem domain
Vector_t kw = {0.5, 0.5, 0.5};
double alpha = 0.05;
double alpha = 0.5;
Vector_t rmin(0.0);
Vector_t rmax = 2 * pi / kw ;
double dx = rmax[0] / nr[0];
Expand All @@ -209,7 +211,6 @@ int main(int argc, char *argv[]){

Vector_t hr = {dx, dy, dz};
Vector_t origin = {rmin[0], rmin[1], rmin[2]};
const double dt = 0.5*dx;

const bool isAllPeriodic=true;
Mesh_t mesh(domain, hr, origin);
Expand Down Expand Up @@ -331,7 +332,8 @@ int main(int argc, char *argv[]){
P->gatherCIC();

IpplTimings::startTimer(dumpDataTimer);
P->dumpLandau();
P->dumpLandauParticle(totalP);
P->dumpEnergy(totalP);
P->gatherStatistics(totalP);
//P->dumpLocalDomains(FL, 0);
IpplTimings::stopTimer(dumpDataTimer);
Expand Down Expand Up @@ -390,7 +392,8 @@ int main(int argc, char *argv[]){

P->time_m += dt;
IpplTimings::startTimer(dumpDataTimer);
P->dumpLandau();
P->dumpLandauParticle(totalP);
P->dumpEnergy(totalP);
P->gatherStatistics(totalP);
IpplTimings::stopTimer(dumpDataTimer);
msg << "Finished time step: " << it+1 << " time: " << P->time_m << endl;
Expand Down
Loading