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
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)
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)
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
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)
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
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
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)
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)
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
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
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
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