def test_salib_morris_driver(self):
     nt = 4
     driver = SalibDOEDriver(sa_method_name="Morris",
                             sa_doe_options={"n_trajs": nt})
     self.assert_morris_case_generation(nt, driver)
     salib_cases = driver.get_cases()
     self.assertTrue(len(salib_cases) > 0)
     salib_pb = driver.get_salib_problem()
     self.assertTrue(salib_pb)
 def test_salib_sobol_driver(self):
     ns = 100
     driver = SalibDOEDriver(
         sa_method_name="Sobol",
         sa_doe_options={
             "n_samples": ns,
             "calc_second_order": True
         },
     )
     TestSalibDoeDriver.run_driver("sobol", driver)
     salib_cases = driver.get_cases()
     self.assertTrue(len(salib_cases) > 0)
     salib_pb = driver.get_salib_problem()
     self.assertTrue(salib_pb)
from ssbj_openmdao.ssbj_disciplines.common import PolynomialFunction

from optparse import OptionParser
parser = OptionParser()
parser.add_option("-b", "--batch",
                  action="store_true", dest="batch", default=False,
                  help="do not plot anything")
(options, args) = parser.parse_args()

scalers, pf_init = get_initial_state()
# have to init pf here as pf is reimported 
# and init value computed in init_ssjb_mda is lost  
pf = PolynomialFunction(pf_init) 
pb = Problem()
pb.model = SsbjMda(scalers)
pb.driver = SalibDOEDriver(sa_method_name='Morris', sa_doe_options={'n_trajs': 10, 'n_levels': 4})
case_recorder_filename = 'ssbj_mda_screening.sqlite'        
recorder = SqliteRecorder(case_recorder_filename)
pb.driver.add_recorder(recorder)
pb.model.add_recorder(recorder)
pb.model.nonlinear_solver.add_recorder(recorder)

pb.model.add_design_var('z', lower=[0.2, 0.666, 0.875, 0.45, 0.72, 0.5], upper=[1.8, 1.333, 1.125, 1.45, 1.27, 1.5])
pb.model.add_design_var('x_aer', lower=0.75, upper=1.25)
pb.model.add_design_var('x_str', lower=[0.4, 0.75], upper=[1.6, 1.25])
pb.model.add_design_var('x_pro', lower=0.18, upper=1.81)
pb.model.add_objective('R')
pb.model.add_constraint('con1_esf', upper=0.)
pb.model.add_constraint('con2_esf', upper=0.)
pb.model.add_constraint('con_dpdx', upper=0.)
pb.model.add_constraint('con_dt', upper=0.)
Beispiel #4
0
parser.add_option("-s", "--sobol",
                  action="store_true", dest="sobol", default=False,
                  help="do not plot anything")
parser.add_option("-p", "--parallel", 
                  action="store_true", default=False,
                  help="run doe in parallel")
(options, args) = parser.parse_args()

pb = Problem(LanceurPropSolide())
sa_method_name='Morris'
sa_doe_options={'n_trajs': 10, 'n_levels': 4}
if options.sobol:
    sa_method_name='Sobol'
    sa_doe_options={'n_samples': 500, 'calc_second_order': False}

pb.driver = SalibDOEDriver(sa_method_name=sa_method_name, sa_doe_options=sa_doe_options)
pb.driver.options['run_parallel'] = options.parallel

case_recorder_filename = 'lanceur_prop_solide_screening.sqlite'        
recorder = SqliteRecorder(case_recorder_filename)
pb.driver.add_recorder(recorder)

if version.parse(OPENMDAO_VERSION) > version.parse("2.8.0"):
    pb.model.nonlinear_solver.options['err_on_non_converge'] = True
else:
    pb.model.nonlinear_solver.options['err_on_maxiter'] = True


pb.model.add_design_var('Ae', lower=-sys.float_info.max, upper=sys.float_info.max)
pb.model.add_design_var('beta', lower=-sys.float_info.max, upper=sys.float_info.max)
pb.model.add_design_var('De', lower=-sys.float_info.max, upper=sys.float_info.max)