Exemple #1
0
def main():  # pragma: no cover
    """
    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.bdf_interface.dev_utils import bdf_renumber
    bdf_filename = sys.argv[1]
    ugrid_filename_out = sys.argv[2]
    # bdf_model = BDF(debug=False)
    # 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(debug=False)
        bdf_model.read_bdf(bdf_filename_out, xref=False)
    else:
        bdf_model = BDF(debug=False)
        bdf_model.read_bdf(bdf_filename_out, xref=False)

    # bdf_model = BDF(debug=False)
    # bdf_model.read_bdf(bdf_filename)
    nastran_to_ugrid(bdf_model, ugrid_filename_out)  #, properties=properties
Exemple #2
0
def check_renumber(bdf_filename, bdf_filename_renumber, bdf_filename_check):
    bdf_renumber(bdf_filename, bdf_filename_renumber)

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

    model = BDF(debug=False)
    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.bdf_interface.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
Exemple #4
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'
        with open('renumber_in.bdf', 'w') as f:
            f.write(msg)

        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(debug=False)
        #model.read_bdf(bdf_filename)
        #model.write_bdf(bdf_filename_check)
        model = BDF(debug=False)
        model.read_bdf(bdf_filename_renumber)