awslabs / palace

3D finite element solver for computational electromagnetics
https://awslabs.github.io/palace/dev
Apache License 2.0
237 stars 49 forks source link

Error running examples/spheres.json #178

Closed aleaj closed 8 months ago

aleaj commented 8 months ago

Hi,

I'm new to the package and was trying to first run the example of the spheres and got the following error. I write this command in the terminal: ./palace spheres.json in the folder where I have installed palace and get:

/usr/bin/mpirun -n 1 /home/aandresj/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.4.0/palace-0.11.2-7th6eidbdqlvieu5ckwejox2g6gwpmes/bin/palace-x86_64.bin spheres.json

_____________     _______
_____   __   \____ __   /____ ____________
____   /_/  /  __ ` /  /  __ ` /  ___/  _ \
___   _____/  /_/  /  /  /_/  /  /__/  ___/
  /__/     \___,__/__/\___,__/\_____\_____/

Git changeset ID: v0.11.2
Running with 1 MPI process

Verification failed: (postpro->empty()) is false:
 --> Found an unsupported configuration file keyword under "Postprocessing"!
{
  "Energy": [
    {
      "Attributes": [
        1
      ],
      "Index": 1
    }
  ]
}
 ... in function: void palace::config::DomainPostData::SetUp(palace::config::json&)
 ... in file: /tmp/aandresj/spack-stage/spack-stage-palace-0.11.2-7th6eidbdqlvieu5ckwejox2g6gwpmes/spack-src/palace/utils/configfile.cpp:475

--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
  Proc: [[49235,0],0]
  Errorcode: 1

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.

Can you help me identify what is wrong?

Many thanks and very good job with this software.

sebastiangrimberg commented 8 months ago

Hi @aleaj, I think I know what the issue is and how to fix it. There was a breaking change to the configuration file between v0.11 and v0.12, and it looks like you are using the spheres example config file from a recent clone of main while installing an older build of Palace with Spack (v0.11.2), causing the error.

The solution is to install Palace from the recent main, since the public Spack recipe hasn't been updated to include v0.12. You can use palace@develop in your Spack spec to do this. Alternatively you can use the Spack recipe distributed with Palace in the spack/ directory. This is I typically use as it is always up to date with the code.

Sorry for the confusion and I will submit a PR to the Spack repository to update this soon.

sebastiangrimberg commented 8 months ago

Here is the PR: https://github.com/spack/spack/pull/42400