pyfemtet 0.4.8__tar.gz → 0.4.9__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 (81) hide show
  1. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/PKG-INFO +1 -1
  2. pyfemtet-0.4.9/pyfemtet/__init__.py +1 -0
  3. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/_femopt.py +1 -4
  4. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/_femopt_core.py +1 -1
  5. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_NX.py +7 -0
  6. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_SW.py +7 -0
  7. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gal_ex58_parametric.py +7 -0
  8. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gau_ex08_parametric.py +7 -0
  9. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/her_ex40_parametric.py +7 -0
  10. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/paswat_ex1_parametric.py +7 -0
  11. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/paswat_ex1_parametric_parallel.py +7 -0
  12. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/wat_ex14_parametric.py +7 -0
  13. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/cad_ex01_NX_jp.py +7 -0
  14. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/cad_ex01_SW_jp.py +7 -0
  15. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/gal_ex58_parametric_jp.py +7 -0
  16. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/gau_ex08_parametric_jp.py +7 -0
  17. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/her_ex40_parametric_jp.py +7 -0
  18. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/paswat_ex1_parametric_jp.py +7 -0
  19. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/paswat_ex1_parametric_parallel_jp.py +7 -0
  20. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/wat_ex14_parametric_jp.py +7 -0
  21. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/visualization/_monitor.py +1 -1
  22. pyfemtet-0.4.9/pyfemtet/opt/visualization/result_viewer.py +13 -0
  23. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyproject.toml +2 -2
  24. pyfemtet-0.4.8/pyfemtet/__init__.py +0 -1
  25. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/LICENSE +0 -0
  26. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/README.md +0 -0
  27. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/NX_ex01/NX_ex01.femprj +0 -0
  28. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/NX_ex01/NX_ex01.prt +0 -0
  29. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/NX_ex01/NX_ex01.py +0 -0
  30. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/Sldworks_ex01/Sldworks_ex01.SLDPRT +0 -0
  31. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/Sldworks_ex01/Sldworks_ex01.femprj +0 -0
  32. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/Sldworks_ex01/Sldworks_ex01.py +0 -0
  33. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/_her_ex40_parametric.py +0 -0
  34. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/gau_ex08_parametric.femprj +0 -0
  35. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/gau_ex08_parametric.py +0 -0
  36. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/her_ex40_parametric.femprj +0 -0
  37. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/her_ex40_parametric.py +0 -0
  38. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/wat_ex14_parallel_parametric.py +0 -0
  39. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/wat_ex14_parametric.femprj +0 -0
  40. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/FemtetPJTSample/wat_ex14_parametric.py +0 -0
  41. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/_test_util.py +0 -0
  42. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/core.py +0 -0
  43. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/dispatch_extensions.py +0 -0
  44. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/logger.py +0 -0
  45. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/__init__.py +0 -0
  46. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_NX.femprj +0 -0
  47. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_NX.prt +0 -0
  48. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_NX_test_result.reccsv +0 -0
  49. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_SW.SLDPRT +0 -0
  50. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_SW.femprj +0 -0
  51. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/cad_ex01_SW_test_result.reccsv +0 -0
  52. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gal_ex58_parametric.femprj +0 -0
  53. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gal_ex58_parametric_test_result.reccsv +0 -0
  54. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gau_ex08_parametric.femprj +0 -0
  55. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/gau_ex08_parametric_test_result.reccsv +0 -0
  56. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/her_ex40_parametric.femprj +0 -0
  57. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/her_ex40_parametric_test_result.reccsv +0 -0
  58. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/paswat_ex1_parametric.femprj +0 -0
  59. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/paswat_ex1_parametric_test_result.reccsv +0 -0
  60. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/wat_ex14_parametric.femprj +0 -0
  61. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample/wat_ex14_parametric_test_result.reccsv +0 -0
  62. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/cad_ex01_NX_jp.femprj +0 -0
  63. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/cad_ex01_SW_jp.femprj +0 -0
  64. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/gal_ex58_parametric_jp.femprj +0 -0
  65. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/gau_ex08_parametric_jp.femprj +0 -0
  66. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/her_ex40_parametric_jp.femprj +0 -0
  67. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/paswat_ex1_parametric_jp.femprj +0 -0
  68. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/femprj_sample_jp/wat_ex14_parametric_jp.femprj +0 -0
  69. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/__init__.py +0 -0
  70. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_base.py +0 -0
  71. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet.py +0 -0
  72. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet_parametric.py +0 -0
  73. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet_with_nx/__init__.py +0 -0
  74. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet_with_nx/_interface.py +0 -0
  75. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet_with_nx/update_model.py +0 -0
  76. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/interface/_femtet_with_sldworks.py +0 -0
  77. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/opt/__init__.py +0 -0
  78. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/opt/_base.py +0 -0
  79. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/opt/_optuna.py +0 -0
  80. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/visualization/__init__.py +0 -0
  81. {pyfemtet-0.4.8 → pyfemtet-0.4.9}/pyfemtet/opt/visualization/_graphs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyfemtet
