PyFemtet 1.4.0__tar.gz → 1.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/PKG-INFO +1 -1
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/exceptions.py +14 -4
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/femopt.py +7 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/history/__init__.py +1 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/history/_history.py +28 -21
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_interface/femtet_interface.py +3 -2
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/_base_optimizer.py +11 -1
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_optimizer.py +1 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyproject.toml +3 -1
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/LICENSE +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/LICENSE_THIRD_PARTY.txt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/README.md +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/1. make_pot_and_update_po.bat +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/2. build_mo.bat +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/babel.cfg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/i18n.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.po +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/locales/messages.pot +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_i18n/messages.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/closing.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/dask_util.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/df_util.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/excel_macro_util.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/excel_parse_util.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/femtet_access_inspection.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/femtet_autosave.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/femtet_exit.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/femtet_version.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/helper.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/process_util.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/sample.xlsx +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/solidworks_variable.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/str_enum.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/_util/symbol_support_for_param_name.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/core.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/dispatch_extensions/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/dispatch_extensions/_impl.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/logger/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/logger/_impl.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/history/_hypervolume.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/history/_optimality.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_base_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_dummy_classes.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_excel_interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_excel_interface/debug-excel-interface.xlsm +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_excel_interface/excel_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_interface/_femtet_parametric.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/femtet_with_nx_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.prt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.x_t +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/update_model.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_solidworks/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_solidworks/femtet_with_solidworks_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_solidworks_interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_solidworks_interface/solidworks_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_solidworks_interface/sw_const.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_surrogate_model_interface/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_surrogate_model_interface/base_surrogate_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_surrogate_model_interface/botorch_interface.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_surrogate_model_interface/debug-pof-botorch.reccsv +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_with_excel_settings/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_with_excel_settings/with_excel_settings.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/meta_script/YAML_Generator.xlsm +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/meta_script/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/meta_script/__main__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/meta_script/sample/sample.bas +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/meta_script/sample/sample.femprj +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/_trial_queue.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_attribute.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/debug-pof-botorch.reccsv +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/enable_nonlinear_constraint.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/pof_botorch_sampler.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/wat_ex14_parametric_jp.femprj +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/scipy_optimizer/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/scipy_optimizer/_scipy_optimizer.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/prediction/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/prediction/_botorch_utils.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/prediction/_gpytorch_modules_extension.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/prediction/_helper.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/prediction/_model.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/problem.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/variable_manager/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/variable_manager/_string_as_expression.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/variable_manager/_variable_manager.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/_create_wrapped_components.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/__main__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_base_application.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_common_pages.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/alert_region.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/control_femtet.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/detail_graphs.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/main_graph.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_complex_components/pm_graph.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_detail_page.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_helper.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_process_monitor/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_application.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_pages.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dbc.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dcc.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/html.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/str_enum.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/.gitignore +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/__main__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/_application.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/_pages.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.csv +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.db +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.log +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bgr +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bnd +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.btr +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.mtl +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.prm +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.jpg +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.pdt +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.femprj +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/__init__.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/contour_creator.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/main_figure_creator.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/parallel_plot_creator.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/pm_graph_creator.py +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/wat_ex14_parametric_jp.femprj +0 -0
- {pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/worker_status.py +0 -0
|
@@ -39,7 +39,17 @@ class InterruptOptimization(ExceptionDuringOptimization): ...
|
|
|
39
39
|
class SkipSolve(ExceptionDuringOptimization): ...
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
_shown = set()
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def show_experimental_warning(feature_name, logger=None):
|
|
46
|
+
global _shown
|
|
47
|
+
if feature_name not in _shown:
|
|
48
|
+
_shown.add(feature_name)
|
|
49
|
+
msg = (f'{feature_name} は実験的機能です。将来 API 等が'
|
|
50
|
+
'大きく変更されるか、機能自体が削除される'
|
|
51
|
+
'可能性があります。')
|
|
52
|
+
if logger is not None:
|
|
53
|
+
logger.warning(msg)
|
|
54
|
+
else:
|
|
55
|
+
warnings.warn(msg)
|
|
@@ -20,6 +20,7 @@ from pyfemtet.opt.problem.variable_manager import *
|
|
|
20
20
|
from pyfemtet.opt.interface import *
|
|
21
21
|
from pyfemtet.opt.optimizer import *
|
|
22
22
|
from pyfemtet.opt.optimizer._base_optimizer import DIRECTION
|
|
23
|
+
from pyfemtet.opt.history import History
|
|
23
24
|
from pyfemtet.logger import get_module_logger
|
|
24
25
|
from pyfemtet.opt.visualization.history_viewer._process_monitor._application import (
|
|
25
26
|
process_monitor_main,
|
|
@@ -182,6 +183,12 @@ class FEMOpt:
|
|
|
182
183
|
):
|
|
183
184
|
self.opt.add_sub_fidelity_model(name, sub_fidelity_model, fidelity)
|
|
184
185
|
|
|
186
|
+
def set_termination_condition(
|
|
187
|
+
self,
|
|
188
|
+
func: Callable[[History], bool] | None,
|
|
189
|
+
):
|
|
190
|
+
self.opt.set_termination_condition(func)
|
|
191
|
+
|
|
185
192
|
def set_monitor_host(self, host: str = None, port: int = None):
|
|
186
193
|
"""Sets the host IP address and the port of the process monitor.
|
|
187
194
|
|
|
@@ -41,6 +41,7 @@ __all__ = [
|
|
|
41
41
|
'create_err_msg_from_exception',
|
|
42
42
|
'CorrespondingColumnNameRuler',
|
|
43
43
|
'MAIN_FILTER',
|
|
44
|
+
'get_trial_name'
|
|
44
45
|
]
|
|
45
46
|
|
|
46
47
|
MAIN_FILTER: dict = {
|
|
@@ -50,7 +51,32 @@ MAIN_FILTER: dict = {
|
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
logger = get_module_logger('opt.history', False)
|
|
53
|
-
logger_dask = get_module_logger(
|
|
54
|
+
logger_dask = get_module_logger("opt.dask", False)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def get_trial_name(trial=None, fidelity=None, sub_sampling=None, row: pd.Series = None):
|
|
58
|
+
if row is not None:
|
|
59
|
+
assert not math.isnan(row["trial"])
|
|
60
|
+
trial = row["trial"]
|
|
61
|
+
fidelity = row["fidelity"] if not math.isnan(row["fidelity"]) else None
|
|
62
|
+
sub_sampling = (
|
|
63
|
+
row["sub_sampling"] if not math.isnan(row["sub_sampling"]) else None
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
name_parts = ["trial"]
|
|
67
|
+
if fidelity is not None:
|
|
68
|
+
fid = str(fidelity)
|
|
69
|
+
if fid != MAIN_FIDELITY_NAME:
|
|
70
|
+
name_parts.append(fid)
|
|
71
|
+
|
|
72
|
+
name_parts.append(str(trial))
|
|
73
|
+
|
|
74
|
+
if sub_sampling is not None:
|
|
75
|
+
name_parts.append(str(sub_sampling))
|
|
76
|
+
|
|
77
|
+
trial_name = '_'.join(name_parts)
|
|
78
|
+
|
|
79
|
+
return trial_name
|
|
54
80
|
|
|
55
81
|
|
|
56
82
|
def _assert_locked_with_timeout(lock, assertion_message=None, timeout=10.):
|
|
@@ -1315,26 +1341,7 @@ class History:
|
|
|
1315
1341
|
|
|
1316
1342
|
@staticmethod
|
|
1317
1343
|
def get_trial_name(trial=None, fidelity=None, sub_sampling=None, row: pd.Series = None):
|
|
1318
|
-
|
|
1319
|
-
assert not math.isnan(row['trial'])
|
|
1320
|
-
trial = row['trial']
|
|
1321
|
-
fidelity = row['fidelity'] if not math.isnan(row['fidelity']) else None
|
|
1322
|
-
sub_sampling = row['sub_sampling'] if not math.isnan(row['sub_sampling']) else None
|
|
1323
|
-
|
|
1324
|
-
name_parts = ['trial']
|
|
1325
|
-
if fidelity is not None:
|
|
1326
|
-
fid = str(fidelity)
|
|
1327
|
-
if fid != MAIN_FIDELITY_NAME:
|
|
1328
|
-
name_parts.append(fid)
|
|
1329
|
-
|
|
1330
|
-
name_parts.append(str(trial))
|
|
1331
|
-
|
|
1332
|
-
if sub_sampling is not None:
|
|
1333
|
-
name_parts.append(str(sub_sampling))
|
|
1334
|
-
|
|
1335
|
-
trial_name = '_'.join(name_parts)
|
|
1336
|
-
|
|
1337
|
-
return trial_name
|
|
1344
|
+
return get_trial_name(trial, fidelity, sub_sampling, row)
|
|
1338
1345
|
|
|
1339
1346
|
def recording(self, fem: AbstractFEMInterface):
|
|
1340
1347
|
""":meta private:"""
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_interface/femtet_interface.py
RENAMED
|
@@ -34,6 +34,7 @@ from pyfemtet.dispatch_extensions import *
|
|
|
34
34
|
from pyfemtet.opt.interface._base_interface import COMInterface
|
|
35
35
|
from pyfemtet.opt.exceptions import *
|
|
36
36
|
from pyfemtet.opt.problem.problem import *
|
|
37
|
+
from pyfemtet.opt.history import get_trial_name
|
|
37
38
|
|
|
38
39
|
from ._femtet_parametric import *
|
|
39
40
|
|
|
@@ -1111,9 +1112,9 @@ class FemtetInterface(COMInterface):
|
|
|
1111
1112
|
if save_results.lower() == 'optimal':
|
|
1112
1113
|
for i, row in df.iterrows():
|
|
1113
1114
|
if not bool(row['optimality']):
|
|
1114
|
-
|
|
1115
|
+
trial_name_to_remove = get_trial_name(row=row)
|
|
1115
1116
|
pdt_path_to_remove = FemtetInterface._create_path(
|
|
1116
|
-
original_femprj_path, model_name,
|
|
1117
|
+
original_femprj_path, model_name, trial_name_to_remove, ext='pdt')
|
|
1117
1118
|
if os.path.isfile(pdt_path_to_remove):
|
|
1118
1119
|
os.remove(pdt_path_to_remove)
|
|
1119
1120
|
|
|
@@ -17,6 +17,7 @@ from pyfemtet.opt.problem.problem import *
|
|
|
17
17
|
from pyfemtet.opt.problem.variable_manager import *
|
|
18
18
|
from pyfemtet.opt.optimizer._trial_queue import *
|
|
19
19
|
from pyfemtet.logger import get_module_logger
|
|
20
|
+
from pyfemtet.opt.exceptions import show_experimental_warning
|
|
20
21
|
|
|
21
22
|
__all__ = [
|
|
22
23
|
'AbstractOptimizer',
|
|
@@ -114,6 +115,7 @@ class AbstractOptimizer:
|
|
|
114
115
|
self.fem: AbstractFEMInterface | None = None
|
|
115
116
|
self.history: History = History()
|
|
116
117
|
self.solve_condition: Callable[[History], bool] = lambda _: True
|
|
118
|
+
self.termination_condition: Callable[[History], bool] = lambda _: False
|
|
117
119
|
self.entire_status: WorkerStatus = WorkerStatus(ENTIRE_PROCESS_STATUS_KEY)
|
|
118
120
|
self.worker_status: WorkerStatus = WorkerStatus('worker-status')
|
|
119
121
|
self.worker_status_list: list[WorkerStatus] = [self.worker_status]
|
|
@@ -397,6 +399,13 @@ class AbstractOptimizer:
|
|
|
397
399
|
def set_solve_condition(self, fun: Callable[[History], bool]):
|
|
398
400
|
self.solve_condition = fun
|
|
399
401
|
|
|
402
|
+
def set_termination_condition(self, fun: Callable[[History], bool] | None):
|
|
403
|
+
if fun is None:
|
|
404
|
+
self.termination_condition = lambda _: False
|
|
405
|
+
else:
|
|
406
|
+
self.termination_condition = fun
|
|
407
|
+
show_experimental_warning('set_termination_condition', logger)
|
|
408
|
+
|
|
400
409
|
# ===== private =====
|
|
401
410
|
|
|
402
411
|
def _setup_enqueued_trials(self):
|
|
@@ -505,7 +514,8 @@ class AbstractOptimizer:
|
|
|
505
514
|
pass
|
|
506
515
|
|
|
507
516
|
def _postprocess(self):
|
|
508
|
-
|
|
517
|
+
if self.opt.termination_condition(self.opt.history):
|
|
518
|
+
self.opt.entire_status.value = WorkerStatus.interrupting
|
|
509
519
|
|
|
510
520
|
def _solve_or_raise(
|
|
511
521
|
self,
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_optimizer.py
RENAMED
|
@@ -267,6 +267,7 @@ class OptunaOptimizer(AbstractOptimizer):
|
|
|
267
267
|
def _postprocess(self):
|
|
268
268
|
# update trial attribute
|
|
269
269
|
self.optuna_attr.set_user_attr_to_trial(self.opt.current_trial)
|
|
270
|
+
super()._postprocess()
|
|
270
271
|
|
|
271
272
|
def _create_infeasible_constraints(self, opt_: AbstractOptimizer = None) -> tuple:
|
|
272
273
|
opt_ = opt_ if opt_ is not None else self
|
|
@@ -33,7 +33,7 @@ dependencies = [
|
|
|
33
33
|
|
|
34
34
|
#[project.optional-dependencies]
|
|
35
35
|
#brep = ["brepmatching>=0.1.8,<0.2"]
|
|
36
|
-
version = "1.
|
|
36
|
+
version = "1.5.1"
|
|
37
37
|
|
|
38
38
|
[project.urls]
|
|
39
39
|
Repository = "https://github.com/pyfemtet/pyfemtet"
|
|
@@ -57,6 +57,8 @@ dev = [
|
|
|
57
57
|
"pytest-cov>=6.1.1",
|
|
58
58
|
"pytest-reporter-html-dots>=0.11.0",
|
|
59
59
|
"esbonio>=0.12.0",
|
|
60
|
+
"pandas-stubs>=2.3.2.250926",
|
|
61
|
+
"scipy-stubs>=1.15.3.0",
|
|
60
62
|
]
|
|
61
63
|
|
|
62
64
|
[tool.uv-dynamic-versioning]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_excel_interface/debug-excel-interface.xlsm
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_excel_interface/excel_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_interface/_femtet_parametric.py
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.prt
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.x_t
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_nx_interface/update_model.py
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_femtet_with_solidworks/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_surrogate_model_interface/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/interface/_with_excel_settings/with_excel_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_attribute.py
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/optimizer/scipy_optimizer/_scipy_optimizer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/variable_manager/_string_as_expression.py
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/problem/variable_manager/_variable_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_base_application.py
RENAMED
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/_common_pages.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/history_viewer/result_viewer/_pages.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfemtet-1.4.0 → pyfemtet-1.5.1}/pyfemtet/opt/visualization/plotter/parallel_plot_creator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|