def write_geometry_yaml(instance, foutput): merged_schema = get_geometry_schema() validate_without_defaults(instance, merged_schema) sfx_str = '.yaml' if foutput[-5:] == sfx_str: sfx_str = '' write_yaml(instance, foutput + sfx_str)
def write_analysis_yaml(instance, foutput): merged_schema = get_analysis_schema() validate_without_defaults(instance, merged_schema) sfx_str = ".yaml" if foutput[-5:] == sfx_str: foutput = foutput[-5:] elif foutput[-4:] == ".yml": foutput = foutput[-4:] sfx_str = "-analysis.yaml" write_yaml(instance, foutput + sfx_str)
def write_modeling_yaml(instance, foutput): weis_schema = get_modeling_schema() validate_without_defaults(instance, weis_schema) sfx_str = ".yaml" if foutput[-5:] == sfx_str: foutput = foutput[-5:] elif foutput[-4:] == ".yml": foutput = foutput[-4:] sfx_str = "-modeling.yaml" instance2 = simple_types(instance) write_yaml(instance2, foutput + sfx_str)
def test_ld_slsqp(self): analysis_options = load_yaml(fname_analysis_options) solver = "LD_SLSQP" analysis_options["driver"]["optimization"]["solver"] = solver analysis_options["driver"]["optimization"]["max_iter"] = 1 new_fname_analysis_options = f"{fname_analysis_options.split('/')[-1].split('.')[0]}_{solver}.yaml" write_yaml(analysis_options, new_fname_analysis_options) wt_opt, modeling_options, opt_options = run_wisdem( fname_wt_input, fname_modeling_options, new_fname_analysis_options)
def test_cobyla(self): analysis_options = load_yaml(fname_analysis_options) solver = "COBYLA" analysis_options["driver"]["optimization"]["solver"] = solver analysis_options["driver"]["optimization"]["rhobeg"] = 0.5 analysis_options["driver"]["optimization"]["max_iter"] = 1 new_fname_analysis_options = f"{fname_analysis_options.split('/')[-1].split('.')[0]}_{solver}.yaml" write_yaml(analysis_options, new_fname_analysis_options) wt_opt, modeling_options, opt_options = run_wisdem( fname_wt_input, fname_modeling_options, new_fname_analysis_options)
def test_nelder(self): analysis_options = load_yaml(fname_analysis_options) solver = "Nelder-Mead" analysis_options["driver"]["optimization"]["solver"] = solver analysis_options["driver"]["optimization"]["adaptive"] = True analysis_options["driver"]["optimization"]["max_iter"] = 1 new_fname_analysis_options = f"{fname_analysis_options.split('/')[-1].split('.')[0]}_{solver}.yaml" write_yaml(analysis_options, new_fname_analysis_options) wt_opt, modeling_options, opt_options = run_wisdem( fname_wt_input, fname_modeling_options, new_fname_analysis_options)