コード例 #1
0
 def repr_fields(self):
     lid = set_blank_if_default(self.Lid(), -1e20)
     uid = set_blank_if_default(self.Uid(), 1e20)
     lowfq = set_blank_if_default(self.lowfq, 0.0)
     highfq = set_blank_if_default(self.highfq, 1e20)
     list_fields = ['DCONSTR', self.oid, self.Rid(), lid, uid, lowfq, highfq]
     return list_fields
コード例 #2
0
 def repr_fields(self):
     c0 = set_blank_if_default(self.c0, 0.)
     cmult = set_blank_if_default(self.cmult, 1.)
     list_fields = ['DLINK', self.oid, self.ddvid, c0, cmult]
     for (idv, ci) in zip(self.IDv, self.Ci):
         list_fields += [idv, ci]
     return list_fields
コード例 #3
0
    def test_field_defaults(self):
        self.assertEqual(set_blank_if_default(0.0, 0.0), None,
                         set_blank_if_default(0.0, 0.0))

        self.assertEqual(set_blank_if_default(1.0, 0.0), 1.0,
                         set_blank_if_default(1.0, 0.0))

        # None
        self.assertEqual(set_default_if_blank(None, None), None,
                         set_default_if_blank(None, None))

        # floats
        self.assertEqual(set_default_if_blank(4.0, None), 4.0,
                         set_default_if_blank(4.0, None))
        self.assertEqual(set_default_if_blank(None, 4.0), 4.0,
                         set_default_if_blank(None, 4.0))

        # ints
        self.assertEqual(set_default_if_blank(4, None), 4,
                         set_default_if_blank(4, None))
        self.assertEqual(set_default_if_blank(None, 4), 4,
                         set_default_if_blank(None, 4))

        # strings
        self.assertEqual(set_default_if_blank('dummy', 'GGG'), 'dummy',
                         set_default_if_blank('dummy', 'GGG'))
        self.assertEqual(set_default_if_blank(None, 'GGG'), 'GGG',
                         set_default_if_blank(None, 'GGG'))
コード例 #4
0
ファイル: springs.py プロジェクト: ClaesFredo/pyNastran
 def repr_fields(self):
     nodes = self.node_ids
     ge = set_blank_if_default(self.ge, 0.)
     s = set_blank_if_default(self.s, 0.)
     list_fields = ['CELAS2', self.eid, self.k, nodes[0], self.c1,
                    nodes[1], self.c2, ge, s]
     return list_fields
コード例 #5
0
ファイル: rods.py プロジェクト: marcinch18/pyNastran
 def repr_fields(self):
     j = set_blank_if_default(self.j, 0.0)
     c = set_blank_if_default(self.c, 0.0)
     nsm = set_blank_if_default(self.nsm, 0.0)
     list_fields = [
         'CONROD', self.eid] + self.node_ids + [self.Mid(), self.A, j, c, nsm]
     return list_fields
コード例 #6
0
ファイル: thermal.py プロジェクト: watkinrt/pyNastran
 def repr_fields(self):
     film_node_id = set_blank_if_default(self.film_node_id, 0)
     ta2 = set_blank_if_default(self.ta2, self.ta1)
     mdot = set_blank_if_default(self.mdot, 1.0)
     list_fields = ['CONVM', self.eid, self.pconvmID, film_node_id,
                    self.cntmdot, self.ta1, ta2, mdot]
     return list_fields
コード例 #7
0
 def repr_fields(self):
     nsm = set_blank_if_default(self.nsm, 0.)
     gamma = set_blank_if_default(self.gamma, 0.5)
     phi = set_blank_if_default(self.phi, 180.)
     fields = ['PRAC2D', self.pid, self.Mid(), self.thick,
               self.iPlane, nsm, gamma, phi]
     return fields
コード例 #8
0
 def repr_fields(self):
     xlb = set_blank_if_default(self.xlb, -1e20)
     xub = set_blank_if_default(self.xub, 1e20)
     delx = set_blank_if_default(self.delx, 1e20)
     list_fields = ['DESVAR', self.oid, self.label, self.xinit, xlb,
                    xub, delx, self.ddval]
     return list_fields
