Parallel analysis: wrong results?

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

Moderator: selimgunay

Post Reply
johnnyontheweb
Posts: 43
Joined: Sat Oct 08, 2011 6:28 am

Parallel analysis: wrong results?

Post by johnnyontheweb » Sun Feb 26, 2012 2:15 pm

Dr. McKenna,
I ran the SAME model with OpenSees.exe and OpenSeesMP.exe and I got very different results, I cannot understand why. The only difference is that the file for OpenseesMP has:

system Mumps
numberer ParallelPlain

and the one for opensees.exe has:

system BandGeneral
numberer RCM

The model is built with quad elements, the parallel one is for 13 cores. I get the displacement of the top node:
openseesMP: node 1663 at the end of analysis, dof 2, -2.98228e-005
opensees: node 1663 at the end of analysis, dof 2, -0.0119858
During execution, no errors or warnings appear.
Can you help? I think the model is correct, why results are so different?

Finally, I attach the code for the parallel model. I used files named nNN and eNN containing nodes and elements respectively in every domain.

set pid [getPID]
set np [getNP]

model BasicBuilder -ndm 2 -ndf 2

# Material "muratura": matTag E v rho
nDMaterial ElasticIsotropic 2 +1.900000E+006 +4.900000E-001 +7.345000E-007

# Section "sezione": secTag E Fy H_iso H_kin
section Bidirectional 2 +1.900000E+006 6300 +5.000000E-002 +5.000000E-002

# TimeSeries "LinearDefault": tsTag cFactor
timeSeries Linear 1 -factor 1

# Node tag xCrd yCrd
if {$pid == 0} {
source n01
source e01
# vincoli
fix 1 1 1
fix 2 1 1
fix 3 1 1
fix 4 1 1
fix 5 1 1
fix 6 1 1
fix 7 1 1
fix 8 1 1
fix 9 1 1

} elseif {$pid == 1} {
source n02
source e02
#vincoli
fix 10 1 1
fix 11 1 1
fix 12 1 1
fix 13 1 1
fix 14 1 1
fix 15 1 1
fix 16 1 1
fix 17 1 1
fix 18 1 1

} elseif {$pid == 2} {
source n03
source e03
# vincoli
fix 18 1 1 # fix twice in domains?
fix 19 1 1
fix 20 1 1
fix 21 1 1
fix 22 1 1
fix 23 1 1
fix 24 1 1
fix 25 1 1
fix 26 1 1

} elseif {$pid == 3} {
source n04
source e04
# vincoli
fix 27 1 1
fix 28 1 1
fix 29 1 1
fix 30 1 1
fix 31 1 1
fix 32 1 1
fix 33 1 1
fix 34 1 1
fix 35 1 1

} elseif {$pid == 4} {
source n05
source e05
} elseif {$pid == 5} {
source n06
source e06
} elseif {$pid == 6} {
source n07
source e07
} elseif {$pid == 7} {
source n08
source e08
} elseif {$pid == 8} {
source n09
source e09
} elseif {$pid == 9} {
source n10
source e10
} elseif {$pid == 10} {
source n11
source e11
# carico
pattern Plain 1 1 {
# Load nodeTag LoadValues
load 1639 0 -10
load 1640 0 -10
load 1641 0 -10
load 1642 0 -10
load 1643 0 -10
load 1644 0 -10
load 1645 0 -10
load 1646 0 -10
load 1647 0 -10
load 1648 0 -10
load 1649 0 -10
load 1650 0 -10
load 1651 0 -10
load 1652 0 -10
load 1653 0 -10
load 1654 0 -10
load 1655 0 -5 # half load in domain?
}


} elseif {$pid == 11} {
source n12
source e12
# carico
pattern Plain 1 1 {
# Load nodeTag LoadValues
load 1655 0 -5 # half load in domain?
load 1656 0 -10
load 1657 0 -10
load 1658 0 -10
load 1659 0 -10
load 1660 0 -10
load 1661 0 -10
load 1662 0 -10
load 1663 0 -10
load 1664 0 -10
load 1665 0 -10
load 1666 0 -10
load 1667 0 -10
load 1668 0 -10
load 1669 0 -10
load 1670 0 -10
load 1671 0 -5
}


} elseif {$pid == 12} {
source n13
source e13
# carico
pattern Plain 1 1 {
# Load nodeTag LoadValues
load 1671 0 -5
load 1672 0 -10
load 1673 0 -10
load 1674 0 -10
load 1675 0 -10
load 1676 0 -10
load 1677 0 -10
load 1678 0 -10
load 1679 0 -10
load 1680 0 -10
load 1681 0 -10
load 1682 0 -10
load 1683 0 -10
load 1684 0 -10
load 1685 0 -10
load 1686 0 -10
load 1687 0 -10
}


}

