[docs]defrun_model(filepath:str):""" Run your OpenSees model python file. Parameters ---------- filepath: str OpenSees model python file path. Example -------- >>> file_path = 'model.py' # in the current directory >>> # file_path = "path/to/your/model.py" >>> run_model(file_path) Returns -------- None """ifnotfilepath.endswith(".py"):filepath+=".py"withopen(filepath,"r")asf:exec(f.read())
[docs]defload_ops_examples(name:str):# noqa: C901"""Run the pre-built OpenSeesPy model examples in this package. Parameters: ----------- name: str, Optional, "ArchBridge", "ArchBridge-2", "CableStayedBridge", "SuspensionBridge", "TrussBridge", "Frame3D", "Frame3D-2", "GridFrame", "Shell3D", "Dam-Brick", "Igloo-Brick", "Pier-Brick", "DamBreak", "FiberSection". Example -------- >>> load_ops_examples("SuspensionBridge") Returns: -------- None """ifname.lower()=="archbridge":from.ops_models.ArchBridgeimportArchBridgeArchBridge()# exec("from opstool.ops_models.ArchBridge import *")elifname.lower()in["archbridge2","archbridge-2"]:from.ops_models.ArchBridge2importArchBridge2ArchBridge2()# exec("from opstool.ops_models.ArchBridge2 import *")elifname.lower()=="trussbridge":from.ops_models.TrussBridgeimportTrussBridgeTrussBridge()# exec("from opstool.ops_models.TrussBridge import *")elifname.lower()=="cablestayedbridge":from.ops_models.CableStayedBridgeimportCableStayedBridgeCableStayedBridge()# exec("from opstool.ops_models.CableStayedBridge import *")elifname.lower()=="dam-brick":from.ops_models.DamimportDamDam()# exec("from opstool.ops_models.Dam import *")elifname.lower()=="frame3d":from.ops_models.Frame3DimportFrame3DFrame3D()# exec("from opstool.ops_models.Frame3D import *")elifname.lower()in["frame3d-2","frame3d2"]:from.ops_models.Frame3D2importFrame3D2Frame3D2()elifname.lower()=="igloo-brick":from.ops_models.IglooimportIglooIgloo()# exec("from opstool.ops_models.Igloo import *")elifname.lower()=="pier-brick":from.ops_models.PierimportPierPier()# exec("from opstool.ops_models.Pier import *")elifname.lower()=="suspensionbridge":from.ops_models.SuspensionBridgeimportSuspensionBridgeSuspensionBridge()# exec("from opstool.ops_models.SuspensionBridge import *")elifname.lower()=="FiberSection":from.ops_models.FiberSecimportFiberSectionFiberSection()# exec("from opstool.ops_models.SDOF import *")elifname.lower()=="dambreak":from.ops_models.DamBreakimportDamBreakDamBreak()# exec("from opstool.ops_models.DamBreak import *")elifname.lower()=="gridframe":from.ops_models.GridFrameimportGridFrameGridFrame()elifname.lower()=="shell3d":from.ops_models.shell3DimportShell3DShell3D()else:txt=get_random_color_rich(name,style="bold")CONSOLE.print(f"{PKG_PREFIX}Not supported example {txt}!")CONFIGS.CONSOLE.print(f"{PKG_PREFIX}Now try treating {txt} as your own model file and run it!")run_model(name)