Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion aviary/interface/methods_for_level2.py
Original file line number Diff line number Diff line change
Expand Up @@ -1366,7 +1366,9 @@ def run_off_design_mission(
)

if name is None:
name = name = self._name + '_off_design'
name = self._name + '_' + str(problem_type.value)
curr_time = datetime.now().strftime('%m%d%y%H%M%S')
name += '_' + curr_time
off_design_prob = AviaryProblem(name=name)

# Set up problem for mission, such as equations of motion, configurators, etc.
Expand Down
15 changes: 15 additions & 0 deletions aviary/interface/test/test_save_results.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import unittest
from unittest.mock import patch, Mock
from copy import deepcopy
from datetime import datetime
import re

from openmdao.utils.testing_utils import require_pyoptsparse, use_tempdirs

Expand Down Expand Up @@ -66,6 +69,18 @@ def test_fallout(self):
prob = reload_aviary_problem('interface/test/sizing_results_for_test.json')
prob.run_off_design_mission(problem_type='fallout', phase_info=local_phase_info)

@require_pyoptsparse(optimizer='IPOPT')
@patch('aviary.interface.methods_for_level2.datetime')
def test_output_naming(self, mock_datetime):
fixed_now = datetime(2026, 2, 5, 12, 1, 1)
mock_datetime.now.return_value = fixed_now

local_phase_info = deepcopy(phase_info)

prob = reload_aviary_problem('interface/test/sizing_results_for_test.json')
prob = prob.run_off_design_mission(problem_type='fallout', phase_info=local_phase_info)
self.assertTrue('fallout_020526120101' in prob._name)

def compare_files(self, test_file, validation_file):
"""
Compares the specified file with a validation file.
Expand Down
Loading