Question about running multiple motions by a separate tcl script

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Question about running multiple motions by a separate tcl script

Post by youngkyu » Mon Mar 21, 2022 9:44 am

Dear STKO Team,

I have a question about running multiple ground motions in parallel using OpenSeesMP.

I saw the post regarding this same question,
however, I want to modify the tcl file that runs 3 ground motions in parallel which is available from DesignSafe example (Multiple_Motions_DesignSafe_OpenSeesMP_Example.zip) that I attached below.

Multiple_Motion_YC.zip file is what I tried.
I used the customCommand to put the tcl script for dashpot, force application, and dynamic analysis step,
and made a separate Parallel_Motions.tcl to run 8 ground motions simultaneously by OpenSeesMP.

But, it did not work as the DesignSafe example.

FYI,
If you run the below code in the command line interface for the DesignSafe example,
C:\OpenSees-Solvers\openseesmp.bat .\parallel_motion.tcl 3
you will see that 3 ground motions run simultaneously, which produces 3 out files corresponding to each ground motion.

Best Regards,
Youngkyu

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

Re: Question about running multiple motions by a separate tcl script

Post by STKO Team » Mon Mar 21, 2022 2:27 pm

sorry there is no file attached

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Re: Question about running multiple motions by a separate tcl script

Post by youngkyu » Mon Mar 21, 2022 2:34 pm

Thanks for letting me know that.
(I am sure that I added two attachments when initiating this post.)

I added them again.

Please let me know if the same thing happens again.

Also, please use Parallel_Motions.zip for Parallel_Motions.tcl file that I just updated
when testing Multiple_Motions_DesignSafe_OpenSeesMP_Example.zip file.

Best,
Youngkyu
Attachments
Parallel_Motions.zip
(709 Bytes) Downloaded 159 times
Multiple_Motion_YC.zip
(1.89 MiB) Downloaded 187 times
Multiple_Motions_DesignSafe_OpenSeesMP_Example.zip
(15.13 MiB) Downloaded 182 times

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

Re: Question about running multiple motions by a separate tcl script

Post by STKO Team » Mon Mar 21, 2022 3:04 pm

Why are you using this if-statement?
In this way, you will add the dashpot only on process=0!
whypid0.png
whypid0.png (124.67 KiB) Viewed 3663 times
Here I also put an MPCORecorder whose name is parametrized with the MotionID tcl variable defined like this:

Code: Select all

if {[expr $countP % $np] == $pid} {
	set gMotionName [string range $gMotion 0 end-4]
	set MotionID [string range $gMotion 14 end-4]
SandSlope_SP_MultiMotions.zip
(353.67 KiB) Downloaded 199 times

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Re: Question about running multiple motions by a separate tcl script

Post by youngkyu » Mon Mar 21, 2022 3:11 pm

Thanks for your quick response.

To put a single dashpot and a single nodal force for the earthquake load at the left corner of the model bottom,
I constrained x-dof of all the nodes at the model bottom by considering the area of the model bottom.

I followed the idea that uses a single dashpot and a single node for earthquake load from
https://opensees.berkeley.edu/wiki/inde ... s_of_Slope

So, to achieve this, if I do not specify the processor id under opensees-mp,
I got an error that the processors other than 0 do not have the "node tag 16" that exists in the equalDOF command.
You can see what happens if you remove that if statement.

Best,
Youngkyu

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Re: Question about running multiple motions by a separate tcl script

Post by youngkyu » Tue Mar 22, 2022 12:17 am

When running your file that includes the mpco_recoder$MotionID in the command line interface (submitting the "Parallel_Motions.tcl),

the first ground motion file only runs even though the Parallel_Motions.tcl script creates 8 different names of the output file.
i.e., as attached below, all mpco and output files have the same amount of storage, which tells me that the mpco_recorders and .out files for other 7 motions were not created.
Also, I opened the 8 .out files that are all same.


After fixing this issue, I would like to ask one more question.

I would like to apply multiple motions in parallel to a slope model with multiple partitions.
For instance,
let's say that I have 2 ground motions and a single slope model.

1. I want to assign 8 partition to a single slope model. (i.e., 8 processors specified for the slope model)
2. I want to enter 2 ground motion simultaneously in the the slope model.

Motion 1: 8 processors needed
Motion 2: 8 processors needed
In total, 8 x 2 = 16 processors needed.

This is my final goal for this question.

Best,
Youngkyu
Attachments
Parallel_Motions_YC.PNG
Parallel_Motions_YC.PNG (56.54 KiB) Viewed 3658 times

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Re: Question about running multiple motions by a separate tcl script

Post by youngkyu » Sun Mar 27, 2022 10:51 am

Dear STKO Team,

As attached SCD file, I resolved the problem that only saves one single ground motion for *.out file.

You can find that I used the "analyze scheme" for dynamic analysis used in "Multiple_Motions_DesignSafe_OpenSeesMP_Example,zip" that I attached in the above post.
(i.e., you can see the command lines from #150 to #202 in the number 17 of the analysis tree)

This gives me the *.out file for the individual ground motion that I wanted.

Now, the next thing that I want to achieve is that
I want to assign multiple partitions to the slope model supported by OpenSeesMP.

For instance, I want to divide the slope model into 4 partitions (i.e., 4 processors given to the slope model) and then
run the 8 ground motions in parallel.
Thus, the entire analyses uses 4 x 8 = 32 processors at the same time.

Best Regards,
Youngkyu
Attachments
Slope_OpenSeesSP_MultipleMotions.zip
(670.01 KiB) Downloaded 200 times

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

Re: Question about running multiple motions by a separate tcl script

Post by STKO Team » Tue Apr 05, 2022 5:25 pm

Using OpenSeesMP processors for both partitioning and parametrization is quite complex.
It is easier if you create an external procedure that does that, something like this:
  • in the STKO file, use a customCommand to create a uniformExcitation which takes the timeSeries data from the input arguments ($argv)
  • externally call the OpenSeesMP multiple times, passing a parameter for the timeSeries to use
If it is fine for you, I can explain it, but you will need to do some changes

youngkyu
Posts: 49
Joined: Tue May 04, 2021 3:36 pm

Re: Question about running multiple motions by a separate tcl script

Post by youngkyu » Mon Apr 11, 2022 11:40 am

Dear STKO team,
Thanks for your advice and it would be appreciated if you describe what you suggested in more details.
I am willing to do change something to achieve this goal.

Best,
Youngkyu

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

Re: Question about running multiple motions by a separate tcl script

Post by STKO Team » Tue Apr 12, 2022 8:22 am

Ok but before doing that,
I would suggest you change the way you add the compliant base.
Instead of manually adding the LK dashpot using zero-length elements you can use the new ASDAbsorbingBoundaryElement (2D or 3D).

Because now we need to partition your model using OpenSeesMP, and it will be a mess if you add manually the dashpots because you need to know which subdomain will contain the dashpot.

Once you convert your model to use the ASDAbsorbingBoundaryElement, I will show you how to do the rest.

Here you can find the relevant documentation:
https://opensees.github.io/OpenSeesDocu ... ndary.html

While on our webinar page (https://asdeasoft.net/?stkowebinars-for-opensees) you can view the webinar #25 to learn how to use it in STKO

Post Reply