Page 1 of 2

UpdateMaterialStage in OpenSeesSP

Posted: Wed Nov 27, 2013 5:55 pm
by brag006
I have been working on this for a few days and still no luck. I am running a geotech example model (slopeAnalysis2Deff) in OpenSeesSP on a cluster. I am having issues with the UpdateMaterialStage command. After the first analysis the updateMaterialStage command starts doing some funny things. It produces this warning

WARNING: updateMaterialStage - MaterialStageParameter::setDomain() - no effect with material tag 8

The material tag changes with the number of processes i start. So when i do mpirun -n 2 only that line is produced. However in -n 3 many more errors are produced. From this I guess it has something to do with domain decomposition because it only happens after the analyze command.

Any help will be much appreciated.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Thu Nov 28, 2013 4:51 pm
by brag006
After further analysis of the source code it seems the error is in MaterialStageParameter.cpp in setDomain. The issue is in the following set of lines:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while (((theEle = theEles()) != 0) && (theResult == -1)) {
opserr << *theEle << endln;
theResult = theEle->setParameter(theString, 2, *this);
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

As you can see in the second line I print out the output of theEle which is usually just the element being considered. However after issuing the analyze command this same line prints out the whole domain.

How can this issue be fixed? Obviously the analyze command does a domain decomposition but does the domain get rebuilt at the completion of the analyze command?

Any help will be much appreciated.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Fri Nov 29, 2013 5:05 pm
by brag006
Still struggling with this. If anyone can help will be much appreciated. Further manipulation of the source code it seems the issue is in ArrayOfTaggedObjectsItr.cpp in the following lines:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while ((currIndex <= myComponents.positionLastEntry)
&& (myComponents.theComponents[currIndex] == 0))
currIndex++;

// if not at the end of the list return the element
// NOTE: a BAD type cast is needed here - Maybe change domain
if (currIndex < myComponents.sizeComponentArray) {
TaggedObject *dc= myComponents.theComponents[currIndex];
numDone++; currIndex++;
return(dc);
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

It's either the first while loop is not determining currIndex or the second if statement is not extracting the correct dc value. Unfortunately I'm stuck and can't seem to take it any further.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Sat Nov 30, 2013 11:18 am
by zanakarimi
Hi there,
I am also working on soil modeling in the parallel version.
Have you solved the issue?

Re: UpdateMaterialStage in OpenSeesSP

Posted: Sun Dec 01, 2013 12:21 pm
by brag006
Not yet unfortunately

Re: UpdateMaterialStage in OpenSeesSP

Posted: Tue Dec 03, 2013 12:57 pm
by brag006
Any possibility of frank looking at this? I really need it to work asap.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Wed Dec 04, 2013 10:03 am
by fmk
yes i will .. it is just a matter of finding time to do it .. hopefully this week.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Wed Dec 04, 2013 12:45 pm
by brag006
Much appreciated

Re: UpdateMaterialStage in OpenSeesSP

Posted: Thu Dec 05, 2013 1:25 pm
by zanakarimi
Can I ask you what type of ND materials you are using? It seems that PDMY works fine but PDMY02 has some problem with decomposition.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Thu Dec 05, 2013 2:21 pm
by brag006
Yea I had to add that material to the list of commands. If I remember correctly I had to make a few changes to the FEM_ObjectBrokerAllClasses.cpp source file. They are easy changes I just coppied PressureDependMultiYield and added 02.

Frank, if those changes are correct can you make changes to the source code so other people can make use of it.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Fri Dec 06, 2013 10:53 am
by zanakarimi
Can you send me your OpenSeesSP.exe file please. So I can try it too.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Fri Dec 06, 2013 12:20 pm
by brag006
Are you running OpenSeesSP on a cluster or on your personal computer? If on your own computer are running it in parallel or not?

Re: UpdateMaterialStage in OpenSeesSP

Posted: Fri Dec 06, 2013 12:29 pm
by brag006
There is no point in giving you my executable because it is compiled on a unix cluster so will not work on windows. Best to wait for frank to make the change if he thinks it is correct and then provide a windows executable.

Re: UpdateMaterialStage in OpenSeesSP

Posted: Fri Dec 06, 2013 1:34 pm
by zanakarimi
I am running OpenSeesSP on my personal computer in parallel. I will wait for Frank to update it.
Thanks for your help

Re: UpdateMaterialStage in OpenSeesSP

Posted: Mon Dec 09, 2013 9:19 pm
by shahmcc
Interested in this. Kindly update your find.