Page 1 of 1

TransientDomainDecompositionAnalysis

Posted: Tue Nov 12, 2013 6:33 pm
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.

Re: TransientDomainDecompositionAnalysis

Posted: Tue Nov 12, 2013 6:36 pm
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?

Re: TransientDomainDecompositionAnalysis

Posted: Wed Nov 13, 2013 9:00 am
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).

Re: TransientDomainDecompositionAnalysis

Posted: Wed Nov 13, 2013 12:26 pm
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?

Re: TransientDomainDecompositionAnalysis

Posted: Thu Nov 14, 2013 8:53 am
by fmk
what solver are you using.

Re: TransientDomainDecompositionAnalysis

Posted: Thu Nov 14, 2013 4:13 pm
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

Re: TransientDomainDecompositionAnalysis

Posted: Mon Nov 18, 2013 8:59 am
by fmk
you need a parallel solver.. try Mumps