pyfemtet 1.2.0__tar.gz → 1.2.2__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.

Potentially problematic release.


This version of pyfemtet might be problematic. Click here for more details.

Files changed (182) hide show
  1. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/PKG-INFO +1 -1
  2. pyfemtet-1.2.2/pyfemtet/_util/symbol_support_for_param_name.py +15 -0
  3. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_interface/_femtet_parametric.py +57 -32
  4. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/problem/variable_manager/_string_as_expression.py +25 -8
  5. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/problem/variable_manager/_variable_manager.py +2 -3
  6. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyproject.toml +1 -1
  7. pyfemtet-1.2.0/pyfemtet/_util/atmark_support_for_param_name.py +0 -2
  8. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/LICENSE +0 -0
  9. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/LICENSE_THIRD_PARTY.txt +0 -0
  10. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/README.md +0 -0
  11. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/__init__.py +0 -0
  12. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/1. make_pot_and_update_po.bat +0 -0
  13. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/2. build_mo.bat +0 -0
  14. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/__init__.py +0 -0
  15. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/babel.cfg +0 -0
  16. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/i18n.py +0 -0
  17. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
  18. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.po +0 -0
  19. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/locales/messages.pot +0 -0
  20. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_i18n/messages.py +0 -0
  21. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/__init__.py +0 -0
  22. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/closing.py +0 -0
  23. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/dask_util.py +0 -0
  24. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/df_util.py +0 -0
  25. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/excel_macro_util.py +0 -0
  26. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/excel_parse_util.py +0 -0
  27. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/femtet_access_inspection.py +0 -0
  28. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/femtet_autosave.py +0 -0
  29. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/femtet_exit.py +0 -0
  30. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/femtet_version.py +0 -0
  31. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/helper.py +0 -0
  32. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/process_util.py +0 -0
  33. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/sample.xlsx +0 -0
  34. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/solidworks_variable.py +0 -0
  35. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/_util/str_enum.py +0 -0
  36. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/core.py +0 -0
  37. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/dispatch_extensions/__init__.py +0 -0
  38. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/dispatch_extensions/_impl.py +0 -0
  39. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/logger/__init__.py +0 -0
  40. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/logger/_impl.py +0 -0
  41. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/__init__.py +0 -0
  42. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/exceptions.py +0 -0
  43. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/femopt.py +0 -0
  44. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/history/__init__.py +0 -0
  45. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/history/_history.py +0 -0
  46. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/history/_hypervolume.py +0 -0
  47. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/history/_optimality.py +0 -0
  48. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/__init__.py +0 -0
  49. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_base_interface.py +0 -0
  50. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_dummy_classes.py +0 -0
  51. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_excel_interface/__init__.py +0 -0
  52. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_excel_interface/debug-excel-interface.xlsm +0 -0
  53. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_excel_interface/excel_interface.py +0 -0
  54. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_interface/__init__.py +0 -0
  55. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_interface/femtet_interface.py +0 -0
  56. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_nx_interface/__init__.py +0 -0
  57. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_nx_interface/femtet_with_nx_interface.py +0 -0
  58. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.prt +0 -0
  59. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.x_t +0 -0
  60. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_nx_interface/update_model.py +0 -0
  61. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_solidworks/__init__.py +0 -0
  62. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_femtet_with_solidworks/femtet_with_solidworks_interface.py +0 -0
  63. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_solidworks_interface/__init__.py +0 -0
  64. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_solidworks_interface/solidworks_interface.py +0 -0
  65. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_solidworks_interface/sw_const.py +0 -0
  66. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_surrogate_model_interface/__init__.py +0 -0
  67. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_surrogate_model_interface/base_surrogate_interface.py +0 -0
  68. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_surrogate_model_interface/botorch_interface.py +0 -0
  69. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_surrogate_model_interface/debug-pof-botorch.reccsv +0 -0
  70. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_with_excel_settings/__init__.py +0 -0
  71. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/interface/_with_excel_settings/with_excel_settings.py +0 -0
  72. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/meta_script/YAML_Generator.xlsm +0 -0
  73. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/meta_script/__init__.py +0 -0
  74. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/meta_script/__main__.py +0 -0
  75. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/meta_script/sample/sample.bas +0 -0
  76. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/meta_script/sample/sample.femprj +0 -0
  77. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/__init__.py +0 -0
  78. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/_base_optimizer.py +0 -0
  79. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/_trial_queue.py +0 -0
  80. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/__init__.py +0 -0
  81. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_attribute.py +0 -0
  82. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_optimizer.py +0 -0
  83. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/__init__.py +0 -0
  84. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/debug-pof-botorch.reccsv +0 -0
  85. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/enable_nonlinear_constraint.py +0 -0
  86. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/pof_botorch_sampler.py +0 -0
  87. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/optuna_optimizer/wat_ex14_parametric_jp.femprj +0 -0
  88. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/scipy_optimizer/__init__.py +0 -0
  89. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/optimizer/scipy_optimizer/_scipy_optimizer.py +0 -0
  90. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/prediction/__init__.py +0 -0
  91. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/prediction/_botorch_utils.py +0 -0
  92. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/prediction/_gpytorch_modules_extension.py +0 -0
  93. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/prediction/_helper.py +0 -0
  94. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/prediction/_model.py +0 -0
  95. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/problem/__init__.py +0 -0
  96. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/problem/problem.py +0 -0
  97. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/problem/variable_manager/__init__.py +0 -0
  98. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/__init__.py +0 -0
  99. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/_create_wrapped_components.py +0 -0
  100. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/__init__.py +0 -0
  101. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/__main__.py +0 -0
  102. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_base_application.py +0 -0
  103. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_common_pages.py +0 -0
  104. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/__init__.py +0 -0
  105. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/alert_region.py +0 -0
  106. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/control_femtet.py +0 -0
  107. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/detail_graphs.py +0 -0
  108. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/main_graph.py +0 -0
  109. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_complex_components/pm_graph.py +0 -0
  110. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_detail_page.py +0 -0
  111. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_helper.py +0 -0
  112. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_process_monitor/__init__.py +0 -0
  113. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_application.py +0 -0
  114. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_pages.py +0 -0
  115. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/__init__.py +0 -0
  116. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dbc.py +0 -0
  117. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dcc.py +0 -0
  118. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/html.py +0 -0
  119. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/str_enum.py +0 -0
  120. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/.gitignore +0 -0
  121. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/__init__.py +0 -0
  122. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/__main__.py +0 -0
  123. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/_application.py +0 -0
  124. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/_pages.py +0 -0
  125. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.csv +0 -0
  126. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.db +0 -0
  127. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.jpg +0 -0
  128. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.log +0 -0
  129. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.pdt +0 -0
  130. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.jpg +0 -0
  131. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.pdt +0 -0
  132. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.jpg +0 -0
  133. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.pdt +0 -0
  134. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.jpg +0 -0
  135. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.pdt +0 -0
  136. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.jpg +0 -0
  137. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.pdt +0 -0
  138. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.jpg +0 -0
  139. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.pdt +0 -0
  140. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.jpg +0 -0
  141. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.pdt +0 -0
  142. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.jpg +0 -0
  143. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.pdt +0 -0
  144. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.jpg +0 -0
  145. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.pdt +0 -0
  146. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.jpg +0 -0
  147. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.pdt +0 -0
  148. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.jpg +0 -0
  149. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.pdt +0 -0
  150. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.jpg +0 -0
  151. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.pdt +0 -0
  152. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.jpg +0 -0
  153. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.pdt +0 -0
  154. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.jpg +0 -0
  155. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.pdt +0 -0
  156. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.jpg +0 -0
  157. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.pdt +0 -0
  158. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bgr +0 -0
  159. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bnd +0 -0
  160. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.btr +0 -0
  161. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.jpg +0 -0
  162. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.mtl +0 -0
  163. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.pdt +0 -0
  164. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.prm +0 -0
  165. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.jpg +0 -0
  166. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.pdt +0 -0
  167. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.jpg +0 -0
  168. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.pdt +0 -0
  169. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.jpg +0 -0
  170. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.pdt +0 -0
  171. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.jpg +0 -0
  172. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.pdt +0 -0
  173. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.jpg +0 -0
  174. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.pdt +0 -0
  175. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.femprj +0 -0
  176. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/plotter/__init__.py +0 -0
  177. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/plotter/contour_creator.py +0 -0
  178. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/plotter/main_figure_creator.py +0 -0
  179. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/plotter/parallel_plot_creator.py +0 -0
  180. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/visualization/plotter/pm_graph_creator.py +0 -0
  181. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/wat_ex14_parametric_jp.femprj +0 -0
  182. {pyfemtet-1.2.0 → pyfemtet-1.2.2}/pyfemtet/opt/worker_status.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyfemtet
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -0,0 +1,15 @@
1
+ at = '@'
2
+ AT = '_at_'
3
+ hyphen = '-'
4
+ HYPHEN = '_hyphen_'
5
+ dot = '.'
6
+ DOT = '_dot_'
7
+
8
+
9
+ def convert_symbols(name):
10
+ return (
11
+ name
12
+ .replace(dot, DOT)
13
+ .replace(at, AT)
14
+ .replace(hyphen, HYPHEN)
15
+ )
@@ -110,44 +110,69 @@ class ParametricResultCSVProcessor:
110
110
  df['row_num'] = range(2, len(df) + 2) # row=0 は header, excel は 1 始まり
