Partitions & OpenSeesMP

Post Reply
crisjaqueplaza
Posts: 22
Joined: Thu Jan 09, 2025 2:02 am

Partitions & OpenSeesMP

Post by crisjaqueplaza » Sun Jun 22, 2025 3:19 am

Hi!

I am running a shear wall confined masonry model in the software (I attach the mode) using OpenSeesMP and partitions. I was doing a calibration process and because of that I have the following questions:

1. I see that the outputs for the same model are not exactly the same if I run that model two different times. Why I can't always obtain the same results for the same model? If I am doing a calibration process comparing my results with experimental works, is it better to use UmfPack instead of MUMPS?

2. How many partitions are recommended for a shear wall model? Which is it a good relation between number of elements and partitions?

3. Can I use the solver MUMPS with no partitions?

Thank you very much in advance!
Attachments
05 - Embedded Rebars in Columns with Contact v1.zip
(698.27 KiB) Downloaded 229 times

STKO Team
Posts: 3066
Joined: Tue Oct 29, 2019 8:45 am

Re: Partitions & OpenSeesMP

Post by STKO Team » Mon Jun 30, 2025 8:08 am

1. I see that the outputs for the same model are not exactly the same if I run that model two different times. Why I can't always obtain the same results for the same model?
This is strange, to speedup debugging this issue, could you tell me 1) what did you change between the 2 runs that gave different results? and 2) what result did you check? so I will focus on that
If I am doing a calibration process comparing my results with experimental works, is it better to use UmfPack instead of MUMPS?
This does not depend on the analysis type. Just UmfPack works with both OpenSees and OpenSeesMP, but with OpenSeesMP using only 1 process (i.e. only for non-partitioned models)
Mumps works only in OpenSeesMP (is not included in OpenSees) and works with both 1 and >1 processes
2. How many partitions are recommended for a shear wall model? Which is it a good relation between number of elements and partitions?
Depends on how large the mesh is and how many processors you have on your PC
3. Can I use the solver MUMPS with no partitions?
Yes, but only with OpenSeesMP (i.e. at least 1 partition)

crisjaqueplaza
Posts: 22
Joined: Thu Jan 09, 2025 2:02 am

Re: Partitions & OpenSeesMP

Post by crisjaqueplaza » Mon Jun 30, 2025 11:22 pm

I will reply the questions:
STKO Team wrote:
Mon Jun 30, 2025 8:08 am
This is strange, to speedup debugging this issue, could you tell me 1) what did you change between the 2 runs that gave different results? and 2) what result did you check? so I will focus on that
1) There is no difference between the models, I just run the model a first time, next I saved the roof displacement vs basal shear hysteresis, and after that I run the model a second time. I attach a graph with two plots of the same model; as you can see, the results are not exactly the same as I would expect it.

2) The main result for me is the roof displacement vs basal shear, but I am also interested in the crack pattern.
STKO Team wrote:
Mon Jun 30, 2025 8:08 am
Depends on how large the mesh is and how many processors you have on your PC
In my case, the model that I attached in the first message has 5492 elements; I am using a 50x50 mm mesh. My computer has 16 processors. How many partitions would you recomend?
Attachments
Imagen1.png
Imagen1.png (418.24 KiB) Viewed 5369 times

STKO Team
Posts: 3066
Joined: Tue Oct 29, 2019 8:45 am

Re: Partitions & OpenSeesMP

Post by STKO Team » Wed Jul 09, 2025 12:38 pm

The only strange thing that I see in the model is the rigidLink that overlaps (on some nodes) with the EqualDOF, and the transformation method cannot handle properly overlapped multi-point constraints.

Maybe this is the cause of the issue.

So, if those constraints are redundant, keep only one (for example the rigidLink).
Otherwise, if you need both of them, use the Penalty or Auto constraint handler (they will use the penalty approach for the multi-point constraints, avoiding issues with overlapping constraints)

crisjaqueplaza
Posts: 22
Joined: Thu Jan 09, 2025 2:02 am

Re: Partitions & OpenSeesMP

Post by crisjaqueplaza » Wed Jul 09, 2025 4:06 pm

Ok, I will prove that if this solves the issue.

For my model, what could be a good number for the alphaS and alphaM parameters for Penalty Method? I read in other responses in the forum that alphaS = alphaM = 10^(8 + oom), with oom = round(log10(K)). My model uses shell elements with a 50x50 mm mesh so K = E * Lch, with Lch = 50 and E = the biggest stiffness of a shell element, which in my case is 26000 for the concrete. If I make this process, I obtain oom = 6 so alphaS = alphaM = 10^14. I don't know if you can clarify/confirm this conclusion.

Also, if I use Auto constraint handler, it's fine the default value of oom = 3? Is it better if I use oom = 8, as equal for the Penalty Method?

Many thanks in advance!

STKO Team
Posts: 3066
Joined: Tue Oct 29, 2019 8:45 am

Re: Partitions & OpenSeesMP

Post by STKO Team » Thu Jul 10, 2025 8:24 am

For my model, what could be a good number for the alphaS and alphaM parameters for Penalty Method? I read in other responses in the forum that alphaS = alphaM = 10^(8 + oom), with oom = round(log10(K)). My model uses shell elements with a 50x50 mm mesh so K = E * Lch, with Lch = 50 and E = the biggest stiffness of a shell element, which in my case is 26000 for the concrete. If I make this process, I obtain oom = 6 so alphaS = alphaM = 10^14. I don't know if you can clarify/confirm this conclusion.
Yes the process is correct.
Keep in mind that:
  • Adding 8 is a sort of limit. because double-precision-floating-point numbers have 16 significant digits (so adding 8 means: 50% numerical stability - 50% constraint enforcement accuracy)
  • But the above is true only if your model has more or less the same order of magnitude of stiffness everywhere, and this is not always true, sometimes you have stiffer elements in some portion of your model
Also, if I use Auto constraint handler, it's fine the default value of oom = 3? Is it better if I use oom = 8, as equal for the Penalty Method?
The Auto should simplify the issues above with the penalty because:
  • It only applies penalty to multi-point constraints, while single-points constraints are treated with the transformation
  • the +oom is local to the nodes involved in a given multi-point constraint (i.e. it does not use a global value for penalty), so typically oom = 3 is fine. It means: make the behavior of the nodes involved in this M-P constraint 1000 times stiffer

Post Reply