3
- Version: 0.4.8
3
+ Version: 0.4.9
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  Home-page: https://github.com/pyfemtet/pyfemtet
6
6
  License: BSD-3-Clause
@@ -0,0 +1 @@
1
+ __version__ = "0.4.9"
@@ -513,10 +513,7 @@ class FEMOpt:
513
513
  sleep(1)
514
514
 
515
515
  # terminate monitor process
516
- if self._is_error_exit:
517
- self.status.set(OptimizationStatus.CRASHED)
518
- else:
519
- self.status.set(OptimizationStatus.TERMINATE_ALL)
516
+ self.status.set(OptimizationStatus.TERMINATE_ALL)
520
517
  logger.info(self.monitor_process_future.result())
521
518
  sleep(1)
522
519
 
@@ -713,8 +713,8 @@ class OptimizationStatus:
713
713
  RUNNING = 30
714
714
  INTERRUPTING = 40
715
715
  TERMINATED = 50
716
- CRASHED = 55
717
716
  TERMINATE_ALL = 60
717
+ CRASHED = 70
718
718
 
719
719
  def __init__(self, client, name='entire'):
720
720
  self._future = client.submit(_OptimizationStatusActor, actor=True)
@@ -133,4 +133,11 @@ if __name__ == '__main__':
133
133
  # Run optimization.
134
134
  femopt.set_random_seed(42)
135
135
  femopt.optimize(n_trials=20)
136
+
137
+ # Stop script to keep process alive
138
+ # while you check the result in process monitor.
139
+ print('================================')
140
+ print('Finished. Press Enter to quit...')
141
+ print('================================')
142
+ input()
136
143
  femopt.terminate_all()
@@ -129,4 +129,11 @@ if __name__ == '__main__':
129
129
  # Run optimization.
130
130
  femopt.set_random_seed(42)
131
131
  femopt.optimize(n_trials=20)
132
+
133
+ # Stop script to keep process alive
134
+ # while you check the result in process monitor.
135
+ print('================================')
136
+ print('Finished. Press Enter to quit...')
137
+ print('================================')
138
+ input()
132
139
  femopt.terminate_all()
@@ -72,4 +72,11 @@ if __name__ == '__main__':
72
72
  # Run optimization.
73
73
  femopt.set_random_seed(42)
74
74
  femopt.optimize(n_trials=10)
75
+
76
+ # Stop script to keep process alive
77
+ # while you check the result in process monitor.
78
+ print('================================')
79
+ print('Finished. Press Enter to quit...')
80
+ print('================================')
81
+ input()
75
82
  femopt.terminate_all()
@@ -56,4 +56,11 @@ if __name__ == '__main__':
56
56
  # Run optimization.
57
57
  femopt.set_random_seed(42)
58
58
  femopt.optimize(n_trials=20)
59
+
60
+ # Stop script to keep process alive
61
+ # while you check the result in process monitor.
62
+ print('================================')
63
+ print('Finished. Press Enter to quit...')
64
+ print('================================')
65
+ input()
59
66
  femopt.terminate_all()
