# import the OpenSees Python module import opensees as ops # ------------------------------ # Start of model generation # ------------------------------ # remove existing model ops.wipe() # create ModelBuilder (with two-dimensions and 3 DOF/node) ops.model("BasicBuilder", "-ndm",2, "-ndf",3) # set default units ops.defaultUnits("-force", "kip", "-length", "in", "-time", "sec", "-temp", "F") # Create nodes # ------------ # Set parameters for overall model geometry width = 360.0 height = 144.0 # create nodes & add to Domain - command: node nodeId xCrd yCrd ops.node(1, 0.0, 0.0) ops.node(2, width, 0.0) ops.node(3, 0.0, height) ops.node(4, width, height) # set the boundary conditions - command: fix nodeID uxRestrnt? uyRestrnt? rzRestrnt? ops.fix(1, 1, 1, 1)
# import the OpenSees Python module import opensees as ops import MomentCurvature # ------------------------------ # Start of model generation # ------------------------------ # remove existing model ops.wipe() # create ModelBuilder (with two-dimensions and 3 DOF/node) ops.model("BasicBuilder", "-ndm", 2, "-ndf", 3) # set default units ops.defaultUnits("-force", "kip", "-length", "in", "-time", "sec", "-temp", "F") # Define materials for nonlinear columns # ------------------------------------------ # CONCRETE tag f'c ec0 f'cu ecu # Core concrete (confined) ops.uniaxialMaterial("Concrete01", 1, -6.0, -0.004, -5.0, -0.014) # Cover concrete (unconfined) ops.uniaxialMaterial("Concrete01", 2, -5.0, -0.002, -0.0, -0.006) # STEEL # Reinforcing steel fy = 60.0 # Yield stress E = 30000.0 # Young's modulus