Christian Slotboom
Christian Slotboom
  • 14
  • 81 537
Learning OpenSees - T7 Reverse Cyclic Pushovers
In this video I go over reverse cyclic pushovers and various integrators. I spend a lot of time on theory as always, so skip to 25:30 for a code summary.
---
GitHub - github.com/cslotboom/OpenSeesPyTutorials
---
Timestamps
00:00 Intro
01:20 Problem Intro
02:30 Reverse Cyclic Theory
07:00 Load Control Theory
09:50 Displacement Control Theory
12:10 Arclength Control Theory
14:20 Folder Structure
18:30 Main Function Summary
25:30 Load Control Code Summary
32:00 Displacement Control Code Summary
32:00 ArcControl Code Summary
40:20 ArcControl Code Summary
43:40 Results
Переглядів: 2 834

Відео

Future of Channel
Переглядів 634Рік тому
An announcement with some good and bad news. As many will have noticed, I've stopped posting OpenSeesPy tutorials - the bad news is that I'm really going to be cutting back on the OpenSees content on this channel. There are a few reasons for this. The biggest one is that it's really a lot off work for me to make each video. This is a pretty technical subject, and getting into the background inv...
Visualizing Fiber Section Data in OpenSees (Now Broken, See Comments)
Переглядів 2,9 тис.4 роки тому
In this video I show how to visualize Fiber sections in OpenSees Python. The current procedure works for 2D models, and will be extended to 3D models. Code - github.com/cslotboom/OpenSeesPyTutorials Recorders - portwooddigital.com/2020/08/14/recorders-not-recording/ TimeStamps 00:00 - Intro 01:00 - Model overview 03:00 - Getting data from fiber section 06:30 - Saving fiber data 11:00 - Plotting...
Visualizing OpenSees Models
Переглядів 5 тис.4 роки тому
In this video I go over how to plot outputs from OpenSees models using some of the new plotting tools I helped developed. This can be used to see your model, or plot deformation in a static or earthquake analysis. GitHub - github.com/cslotboom/OpenSeesPyTutorials Timestamps 00:00 Intro 01:30 Install 02:30 Folder structure 04:40 Plotting active models 05:00 Plotting back-end 06:40 Plot mode-shap...
Learning OpenSees - Analysis Loops
Переглядів 2,9 тис.4 роки тому
In this video I show how to run analysis loops in Openseespy. Analysis loops are a flexible way of using python to running your analysis in OpenSees - you can push past a lot of trouble points quite easily! Tutorials: github.com/cslotboom/OpenSeesPyTutorials 00:00 Intro 02:20 The Failed Analysis 03:40 Different Time Step increments 07:53 Analysis Loop 10:30 Smaller Time Steps 17:00 More Iterati...
Learning OpenSees - Monotonic Pushovers and Basic Plotting
Переглядів 8 тис.4 роки тому
In this video I show how to do pushovers for a reinforced concrete beam, using the three different methods methods of load control. I also show how to process some of the outputs with a basic plotting function. Code: github.com/cslotboom 00:00 Intro 00:45 Directory Overview 04:20 Modifying Model Functions 06:20 Importing Model Functions 08:00 Main Analysis Overview 13:30 Defining First Pushover...
Displacement and Load Control in OpenSees
Переглядів 4,5 тис.4 роки тому
In this video I overview how to use load control and displacement control algorithms in OpenSeesPy. Code: github.com/cslotboom 00:00 - Intro 01:10 - Load series and time steps 04:30 - Load Control Overview 07:05 - Load Control with Forces 12:00 - Load Control with Displacement 16:30 - Disp Control with Forces 21:40 - Summary and Conclusions
Learning OpenSees - Fiber Sections, Reinforced Concrete Beam Example - Summary
Переглядів 3,2 тис.4 роки тому
This is the summary version of how to define a reinforced concrete fiber section using opensees in python. We also spend a bit of time looking at how the local coordinate systems is defined. My long version is here: ua-cam.com/video/3DokhZMg42A/v-deo.html Source code for the video can be found here: github.com/cslotboom/OpenSeesPyTutorials TimeStamps: 00:00 Pre-processing 02:30 Materials 04:00 ...
Learning OpenSees - Fiber Sections, Reinforced Concrete Beam Example - Long Version
Переглядів 12 тис.4 роки тому
This is the VERY LONG version of how to define a reinforced concrete fiber section using opensees in python. We also spend a bit of time looking at how the local coordinate systems is defined. I also summarize the content of this video in a way shorter video here: ua-cam.com/video/DtUvwLp-jpA/v-deo.html Source code for the video can be found here: github.com/cslotboom/OpenSeesPyTutorials TimeSt...
Learning OpenSees - Functions - Part 3: Unknown Number of Analyses
Переглядів 1,7 тис.4 роки тому
This is Part c of the three part video tutorial. We optimize our structure for an unknown number of analyses.
Learning OpenSees - Functions - Part 2: Chaining Analyses
Переглядів 2,8 тис.4 роки тому
Using functions let's us easily run several OpenSees analyses in a row. In this tutorial we'll look at how this can be useful by choosing the "optimal" section parameters for an OpenSees model. Specifically, we are going to vary the areas of sections in our model, and try to find the set of areas that gives us a specific model displacement. Once we have these "optimal" parameters, we run a diff...
Learning OpenSees - Functions - Part 1: Overview
Переглядів 6 тис.4 роки тому
In this video I show how to write the OpenSees basic truss example using a series of functions in Python. I also overview some of the benefits functions can have if we're trying to create OpenSees models. It's not the most exciting topic, but in the long run this will save you a lot of hassle. Let me know if this was clear. I'm thinking about trying to showcase the final product at the start of...
Learning OpenSees - Basic Truss Example
Переглядів 12 тис.4 роки тому
In this video I go over how to make a model in opensees using python, run an analysis, and get some results. We'll be looking at the classic "Basic Truss Example" from the OpenSees wikipedia. The video ended up being longer than I would have liked, but I wanted to make sure everything was accessible for new users. I will try to make things a little more focused in the future. Code: github.com/c...
Learning OpenSees - Installing OpenSeesPy
Переглядів 17 тис.4 роки тому
In this video, I go over how to install Python through Anaconda Navigator, install OpenSeesPy in Python, then import and use OpenSees in a basic python Script.

