def test_case_control_01(self): lines = [ 'SPC=2', 'MPC =3', 'STRESS= ALL', 'DISPLACEMENT(PLOT,PUNCH) = 8', ] deck = CaseControlDeck(lines) deck.write_begin_bulk = False self.assertTrue(deck.has_parameter(0, 'SPC')) self.assertTrue(deck.has_parameter(0, 'sPC')) self.assertFalse(deck.has_parameter(0, 'JUNK')) #print("get_subcase_parameter(MPC) 3 = ", deck.get_subcase_parameter(0, 'MPC')) deck.add_parameter_to_global_subcase('GPFORCE = 7') deck.create_new_subcase(1) deck.create_new_subcase(2) deck.add_parameter_to_local_subcase(1, 'STRAIN = 7') unused_out = deck.get_subcase_parameter(0, 'GPFORCE') deck.add_parameter_to_local_subcase(1, 'ANALYSIS = SAERO') deck.add_parameter_to_local_subcase(2, 'ANALYSIS = STATIC') unused_out = deck.get_subcase_parameter(2, 'ANALYSIS') deck.add_parameter_to_local_subcase(1, 'SET 1 = 100') deck.add_parameter_to_local_subcase(1, 'SET 2 = 200') lines_expected = [ 'DISPLACEMENT(PLOT,PUNCH) = 8', 'GPFORCE = 7', 'MPC = 3', 'SPC = 2', 'STRESS = ALL', 'SUBCASE 1', ' SET 1 = 100', ' SET 2 = 200', ' ANALYSIS = SAERO', ' STRAIN = 7', 'SUBCASE 2', ' ANALYSIS = STATIC', ] deck_string = '%s' % deck deck_lines = deck_string.strip().splitlines() msg = '\n' + '\n'.join(deck_lines) self.assertEqual(lines_expected, deck_lines, msg=msg) compare_lines(self, deck_lines, lines_expected, has_endline=False)
def test_case_control_01(self): lines = ['SPC=2', 'MPC =3', 'STRESS= ALL', 'DISPLACEMENT(PLOT,PUNCH) = 8', ] deck = CaseControlDeck(lines) deck.write_begin_bulk = False self.assertTrue(deck.has_parameter(0, 'SPC')) self.assertTrue(deck.has_parameter(0, 'sPC')) self.assertFalse(deck.has_parameter(0, 'JUNK')) #print("get_subcase_parameter(MPC) 3 = ", deck.get_subcase_parameter(0, 'MPC')) deck.add_parameter_to_global_subcase('GPFORCE = 7') deck.create_new_subcase(1) deck.create_new_subcase(2) deck.add_parameter_to_local_subcase(1, 'STRAIN = 7') out = deck.get_subcase_parameter(0, 'GPFORCE') deck.add_parameter_to_local_subcase(1, 'ANALYSIS = SAERO') deck.add_parameter_to_local_subcase(2, 'ANALYSIS = STATIC') out = deck.get_subcase_parameter(2, 'ANALYSIS') deck.add_parameter_to_local_subcase(1, 'SET 1 = 100') deck.add_parameter_to_local_subcase(1, 'SET 2 = 200') lines_expected = [ 'DISPLACEMENT(PLOT,PUNCH) = 8', 'GPFORCE = 7', 'MPC = 3', 'SPC = 2', 'STRESS = ALL', 'SUBCASE 1', ' SET 1 = 100', ' SET 2 = 200', ' ANALYSIS = SAERO', ' STRAIN = 7', 'SUBCASE 2', ' ANALYSIS = STATIC',] deck_string = '%s' % deck deck_lines = deck_string.strip().splitlines() msg = '\n' + '\n'.join(deck_lines) self.assertEqual(lines_expected, deck_lines, msg=msg) compare_lines(self, deck_lines, lines_expected, has_endline=False)
def test_case_control_04(self): seti = 'SET 88 = 5, 6, 7, 8, 9, 10 THRU 55 EXCEPT 15, 16, 77, 78, 79, 100 THRU 300' lines = [] deck = CaseControlDeck(lines) deck.create_new_subcase(2) deck.add_parameter_to_local_subcase(2, seti) values, options = deck.get_subcase_parameter(2, 'SET 88') check = [ (7, True), (13, True), (15, False), (16, False), (55, True), (77, True), (99, False), (150, True), ] for value, exists in check: if exists: assert value in values, 'value=%s should be in values=%s' % (value, values) else: assert value not in values, 'value=%s should NOT be in values=%s' % (value, values) msg = write_set(values, options) singles, doubles = collapse_thru_packs(values) assert singles == [77, 78, 79], singles assert doubles == [[5, 'THRU', 14], [17, 'THRU', 55], [100, 'THRU', 300]], doubles
def test_case_control_04(self): seti = 'SET 88 = 5, 6, 7, 8, 9, 10 THRU 55 EXCEPT 15, 16, 77, 78, 79, 100 THRU 300' lines = [] deck = CaseControlDeck(lines) deck.create_new_subcase(2) deck.add_parameter_to_local_subcase(2, seti) values, set_id = deck.get_subcase_parameter(2, 'SET 88') check = [ (7, True), (13, True), (15, False), (16, False), (55, True), (77, True), (99, False), (150, True), ] for value, exists in check: if exists: assert value in values, 'value=%s should be in values=%s' % ( value, values) else: assert value not in values, 'value=%s should NOT be in values=%s' % ( value, values) unused_msg = write_set(set_id, values) singles, doubles = collapse_thru_packs(values) assert singles == [77, 78, 79], singles assert doubles == [[5, 'THRU', 14], [17, 'THRU', 55], [100, 'THRU', 300]], doubles