# SPC tag Dx Dy

# Start of anaysis generation
# ===========================

# Get Initial Stiffness
# ---------------------
initialize

# Node Recorder "DefoShape": fileName <nodeTag> dof respType
#recorder Node -file StaticDefaultCase_Node_DefoShape_Dsp.$pid.out -time -nodeRange 1 1687 -dof 1 2 disp
#recorder Node -file StaticDefaultCase_Node_DefoShape_RFrc.$pid.out -time -nodeRange 1 35 -dof 1 2 reaction
#recorder Node -file StaticDefaultCase_Node_DefoShape_UFrc.$pid.out -time -nodeRange 1 1687 -dof 1 2 unbalance
if {$pid == 11} {
recorder Node -file nodo1663.$pid.out -time -node 1663 -dof 2 disp
}

# AnalysisOptn "StaticDefault": Type: Static
# ------------------------------------------
system Mumps
numberer ParallelPlain
# Constraint Handler
constraints Plain
# Convergence Test
test NormDispIncr 1.E-012 25 0 2
# Integrator
# integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda>
integrator LoadControl 1
# 1 0.1 0.1
# Solution Algorithm
algorithm Newton
# Analysis Type
analysis Static

# numeroIncr increment (minStep maxStep numIter)
analyze 10
#0.01

# Clean up
# --------
wipe
exit

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Parallel analysis: wrong results?

Post by fmk » Tue Feb 28, 2012 3:04 pm

can you send me the node and element files
fmckenna AT ce DOTTTTTT berkeley DOTTT edu

johnnyontheweb
Posts: 43
Joined: Sat Oct 08, 2011 6:28 am

SOLVED: Parallel analysis: wrong results?

Post by johnnyontheweb » Sat Mar 17, 2012 11:41 am

It was a wrong section property in source files. Now it's all fine.
Sorry for the mistake and thank you for the patience.

student2
Posts: 1
Joined: Wed May 02, 2012 11:16 pm

Re: Parallel analysis: wrong results?

Post by student2 » Sat Jun 16, 2012 6:51 pm