コード例 #9
0
ファイル: cbeam.py プロジェクト: hurlei/pyNastran
    def write_card(self, bdf_file, size=8, element_ids=None):
        if self.n:
            if element_ids is None:
                i = arange(self.n)
            else:
                i = searchsorted(self.element_id, self.element_id)

            for (eid, pid, n, is_g0, g0, x, is_offt, offt, bit, pin, wa, wb, sa, sb) in zip(
                    self.element_id[i], self.property_id[i], self.node_ids[i],
                    self.is_g0[i], self.g0[i], self.x[i],
                    self.is_offt[i], self.offt[i], self.bit[i],
                    self.pin_flags[i], self.wa[i], self.wb[i], self.sa[i], self.sb[i]):

                x1 = g0 if is_g0 else x[0]
                x2 = 0 if is_g0 else x[1]
                x3 = 0 if is_g0 else x[2]
                offt_bit = offt if is_offt else bit
                #print('is_offt=%s offt=%s bit=%s offt_bit=%s' % (is_offt, offt, bit, offt_bit))

                pa = set_blank_if_default(pin[0], 0)
                pb = set_blank_if_default(pin[1], 0)

                w1a = set_blank_if_default(wa[0], 0.0)
                w2a = set_blank_if_default(wa[1], 0.0)
                w3a = set_blank_if_default(wa[2], 0.0)
                w1b = set_blank_if_default(wb[0], 0.0)
                w2b = set_blank_if_default(wb[1], 0.0)
                w3b = set_blank_if_default(wb[2], 0.0)

                sa = set_blank_if_default(sa, 0)
                sb = set_blank_if_default(sb, 0)
                card = ['CBEAM', eid, pid, n[0], n[1], x1, x2, x3, offt_bit,
                        pa, pb, w1a, w2a, w3a, w1b, w2b, w3b,
                        sa, sb]
                bdf_file.write(print_card_8(card))
コード例 #10
0
ファイル: thermal.py プロジェクト: ClaesFredo/pyNastran
 def repr_fields(self):
     form = set_blank_if_default(self.form, 0)
     flag = set_blank_if_default(self.flag, 0)
     expr = set_blank_if_default(self.expr, 0.0)
     exppi = set_blank_if_default(self.exppi, 0.0)
     exppo = set_blank_if_default(self.exppo, 0.0)
     list_fields = ["PCONVM", self.pconid, self.mid, form, flag, self.coef, expr, exppi, exppo]
     return list_fields
コード例 #11
0
 def repr_fields(self):
     mpMax = set_blank_if_default(self.mpMax, 1e20)
     c0 = set_blank_if_default(self.c0, 0.)
     list_fields = ['DVMREL1', self.oid, self.Type, self.Mid(),
                    self.mpName, self.mpMin, mpMax, c0, None]
     for (dvid, coeff) in zip(self.dvids, self.coeffs):
         list_fields.append(dvid)
         list_fields.append(coeff)
     return list_fields
コード例 #12
0
ファイル: loads.py プロジェクト: saullocastro/pyNastran
 def repr_fields(self):
     #method = set_blank_if_default(self.method,1)
     racc = set_blank_if_default(self.racc, 0.)
     mb = set_blank_if_default(self.mb, 0)
     idrf = set_blank_if_default(self.idrf, 0)
     list_fields = ['RFORCE', self.sid, self.node_id, self.Cid(), self.scale,
                    self.r1, self.r2, self.r3, self.method, racc,
                    mb, idrf]
     return list_fields
コード例 #13
0
ファイル: beam.py プロジェクト: marcinch18/pyNastran
 def get_offt_bit_defaults(self):
     """
     offt doesn't exist in NX nastran
     """
     if self.is_offt:
         field8 = field8 = set_blank_if_default(self.offt, 'GGG')
     else:
         field8 = set_blank_if_default(self.bit, 0.0)
     return field8
