
Hello,
two questions straight off the bat.
1. Did you try with OpenMp? That would rule out MPI communicaiton errors.
2. Did you try with (any kind of) parallelism, but without adaptation? Just comment out your adapt event?
cheers
voitek
Concerning OpenMP.
yes, please compile with something like this:
qcc -std=c99 -fopenmp -Wall -O2 roll-wave.c -o rollwave -lm -grid=octree -L$BASILISK/gl -lglutils -lfb_tiny
(the last 3 argumens are, of course, optional for runtime visualization).
Once compiled, you just do
./rollwave
in the terminal to start it. This however will not let you control how many threads run, such control is obtained via an environmental variable:
export OMP_NUM_THREADS=N
to get N threads.
The reason I asked is that OpenMP is shared memory parallelism, that means it rules out the errors that can take place when the typical MPI comands (mpi_sendrecv()) are used in the code. That said, I don't believe there actually are any MPI "errors" in basilisk, it's just a way to debug your issue...
The suggestion with adaptation has a similar goal.
good luck
v