Ejemplo n.º 1
0
def getPushoverRecorders(OuputDirName, AnalysisName):

    baseName = OuputDirName + '\\' + AnalysisName

    op.recorder('Node', '-file', baseName + '_Top_Dsp.out', '-time',
                '-nodeRange', 4, 4, '-dof', 1, 2, 3, 'disp')
    op.recorder('Node', '-file', baseName + '_Reactions.out', '-time',
                '-nodeRange', 1, 1, '-dof', 1, 2, 3, 'reaction')
Ejemplo n.º 2
0
def ops_cyclic():
    ops.remove('recorders')
    ops.wipeAnalysis()
    ops.loadConst('-time', 0.0)

    # set hysteresis
    ops.recorder('Node', '-file', 'output\\cyclic_657.out',
                 '-time', '-node', 651, '-dof', 1, 'disp')
    ops.pattern('Plain', 2, 1)
    ops.load(651, 1, 0, 0, 0, 0, 0)
    CyclicDisplace(1e-3, 80, 1e-3, 651, 1, 1, 1e6)
Ejemplo n.º 3
0
def ops_gravity():
    ops.recorder('Node', '-file', 'output\\gravity_disp.out',
                 '-nodeRange', 651, 663,  '-time', '-dof',  3, 'disp')
    ops.recorder('Node', '-file', 'output\\gravity_reaction.out',
                 '-nodeRange', 651, 663,  '-time', '-dof',  3, 'reaction')
    ops.timeSeries('Linear', 1)
    ops.pattern('Plain', 1, 1)
    load: float = [0, 0, (gravity_load + dead_load) / 13, 0, 0, 0]
    for i in range(651, 664):
        ops.load(i, *load)
    ops.constraints('Plain')
    ops.numberer('Plain')
    ops.system('BandGen')
    ops.test('NormDispIncr', 1.0, 1000)
    ops.algorithm('Newton')
    ops.integrator('LoadControl', 0.01)
    ops.analysis('Static')
    ok = ops.analyze(100)
    logger.info("gravity analyze result is %s", ok == 0)
    def define_node_recorders(self, node_recorders):
        '''
        Define node recorders that will track the specified results type for 
        each node.
        
        Args:
            node_recorder: A list of nodes to be tracked in the form 
                [recorder_name (str), node (int), dof(int), restype (str)].
                
                restype type can be seleceted from the following:
                    'disp' displacement,
                    'vel' velocity,
                    'accel' acceleration,
                    'incrDisp' incremental displacement,
                    'reaction' nodal reaction.
        '''

        for nr in node_recorders:
            name, node, dof, restype = nr
            ops.recorder('Node', '-file', name, '-closeOnWrite', '-node', node,
                         '-dof', dof, restype)
Ejemplo n.º 5
0
def recs(Nnodes, Nnodes_dir):

    Nelems = Nnodes - 1

    # Last node's recorder:

    ops.recorder('Node', '-file', Nnodes_dir + 'plotCantilevel_displ.txt',
                 '-time', '-node', *[Nnodes], '-dof', *[2], 'disp')

    # Elements' recorders:

    ops.recorder('Element', '-file', Nnodes_dir + 'eleBasicForce.txt', '-time',
                 '-ele', *[i + 1 for i in range(Nelems)], 'basicForces')

    ops.recorder('Element', '-file', Nnodes_dir + 'eleLocalForces.txt',
                 '-time', '-ele', *[i + 1 for i in range(Nelems)],
                 'localForce')

    ops.recorder('Element', '-file', Nnodes_dir + 'eleGlobalForces.txt',
                 '-time', '-ele', *[i + 1 for i in range(Nelems)],
                 'globalForce')

    ops.recorder('Element', '-file', Nnodes_dir + 'eleBasicDispl.txt', '-time',
                 '-ele', *[i + 1 for i in range(Nelems)], 'basicDeformation')
Ejemplo n.º 6
0
op.mass(2, Mass, 1e-9, 0.0)

ColTransfTag = 1
op.geomTransf('Linear', ColTransfTag)
#A = 3600000000.0
#E = 4227.0
#Iz = 1080000.0

fc = -4.0  # CONCRETE Compressive Strength (+Tension, -Compression)
Ec = 57 * math.sqrt(
    -fc *
    1000)  # Concrete Elastic Modulus (the term in sqr root needs to be in psi

