void plbMainProcLogicError(bool issueError, std::string message) {
    int intIssueError = (int)(issueError);
    global::mpi().bCast(&intIssueError, 1);

    if (intIssueError) {
        throw PlbLogicException(message);
    }
}
Пример #2
0
void MultiBlockRegistration3D::release(MultiBlock3D& block) {
    std::map<id_t,MultiBlock3D*>::iterator it = multiBlocks.find(block.getId());
    if (it == multiBlocks.end()) {
        throw PlbLogicException("Releasing a block which is not registered.");
    }
    else {
        uniqueId.releaseId(it->first);
        multiBlocks.erase(it);
    }
}
void plbLogicError(bool issueError, std::string message) {
#ifdef PLB_MPI_PARALLEL
    int errorCounter = issueError ? 1 : 0;
    global::mpi().reduceAndBcast(errorCounter,  MPI_SUM);
    issueError = errorCounter > 0;
#endif

    if (issueError) {
        errorFile().write(message);
        throw PlbLogicException(message);
    }
}
void plbLogicError(std::string message) {
    throw PlbLogicException(message);
}