111
111
 
112
112
  # 「結果出力設定番号」カラムが存在するか
113
- if '結果出力設定番号' in df.columns: # TODO: 英語版対応
113
+ key = '結果出力設定番号'
114
+ key_en = ' Output setting Number'
114
115
 
115
- # 与えられた output_number に関連する行だけ抜き出し
116
- # エラーがあるかどうかチェックする
117
- idx = df['結果出力設定番号'] == parametric_output_index + 1
118
- pdf = df[idx]
116
+ def get_pdf(key_, key_en_):
117
+ if key_ in df.columns:
119
118
 
120
- # 結果出力設定番号 カラムが存在しない
121
- else:
122
- # output_number に関係なくエラーがあればエラーにする
123
- pdf = df
119
+ # 与えられた output_number に関連する行だけ抜き出し
120
+ # エラーがあるかどうかチェックする
121
+ idx = df[key_] == parametric_output_index + 1
122
+ pdf_ = df[idx]
123
+
124
+ elif key_en_ in df.columns:
125
+ idx = df[key_en_] == parametric_output_index + 1
126
+ pdf_ = df[idx]
127
+
128
+ # 結果出力設定番号 カラムが存在しない
129
+ else:
130
+ # output_number に関係なくエラーがあればエラーにする
131
+ pdf_ = df
132
+
133
+ return pdf_
134
+
135
+ pdf = get_pdf(key, key_en)
124
136
 