コード例 #14
0
    def repr_fields(self):
        method = set_blank_if_default(self.method, 'MIN')
        c1 = set_blank_if_default(self.c1, 100.)
        c2 = set_blank_if_default(self.c2, 0.005)

        list_fields = ['DRESP2', self.oid, self.label, self.DEquation(),
                       self.region, method, c1, c2, self.c3]
        list_fields += self._pack_params()
        return list_fields
コード例 #15
0
ファイル: bdf_tables.py プロジェクト: marcinch18/pyNastran
 def repr_fields(self):
     xy = []
     for xi, yi in zip(self.x, self.y):
         xy.extend([xi, yi])
     xaxis = set_blank_if_default(self.xaxis, 'LINEAR')
     yaxis = set_blank_if_default(self.yaxis, 'LINEAR')
     list_fields = ['TABRND1', self.tid, xaxis, yaxis, None, None,
                    None, None, None] + xy + ['ENDT']
     return list_fields
コード例 #16
0
ファイル: thermal.py プロジェクト: watkinrt/pyNastran
    def repr_fields(self):
        iViewFront = set_blank_if_default(self.iViewFront, 0)
        iViewBack = set_blank_if_default(self.iViewBack, 0)
        radMidFront = set_blank_if_default(self.radMidFront, 0)
        radMidBack = set_blank_if_default(self.radMidBack, 0)

        list_fields = (['CHBDYG', self.eid, None, self.Type, iViewFront,
                        iViewBack, radMidFront, radMidBack, None, ] + self.node_ids)
        return list_fields
コード例 #17
0
ファイル: thermal.py プロジェクト: watkinrt/pyNastran
 def repr_fields(self):
     form = set_blank_if_default(self.form, 0)
     expf = set_blank_if_default(self.expf, 0.0)
     ftype = set_blank_if_default(self.ftype, 0)
     ce = set_blank_if_default(self.ce, 0)
     list_fields = ['PCONV', self.pconid, self.mid, form, expf, ftype, self.tid,
                    None, None, self.chlen, self.gidin, ce, self.e1, self.e2,
                    self.e3]
     return list_fields
コード例 #18
0
    def repr_fields(self):
        #method = set_blank_if_default(self.method,'INV')
        nep = set_blank_if_default(self.nep, 0)
        ndp = set_blank_if_default(self.ndp, 3 * self.nep)
        ndn = set_blank_if_default(self.ndn, 3 * self.nep)

        norm = set_blank_if_default(self.norm, 'MAX')
        list_fields = ['EIGB', self.sid, self.method, self.L1, self.L2, nep, ndp,
                       ndn, None, norm, self.G, self.C]
        return list_fields
コード例 #19
0
ファイル: thermal.py プロジェクト: marcinch18/pyNastran
    def repr_fields(self):
        film_node = set_blank_if_default(self.film_node, 0)
        cntrlnd = set_blank_if_default(self.cntrlnd, 0)

        ta0 = self.ta[0]
        ta = [ta0]
        for tai in self.ta[1:]:
            ta.append(set_blank_if_default(tai, ta0))
        list_fields = ['CONV', self.eid, self.pconID, film_node, cntrlnd] + ta
        return list_fields