johnnyontheweb wrote:
> Dr. McKenna,
> I ran the SAME model with OpenSees.exe and OpenSeesMP.exe and I got very different
> results, I cannot understand why. The only difference is that the file for OpenseesMP
> has:
>
> system Mumps
> numberer ParallelPlain
>
> and the one for opensees.exe has:
>
> system BandGeneral
> numberer RCM
>
> The model is built with quad elements, the parallel one is for 13 cores. I get the
> displacement of the top node:
> openseesMP: node 1663 at the end of analysis, dof 2, -2.98228e-005
> opensees: node 1663 at the end of analysis, dof 2, -0.0119858
> During execution, no errors or warnings appear.
> Can you help? I think the model is correct, why results are so different?
>
> Finally, I attach the code for the parallel model. I used files named nNN and eNN
> containing nodes and elements respectively in every domain.
>
> set pid [getPID]
> set np [getNP]
>
> model BasicBuilder -ndm 2 -ndf 2
>
> # Material "muratura": matTag E v
> rho
> nDMaterial ElasticIsotropic 2 +1.900000E+006 +4.900000E-001 +7.345000E-007
>
> # Section "sezione": secTag E Fy H_iso
> H_kin
> section Bidirectional 2 +1.900000E+006 6300 +5.000000E-002
> +5.000000E-002
>
> # TimeSeries "LinearDefault": tsTag cFactor
> timeSeries Linear 1 -factor 1
>
> # Node tag xCrd yCrd
> if {$pid == 0} {
> source n01
> source e01
> # vincoli
> fix 1 1 1
> fix 2 1 1
> fix 3 1 1
> fix 4 1 1
> fix 5 1 1
> fix 6 1 1
> fix 7 1 1
> fix 8 1 1
> fix 9 1 1
>
> } elseif {$pid == 1} {
> source n02
> source e02
> #vincoli
> fix 10 1 1
> fix 11 1 1
> fix 12 1 1
> fix 13 1 1
> fix 14 1 1
> fix 15 1 1
> fix 16 1 1
> fix 17 1 1
> fix 18 1 1
>
> } elseif {$pid == 2} {
> source n03
> source e03
> # vincoli
> fix 18 1 1 # fix twice in domains?
> fix 19 1 1
> fix 20 1 1
> fix 21 1 1
> fix 22 1 1
> fix 23 1 1
> fix 24 1 1
> fix 25 1 1
> fix 26 1 1
>
> } elseif {$pid == 3} {
> source n04
> source e04
> # vincoli
> fix 27 1 1
> fix 28 1 1
> fix 29 1 1
> fix 30 1 1
> fix 31 1 1
> fix 32 1 1
> fix 33 1 1
> fix 34 1 1
> fix 35 1 1
>
> } elseif {$pid == 4} {
> source n05
> source e05
> } elseif {$pid == 5} {
> source n06
> source e06
> } elseif {$pid == 6} {
> source n07
> source e07
> } elseif {$pid == 7} {
> source n08
> source e08
> } elseif {$pid == 8} {
> source n09
> source e09
> } elseif {$pid == 9} {
> source n10
> source e10
> } elseif {$pid == 10} {
> source n11
> source e11
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1639 0 -10
> load 1640 0 -10
> load 1641 0 -10
> load 1642 0 -10
> load 1643 0 -10
> load 1644 0 -10
> load 1645 0 -10
> load 1646 0 -10
> load 1647 0 -10
> load 1648 0 -10
> load 1649 0 -10
> load 1650 0 -10
> load 1651 0 -10
> load 1652 0 -10
> load 1653 0 -10
> load 1654 0 -10
> load 1655 0 -5 # half load in domain?
> }
>
>
> } elseif {$pid == 11} {
> source n12
> source e12
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1655 0 -5 # half load in domain?
> load 1656 0 -10
> load 1657 0 -10
> load 1658 0 -10
> load 1659 0 -10
> load 1660 0 -10
> load 1661 0 -10
> load 1662 0 -10
> load 1663 0 -10
> load 1664 0 -10
> load 1665 0 -10
> load 1666 0 -10
> load 1667 0 -10
> load 1668 0 -10
> load 1669 0 -10
> load 1670 0 -10
> load 1671 0 -5
> }
>
>
> } elseif {$pid == 12} {
> source n13
> source e13
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1671 0 -5
> load 1672 0 -10
> load 1673 0 -10
> load 1674 0 -10
> load 1675 0 -10
> load 1676 0 -10
> load 1677 0 -10
> load 1678 0 -10
> load 1679 0 -10
> load 1680 0 -10
> load 1681 0 -10
> load 1682 0 -10
> load 1683 0 -10
> load 1684 0 -10
> load 1685 0 -10
> load 1686 0 -10
> load 1687 0 -10
> }
>
>
> }
>
> # SPC tag Dx Dy
>
> # Start of anaysis generation
> # ===========================
>
> # Get Initial Stiffness
> # ---------------------
> initialize
>
> # Node Recorder "DefoShape": fileName <nodeTag> dof
> respType
> #recorder Node -file StaticDefaultCase_Node_DefoShape_Dsp.$pid.out -time
> -nodeRange 1 1687 -dof 1 2 disp
> #recorder Node -file StaticDefaultCase_Node_DefoShape_RFrc.$pid.out -time
> -nodeRange 1 35 -dof 1 2 reaction
> #recorder Node -file StaticDefaultCase_Node_DefoShape_UFrc.$pid.out -time
> -nodeRange 1 1687 -dof 1 2 unbalance
> if {$pid == 11} {
> recorder Node -file nodo1663.$pid.out -time -node 1663 -dof 2 disp
> }
>
> # AnalysisOptn "StaticDefault": Type: Static
> # ------------------------------------------
> system Mumps
> numberer ParallelPlain
> # Constraint Handler
> constraints Plain
> # Convergence Test
> test NormDispIncr 1.E-012 25 0 2
> # Integrator
> # integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda>
> integrator LoadControl 1
> # 1 0.1 0.1
> # Solution Algorithm
> algorithm Newton
> # Analysis Type
> analysis Static
>
> # numeroIncr increment (minStep maxStep numIter)
> analyze 10
> #0.01
>
> # Clean up
> # --------
> wipe
> exit
> johnnyontheweb wrote:
> Dr. McKenna,
> I ran the SAME model with OpenSees.exe and OpenSeesMP.exe and I got very different
> results, I cannot understand why. The only difference is that the file for OpenseesMP
> has:
>
> system Mumps
> numberer ParallelPlain
>
> and the one for opensees.exe has:
>
> system BandGeneral
> numberer RCM
>
> The model is built with quad elements, the parallel one is for 13 cores. I get the
> displacement of the top node:
> openseesMP: node 1663 at the end of analysis, dof 2, -2.98228e-005
> opensees: node 1663 at the end of analysis, dof 2, -0.0119858
> During execution, no errors or warnings appear.
> Can you help? I think the model is correct, why results are so different?
>
> Finally, I attach the code for the parallel model. I used files named nNN and eNN
> containing nodes and elements respectively in every domain.
>
> set pid [getPID]
> set np [getNP]
>
> model BasicBuilder -ndm 2 -ndf 2
>
> # Material "muratura": matTag E v
> rho
> nDMaterial ElasticIsotropic 2 +1.900000E+006 +4.900000E-001 +7.345000E-007
>
> # Section "sezione": secTag E Fy H_iso
> H_kin
> section Bidirectional 2 +1.900000E+006 6300 +5.000000E-002
> +5.000000E-002
>
> # TimeSeries "LinearDefault": tsTag cFactor
> timeSeries Linear 1 -factor 1
>
> # Node tag xCrd yCrd
> if {$pid == 0} {
> source n01
> source e01
> # vincoli
> fix 1 1 1
> fix 2 1 1
> fix 3 1 1
> fix 4 1 1
> fix 5 1 1
> fix 6 1 1
> fix 7 1 1
> fix 8 1 1
> fix 9 1 1
>
> } elseif {$pid == 1} {
> source n02
> source e02
> #vincoli
> fix 10 1 1
> fix 11 1 1
> fix 12 1 1
> fix 13 1 1
> fix 14 1 1
> fix 15 1 1
> fix 16 1 1
> fix 17 1 1
> fix 18 1 1
>
> } elseif {$pid == 2} {
> source n03
> source e03
> # vincoli
> fix 18 1 1 # fix twice in domains?
> fix 19 1 1
> fix 20 1 1
> fix 21 1 1
> fix 22 1 1
> fix 23 1 1
> fix 24 1 1
> fix 25 1 1
> fix 26 1 1
>
> } elseif {$pid == 3} {
> source n04
> source e04
> # vincoli
> fix 27 1 1
> fix 28 1 1
> fix 29 1 1
> fix 30 1 1
> fix 31 1 1
> fix 32 1 1
> fix 33 1 1
> fix 34 1 1
> fix 35 1 1
>
> } elseif {$pid == 4} {
> source n05
> source e05
> } elseif {$pid == 5} {
> source n06
> source e06
> } elseif {$pid == 6} {
> source n07
> source e07
> } elseif {$pid == 7} {
> source n08
> source e08
> } elseif {$pid == 8} {
> source n09
> source e09
> } elseif {$pid == 9} {
> source n10
> source e10
> } elseif {$pid == 10} {
> source n11
> source e11
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1639 0 -10
> load 1640 0 -10
> load 1641 0 -10
> load 1642 0 -10
> load 1643 0 -10
> load 1644 0 -10
> load 1645 0 -10
> load 1646 0 -10
> load 1647 0 -10
> load 1648 0 -10
> load 1649 0 -10
> load 1650 0 -10
> load 1651 0 -10
> load 1652 0 -10
> load 1653 0 -10
> load 1654 0 -10
> load 1655 0 -5 # half load in domain?
> }
> http://www.bsoleb.org/ site a http://www.asiamf.org/ site b http://www.globalcontemporaryfineart.com/ site c http://www.leedphilly.com/ site d http://www.crescenciohernandez.com/ site e http://www.edifyonline.net/ site f http://www.columbiaslongestdays.info/ site g http://www.anangrymob.com/ site h http://www.performingalileo.net/ site i http://www.methkillswyoming.org/ site j http://www.edra41.org/ site k http://www.spindletopsteakhouse.com/ site l http://www.splashgraphicsllc.com/ site m http://www.abnamro-uae.com/ site n http://www.cadepc.com/ site o http://www.hcenr.org/ site p http://www.poliesportiu-cellera.org/ site q http://www.stljewishvideos.com/ site r http://www.communitypharmacyofsarasota.org/ site s http://www.gaporganikkongre.org/ site t http://www.isupportbridgewater.com/ site u http://www.sportpsychexpo.com/ site v http://www.brennanstandsalone.com/ site w http://www.connectechporthuron.org/ site x http://www.houseofkidsnyc.com/ site y http://www.soshaiti2008.com/ site z http://www.corporate-fussballwm.com/ site aa http://www.nationalshakespeareday.com/ site ab http://www.knightsforobama.org/ site ac http://www.actioniseloquence.net/ site ad http://www.careerteampartners.com/ site ae http://www.bueydecabeza.com/ site af http://www.makeawishhawaii.net/ site ag http://www.magistralianucleo.org/ site ah http://www.silcon.org/ site ai http://www.workingclasshero.us/ site aj http://www.fwtrack.com/ site ak http://www.wa2dci.com/ site al http://www.funds-china.com/ site am http://www.britishshakespeare.com/ site an http://www.6999999.com/ site ao http://www.belex-homes.com/ site ap http://www.basistrening.com/ site aq http://www.estudielenco.net/ site ar http://www.landrac.com/ site as http://www.nikkeibp-chinese.com/ site at http://www.expressnetairlines.com/ site au http://www.israeliharvestcooperative.com/ site av http://www.revistaurbanismo.com/ site aw http://www.roypac.com/ site ax http://www.asklocal.biz/ site ay http://www.eriteatteri.com/ site az http://cgaya.com/ site ba http://s-aquarion.com/ site bb http://ili-inter.com/ site bc http://asyouare.net/ site bd http://blueampu.net/ site be http://calciofc.net/ site bf http://citaweb.net/ site bg http://djxm.net/ site bh http://eravaruste.net/ site bi http://joysoft.net/ site bk http://opendoorbc.net/ site bl http://parentel.net/ site bm http://riotfest.net/ site bn http://th-haint.com/ site bo http://unitedcms.net/ site bp http://quennie.net/ site bq http://cress-inc.net/ site br http://www.teamnorrland.net/ site bs http://www.netzaesthetik.com/ site bt http://www.tasteofthepast.com/ site bu http://www.hemofilia-malaga.org/ site bv http://www.scjsw.info/ site bw http://www.digipro-audiovisuel.com/ site bx http://www.bilfingerberger-bot.com/ site by http://www.accessmedicalbooks.com/ site bz http://www.cartecampus.com/ site ca http://www.internetparalaevangelizacion.org/ site cb http://www.asklocal.biz/ site cc http://www.brennanstandsalone.com/ site cd http://www.estudielenco.net/ site ce http://www.soshaiti2008.com/ site cf http://www.newyork-auto.net/ site cg http://riotfest.net/tag/scandinavian site cn http://www.cca64.org/ site cw http://www.nexumbogazici.com/ site cx http://ipadbagblog.com/ site dc http://www.kapiraj.org/ site dd
>
> } elseif {$pid == 11} {
> source n12
> source e12
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1655 0 -5 # half load in domain?
> load 1656 0 -10
> load 1657 0 -10
> load 1658 0 -10
> load 1659 0 -10
> load 1660 0 -10
> load 1661 0 -10
> load 1662 0 -10
> load 1663 0 -10
> load 1664 0 -10
> load 1665 0 -10
> load 1666 0 -10
> load 1667 0 -10
> load 1668 0 -10
> load 1669 0 -10
> load 1670 0 -10
> load 1671 0 -5
> }
>
>
> } elseif {$pid == 12} {
> source n13
> source e13
> # carico
> pattern Plain 1 1 {
> # Load nodeTag LoadValues
> load 1671 0 -5
> load 1672 0 -10
> load 1673 0 -10
> load 1674 0 -10
> load 1675 0 -10
> load 1676 0 -10
> load 1677 0 -10
> load 1678 0 -10
> load 1679 0 -10
> load 1680 0 -10
> load 1681 0 -10
> load 1682 0 -10
> load 1683 0 -10
> load 1684 0 -10
> load 1685 0 -10
> load 1686 0 -10
> load 1687 0 -10
> }
>
>
> }
>
> # SPC tag Dx Dy
>
> # Start of anaysis generation
> # ===========================
>
> # Get Initial Stiffness
> # ---------------------
> initialize
>
> # Node Recorder "DefoShape": fileName <nodeTag> dof
> respType
> #recorder Node -file StaticDefaultCase_Node_DefoShape_Dsp.$pid.out -time
> -nodeRange 1 1687 -dof 1 2 disp
> #recorder Node -file StaticDefaultCase_Node_DefoShape_RFrc.$pid.out -time
> -nodeRange 1 35 -dof 1 2 reaction
> #recorder Node -file StaticDefaultCase_Node_DefoShape_UFrc.$pid.out -time
> -nodeRange 1 1687 -dof 1 2 unbalance
> if {$pid == 11} {
> recorder Node -file nodo1663.$pid.out -time -node 1663 -dof 2 disp
> }
>
> # AnalysisOptn "StaticDefault": Type: Static
> # ------------------------------------------
> system Mumps
> numberer ParallelPlain
> # Constraint Handler
> constraints Plain
> # Convergence Test
> test NormDispIncr 1.E-012 25 0 2
> # Integrator
> # integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda>
> integrator LoadControl 1
> # 1 0.1 0.1
> # Solution Algorithm
> algorithm Newton
> # Analysis Type
> analysis Static
>
> # numeroIncr increment (minStep maxStep numIter)
> analyze 10
> #0.01
>
> # Clean up
> # --------
> wipe
> exit

Everything is fine now. That's great!! Thanks

Post Reply