@@ -134,4 +134,11 @@ if __name__ == '__main__':
134
134
 
135
135
  femopt.set_random_seed(42)
136
136
  femopt.optimize(n_trials=15)
137
+
138
+ # Stop script to keep process alive
139
+ # while you check the result in process monitor.
140
+ print('================================')
141
+ print('Finished. Press Enter to quit...')
142
+ print('================================')
143
+ input()
137
144
  femopt.terminate_all()
@@ -58,4 +58,11 @@ if __name__ == '__main__':
58
58
  # Run optimization.
59
59
  femopt.set_random_seed(42)
60
60
  femopt.optimize(n_trials=15)
61
+
62
+ # Stop script to keep process alive
63
+ # while you check the result in process monitor.
64
+ print('================================')
65
+ print('Finished. Press Enter to quit...')
66
+ print('================================')
67
+ input()
61
68
  femopt.terminate_all()
@@ -59,4 +59,11 @@ if __name__ == '__main__':
59
59
  femopt.set_random_seed(42)
60
60
  # femopt.optimize(n_trials=15)
61
61
  femopt.optimize(n_trials=30, n_parallel=3) # This line is the only difference with no parallel pattern.
62
+
63
+ # Stop script to keep process alive
64
+ # while you check the result in process monitor.
65
+ print('================================')
66
+ print('Finished. Press Enter to quit...')
67
+ print('================================')
68
+ input()
62
69
  femopt.terminate_all()
@@ -56,4 +56,11 @@ if __name__ == '__main__':
56
56
  # Run optimization.
57
57
  femopt.set_random_seed(42)
58
58
  femopt.optimize(n_trials=15)
59
+
60
+ # Stop script to keep process alive
61
+ # while you check the result in process monitor.
62
+ print('================================')
63
+ print('Finished. Press Enter to quit...')
64
+ print('================================')
65
+ input()
59
66
  femopt.terminate_all()
@@ -127,4 +127,11 @@ if __name__ == '__main__':
127
127
  # 最適化を実行
128
128
  femopt.set_random_seed(42)
129
129
  femopt.optimize(n_trials=20)
130
+
131
+ # プロセスモニタで結果を確認するために
132
+ # Enter キーが押されるまで処理を停止します。
133
+ print('================================')
134
+ print('Finished. Press Enter to quit...')
135
+ print('================================')
136
+ input()
130
137
  femopt.terminate_all()
@@ -123,4 +123,11 @@ if __name__ == '__main__':
123
123
  # 最適化を実行
124
124
  femopt.set_random_seed(42)
125
125
  femopt.optimize(n_trials=20)
126
+
127
+ # プロセスモニタで結果を確認するために
128
+ # Enter キーが押されるまで処理を停止します。
129
+ print('================================')
130
+ print('Finished. Press Enter to quit...')
131
+ print('================================')
132
+ input()
126
133
  femopt.terminate_all()
@@ -68,4 +68,11 @@ if __name__ == '__main__':
68
68
  # 最適化を実行
69
69
  femopt.set_random_seed(42)
70
70
  femopt.optimize(n_trials=10)
71
+
72
+ # プロセスモニタで結果を確認するために
73
+ # Enter キーが押されるまで処理を停止します。
74
+ print('================================')
75
+ print('Finished. Press Enter to quit...')
76
+ print('================================')
77
+ input()
71
78
  femopt.terminate_all()
@@ -55,4 +55,11 @@ if __name__ == '__main__':
55
55
  # 最適化を実行
56
56
  femopt.set_random_seed(42)
57
57
  femopt.optimize(n_trials=20)
58
+
59
+ # プロセスモニタで結果を確認するために
60
+ # Enter キーが押されるまで処理を停止します。
61
+ print('================================')
62
+ print('Finished. Press Enter to quit...')
63
+ print('================================')
64
+ input()
58
65
  femopt.terminate_all()