コード例 #20
0
    def raw_method(self):
        list_fields = []
        if self.method in ['HESS', 'INV']:
            for (alphaA, omegaA, alphaB, omegaB, Lj, NEj, NDj) in zip(
                    self.alphaAjs, self.omegaAjs, self.alphaBjs, self.omegaBjs,
                    self.LJs, self.NEJs, self.NDJs):
                alphaA = set_blank_if_default(alphaA, 0.0)
                omegaA = set_blank_if_default(omegaA, 0.0)
                alphaB = set_blank_if_default(alphaB, 0.0)
                omegaB = set_blank_if_default(omegaB, 0.0)
                list_fields += [alphaA, omegaA, alphaB, omegaB, Lj, NEj, NDj, None]

        elif self.method == 'CLAN':
            assert len(self.alphaAjs) == len(self.omegaAjs)
            assert len(self.alphaAjs) == len(self.mblkszs)
            assert len(self.alphaAjs) == len(self.iblkszs)
            assert len(self.alphaAjs) == len(self.ksteps)
            assert len(self.alphaAjs) == len(self.NJIs)
            for (alphaA, omegaA, mblksz, iblksz, kstep, Nj) in zip(
                    self.alphaAjs, self.omegaAjs, self.mblkszs, self.iblkszs,
                    self.ksteps, self.NJIs):
                alphaA = set_blank_if_default(alphaA, 0.0)
                omegaA = set_blank_if_default(omegaA, 0.0)
                mblksz = set_blank_if_default(mblksz, 7)
                iblksz = set_blank_if_default(iblksz, 2)
                kstep = set_blank_if_default(kstep, 5)

                list_fields += [alphaA, omegaA, mblksz, iblksz,
                                kstep, None, Nj, None]
        else:
            msg = 'invalid EIGC method...method=%r' % self.method
            raise RuntimeError(msg)
        return list_fields
コード例 #21
0
ファイル: mat1.py プロジェクト: hurlei/pyNastran
    def write_card(self, bdf_file, material_id=None, size=8, is_double=False):
        if self.n:
            if material_id is None:
                i = np.arange(self.n)
            else:
                if isinstance(material_id, int):
                    material_id = [material_id]
                i = np.searchsorted(self.material_id, material_id)

            #print('imat1 = ', i)
            #assert material_id is None, 'i=%i' % i
            #self.model.log.debug"n = %s" % self.n)
            #self.model.log.debug"mids MAT1 %s" % self.material_id)

            Rho = ['' if rhoi == 0.0 else rhoi for rhoi in self.rho[i]]
            A = ['' if ai == 0.0 else ai for ai in self.a[i]]
            TRef = ['' if trefi == 0.0 else trefi for trefi in self.TRef[i]]
            ge = ['' if gei == 0.0 else gei for gei in self.ge[i]]
            St = ['' if st == 0.0 else st for st in self.St[i]]
            Sc = ['' if sc == 0.0 else sc for sc in self.Sc[i]]
            Ss = ['' if ss == 0.0 else ss for ss in self.Ss[i]]

            if size == 8:
                fmt_card = print_card_8
                bdf_file.write('$MAT1        mid       E       G      nu     rho       a    TRef      ge\n')
                bdf_file.write('$             st      sc      ss   mcsid\n')
            else:
                bdf_file.write('$MAT1*               mid               E               G              nu\n')
                bdf_file.write('$*                   rho               a            TRef              ge\n')
                bdf_file.write('$*                   st              sc              ss           mcsid\n')
                if is_double:
                    fmt_card = print_card_double
                else:
                    fmt_card = print_card_16


            for (mid, E, G, nu, rho, a, TRef, ge, st, sc, ss, mcsid) in zip(
                    self.material_id[i], self.E[i], self.G[i], self.nu[i], Rho, A,
                    TRef, ge, St, Sc, Ss, self.mcsid[i]):
                if mid in self._comments:
                    bdf_file.write(self._comments[mid])

                #Gdefault = self.getG_default()
                Gdefault = self._G_default(E, G, nu)
                G = set_blank_if_default(G, Gdefault)
                #rho = set_blank_if_default(rho, 0.)
                #a = set_blank_if_default(a, 0.)
                #TRef = set_blank_if_default(TRef, 0.)
                #ge = set_blank_if_default(ge, 0.)
                #st = set_blank_if_default(st, 0.)
                #sc = set_blank_if_default(sc, 0.)
                #ss = set_blank_if_default(ss, 0.)
                mcsid = set_blank_if_default(mcsid, 0)
                card = ['MAT1', mid, E, G, nu, rho, a, TRef, ge, st, sc, ss, mcsid]
                bdf_file.write(fmt_card(card))
