TransientDomainDecompositionAnalysis

This forum is for issues related to parallel processing
and OpenSees using the new interpreters OpenSeesSP and OpenSeesMP

Moderator: selimgunay

Post Reply
brag006
Posts: 173
Joined: Wed Feb 15, 2012 1:26 pm
Location: University of Auckland

TransientDomainDecompositionAnalysis

Post by brag006 »

Just a small error that was quite confusing. This is a small section of code from the file TransienDomainDecompositionAnalysis:

if (theSOE == 0 || theSOE->getClassTag() != data(4)) {
if (theSOE != 0)
delete theSOE;

theSOE = theBroker.getNewLinearSOE(data(4));
if (theSOE == 0) {
opserr << "TransientDomainDecompositionAnalysis::recvSelf";
opserr << " - failed to get the LinearSOE\n";
return -1;
}
}

theSOE->recvSelf(commitTag, theChannel, theBroker);
LinearSOESolver *theSolver = theSOE->getSolver();
if (theSolver == 0) {
opserr << "StaticDomainDecompositionAnalysis::recvSelf";
opserr << " - failed to get the Solver\n";
return -1;
}

======================================================================

as you can see the output in case of an error is "StaticDomainDecompositionAnalysis::recvSelf" even though it's in the Transient file.
brag006
Posts: 173
Joined: Wed Feb 15, 2012 1:26 pm
Location: University of Auckland

Re: TransientDomainDecompositionAnalysis

Post by brag006 »

The main question though is why is it failing to get the solver? I'm getting this error:

Fatal error in MPI_Recv: Message truncated, error stack:
MPI_Recv(184).....................: MPI_Recv(buf=0x17815b0, count=4, MPI_INT, src=0, tag=0, MPI_COMM_WORLD, status=0x7fff364f0d30) failed
MPIDI_CH3U_Receive_data_found(131): Message from rank 0 and tag 0 truncated; 24 bytes received but buffer size is 16

===============================

Any ideas how I address this problem?
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: TransientDomainDecompositionAnalysis

Post by fmk »

are there more messages than this .. basically there is a mismatch between size of the send and recv data being sent .. typically this is due to a difference in the the size of the vector or id object being sent and received, sometimes it can be due to program logic which can result in an object sending data and a different class of object receiving data, or an object sending and receiving its data in different orders (e.g. the ID gets send before the Vector, but the Vector is received before the ID).
brag006
Posts: 173
Joined: Wed Feb 15, 2012 1:26 pm
Location: University of Auckland

Re: TransientDomainDecompositionAnalysis

Post by brag006 »

The only other message is the 'StaticDomainDecompositionAnalysis::recSelf - failed to get the Solver'
I'm not that familiar with the whole send/recv process but what is the best way to debug this component to try figure out the problem?
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: TransientDomainDecompositionAnalysis

Post by fmk »

what solver are you using.
brag006
Posts: 173
Joined: Wed Feb 15, 2012 1:26 pm
Location: University of Auckland

Re: TransientDomainDecompositionAnalysis

Post by brag006 »

I am just trying to run the slope analysis example from the wiki. The analysis options are as follows:

constraints Penalty 1.e18 1.e18
test NormDispIncr 1e-3 35 1
algorithm Newton
numberer RCM
system ProfileSPD
integrator Newmark $gamma $beta
analysis Transient
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: TransientDomainDecompositionAnalysis

Post by fmk »

you need a parallel solver.. try Mumps
Post Reply