Topic: Split parallel communicator

Hi All,
Is there a way to couple oofem with other programs, such that oofem is operating on a split MPI communicator that is a subset of MPI_COMM_WORLD. There seem to be several instances of calling MPI_COMM_WORLD directly rather than a reference to a communicator.

My application is coupling with large scale molecular dynamics and i have a working code, that currently operates on both oofem and the md code, but the real issue is parallel operation. Clearly for such an application it will be preferable to operatre oofem on a few processes and other processes operating on molecular dynamics.

Thanks in advance.

Re: Split parallel communicator

It's only this way because of convenience, and a lack for a need of anything better among the developers.

This has bothered me as well, but never enough for me to spend time redoing it.

The standard main function should specify MPI_COMM_WORLD to the engineering model, and the engineering models variable "comm" should be where all the different components fetch this value.This would let you write your own solver on top of this.


I've had a look at the minimum that needs to be fixed, and it's in petscsparsemtrx, parallelordering, processcomm probably needs fixing before it's useful. I fixed logger and a simple use in petscsparsemtrx, but I don't have time to look through the rest right now.