コード例 #22
0
ファイル: bush.py プロジェクト: EmanueleCannizzaro/pyNastran
    def repr_fields(self):
        if self.g0 is not None:
            x = [self.g0, None, None]
        else:
            x = self.x

        ocid = set_blank_if_default(self.OCid(), -1)
        s = set_blank_if_default(self.s, 0.5)
        list_fields = (['CBUSH', self.eid, self.Pid(), self.Ga(), self.Gb()] +
                       x + [self.Cid(), s, ocid] + self.si)
        return list_fields
コード例 #23
0
ファイル: shell.py プロジェクト: ClaesFredo/pyNastran
    def repr_fields(self):
        twelveIt3 = set_blank_if_default(self.twelveIt3, 1.0)
        tst = set_blank_if_default(self.tst, 0.833333)
        nsm = set_blank_if_default(self.nsm, 0.0)

        tOver2 = self.t / 2.
        z1 = set_blank_if_default(self.z1, -tOver2)
        z2 = set_blank_if_default(self.z2, tOver2)

        list_fields = ['PSHELL', self.pid, self.Mid1(), self.t, self.Mid2(),
                       twelveIt3, self.Mid3(), tst, nsm, z1, z2, self.Mid4()]
        return list_fields
コード例 #24
0
ファイル: cbar.py プロジェクト: EmanueleCannizzaro/pyNastran
    def write_card(self, f, size=8, element_ids=None):
        if self.n:
            if element_ids is None:
                i = arange(self.n)
            else:
                i = searchsorted(self.element_id, self.element_id)

            for (eid, pid, n, is_g0, g0, x, offt, pin, wa, wb) in zip(
                self.element_id[i], self.property_id[i], self.node_ids[i],
                self.is_g0[i], self.g0[i], self.x[i],
                self.offt[i],
                self.pin_flags[i], self.wa[i], self.wb[i]):

                pa = set_blank_if_default(pin[0], 0)
                pb = set_blank_if_default(pin[1], 0)

                w1a = set_blank_if_default(wa[0], 0.0)
                w2a = set_blank_if_default(wa[1], 0.0)
                w3a = set_blank_if_default(wa[2], 0.0)
                w1b = set_blank_if_default(wb[0], 0.0)
                w2b = set_blank_if_default(wb[1], 0.0)
                w3b = set_blank_if_default(wb[2], 0.0)
                x1 = g0 if is_g0 else x[0]
                x2 = 0 if is_g0 else x[1]
                x3 = 0 if is_g0 else x[2]

                offt = set_string8_blank_if_default(offt, 'GGG')
                card = ['CBAR', eid, pid, n[0], n[1], x1, x2, x3, offt,
                        pa, pb, w1a, w2a, w3a, w1b, w2b, w3b]
                if size == 8:
                    f.write(print_card_8(card))
                else:
                    f.write(print_card_16(card))
コード例 #25
0
ファイル: psolid.py プロジェクト: hurlei/pyNastran
    def write_card(self, bdf_file, size=8, property_id=None):
        if self.n:
            #print("PSOLID.property_id =", self.property_id)
            for(pid, mid, cordm, integ, stress, isop, fctn) in zip(
                self.property_id, self.material_id, self.cordm,
                self.integ, self.stress, self.isop, self.fctn):
                if pid in self._comments:
                    bdf_file.write(self._comments[pid])

                cordm = set_blank_if_default(cordm, 0)
                fctn = set_blank_if_default(fctn, 'SMECH')
                card = ['PSOLID', pid, mid, cordm, integ,
                        stress, isop, fctn]
                bdf_file.write(print_card_8(card))