КОМЕНТАРІ

  • @KarimBasha-r4n
    @KarimBasha-r4n 2 місяці тому

    great tutorial...thanks alot

  • @FratYurt7
    @FratYurt7 3 місяці тому

    Great ! Thx a lot.

  • @nishantyadav8124
    @nishantyadav8124 4 місяці тому

    when I run my program, it says "AttributeError: module 'openseespy.opensees' has no attribute 'timeseries'". Why is it happening? Also, no output files are generating

  • @GeofreyBanje
    @GeofreyBanje 5 місяців тому

    thank you so much for your wonderful work here, please guide me to install openseespy.postprocessing.Get_Rendering as opp

  • @jahzeelisrael7256
    @jahzeelisrael7256 7 місяців тому

    Hello Sir Christian. Thanks for your tutorial. Can we ask if you have any idea how to do a monotonic loading of push over analysis using openseesspy on RC column? Hope you will look on this comment. Thanks.

  • @remomagalhaes4707
    @remomagalhaes4707 7 місяців тому

    Thanks for your tutorials. They are a great surprise to me. I was a member of the original openSees team, back in the 90's, at UC Berkeley

  • @HenryHodgepodge
    @HenryHodgepodge 8 місяців тому

    Hi does anyone know why im getting the error: ModuleNotFoundError: No module named 'openseespy.postprocessing.Get_Rendering' I've done 'pip install openseespy' in the anaconda prompt and tried 'pip install matlabplot' too but it's still not working :( Thanks!

    • @christianslotboom2623
      @christianslotboom2623 8 місяців тому

      Hey, so for you and everyone reading this - the plotting library, get_rendering, has been removed from the base OpenSeesPy package. However, there is a third party library that has many of these features, called vfo. You can see it here: vfo.readthedocs.io/en/latest/index.html

  • @Engbinsalah
    @Engbinsalah Рік тому

    Million Thanks

  • @abdallaharnaout6060
    @abdallaharnaout6060 Рік тому

    Just a note to everyone facing issues to get the same results, the uploaded scripts have different (stricter) tolerance for the op.test command. Change it back to the value used in the tutorial and you will get similar results. For me the Load Control Displacement analysis could only run with 1.10^-4 , while the displacement controlled one ran for the -8 tolerance

  • @hasanshahriyer45
    @hasanshahriyer45 Рік тому

    Thank You so much for your video. I hope you are enjoying your professional life and whenever you cook something interesting for the opensees community, feel free to share it through this youtube channel. All the best. 👍👍👍

  • @miguelsousaleao7601
    @miguelsousaleao7601 Рік тому

    Hey, thank you so much for this video. When using LoadContorl with displacements, whats the best way to aplly displacements on the top of a cantilever for example?

  • @mylonasparaskevas
    @mylonasparaskevas Рік тому

    very informative video!

  • @vivekroylairikyengbam1804

    what to do if i get an error "module not found error"???

  • @estuapriliana8582
    @estuapriliana8582 Рік тому

    thanks Christian

  • @nelsonlopez4079
    @nelsonlopez4079 Рік тому

    Greetings Christian, tahnks a lot for this tutorial. Is there a way to ask you some questions about a cyclic pushover for a shear wall? or do you teach online? I am writing the code but it is not working. Thanks in advance.

  • @johannesg
    @johannesg Рік тому

    Thank you for all the videos have made. I have watched them all, some of them many times :). I think I would have given up on OpenSees without your channel. Best regards

  • @merillinlaishram274
    @merillinlaishram274 Рік тому

    Please used the openseespy related to geotechnical. It will help me a lot. Hope you can make a video related to the said. Thanking you for all videos. It helps me a lot.

  • @jasonzhu2261
    @jasonzhu2261 Рік тому

    Definitely the best video introducing opensees. Your help is tremendous

  • @almotasimb.elabiedy1084
    @almotasimb.elabiedy1084 Рік тому

    I loved your work so far, it was well organized and really informative. I gotta say I was looking forward for more opensees tutorials after reading the title of the video, but anyway, glad you're back and I wish you the best of luck ❤️

  • @cisnanchio
    @cisnanchio Рік тому

    I also worked on my master thesis some months ago and some of your videos were really unique and interesting and for this I really thank you. About your new videos about python and civil engineer, I think that it could be very interesting for a lot of people, given that I also moved in that direction after graduating. Keep on the good work and we'll wait for the new python videos :)

    • @christianslotboom2623
      @christianslotboom2623 Рік тому

      Thanks! I'm glad the videos were helpful for you on your masters. Hopefully my other content will be useful for you!

  • @jasonzhu2261
    @jasonzhu2261 Рік тому

    🎉🎉

  • @hi_im_fazil
    @hi_im_fazil Рік тому

    You are my one of the favorite youtube channel. Looking forward to see your python skills and tutorials. Good work. Take care

  • @acharjyaarijit
    @acharjyaarijit Рік тому

    Hello Christina.. nice to see you again..as like earlier this is also very informative video.. can u please make a video on how to apply bidirectional excitation on fibar based beam column section in openseespy..

  • @brunogm6096
    @brunogm6096 Рік тому

    Christian, your videos have been of immense help for me and other students. I have been able to complete a nonlinear simulation on composite columns thanks to your OpenSees tutorials. Looking forward to your content on python applied to structural engineering. Btw congrats on the graduation!

    • @christianslotboom2623
      @christianslotboom2623 Рік тому

      Hey, that's great to hear! Glad it's been useful and keep up the good work = )

  • @kiss_aegis
    @kiss_aegis 2 роки тому

    I have found your videos incredibly helpful. Could you do a video on Openseespy for fire analyses?

  • @thienannguyen7599
    @thienannguyen7599 2 роки тому

    oh my god!!! you are my savior, looking forward for more tutorial from you

  • @christianslotboom2623
    @christianslotboom2623 2 роки тому

    So this video is now out of date - the OpenSeesPy dev team has moved the visualization code out of the base package. Probably a good move in my opinion, it's hard to guarantee 3rd party code is okay.. You can substitute the get-rendering module commands with the ones here: github.com/u-anurag/vfo

  • @Adampeters841
    @Adampeters841 2 роки тому

    Hi Christian, I'm on the latest version of Openseespy and it doesn't seem to have the openseespy.postprocessing.Get_Rendering module with it anymore. I have a Module not found error when I run the script you provided on Github. Do you know if there's another way I can install it? Thanks

    • @christianslotboom2623
      @christianslotboom2623 2 роки тому

      Hey, so you're correct. The OpenSees dev team has removed this portion of the library, and this tutorial is out of date. I'll either take this down or do an update. In the mean time, you can follow the tutorial but substitute commands with the module here: github.com/u-anurag/vfo

    • @Adampeters841
      @Adampeters841 2 роки тому

      @@christianslotboom2623 thanks so much. Your tutorials have really helped get me started with Openseespy.

  • @SukumarBaishya
    @SukumarBaishya 2 роки тому

    Great tutorial. Your videos are helping me a lot while gradually moving from Tcl interpreter to OSpy. And of course, Prof Scott's blog posts..

    • @christianslotboom2623
      @christianslotboom2623 2 роки тому

      Thanks!! Prof. Scott's posts are amazing, one of the best sources of information out there. Link for those that don't know: portwooddigital.com/

  • @experimentalearthquakeengi3307
    @experimentalearthquakeengi3307 2 роки тому

    could you let me know how to install Get_rendering module into Spyder

    • @acharjyaarijit
      @acharjyaarijit 2 роки тому

      I also have the same issue. Are u able to find any solutions??

    • @christianslotboom2623
      @christianslotboom2623 2 роки тому

      Hey, get_rendering has been moved out of the OpenSees package, you can get the functions here instead: github.com/u-anurag/vfo

    • @christianslotboom2623
      @christianslotboom2623 2 роки тому

      @@acharjyaarijit see my reply to Zubair, hope that helps!

  • @experimentalearthquakeengi3307
    @experimentalearthquakeengi3307 2 роки тому

    I just love how you explain in detail. Great help for beginners like me

  • @neerajbhandari3219
    @neerajbhandari3219 2 роки тому

    Thankyou Christian Slotboom 💖

  • @dogustinas2918
    @dogustinas2918 2 роки тому

    Great video thanks a lot. Can you also explain how to obtain moment curvature and P-M interaction diagram from fiber sections?

  • @unurt9781
    @unurt9781 2 роки тому

    When I run the file there is error appeared. "extra characters after close-quote" what does it mean? thanks

  • @anlzafer4072
    @anlzafer4072 2 роки тому

    Thank you, it was useful for beginning

  • @harvey1824
    @harvey1824 3 роки тому

    sir, How can i put "#=============" in spyder to enter comment?

  • @brunogm6096
    @brunogm6096 3 роки тому

    Great Job, I love your tutorials! I think it would make sense to call the function GetRecorders instead of GetRecordersPushover just to be consistent for both gravity and pushover analysis

  • @ptpl0313
    @ptpl0313 3 роки тому

    Hi! Can you post a tutorial on the plotting of stress-strain response of fiber in a fiber section by using element recorder command? Element recorder is giving me zero output for stress strain data

  • @northkc6731
    @northkc6731 3 роки тому

    Really looking forward to your 3D fiber model

  • @northkc6731
    @northkc6731 3 роки тому

    Great tutorial! I carefully followed all your codes and I truly learned a lot. I do have a simple question. Why the model rendered in my computer is just a straight line without those black dots representing element nodes and those marks for No. of elements or nodes. I am not so sure what I missed in the code.

  • @northkc6731
    @northkc6731 3 роки тому

    Your videos are so nice!

  • @izzyclarksmith
    @izzyclarksmith 3 роки тому

    Awesome

  • @gabrielgore666
    @gabrielgore666 3 роки тому

    Dear Christian Thanks for the guide, I am starting in OpenSeespy, I have had some errors when compiling, especially with the degrees of freedom, so I modified a few small parts. Based on your experience, is it correct to do this? import openseespy.opensees as op #===================================================================== #Units #===================================================================== #1 kg/cm2 = 98066.5 Pa #1 kg/m2 = 9.8066 Pa #1 kgf = 9.8066 N m=1 N=1 Pa=1 inches = 0.0254*m ft = 12.*inches kip = 4.45*10**3*N ksi = 6.89*10**6*Pa #===================================================================== #Imput Varaiables #===================================================================== x1 = 0.0*ft y1 = 0.0*ft x2 = 12.*ft y2 = 0.0*ft x3 = 15.*ft y3 = 0.0*ft x4 = 6.*ft y4 = 8.*ft A1 = 10.*inches**2 A2 = 5.*inches**2 E = 3000.*ksi Px = 100.*kip Py = -50.*kip print ("imput ok") #===================================================================== #OpenSees Analisys #===================================================================== #Remove op.wipe() # set modelbuilder # (basic, numero de dimensiones, 2, numero grados de libertad, 3) op.model('basic', '-ndm', 2, '-ndf', 2) print ("model builder ok") # define materials #uniaxialMaterial Elastic $matTag $E <$eta> <$Eneg> op.uniaxialMaterial("Elastic", 1, E) print ("define materials ok") # create nodes op.node(1, x1, y1) op.node(2, x2, y2) op.node(3, x3, y3) op.node(4, x4, y4) print ("nodes ok") # set boundary condition op.fix(1, 1, 1) op.fix(2, 1, 1) op.fix(3, 1, 1) #op.fix(4, 0, 0) print ("boundary conditoions ok") # define elements #lement truss $eleTag $iNode $jNode $A $matTag op.element("Truss",1,1,4,A1,1) op.element("Truss",2,2,4,A2,1) op.element("Truss",3,3,4,A2,1) print ("elements ok") # create TimeSeries #timeSeries('Linear', tag) op.timeSeries("Linear", 1) # create a plain load pattern #pattern('Plain', patternTag, tsTag, '-fact', fact) op.pattern("Plain", 1, 1) # Create the nodal load - command: load nodeID xForce yForce #load(nodeTag, *loadValues) op.load(4, Px, Py) #Recorders #recorder node file name.out time node op.recorder('Node', '-file',"DesplzamientoNudos.out",'-time','-node',4,'-dof',1,2,'disp') op.recorder('Node', '-file',"ReaccionNudos.out",'-time','-node',1,2,3,'-dof',1,2,'reaction') op.recorder('Element', '-file',"Barras.out",'-time','-ele',1,2,3,'forces') print ("recorders ok") #create SOE op.system("BandSPD") print ("SOE ok") # create DOF number #si se usa RCM Reverse Cuthill McKeee op.numberer("RCM") print ("DOF ok") # create constraint handler op.constraints("Plain") print ("Constrains ok") # create integrator op.integrator("LoadControl", 1.0) print ("Integrador ok") # create algorithm op.algorithm("Linear") print ("algoritm ok") # create analysis object op.analysis("Static") print ("analysis ok") # perform the analysis op.initialize() ok = op.analyze(1) print ("perform analysis ok") op.wipe()

  • @diegoquizanga6334
    @diegoquizanga6334 3 роки тому

    Thank you!!

  • @abofarah8480
    @abofarah8480 3 роки тому

    Very nice tutorial. hopefully, you could make another tutorial on how to visualize the model and so on from Tcl files using op because lots of people are not familiar with openseespy

    • @christianslotboom2623
      @christianslotboom2623 2 роки тому

      Hey, thanks! Honestly, I if you have the chance, I highly recommend you use Python over tcl - you can do all your analysis including pre and post processing in the same place! However, I understand that's not practical for everyone. You should be able to use the vfo package with tcl - I haven't tried it but check this out: vfo.readthedocs.io/en/latest/plotting_OpenSeesTcl.html

  • @rajendraprasathc8654
    @rajendraprasathc8654 3 роки тому

    WARNING: CTestNormDispIncr::test() - failed to converge after: 50 iterations current Norm: 1.37937e-11 (max: 1e-11, Norm deltaR: 0.031379) NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test() StaticAnalysis::analyze() - the Algorithm failed at iteration: 61 with domain at load factor 62 OpenSees > analyze failed, returned: -3 error flag WARNING: CTestNormDispIncr::test() - failed to converge after: 50 iterations current Norm: 2.21546e-11 (max: 1e-11, Norm deltaR: 0.0694555) NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test() StaticAnalysis::analyze() - the Algorithm failed at iteration: 156 with domain at load factor 29.6096 OpenSees > analyze failed, returned: -3 error flag Got like this

  • @gofishiscool
    @gofishiscool 3 роки тому

    "acacond" - spelt by a true engineer

  • @looloolalaable
    @looloolalaable 3 роки тому

    I keep getting notifications from your channel but still no new videos : |

  • @mzaman76
    @mzaman76 3 роки тому

    Incremental load in opensees

  • @ahmedalzahrani3244
    @ahmedalzahrani3244 3 роки тому

    Hi Christian I am using Python 3.8, the python does not import ModelFunctions. How can you install this library? Thank you