Ejemplo n.º 1
0
    def __init__(self, sid, excite_id, delay, Type, tid, us0, vs0, comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        #: load ID
        self.sid = sid

        #: Identification number of DAREA or SPCD entry set or a thermal load
        #: set (in heat transfer analysis) that defines {A}. (Integer > 0)
        self.excite_id = excite_id

        #: If it is a non-zero integer, it represents the
        #: identification number of DELAY Bulk Data entry that defines .
        #: If it is real, then it directly defines the value of that will
        #: be used for all degrees-of-freedom that are excited by this
        #: dynamic load entry.  See also Remark 9. (Integer >= 0,
        #: real or blank)
        self.delay = delay

        #: Defines the type of the dynamic excitation. (LOAD,DISP, VELO, ACCE)
        self.Type = Type

        #: Identification number of TABLEDi entry that gives F(t). (Integer > 0)
        self.tid = tid

        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0
        #: Factor for initial velocities of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.vs0 = vs0
Ejemplo n.º 2
0
    def __init__(self, card=None, data=None, comment=''):
        TabularLoad.__init__(self, card, data)
        if comment:
            self._comment = comment
        if card:
            self.sid = integer(card, 1, 'sid')
            self.exciteID = integer(card, 2, 'exciteID')
            self.delay = integer_double_or_blank(card, 3, 'delay', 0)
            self.dphase = integer_double_or_blank(card, 4, 'dphase')
            self.tc = integer_double_or_blank(card, 5, 'tc', 0)
            self.td = integer_double_or_blank(card, 6, 'td', 0)
            self.Type = integer_string_or_blank(card, 7, 'Type', 'LOAD')
            assert self.tc > 0 or self.td > 0, 'either RLOAD TC or TD > 0; tc=%s td=%s' % (tc, td)

            if self.Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
                self.Type = 'LOAD'
            elif self.Type in [1, 'D', 'DI', 'DIS', 'DISP']:
                self.Type = 'DISP'
            elif self.Type in [2, 'V', 'VE', 'VEL', 'VELO']:
                self.Type = 'VELO'
            elif self.Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
                self.Type = 'ACCE'
            else:
                msg = 'invalid RLOAD1 type  Type=%r' % self.Type
                raise RuntimeError(msg)
            assert len(card) <= 8, 'len(RLOAD1 card) = %i' % len(card)
        else:
            raise NotImplementedError(data)
Ejemplo n.º 3
0
    def __init__(self, sid, excite_id, delay, Type, tid, us0, vs0, comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        #: load ID
        self.sid = sid

        #: Identification number of DAREA or SPCD entry set or a thermal load
        #: set (in heat transfer analysis) that defines {A}. (Integer > 0)
        self.excite_id = excite_id

        #: If it is a non-zero integer, it represents the
        #: identification number of DELAY Bulk Data entry that defines .
        #: If it is real, then it directly defines the value of that will
        #: be used for all degrees-of-freedom that are excited by this
        #: dynamic load entry.  See also Remark 9. (Integer >= 0,
        #: real or blank)
        self.delay = delay

        #: Defines the type of the dynamic excitation. (LOAD,DISP, VELO, ACCE)
        self.Type = Type

        #: Identification number of TABLEDi entry that gives F(t). (Integer > 0)
        self.tid = tid

        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0
        #: Factor for initial velocities of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.vs0 = vs0
Ejemplo n.º 4
0
    def __init__(self, card=None, data=None, comment=''):
        TabularLoad.__init__(self, card, data)
        if comment:
            self._comment = comment
        if card:
            self.sid = integer(card, 1, 'sid')
            self.exciteID = integer(card, 2, 'exciteID')
            self.delay = integer_double_or_blank(card, 3, 'delay', 0)
            self.dphase = integer_double_or_blank(card, 4, 'dphase')
            self.tb = integer_or_blank(card, 5, 'tb', 0)
            self.tp = integer_or_blank(card, 6, 'tp', 0)
            self.Type = integer_string_or_blank(card, 7, 'Type', 'LOAD')

            if self.Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
                self.Type = 'LOAD'
            elif self.Type in [1, 'D', 'DI', 'DIS', 'DISP']:
                self.Type = 'DISP'
            elif self.Type in [2, 'V', 'VE', 'VEL', 'VELO']:
                self.Type = 'VELO'
            elif self.Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
                self.Type = 'ACCE'
            else:
                msg = 'invalid RLOAD2 type  Type=|%s|' % self.Type
                raise RuntimeError(msg)
            assert len(card) <= 8, 'len(RLOAD2 card) = %i' % len(card)
        else:
            raise NotImplementedError(data)
Ejemplo n.º 5
0
    def __init__(self, sid, excite_id, delay, Type, T1, T2,
                 frequency, phase, c, b, us0, vs0, comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        #: load ID
        #: SID must be unique for all TLOAD1, TLOAD2, RLOAD1, RLOAD2, and ACSRCE entries.
        self.sid = sid
        self.excite_id = excite_id
        self.delay = delay

        #: Defines the type of the dynamic excitation. (Integer; character
        #: or blank; Default = 0)
        self.Type = Type

        #: Time constant. (Real >= 0.0)
        self.T1 = T1
        #: Time constant. (Real; T2 > T1)
        self.T2 = T2
        #: Frequency in cycles per unit time. (Real >= 0.0; Default = 0.0)
        self.frequency = frequency
        #: Phase angle in degrees. (Real; Default = 0.0)
        self.phase = phase
        #: Exponential coefficient. (Real; Default = 0.0)
        self.c = c
        #: Growth coefficient. (Real; Default = 0.0)
        self.b = b
        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0
        #: Factor for initial velocities of the enforced degrees-of-freedom
        #: (Real; Default = 0.0)
        self.vs0 = vs0
Ejemplo n.º 6
0
    def __init__(self, card=None, data=None, comment=''):
        TabularLoad.__init__(self, card, data)
        if comment:
            self._comment = comment
        if card:
            #: load ID
            #: SID must be unique for all TLOAD1, TLOAD2, RLOAD1, RLOAD2, and ACSRCE entries.
            self.sid = integer(card, 1, 'sid')

            self.exciteID = integer(card, 2, 'exciteID')
            self.delay = integer_or_blank(card, 3, 'delay', 0)

            #: Defines the type of the dynamic excitation. (Integer; character
            #: or blank; Default = 0)
            self.Type = integer_string_or_blank(card, 4, 'Type', 'LOAD')

            #: Time constant. (Real >= 0.0)
            self.T1 = double_or_blank(card, 5, 'T1', 0.0)
            #if self.delay == 0:
            #self.T1 = double_or_blank(card, 5, 'T1', 0.)
            #else:
            #self.T1 = blank(card, 5, 'T1')

            #: Time constant. (Real; T2 > T1)
            self.T2 = double_or_blank(card, 6, 'T2', self.T1)
            #: Frequency in cycles per unit time. (Real >= 0.0; Default = 0.0)
            self.frequency = double_or_blank(card, 7, 'frequency', 0.)
            #: Phase angle in degrees. (Real; Default = 0.0)
            self.phase = double_or_blank(card, 8, 'phase', 0.)
            #: Exponential coefficient. (Real; Default = 0.0)
            self.c = double_or_blank(card, 9, 'c', 0.)
            #: Growth coefficient. (Real; Default = 0.0)
            self.b = double_or_blank(card, 10, 'b', 0.)
            #: Factor for initial displacements of the enforced degrees-of-freedom.
            #: (Real; Default = 0.0)
            self.us0 = double_or_blank(card, 11, 'us0', 0.)
            #: Factor for initial velocities of the enforced degrees-of-freedom
            #: (Real; Default = 0.0)
            self.vs0 = double_or_blank(card, 12, 'vs0', 0.)

            if self.Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
                self.Type = 'LOAD'
            elif self.Type in [1, 'D', 'DI', 'DIS', 'DISP']:
                self.Type = 'DISP'
            elif self.Type in [2, 'V', 'VE', 'VEL', 'VELO']:
                self.Type = 'VELO'
            elif self.Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
                self.Type = 'ACCE'
            elif self.Type in [5, 6, 7, 12, 13]:
                pass
            else:
                msg = 'invalid TLOAD2 type  Type=|%s|' % self.Type
                raise RuntimeError(msg)
            assert len(card) <= 13, 'len(TLOAD2 card) = %i' % len(card)
        else:
            raise NotImplementedError(data)
Ejemplo n.º 7
0
 def __init__(self, sid, excite_id, delay, dphase, tc, td, Type, comment=''):
     TabularLoad.__init__(self)
     if comment:
         self.comment = comment
     self.sid = sid
     self.excite_id = excite_id
     self.delay = delay
     self.dphase = dphase
     self.tc = tc
     self.td = td
     self.Type = Type
Ejemplo n.º 8
0
 def __init__(self, sid, excite_id, delay, dphase, tb, tp, Type, comment=''):
     TabularLoad.__init__(self)
     if comment:
         self.comment = comment
     self.sid = sid
     self.excite_id = excite_id
     self.delay = delay
     self.dphase = dphase
     self.tb = tb
     self.tp = tp
     self.Type = Type
Ejemplo n.º 9
0
 def __init__(self, sid, excite_id, delay, dphase, tc, td, Type, comment=''):
     TabularLoad.__init__(self)
     if comment:
         self._comment = comment
     self.sid = sid
     self.excite_id = excite_id
     self.delay = delay
     self.dphase = dphase
     self.tc = tc
     self.td = td
     self.Type = Type
     assert tc > 0 or td > 0, 'either RLOAD TC or TD > 0; tc=%s td=%s' % (tc, td)
Ejemplo n.º 10
0
    def __init__(self, card=None, data=None, comment=''):
        TabularLoad.__init__(self, card, data)
        if comment:
            self._comment = comment
        if card:
            #: load ID
            self.sid = integer(card, 1, 'sid')

            #: Identification number of DAREA or SPCD entry set or a thermal load
            #: set (in heat transfer analysis) that defines {A}. (Integer > 0)
            self.exciteID = integer(card, 2, 'exciteID')

            #: If it is a non-zero integer, it represents the
            #: identification number of DELAY Bulk Data entry that defines .
            #: If it is real, then it directly defines the value of that will
            #: be used for all degrees-of-freedom that are excited by this
            #: dynamic load entry.  See also Remark 9. (Integer >= 0,
            #: real or blank)
            self.delay = integer_double_or_blank(card, 3, 'delay', 0)

            #: Defines the type of the dynamic excitation. (LOAD,DISP, VELO, ACCE)
            self.Type = integer_string_or_blank(card, 4, 'Type', 'LOAD')

            #: Identification number of TABLEDi entry that gives F(t). (Integer > 0)
            self.tid = integer(card, 5, 'tid')

            #: Factor for initial displacements of the enforced degrees-of-freedom.
            #: (Real; Default = 0.0)
            self.us0 = double_or_blank(card, 6, 'us0', 0.0)

            #: Factor for initial velocities of the enforced degrees-of-freedom.
            #: (Real; Default = 0.0)
            self.vs0 = double_or_blank(card, 7, 'vs0', 0.0)
            if   self.Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
                self.Type = 'LOAD'
            elif self.Type in [1, 'D', 'DI', 'DIS', 'DISP']:
                self.Type = 'DISP'
            elif self.Type in [2, 'V', 'VE', 'VEL', 'VELO']:
                self.Type = 'VELO'
            elif self.Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
                self.Type = 'ACCE'
            else:
                msg = 'invalid TLOAD1 type  Type=|%s|' % self.Type
                raise RuntimeError(msg)
            assert len(card) <= 8, 'len(TLOAD1 card) = %i' % len(card)
        else:
            raise NotImplementedError(data)
Ejemplo n.º 11
0
    def __init__(self,
                 sid,
                 excite_id,
                 delay,
                 Type,
                 T1,
                 T2,
                 frequency,
                 phase,
                 c,
                 b,
                 us0,
                 vs0,
                 comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        #: load ID
        #: SID must be unique for all TLOAD1, TLOAD2, RLOAD1, RLOAD2, and ACSRCE entries.
        self.sid = sid
        self.excite_id = excite_id
        self.delay = delay

        #: Defines the type of the dynamic excitation. (Integer; character
        #: or blank; Default = 0)
        self.Type = Type

        #: Time constant. (Real >= 0.0)
        self.T1 = T1
        #: Time constant. (Real; T2 > T1)
        self.T2 = T2
        #: Frequency in cycles per unit time. (Real >= 0.0; Default = 0.0)
        self.frequency = frequency
        #: Phase angle in degrees. (Real; Default = 0.0)
        self.phase = phase
        #: Exponential coefficient. (Real; Default = 0.0)
        self.c = c
        #: Growth coefficient. (Real; Default = 0.0)
        self.b = b
        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0
        #: Factor for initial velocities of the enforced degrees-of-freedom
        #: (Real; Default = 0.0)
        self.vs0 = vs0
Ejemplo n.º 12
0
 def __init__(self,
              sid,
              excite_id,
              delay,
              dphase,
              tc,
              td,
              Type,
              comment=''):
     TabularLoad.__init__(self)
     if comment:
         self.comment = comment
     self.sid = sid
     self.excite_id = excite_id
     self.delay = delay
     self.dphase = dphase
     self.tc = tc
     self.td = td
     self.Type = Type
Ejemplo n.º 13
0
 def __init__(self,
              sid,
              excite_id,
              delay,
              dphase,
              tb,
              tp,
              Type,
              comment=''):
     TabularLoad.__init__(self)
     if comment:
         self.comment = comment
     self.sid = sid
     self.excite_id = excite_id
     self.delay = delay
     self.dphase = dphase
     self.tb = tb
     self.tp = tp
     self.Type = Type
Ejemplo n.º 14
0
    def __init__(self, sid, excite_id, delay=0, dphase=0, tb=0, tp=0, Type='LOAD', comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        if Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
            Type = 'LOAD'
        elif Type in [1, 'D', 'DI', 'DIS', 'DISP']:
            Type = 'DISP'
        elif Type in [2, 'V', 'VE', 'VEL', 'VELO']:
            Type = 'VELO'
        elif Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
            Type = 'ACCE'
        else:
            msg = 'invalid RLOAD2 type  Type=%r' % Type
            raise RuntimeError(msg)

        self.sid = sid
        self.excite_id = excite_id
        self.delay = delay
        self.dphase = dphase
        self.tb = tb
        self.tp = tp
        self.Type = Type
Ejemplo n.º 15
0
    def __init__(self, sid, excite_id, delay=0, dphase=0, tc=0, td=0, Type='LOAD', comment=''):
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment

        if Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
            Type = 'LOAD'
        elif Type in [1, 'D', 'DI', 'DIS', 'DISP']:
            Type = 'DISP'
        elif Type in [2, 'V', 'VE', 'VEL', 'VELO']:
            Type = 'VELO'
        elif Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
            Type = 'ACCE'
        else:
            msg += 'invalid RLOAD1 type  Type=%r\n' % Type
            raise ValueError(msg)
        self.sid = sid
        self.excite_id = excite_id
        self.delay = delay
        self.dphase = dphase
        self.tc = tc
        self.td = td
        self.Type = Type
        assert sid > 0, self
Ejemplo n.º 16
0
    def __init__(self, sid, excite_id, delay=0, Type='LOAD', T1=0., T2=None,
                 frequency=0., phase=0., c=0., b=0., us0=0., vs0=0., comment=''):
        """
        Creates a TLOAD1 card

        Parameters
        ----------
        sid : int
            load id
        excite_id : int
            node id where the load is applied
        delay : int/float; default=None
            the delay; if it's 0/blank there is no delay
            float : delay in units of time
            int : delay id
        Type : int/str; default='LOAD'
            the type of load
            0/LOAD
            1/DISP
            2/VELO
            3/ACCE
            4, 5, 6, 7, 12, 13 - MSC only
        T1 : float; default=0.
            ???
        T2 : float; default=None
            ???
        frequency : float; default=0.
            ???
        phase : float; default=0.
            ???
        c : float; default=0.
            ???
        b : float; default=0.
            ???
        us0 : float; default=0.
            Factor for initial displacements of the enforced degrees-of-freedom
            MSC only
        vs0 : float; default=0.
            Factor for initial velocities of the enforced degrees-of-freedom
            MSC only
        comment : str; default=''
            a comment for the card
        """
        TabularLoad.__init__(self)
        if comment:
            self.comment = comment
        if T2 is None:
            T2 = T1
        if Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
            Type = 'LOAD'
        elif Type in [1, 'D', 'DI', 'DIS', 'DISP']:
            Type = 'DISP'
        elif Type in [2, 'V', 'VE', 'VEL', 'VELO']:
            Type = 'VELO'
        elif Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
            Type = 'ACCE'
        elif Type in [5, 6, 7, 12, 13]: # MSC only
            pass
        else:
            msg = 'invalid TLOAD2 type  Type=%r' % Type
            raise RuntimeError(msg)

        #: load ID
        #: SID must be unique for all TLOAD1, TLOAD2, RLOAD1, RLOAD2, and ACSRCE entries.
        self.sid = sid
        self.excite_id = excite_id
        self.delay = delay

        #: Defines the type of the dynamic excitation. (Integer; character
        #: or blank; Default = 0)
        self.Type = Type

        #: Time constant. (Real >= 0.0)
        self.T1 = T1
        #: Time constant. (Real; T2 > T1)
        self.T2 = T2

        #: Frequency in cycles per unit time. (Real >= 0.0; Default = 0.0)
        self.frequency = frequency

        #: Phase angle in degrees. (Real; Default = 0.0)
        self.phase = phase

        #: Exponential coefficient. (Real; Default = 0.0)
        self.c = c

        #: Growth coefficient. (Real; Default = 0.0)
        self.b = b

        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0

        #: Factor for initial velocities of the enforced degrees-of-freedom
        #: (Real; Default = 0.0)
        self.vs0 = vs0
Ejemplo n.º 17
0
    def __init__(self, sid, excite_id, tid, delay=None, Type='LOAD',
                 us0=0.0, vs0=0.0, comment=''):
        """
        Creates a TLOAD1 card

        Parameters
        ----------
        sid : int
            load id
        excite_id : int
            node id where the load is applied
        tid : int
            TABLEDi id that defines F(t) for all degrees of freedom in
            EXCITEID entry
            float : MSC not supported
        delay : int/float; default=None
            the delay; if it's 0/blank there is no delay
            float : delay in units of time
            int : delay id
        Type : int/str; default='LOAD'
            the type of load
            0/LOAD
            1/DISP
            2/VELO
            3/ACCE
            4, 5, 6, 7, 12, 13 - MSC only
        us0 : float; default=0.
            Factor for initial displacements of the enforced degrees-of-freedom
            MSC only
        vs0 : float; default=0.
            Factor for initial velocities of the enforced degrees-of-freedom
            MSC only
        comment : str; default=''
            a comment for the card
        """
        TabularLoad.__init__(self)
        if delay is None:
            delay = 0

        if comment:
            self.comment = comment
        if Type in [0, 'L', 'LO', 'LOA', 'LOAD']:
            Type = 'LOAD'
        elif Type in [1, 'D', 'DI', 'DIS', 'DISP']:
            Type = 'DISP'
        elif Type in [2, 'V', 'VE', 'VEL', 'VELO']:
            Type = 'VELO'
        elif Type in [3, 'A', 'AC', 'ACC', 'ACCE']:
            Type = 'ACCE'
        elif Type in [4, 5, 6, 7, 12, 13]:  # MSC-only
            pass
        else:
            msg = 'invalid TLOAD1 type  Type=%r' % Type
            raise RuntimeError(msg)

        #: load ID
        self.sid = sid

        #: Identification number of DAREA or SPCD entry set or a thermal load
        #: set (in heat transfer analysis) that defines {A}. (Integer > 0)
        self.excite_id = excite_id

        #: If it is a non-zero integer, it represents the
        #: identification number of DELAY Bulk Data entry that defines .
        #: If it is real, then it directly defines the value of that will
        #: be used for all degrees-of-freedom that are excited by this
        #: dynamic load entry.  See also Remark 9. (Integer >= 0,
        #: real or blank)
        self.delay = delay

        #: Defines the type of the dynamic excitation. (LOAD,DISP, VELO, ACCE)
        self.Type = Type

        #: Identification number of TABLEDi entry that gives F(t). (Integer > 0)
        self.tid = tid

        #: Factor for initial displacements of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.us0 = us0
        #: Factor for initial velocities of the enforced degrees-of-freedom.
        #: (Real; Default = 0.0)
        self.vs0 = vs0