コード例 #26
0
    def repr_fields(self):
        u0 = set_blank_if_default(self.u0, 0.)
        f0 = set_blank_if_default(self.f0, 0.)
        ka = set_blank_if_default(self.ka, 1.e8)
        kb = set_blank_if_default(self.kb, 1e-14 * self.ka)
        kt = set_blank_if_default(self.kt, self.mu1 * self.ka)
        mu1 = set_blank_if_default(self.mu1, 0.)
        mu2 = set_blank_if_default(self.mu2, self.mu1)
        tmax = set_blank_if_default(self.tmax, 0.)
        mar = set_blank_if_default(self.mar, 100.)
        trmin = set_blank_if_default(self.trmin, 0.001)

        fields = ['PGAP', self.pid, u0, f0, ka, kb, kt, mu1, mu2,
                  tmax, mar, trmin]
        return fields
コード例 #27
0
ファイル: nodes.py プロジェクト: hurlei/pyNastran
    def repr_fields(self):
        """
        Gets the fields in their simplified form

        Returns
        -------
        fields : List[int/float/str]
            the fields that define the card
        """
        cp = set_blank_if_default(self.Cp(), 0)
        cd = set_blank_if_default(self.Cd(), 0)
        seid = set_blank_if_default(self.SEid(), 0)
        list_fields = ['GRID', self.nid, cp] + list(self.xyz) + [cd, self.ps,
                                                                 seid]
        return list_fields
コード例 #28
0
ファイル: nodes.py プロジェクト: hurlei/pyNastran
    def repr_fields(self):
        """
        Gets the fields in their simplified form

        :returns fields:
          the fields that define the card
        :type fields:
          LIST
        """
        cp = set_blank_if_default(self.Cp(), 0)
        cd = set_blank_if_default(self.Cd(), 0)
        ps = set_blank_if_default(self.ps, 0)
        seid = set_blank_if_default(self.SEid(), 0)
        list_fields = ['GRDSET', None, cp, None, None, None, cd, ps, seid]
        return list_fields
コード例 #29
0
ファイル: rforce.py プロジェクト: hurlei/pyNastran
    def write_card(self, bdf_file, size=8, lids=None):
        if self.n:
            for (lid, nid, cid, scale_vel, r, method, scale_acc, mb, idrf) in zip(
                 self.load_id, self.node_id, self.coord_id, self.scale_vel,
                 self.r, self.scale_acc, self.mb, self.idrf):

                #method = set_blank_if_default(method, 1)
                scale_acc = set_blank_if_default(scale_acc, 0.)
                mb = set_blank_if_default(mb, 0)
                idrf = set_blank_if_default(idrf, 0)
                card = ['RFORCE', lid, nid, cid, scale_vel,
                        r[0], r[1], r[2], method, scale_acc, mb, idrf]
                if size == 8:
                    bdf_file.write(print_card_8(card))
                else:
                    bdf_file.write(print_card_16(card))
コード例 #30
0
ファイル: mass.py プロジェクト: marcinch18/pyNastran
 def repr_fields(self):
     list_fields = self.raw_fields()
     list_fields2 = list_fields[0:4]
     for field in list_fields[4:]:
         val = set_blank_if_default(field, 0.)
         list_fields2.append(val)
     return list_fields2
コード例 #31
0
 def repr_fields(self):
     ge = set_blank_if_default(self.ge, 0.)
     s = set_blank_if_default(self.s, 0.)
     list_fields = ['PELAS', self.pid, self.k, ge, s]
     return list_fields
コード例 #32
0
 def repr_fields(self):
     cntrlnd = set_blank_if_default(self.cntrlnd, 0)
     eids = self.element_ids
     eids.sort()
     list_fields = ['QBDY3', self.sid, self.q0, cntrlnd] + collapse_thru_by(eids)
     return list_fields
コード例 #33
0
ファイル: damper.py プロジェクト: numenic/pyNastran
 def repr_fields(self):
     cr = set_blank_if_default(self.cr, 0.)
     list_fields = ['PVISC', self.pid, self.ce, cr]
     return list_fields
