Question about running multiple motions by a separate tcl script
Question about running multiple motions by a separate tcl script
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
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
Re: Question about running multiple motions by a separate tcl script
sorry there is no file attached
Re: Question about running multiple motions by a separate tcl script
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
(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
Re: Question about running multiple motions by a separate tcl script
Why are you using this if-statement?
In this way, you will add the dashpot only on process=0! Here I also put an MPCORecorder whose name is parametrized with the MotionID tcl variable defined like this:
In this way, you will add the dashpot only on process=0! 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]
Re: Question about running multiple motions by a separate tcl script
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
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
Re: Question about running multiple motions by a separate tcl script
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
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 (56.54 KiB) Viewed 3658 times
Re: Question about running multiple motions by a separate tcl script
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
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
Re: Question about running multiple motions by a separate tcl script
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:
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
Re: Question about running multiple motions by a separate tcl script
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
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
Re: Question about running multiple motions by a separate tcl script
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
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