TransientDomainDecompositionAnalysis
Moderator: selimgunay
TransientDomainDecompositionAnalysis
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.
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
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?
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
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
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?
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
what solver are you using.
Re: TransientDomainDecompositionAnalysis
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
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
you need a parallel solver.. try Mumps