@@ -134,4 +134,11 @@ if __name__ == '__main__':
134
134
 
135
135
  femopt.set_random_seed(42)
136
136
  femopt.optimize(n_trials=15)
137
+
138
+ # プロセスモニタで結果を確認するために
139
+ # Enter キーが押されるまで処理を停止します。
140
+ print('================================')
141
+ print('Finished. Press Enter to quit...')
142
+ print('================================')
143
+ input()
137
144
  femopt.terminate_all()
@@ -56,4 +56,11 @@ if __name__ == '__main__':
56
56
  # 最適化を実行
57
57
  femopt.set_random_seed(42)
58
58
  femopt.optimize(n_trials=15)
59
+
60
+ # プロセスモニタで結果を確認するために
61
+ # Enter キーが押されるまで処理を停止します。
62
+ print('================================')
63
+ print('Finished. Press Enter to quit...')
64
+ print('================================')
65
+ input()
59
66
  femopt.terminate_all()
@@ -57,4 +57,11 @@ if __name__ == '__main__':
57
57
  femopt.set_random_seed(42)
58
58
  # femopt.optimize(n_trials=15)
59
59
  femopt.optimize(n_trials=30, n_parallel=3) # 並列計算しない場合との差はこの行のみです。
60
+
61
+ # プロセスモニタで結果を確認するために
62
+ # Enter キーが押されるまで処理を停止します。
63
+ print('================================')
64
+ print('Finished. Press Enter to quit...')
65
+ print('================================')
66
+ input()
60
67
  femopt.terminate_all()
@@ -54,4 +54,11 @@ if __name__ == '__main__':
54
54
  # 最適化を実行
55
55
  femopt.set_random_seed(42)
56
56
  femopt.optimize(n_trials=15)
57
+
58
+ # プロセスモニタで結果を確認するために
59
+ # Enter キーが押されるまで処理を停止します。
60
+ print('================================')
61
+ print('Finished. Press Enter to quit...')
62
+ print('================================')
63
+ input()
57
64
  femopt.terminate_all()
@@ -1220,7 +1220,7 @@ class ProcessMonitorApp(AppBase):
1220
1220
  self.local_worker_status_int_list = [s.get() for s in self.worker_status_list]
1221
1221
 
1222
1222
  # terminate_all 指令があれば monitor server をホストするプロセスごと終了する
1223
- if self.status.get() == OptimizationStatus.TERMINATE_ALL:
1223
+ if self.status.get() >= OptimizationStatus.TERMINATE_ALL:
1224
1224
  return 0 # take server down with me
1225
1225
 
1226
1226
  # interval
@@ -0,0 +1,13 @@
1
+ import argparse
2
+ from pyfemtet.opt.visualization._graphs import show_static_monitor
3
+
4
+
5
+ def main():
6
+ parser = argparse.ArgumentParser()
7
+
8
+ parser.add_argument('csv_path', help='pyfemtet を実行した結果の csv ファイルのパスを指定してください。', type=str)
9
+
10
+ args = parser.parse_args()
11
+
12
+ if args.csv_path:
13
+ show_static_monitor(args.csv_path)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyfemtet"
3
- version = "0.4.8" # ignored by versioning plugin
3
+ version = "0.4.9" # ignored by versioning plugin
4
4
  description = "Design parameter optimization using Femtet."
5
5
  authors = ["kazuma.naito <kazuma.naito@murata.com>"]
6
6
  readme = "README.md"
@@ -43,7 +43,7 @@ bokeh = "^3.3.3"
43
43
  sphinx-intl = "^2.2.0"
44
44
 
45
45
  [tool.poetry.scripts]
46
- opt-show = "pyfemtet.opt.visualization:entry_point"
46
+ pyfemtet-opt-result-viewer = 'pyfemtet.opt.visualization.result_viewer:main'
47
47
 
48
48
  [tool.pytest.ini_options]
49
49
  filterwarnings = [
@@ -1 +0,0 @@
1
- __version__ = "0.4.8"
File without changes
File without changes
File without changes
File without changes