125
137
  # エラーの有無を確認
126
- if 'エラー' in pdf.columns: # TODO: 英語版対応
127
- is_no_error = np.all(pdf['エラー'].isna().values)
128
-
129
- if not is_no_error:
130
- error_message_row_numbers = pdf['row_num'][~pdf['エラー'].isna()].values.astype(str)
131
- error_messages = pdf['エラー'][~pdf['エラー'].isna()].values.astype(str)
132
-
133
- def add_st_or_nd_or_th(n_: int):
134
- if n_ == 1:
135
- return f'{n_}st'
136
- elif n_ == 2:
137
- return f'{n_}nd'
138
- elif n_ == 3:
139
- return f'{n_}rd'
140
- else:
141
- return f'{n_}th'
142
-
143
- error_msg = f'Error message(s) from {os.path.basename(table_csv_path)}: ' + ', '.join(
144
- [f'({add_st_or_nd_or_th(row)} row) {message}'
145
- for row, message in zip(error_message_row_numbers, error_messages)])
138
+ key = 'エラー'
139
+
140
+ def handle_error(key_):
141
+ if key_ in pdf.columns:
142
+ is_no_error_ = np.all(pdf[key_].isna().values)
143
+
144
+ if not is_no_error_:
145
+ error_message_row_numbers = pdf['row_num'][~pdf[key_].isna()].values.astype(str)
146
+ error_messages = pdf[key_][~pdf[key_].isna()].values.astype(str)
147
+
148
+ def add_st_or_nd_or_th(n_: int):
149
+ if n_ == 1:
150
+ return f'{n_}st'
151
+ elif n_ == 2:
152
+ return f'{n_}nd'
153
+ elif n_ == 3:
154
+ return f'{n_}rd'
155
+ else:
156
+ return f'{n_}th'
157
+
158
+ error_msg_ = f'Error message(s) from {os.path.basename(table_csv_path)}: ' + ', '.join(
159
+ [f'({add_st_or_nd_or_th(row)} row) {message}'
160
+ for row, message in zip(error_message_row_numbers, error_messages)])
161
+ else:
162
+ error_msg_ = None
163
+
164
+ return is_no_error_, error_msg_
165
+
146
166
  else:
147
- error_msg = None
167
+ return None, 'NO_KEY'
168
+
169
+ is_no_error, error_msg = handle_error(key)
148
170
 
149
- else:
150
- raise RuntimeError('Internal Error! Parametric Analysis '
171
+ if error_msg == 'NO_KEY':
172
+ key = ' Error'
173
+ is_no_error, error_msg = handle_error(key)
174
+ if error_msg == 'NO_KEY':
175
+ assert False, ('Internal Error! Parametric Analysis '
151
176
  'output csv has no error column.')
152
177
 
153
178
  return is_no_error, error_msg
@@ -1,16 +1,32 @@
1
+ import re
1
2
  from numbers import Number
2
3
 
3
4
  from sympy import sympify
4
5
  from sympy.core.sympify import SympifyError
5
6
  from sympy import Min, Max, Add, Symbol, Expr, Basic # TODO: Add sqrt, pow
6
7
 
7
- from pyfemtet._util.atmark_support_for_param_name import at, AT
8
+ from pyfemtet._util.symbol_support_for_param_name import convert_symbols
8
9
 
9
10
  __all__ = [
10
11
  '_ExpressionFromString', 'InvalidExpression', 'SympifyError'
11
12
  ]
12
13
 
13
14
 
15
+ def _convert(expr_str):
16
+ """ \" で囲まれた部分があれば記号を置き換える """
17
+
18
+ def repl(m: re.Match) -> str:
19
+ inner = m.group(1)
20
+ return f'"{convert_symbols(inner)}"'
21
+
22
+ # 非貪欲で " 内だけを拾う
23
+ expr_str = re.sub(r'"(.+?)"', repl, expr_str)
24
+ # " を消す
25
+ expr_str = expr_str.replace('"', '')
26
+
27
+ return expr_str
28
+
29
+
14
30
  class InvalidExpression(Exception):
15
31
  pass
16
32
 
@@ -33,7 +49,6 @@ class _ExpressionFromString:
33
49
  self,
34
50
  expression_string: str | Number = None,
35
51
  sympy_expr: Expr = None,
36
- _disable_matmul_operator: bool = True, # @ を文字式で使えるように文字列中の @ を AT に変換する
37
52
  ):