op.element('elasticBeamColumn', 1, 1, 2, ACol, Ec, IzCol, ColTransfTag)

op.recorder('Node', '-file', 'Data-2a/DFree.out', '-time', '-node', 2, '-dof',
            1, 2, 3, 'disp')
op.recorder('Node', '-file', 'Data-2a/DBase.out', '-time', '-node', 1, '-dof',
            1, 2, 3, 'disp')
op.recorder('Node', '-file', 'Data-2a/RBase.out', '-time', '-node', 1, '-dof',
            1, 2, 3, 'reaction')
#op.recorder('Drift', '-file', 'Data-2a/Drift.out','-time', '-node', 1, '-dof', 1,2,3, 'disp')
op.recorder('Element', '-file', 'Data-2a/FCol.out', '-time', '-ele', 1,
            'globalForce')
op.recorder('Element', '-file', 'Data-2a/DCol.out', '-time', '-ele', 1,
            'deformations')

#defining gravity loads
op.timeSeries('Linear', 1)
op.pattern('Plain', 1, 1)
op.load(2, 0.0, -PCol, 0.0)
def GetRecordersPushover(AnalysisName):
    # Record Results
    op.recorder('Node', '-file',AnalysisName + "_NodeDisp.out", '-time', '-node', 4, '-dof', 1,2,3,'disp')
    op.recorder('Node', '-file', AnalysisName + "_Reaction.out", '-time', '-node', 1,2,3, '-dof', 1,2,3,'reaction')
    op.recorder('Element', '-file', AnalysisName + "_Elements.out",'-time','-ele', 1,2,3, 'forces')
Ejemplo n.º 8
0
ops.constraints('Plain')
ops.numberer('RCM')
ops.system('BandGeneral')
ops.test('NormDispIncr', 1.0e-6, 2000)
ops.algorithm('Newton')
ops.integrator('LoadControl', 0.01)
ops.analysis('Static')
ops.analyze(100)

logger.info("gravity analyze ok...")

ops.wipeAnalysis()
ops.loadConst('-time', 0.0)

ops.recorder('Node', '-file', '53.txt', ' -time', '-node', 53, '-dof', 1,
             'disp')
ops.recorder('Node', '-file', '1.txt', '-time ', '-node', 1, 2, 3, 4, 5,
             '-dof', 1, 'reaction')

ops.timeSeries('Path', 2, '-dt', 0.1, '-filePath', 'data.txt')
ops.pattern('Plain', 2, 2)
ops.sp(53, 1, 1)

ops.constraints('Penalty', 1e20, 1e20)
ops.numberer('RCM')
ops.system('BandGeneral')
ops.test('NormDispIncr', 1.0e-5, 1000, 0)
ops.algorithm('KrylovNewton')
ops.integrator('LoadControl', 0.1)
ops.analysis('Static')
ops.analyze(500)
    # create record
    # =============================================================================

    #recorder('Node', '-file', filename, '-xml', filename, '-binary', filename,
    #         '-tcp', inetAddress, port, '-precision', nSD=6, '-timeSeries',
    #          tsTag, '-time', '-dT', deltaT=0.0, '-closeOnWrite',
    #         '-node', *nodeTags=[], '-nodeRange', startNode, endNode,
    #         '-region', regionTag, '-dof', *dofs=[], respType)

    #recorder('EnvelopeNode', '-file', filename, '-xml', filename, '-precision',
    #         nSD=6, '-timeSeries', tsTag, '-time', '-dT', deltaT=0.0,
    #         '-closeOnWrite', '-node', *nodeTags=[], '-nodeRange',
    #         startNode, endNode, '-region', regionTag, '-dof', *dofs=[], respType)

    filename_1 = "disp_x.txt"
    ops.recorder("Node", "-file", filename_1, "time", "-node",
                 *retained_node_group, "-dof", 1, "disp")

    filename_1 = "resisting_force.txt"

    nodes_lvl_00 = frame_lvl_14.to_columns_nth(0)
    resisting_force_group = []
    for i in nodes_lvl_00:
        resisting_force_group.append(i[1])
#    print(resisting_force_group)

#    for i in resisting_force_group:
#        print(stu.node_manager.anti_get(i))

    ops.recorder("Node", "-file", filename_1, "time", "-node",
                 *resisting_force_group, "-dof", 3, "reaction")