Topic: qestion on parallel

Hi, I want to try to execute oofem program for parallel. So I type it as:
mpirun -np 4 oofem -p -f topo.in
My computer has only 4 cores, and the name of input file is topo.in.
However, it shows as follows:
           OOFEM - Finite Element Solver
        Copyright (C) 1994-2017 Borek Patzak
____________________________________________________
____________________________________________________
           OOFEM - Finite Element Solver
        Copyright (C) 1994-2017 Borek Patzak
____________________________________________________
____________________________________________________
           OOFEM - Finite Element Solver
        Copyright (C) 1994-2017 Borek Patzak
____________________________________________________
____________________________________________________
           OOFEM - Finite Element Solver
        Copyright (C) 1994-2017 Borek Patzak
____________________________________________________
_______________________________________________________
Error: (/home/satoshi/hello/oofem.git/src/oofemlib/oofemtxtdatareader.C:49)
_______________________________________________________
Error: (/home/satoshi/hello/oofem.git/src/oofemlib/oofemtxtdatareader.C:49)
In OOFEMTXTDataReader:
Can't open input stream (topo.in.2)
_______________________________________________________
stack trace:
_______________________________________________________
Error: (/home/satoshi/hello/oofem.git/src/oofemlib/oofemtxtdatareader.C:49)
In OOFEMTXTDataReader:
Can't open input stream (topo.in.3)
_______________________________________________________
stack trace:
In OOFEMTXTDataReader:
Can't open input stream (topo.in.0)
_______________________________________________________
stack trace:
_______________________________________________________
Error: (/home/satoshi/hello/oofem.git/src/oofemlib/oofemtxtdatareader.C:49)
In OOFEMTXTDataReader:
Can't open input stream (topo.in.1)
_______________________________________________________
stack trace:
  /home/satoshi/hello/buildwithslepc/liboofem.so : oofem::OOFEMTXTDataReader::OOFEMTXTDataReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x15d
  /home/satoshi/hello/buildwithslepc/liboofem.so : oofem::OOFEMTXTDataReader::OOFEMTXTDataReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x15d
  ./oofem : main()+0x8b4
  /lib/i386-linux-gnu/libc.so.6 : __libc_start_main()+0xf7
  ./oofem() [0x804cc51]
  /home/satoshi/hello/buildwithslepc/liboofem.so : oofem::OOFEMTXTDataReader::OOFEMTXTDataReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x15d
  ./oofem : main()+0x8b4
  /lib/i386-linux-gnu/libc.so.6 : __libc_start_main()+0xf7
  ./oofem() [0x804cc51]
oofem exit code 1
  ./oofem : main()+0x8b4
  /lib/i386-linux-gnu/libc.so.6 : __libc_start_main()+0xf7
  ./oofem() [0x804cc51]
oofem exit code 1
  /home/satoshi/hello/buildwithslepc/liboofem.so : oofem::OOFEMTXTDataReader::OOFEMTXTDataReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x15d
  ./oofem : main()+0x8b4
  /lib/i386-linux-gnu/libc.so.6 : __libc_start_main()+0xf7
  ./oofem() [0x804cc51]
Total 4 error(s) and 0 warning(s) reported
oofem exit code 1
oofem exit code 1
by the way, I have compiled oofem with PETSc and SLEPc  successfully.

2

Re: qestion on parallel

Hi,
in short, the parallel version (distributed memory) requires the partitioning of the solution domain. Instead of one input file you should prepare individual input files for each subdomain (processor). This is explained on simple example in input manual, look for parallel examples at the end.

Fortunately, there is oofem2part.py script located in tools subdirectory that can make partitioning for you. It reqires python, metis, and metis to python wrapper module to be installed (see the comments in  oofem2part.py). However, it does not yet support newer syntax based on sets.

Borek