示例#1
0
def check_renumber(bdf_filename, bdf_filename_renumber, bdf_filename_check):
    bdf_renumber(bdf_filename, bdf_filename_renumber)

    model = BDF()
    model.read_bdf(bdf_filename)
    model.write_bdf(bdf_filename_check, interspersed=False)

    model = BDF()
    model.read_bdf(bdf_filename_renumber)
def main():
    """
    Converts a Nastran model to UGRID model and renumbers the properties.
    Also creates a fun3d.mapbc file.
    """
    properties_orig = {
        "bay": ("viscous", [13, 15, 17, 17]),
        "inlet": ("freestream", [1, 2, 3, 18, 22, 25]),
        "left_wall": ("reimann", [3, 26, 6, 42, 9, 54, 12, 70]),
        "outlet": ("reimann", [10, 11, 12, 62, 66]),
        "right_wall": ("reimann", [1, 4, 7, 10, 19, 37, 50, 63]),
        "top_wall": ("viscous", [21, 24, 28, 39, 41, 44, 52, 56, 65, 58, 72]),
    }
    bcname_to_bckey = {"viscous": 4000, "reimann": 5025, "freestream": 5050}
    pid = 1
    properties = {}
    with open("fun3d.mapbc", "wb") as mapbc:
        for name, (bcname, pids) in sorted(iteritems(properties_orig)):
            for pidi in pids:
                properties[pidi] = pid
            bc = bcname_to_bckey[bcname]

            mapbc.write("%s %s # name=%s bcname=%s\n" % (bc, pid, name, bcname))
            pid += 1

    import sys
    from pyNastran.bdf.bdfInterface.dev_utils import bdf_renumber

    bdf_filename = sys.argv[1]
    ugrid_filename_out = sys.argv[2]
    # bdf_model = BDF()
    # bdf_model.read_bdf(bdf_filename)

    bdf_filename_out = bdf_filename[:-4] + ".re.bdf"
    if 0:
        starting_id_dict = {"cid": 1, "nid": 1, "eid": 1, "pid": 1, "mid": 1}
        bdf_renumber(bdf_filename, bdf_filename_out, size=8, is_double=False, starting_id_dict=starting_id_dict)
        bdf_model = BDF()
        bdf_model.read_bdf(bdf_filename_out, xref=False)
    else:
        bdf_model = BDF()
        bdf_model.read_bdf(bdf_filename_out, xref=False)

    # bdf_model = BDF()
    # bdf_model.read_bdf(bdf_filename)
    nastran_to_ugrid(bdf_model, ugrid_filename_out)  # , properties=properties
示例#3
0
    def test_renumber_01(self):
        msg = 'CEND\n'
        msg += 'BEGIN BULK\n'
        msg += 'GRID,10,,1.0,1.0\n'
        msg += 'GRID,30,,3.0,2.0\n'
        msg += 'GRID,20,,2.0,3.0\n'
        msg += 'GRID,33,,3.3,4.0\n'
        msg += 'GRID,34,,3.4,5.0\n'
        msg += 'GRID,35,,3.5,6.0\n'
        msg += 'GRID,36,,3.6,7.0\n'
        msg += 'SPOINT,4,THRU,8\n'
        msg += 'SPOINT,11\n'
        msg += 'CTRIA3,10,8,30,20,10\n'
        msg += 'PSHELL,8,4,0.1\n'
        msg += 'MAT1,4,3.0e7,,0.3\n'

        msg += 'MPC,10,20,1,1.0,10,2,1.0\n'
        msg += 'SPC,2,30,3,-2.6\n'
        msg += 'SPC1,313,12456,33,THRU,34\n'
        msg += 'SPC,314,30,3,-2.6,36,3,-2.6\n'

        msg += '$SPCD,SID,G1,C1, D1,  G2,C2,D2\n'
        msg += 'SPCD, 100,33,436,-2.6,10, 2,.9\n'
        msg += 'SPCD, 101,34,436,-2.6\n'

        msg += '$RBAR, EID, GA, GB, CNA\n'
        msg += 'RBAR,    5, 10, 20, 123456\n'

        msg += '$RBAR1, EID, GA, GB, CB, ALPHA\n'
        msg += 'RBAR1,    9, 20, 10, 123, 6.5-7\n'

        msg += 'RBE1        1001    33    123456\n'
        msg += '              UM    20       123    35       123    34       123\n'
        msg += '                    10       123\n'
        msg += '$[RBE3, self.eid, None, self.refgrid, self.refc]\n'
        msg += 'RBE3       12225           33     123456      1.     123    34      36\n'
        msg += '            20      10\n'

        msg += 'ENDDATA\n'
        f = open('renumber_in.bdf', 'w')
        f.write(msg)
        f.close()

        msg_expected = 'CEND\n'
        msg_expected += 'BEGIN BULK\n'
        msg_expected += 'GRID,6\n'
        msg_expected += 'GRID,7\n'
        msg_expected += 'GRID,8\n'
        msg_expected += 'SPOINT,1,THRU,5\n'
        msg_expected += 'CTRIA3,1,1,8,7,6\n'
        msg_expected += 'PSHELL,1,1,0.1\n'
        msg_expected += 'MAT1,1,3.0e7,,0.3\n'
        msg_expected += 'ENDDATA\n'

        # for now we're testing things don't crash
        bdf_filename = 'renumber_in.bdf'
        bdf_filename_renumber = 'renumber_out.bdf'
        bdf_renumber(bdf_filename, bdf_filename_renumber)

        #model = BDF()
        #model.read_bdf(bdf_filename)
        #model.write_bdf(bdf_filename_check)
        model = BDF()
        model.read_bdf(bdf_filename_renumber)