コード例 #34
0
    def write_card(self, bdf_file, size=8, material_id=None):
        if self.n:
            if material_id is None:
                i = arange(self.n)
            else:
                i = searchsorted(self.material_id, material_id)

            assert material_id is None

            #card = ['$MAT1', 'mid', 'E', 'G', 'nu', 'rho', 'a', 'tref', 'ge']
            #bdf_file.write(print_card_8(card))
            #card = ['$', 'st', 'sc', 'ss', 'mcsid']
            #bdf_file.write(print_card_8(card))
            for (mid, e11, e22, nu12, g12, g1z, g2z, rho, a1, a2, tref,
                 Xt, Xc, Yt, Yc, S, ge, F12, strn) in zip(
                     self.material_id[i], self.e11[i], self.e22[i],
                     self.nu12[i], self.g12[i], self.g1z[i], self.g2z[i],
                     self.rho[i], self.a1[i], self.a2[i], self.tref[i],
                     self.Xt[i], self.Xc[i], self.Yt[i], self.Yc[i], self.S[i],
                     self.ge[i], self.F12[i], self.strn[i]):
                if mid in self._comments:
                    bdf_file.write(self._comments[mid])

                g12 = set_blank_if_default(g12, 0.)
                g1z = set_blank_if_default(g1z, 1e8)
                g2z = set_blank_if_default(g2z, 1e8)

                rho = set_blank_if_default(rho, 0.0)
                a1 = set_blank_if_default(a1, 0.0)
                a2 = set_blank_if_default(a2, 0.0)
                tref = set_blank_if_default(tref, 0.0)

                Xt = set_blank_if_default(Xt, 0.)
                Yt = set_blank_if_default(Yt, 0.)

                Xc = set_blank_if_default(Xc, Xt)
                Yc = set_blank_if_default(Yc, Yt)

                S = set_blank_if_default(S, 0.0)
                ge = set_blank_if_default(ge, 0.0)
                F12 = set_blank_if_default(F12, 0.0)
                strn = set_blank_if_default(strn, 0.0)

                card = [
                    'MAT8', mid, e11, e22, nu12, g12, g1z, g2z, rho, a1, a2,
                    tref, Xt, Xc, Yt, Yc, S, ge, F12, strn
                ]
                bdf_file.write(print_card_8(card))
コード例 #35
0
    def write_card(self, bdf_file, material_id=None, size=8, is_double=False):
        if self.n:
            if material_id is None:
                i = np.arange(self.n)
            else:
                if isinstance(material_id, int):
                    material_id = [material_id]
                i = np.searchsorted(self.material_id, material_id)

            #print('imat1 = ', i)
            #assert material_id is None, 'i=%i' % i
            #self.model.log.debug"n = %s" % self.n)
            #self.model.log.debug"mids MAT1 %s" % self.material_id)

            Rho = ['' if rhoi == 0.0 else rhoi for rhoi in self.rho[i]]
            A = ['' if ai == 0.0 else ai for ai in self.a[i]]
            tref = ['' if trefi == 0.0 else trefi for trefi in self.tref[i]]
            ge = ['' if gei == 0.0 else gei for gei in self.ge[i]]
            St = ['' if st == 0.0 else st for st in self.St[i]]
            Sc = ['' if sc == 0.0 else sc for sc in self.Sc[i]]
            Ss = ['' if ss == 0.0 else ss for ss in self.Ss[i]]

            if size == 8:
                fmt_card = print_card_8
                bdf_file.write(
                    '$MAT1        mid       E       G      nu     rho       a    tref      ge\n'
                )
                bdf_file.write('$             st      sc      ss   mcsid\n')
            else:
                bdf_file.write(
                    '$MAT1*               mid               E               G              nu\n'
                )
                bdf_file.write(
                    '$*                   rho               a            tref              ge\n'
                )
                bdf_file.write(
                    '$*                   st              sc              ss           mcsid\n'
                )
                if is_double:
                    fmt_card = print_card_double
                else:
                    fmt_card = print_card_16

            for (mid, E, G, nu, rho, a, tref, ge, st, sc, ss,
                 mcsid) in zip(self.material_id[i], self.E[i], self.G[i],
                               self.nu[i], Rho, A, TRef, ge, St, Sc, Ss,
                               self.mcsid[i]):
                if mid in self._comments:
                    bdf_file.write(self._comments[mid])

                #Gdefault = self.getG_default()
                Gdefault = self._G_default(E, G, nu)
                G = set_blank_if_default(G, Gdefault)
                #rho = set_blank_if_default(rho, 0.)
                #a = set_blank_if_default(a, 0.)
                #tref = set_blank_if_default(tref, 0.)
                #ge = set_blank_if_default(ge, 0.)
                #st = set_blank_if_default(st, 0.)
                #sc = set_blank_if_default(sc, 0.)
                #ss = set_blank_if_default(ss, 0.)
                mcsid = set_blank_if_default(mcsid, 0)
                card = [
                    'MAT1', mid, E, G, nu, rho, a, tref, ge, st, sc, ss, mcsid
                ]
                bdf_file.write(fmt_card(card))