38
53
  """
39
54
  Raises:
@@ -61,6 +76,10 @@ class _ExpressionFromString:
61
76
  e.expr # '1.0'
62
77
  e.value # 1.0
63
78
 
79
+ # To use "-", "@" and "." for name
80
+ e = Expression('"Sample-1.0@Part1" * 2')
81
+ e.expr # 'Sample_hyphen_1_dot_0_at_Part1 * 2'
82
+
64
83
  """
65
84
 
66
85
  # check
@@ -73,9 +92,7 @@ class _ExpressionFromString:
73
92
 
74
93
  else:
75
94
  assert expression_string is not None
76
- if _disable_matmul_operator:
77
- expression_string = expression_string.replace(at, AT)
78
- self._expr_str: str = str(expression_string)
95
+ self._expr_str: str = _convert(str(expression_string))
79
96
 
80
97
  # max(name1, name2) など関数を入れる際に問題になるので
81
98
  # 下記の仕様は廃止、使い方として数値桁区切り , を入れてはいけない
@@ -83,7 +100,7 @@ class _ExpressionFromString:
83
100
  # # 日本人が数値に , を使うとき Python では _ を意味する
84
101
  # # expression に _ が入っていても構わない
85
102
  # tmp_expr = str(self._expr_str).replace(',', '_')
86
- self._sympy_expr = sympify(self._expr_str, locals=get_valid_functions())
103
+ self._sympy_expr = sympify(self._expr_str, locals=get_valid_functions()) # noqa
87
104
 
88
105
  if not isinstance(self._sympy_expr, Basic):
89
106
  raise InvalidExpression(f'{self._expr_str} は数式ではありません。')
@@ -110,12 +127,12 @@ class _ExpressionFromString:
110
127
  in dependency_values.values()]), \
111
128
  'ExpressionFromString では数値変数のみをサポートしています。'
112
129
 
113
- re_sympy_expr = sympify(
130
+ re_sympy_expr = sympify( # noqa
114
131
  self.expression_string,
115
132
  locals=get_valid_functions(dependency_values),
116
133
  )
117
134
 
118
- evaluated_sympy_obj = re_sympy_expr.subs(dependency_values)
135
+ evaluated_sympy_obj = re_sympy_expr.subs(dependency_values) # noqa
119
136
  try:
120
137
  evaluated_value = float(evaluated_sympy_obj)
121
138
  except (ValueError, TypeError) as e:
@@ -10,7 +10,7 @@ import numpy as np
10
10
  from ._string_as_expression import _ExpressionFromString
11
11
 
12
12
  from pyfemtet._i18n import _
13
- from pyfemtet._util.atmark_support_for_param_name import at, AT
13
+ from pyfemtet._util.symbol_support_for_param_name import convert_symbols
14
14
 
15
15
  __all__ = [
16
16
  'SupportedVariableTypes',
@@ -361,8 +361,7 @@ class VariableManager:
361
361
  variable.properties.update(
362
362
  {'original_name': original_name}
363
363
  )
364
- if at in variable.name:
365
- variable.name = variable.name.replace(at, AT)
364
+ variable.name = convert_symbols(variable.name)
366
365
  if not unicodedata.is_normalized('NFKC', variable.name):
367
366
  variable.name = unicodedata.normalize('NFKC', variable.name)
368
367
  self.variables.update({variable.name: variable})
@@ -33,7 +33,7 @@ dependencies = [
33
33
 
34
34
  #[project.optional-dependencies]
35
35
  #brep = ["brepmatching>=0.1.8,<0.2"]
36
- version = "1.2.0"
36
+ version = "1.2.2"
37
37
 
38
38
  [project.urls]
39
39
  Repository = "https://github.com/pyfemtet/pyfemtet"
@@ -1,2 +0,0 @@
1
- at = '@'
2
- AT = '_at_'
File without changes
File without changes
File without changes
File without changes