コード例 #36
0
ファイル: rods.py プロジェクト: yqliaohk/pyNastran
 def repr_fields(self):
     t = set_blank_if_default(self.t, self.OD1 / 2.)
     nsm = set_blank_if_default(self.nsm, 0.0)
     OD2 = set_blank_if_default(self.OD2, self.OD1)
     list_fields = ['PTUBE', self.pid, self.Mid(), self.OD1, t, nsm, OD2]
     return list_fields
コード例 #37
0
ファイル: rods.py プロジェクト: yqliaohk/pyNastran
 def repr_fields(self):
     j = set_blank_if_default(self.j, 0.0)
     c = set_blank_if_default(self.c, 0.0)
     nsm = set_blank_if_default(self.nsm, 0.0)
     list_fields = ['PROD', self.pid, self.Mid(), self.A, j, c, nsm]
     return list_fields
コード例 #38
0
ファイル: methods.py プロジェクト: zbhfut/pyNastran
 def repr_fields(self):
     method = set_blank_if_default(self.method, 'LAN')
     norm = set_blank_if_default(self.norm, 'MASS')
     list_fields = ['EIGR', self.sid, method, self.f1, self.f2, self.ne,
                    self.nd, None, None, norm, self.G, self.C]
     return list_fields
コード例 #39
0
ファイル: solid.py プロジェクト: upendra117/pyNastran
 def raw_fields(self):
     stress_strain = set_blank_if_default(self.stress_strain, 'GRID')
     fields = ['PLSOLID', self.pid, self.Mid(), stress_strain]
     return fields
コード例 #40
0
 def repr_fields(self):
     alpha = set_blank_if_default(self.alpha, 0.)
     list_fields = ['RBE2', self.eid, self.Gn(), self.cm
                    ] + self.Gmi_node_ids + [alpha]
     return list_fields
コード例 #41
0
 def repr_fields(self):
     theta_mcid = set_blank_if_default(self.theta_mcid, 0.0)
     nodeIDs = self.node_ids
     list_fields = ['CTRIAX', self.eid, self.Pid()] + nodeIDs + [theta_mcid]
     return list_fields
コード例 #42
0
 def repr_fields(self):
     alpha = set_blank_if_default(self.alpha, 0.0)
     list_fields = ['RBAR1', self.eid, self.Ga(), self.Gb(), self.cb, alpha]
     return list_fields
コード例 #43
0
 def repr_fields(self):
     mass = set_blank_if_default(self.mass, 0.)
     fields = ['CMASS2', self.eid, mass, self.G1(), self.c1,
               self.G2(), self.c2]
     return fields
コード例 #44
0
def set_string16_blank_if_default(value, default):
    """helper method for writing BDFs"""
    val = set_blank_if_default(value, default)
    if val is None:
        return '                '
    return '%16s' % val
コード例 #45
0
 def repr_fields(self):
     gamma = set_blank_if_default(self.gamma, 0.5)
     phi = set_blank_if_default(self.phi, 180.)
     fields = ['PRAC3D', self.pid, self.Mid(), gamma, phi]
     return fields