pyfemtet 0.8.8__py3-none-any.whl → 0.8.10__py3-none-any.whl

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 (35) hide show
  1. pyfemtet/__init__.py +1 -1
  2. pyfemtet/_message/locales/ja/LC_MESSAGES/messages.mo +0 -0
  3. pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po +10 -2
  4. pyfemtet/_message/locales/messages.pot +10 -2
  5. pyfemtet/_message/messages.py +2 -1
  6. pyfemtet/_util/excel_parse_util.py +33 -15
  7. pyfemtet/opt/_femopt.py +3 -1
  8. pyfemtet/opt/_femopt_core.py +34 -26
  9. pyfemtet/opt/_test_utils/record_history.py +1 -0
  10. pyfemtet/opt/advanced_samples/excel_ui/femtet-macro.xlsm +0 -0
  11. pyfemtet/opt/advanced_samples/meta_script/meta_script.py +163 -0
  12. pyfemtet/opt/advanced_samples/meta_script/sample.yaml +14 -0
  13. pyfemtet/opt/advanced_samples/meta_script/yaml_generator.txt +0 -0
  14. pyfemtet/opt/advanced_samples/meta_script/yaml_generator.xlsm +0 -0
  15. pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric.femprj +0 -0
  16. pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart.py +99 -0
  17. pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart_jp.py +102 -0
  18. pyfemtet/opt/interface/__init__.py +1 -1
  19. pyfemtet/opt/interface/_base.py +13 -4
  20. pyfemtet/opt/interface/_excel_interface.py +45 -39
  21. pyfemtet/opt/interface/_femtet.py +63 -2
  22. pyfemtet/opt/interface/_femtet_excel.py +138 -0
  23. pyfemtet/opt/interface/_surrogate/_base.py +43 -0
  24. pyfemtet/opt/interface/_surrogate_excel.py +102 -0
  25. pyfemtet/opt/optimizer/_base.py +2 -6
  26. pyfemtet/opt/optimizer/_optuna/_optuna.py +2 -2
  27. pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.femprj +0 -0
  28. pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.py +52 -0
  29. pyfemtet/opt/samples/femprj_sample_jp/gau_ex12_parametric_jp.py +52 -0
  30. pyfemtet/opt/visualization/_process_monitor/pages.py +13 -0
  31. {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/METADATA +2 -1
  32. {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/RECORD +35 -23
  33. {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/WHEEL +1 -1
  34. {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/LICENSE +0 -0
  35. {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,102 @@
1
+ import re
2
+ from pathlib import Path
3
+
4
+ from pyfemtet.opt._femopt_core import History
5
+ from pyfemtet.opt.interface._base import FEMInterface
6
+ from pyfemtet.opt.interface._surrogate._singletaskgp import PoFBoTorchInterface
7
+ from pyfemtet.opt.interface._excel_interface import ExcelInterface
8
+
9
+
10
+ class PoFBoTorchInterfaceWithExcelSettingsInterface(
11
+ PoFBoTorchInterface,
12
+ ExcelInterface,
13
+ FEMInterface,
14
+ ):
15
+
16
+ def __init__(
17
+ self,
18
+
19
+ # SurrogateModel
20
+ history_path: str = None, train_history: History = None,
21
+ _output_directions: dict[int, str | float] | list[str | float] = None,
22
+
23
+ # Excel
24
+ input_xlsm_path: str or Path = None,
25
+ input_sheet_name: str = None,
26
+ output_xlsm_path: str or Path = None,
27
+ output_sheet_name: str = None,
28
+ constraint_xlsm_path: str or Path = None,
29
+ constraint_sheet_name: str = None,
30
+ procedure_name: str = None,
31
+ procedure_args: list or tuple = None,
32
+ connect_method: str = 'auto', # or 'new'
33
+ procedure_timeout: float or None = None,
34
+ setup_xlsm_path: str or Path = None,
35
+ setup_procedure_name: str = None,
36
+ setup_procedure_args: list or tuple = None,
37
+ teardown_xlsm_path: str or Path = None,
38
+ teardown_procedure_name: str = None,
39
+ teardown_procedure_args: list or tuple = None,
40
+ related_file_paths: list[str or Path] = None,
41
+ visible: bool = False,
42
+ display_alerts: bool = False,
43
+ terminate_excel_when_quit: bool = None,
44
+ interactive: bool = True,
45
+ use_named_range: bool = True,
46
+ ):
47
+ PoFBoTorchInterface.__init__(
48
+ self,
49
+ history_path,
50
+ train_history,
51
+ _output_directions,
52
+ )
53
+
54
+ ExcelInterface.__init__(
55
+ self,
56
+ input_xlsm_path,
57
+ input_sheet_name,
58
+ output_xlsm_path,
59
+ output_sheet_name,
60
+ constraint_xlsm_path,
61
+ constraint_sheet_name,
62
+ procedure_name,
63
+ procedure_args,
64
+ connect_method, # or 'new'
65
+ procedure_timeout,
66
+ setup_xlsm_path,
67
+ setup_procedure_name,
68
+ setup_procedure_args,
69
+ teardown_xlsm_path,
70
+ teardown_procedure_name,
71
+ teardown_procedure_args,
72
+ related_file_paths,
73
+ visible,
74
+ display_alerts,
75
+ terminate_excel_when_quit,
76
+ interactive,
77
+ use_named_range,
78
+ )
79
+
80
+ def load_parameter(self, opt) -> None:
81
+ ExcelInterface.load_parameter(self, opt)
82
+
83
+ def load_objective(self, opt) -> None:
84
+ PoFBoTorchInterface.load_objective(self, opt)
85
+
86
+ def load_constraint(self, opt, raise_if_no_keyword=False):
87
+ ExcelInterface.load_constraint(self, opt, raise_if_no_keyword)
88
+
89
+ def _setup_before_parallel(self, client):
90
+ PoFBoTorchInterface._setup_before_parallel(self, client)
91
+ ExcelInterface._setup_before_parallel(self, client)
92
+
93
+ def _setup_after_parallel(self, *args, **kwargs):
94
+ PoFBoTorchInterface._setup_after_parallel(self, *args, **kwargs)
95
+ ExcelInterface._setup_after_parallel(self, *args, **kwargs)
96
+
97
+ def update(self, parameters) -> None:
98
+ PoFBoTorchInterface.update(self, parameters)
99
+
100
+ def quit(self):
101
+ PoFBoTorchInterface.quit(self)
102
+ ExcelInterface.quit(self)
@@ -155,11 +155,6 @@ class AbstractOptimizer(ABC):
155
155
  """Setup before parallel processes are launched."""
156
156
  pass
157
157
 
158
- def generate_infeasible_result(self):
159
- y = np.full_like(np.zeros(len(self.objectives)), np.nan)
160
- c = np.full_like(np.zeros(len(self.constraints)), np.nan)
161
- return y, y, c
162
-
163
158
  # ===== calc =====
164
159
  def f(self, x: np.ndarray, _record_infeasible=False) -> list[np.ndarray]:
165
160
  """Calculate objectives and constraints.
@@ -208,7 +203,8 @@ class AbstractOptimizer(ABC):
208
203
  c = [cns.calc(self.fem) for cns in self.constraints.values()]
209
204
 
210
205
  else:
211
- y, _y, c = self.generate_infeasible_result()
206
+ y, c = self.history.generate_hidden_infeasible_result()
207
+ _y = y
212
208
 
213
209
  # register to history
214
210
  df_to_opt = self.variables.get_variables(
@@ -207,9 +207,9 @@ class OptunaOptimizer(AbstractOptimizer):
207
207
 
208
208
  # create storage
209
209
  self.study_name = 'pyfemtet-study'
210
- storage_path = self.history.path.replace('.csv', '.db') # history と同じところに保存
210
+ storage_path = os.path.splitext(self.history.path)[0] + '.db' # history と同じところに保存
211
211
  if self.is_cluster: # remote cluster なら scheduler の working dir に保存
212
- storage_path = os.path.basename(self.history.path).replace('.csv', '.db')
212
+ storage_path = os.path.splitext(os.path.basename(self.history.path))[0] + '.db'
213
213
 
214
214
  # callback to terminate
215
215
  if self.n_trials is not None:
@@ -0,0 +1,52 @@
1
+ """Optimization using parametric analysis output settings as the objective function
2
+
3
+ This demo shows how to use the values outputted by Femtet's parametric
4
+ analysis output setting feature as the objective function for optimization.
5
+ This feature allows you to perform optimization without coding the objective function.
6
+
7
+
8
+ Note:
9
+
10
+ Please be aware of the following when using this feature.
11
+
12
+ - The sweep table from the parametric analysis will be deleted.
13
+ - Output settings that produce complex numbers or vectors will only use
14
+ the first value as the objective function. (For complex numbers, it will be
15
+ the real part, and for vector values, it will be components such as X.)
16
+
17
+
18
+ Corresponding project: gau_ex12_parametric.femprj
19
+
20
+ """
21
+
22
+ from pyfemtet.opt import FEMOpt, FemtetInterface
23
+
24
+
25
+ if __name__ == '__main__':
26
+
27
+ # Initialize an object to connect to
28
+ # Femtet for referencing Femtet settings.
29
+ fem = FemtetInterface()
30
+
31
+ # Set the output settings of the parametric analysis as the objective function.
32
+ # `number` is the index from the `results output settings` tab of the
33
+ # Femtet parametric analysis dialog, and `direction` is
34
+ # the goal of that objective function (similar to FEMOpt.add_objective).
35
+
36
+ # Mutual inductance
37
+ fem.use_parametric_output_as_objective(number=1, direction=1.5e-7)
38
+
39
+ # Strength of magnetic field at the center of the coil
40
+ fem.use_parametric_output_as_objective(number=2, direction='minimize')
41
+
42
+ # Initialize optimization object.
43
+ # Pass in the previously initialized fem object.
44
+ femopt = FEMOpt(fem=fem)
45
+
46
+ # Set parameters.
47
+ femopt.add_parameter('in_radius', 10, 5, 10)
48
+ femopt.add_parameter('out_radius', 20, 20, 25)
49
+
50
+ # Execute optimization.
51
+ femopt.set_random_seed(42) # Fix random seed
52
+ femopt.optimize(n_trials=20)
@@ -0,0 +1,52 @@
1
+ """パラメトリック解析出力設定を目的関数とする最適化
2
+
3
+ Femtet のパラメトリック解析の結果出力設定機能で出力される値を
4
+ 最適化の目的関数として使用する方法をデモします。
5
+ この機能により、目的関数をコーディングすることなく
6
+ 最適化を実施できます。
7
+
8
+
9
+ 注意:
10
+
11
+ この機能を使う際は、以下のことに注意してください。
12
+
13
+ - パラメトリック解析のスイープテーブルが削除されます。
14
+ - 複素数やベクトルを出力する出力設定は、第一の値のみが
15
+ 目的関数として使用されます。(複素数の場合は実数、
16
+ ベクトル値の場合は X 成分など)
17
+
18
+
19
+ 対応するプロジェクト: gau_ex12_parametric.femprj
20
+ """
21
+
22
+ from pyfemtet.opt import FEMOpt, FemtetInterface
23
+
24
+
25
+ if __name__ == '__main__':
26
+
27
+ # Femtet の設定を参照するため、Femtet と接続を
28
+ # 行うためのオブジェクトを初期化します。
29
+ fem = FemtetInterface()
30
+
31
+ # パラメトリック解析の結果出力設定を目的関数にします。
32
+ # number は Femtet パラメトリック解析ダイアログの
33
+ # 結果出力設定タブのテーブルの番号で、direction は
34
+ # その目的関数の目標です(FEMOpt.add_objective と同様)。
35
+
36
+ # 相互インダクタンス
37
+ fem.use_parametric_output_as_objective(number=1, direction=1.5e-7)
38
+
39
+ # コイル中央の磁界の強さ
40
+ fem.use_parametric_output_as_objective(number=2, direction='minimize')
41
+
42
+ # 最適化用オブジェクトを初期化します。
43
+ # さきほど初期化した fem を渡します。
44
+ femopt = FEMOpt(fem=fem)
45
+
46
+ # パラメータを設定します。
47
+ femopt.add_parameter('in_radius', 10, 5, 10)
48
+ femopt.add_parameter('out_radius', 20, 20, 25)
49
+
50
+ # 最適化を実行します。
51
+ femopt.set_random_seed(42) # 乱数シードの固定
52
+ femopt.optimize(n_trials=20)
@@ -362,6 +362,19 @@ class OptunaVisualizerPage(AbstractPage):
362
362
  )
363
363
  layout.append(dcc.Graph(figure=fig, style={'height': '70vh'}))
364
364
 
365
+ layout.append(html.H2(Msg.DETAIL_PAGE_IMPORTANCE_HEADER))
366
+ layout.append(html.H4(Msg.DETAIL_PAGE_IMPORTANCE_DESCRIPTION))
367
+ for i, obj_name in enumerate(obj_names):
368
+ fig = optuna.visualization.plot_param_importances(
369
+ study,
370
+ target=lambda t: t.values[i],
371
+ target_name=obj_name
372
+ )
373
+ import plotly.graph_objects as go
374
+ fig: go.Figure
375
+ fig.update_layout(title=obj_name)
376
+ layout.append(dcc.Graph(figure=fig, style={'height': '70vh'}))
377
+
365
378
  return layout
366
379
 
367
380
  def setup_callback(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyfemtet
3
- Version: 0.8.8
3
+ Version: 0.8.10
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  License: BSD-3-Clause
6
6
  Author: kazuma.naito
@@ -30,6 +30,7 @@ Requires-Dist: pandas (>=2.2.3,<3.0.0)
30
30
  Requires-Dist: plotly (>=5.22.0,<6.0.0)
31
31
  Requires-Dist: psutil (>=5.9.6,<6.0.0)
32
32
  Requires-Dist: pywin32 (>=306,<307) ; sys_platform == "win32"
33
+ Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
33
34
  Requires-Dist: scipy (>=1.11.4,<2.0.0)
34
35
  Requires-Dist: torch (>=2.5.1,<2.6.0) ; sys_platform != "linux"
35
36
  Requires-Dist: torch (>=2.5.1,<2.6.0) ; sys_platform == "linux"
@@ -1,4 +1,4 @@
1
- pyfemtet/__init__.py,sha256=c6aqZCQlw_39oSCH27ZXK8D1ktjy9L8kQ5LAj1IEYHs,21
1
+ pyfemtet/__init__.py,sha256=CKrbpoGm6OyINBDoT8Nfpyecbw2W68SS4YSkSpJJ5-0,22
2
2
  pyfemtet/_femtet_config_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  pyfemtet/_femtet_config_util/autosave.py,sha256=dNirA9XGuFehas8_Jkj2BW9GOzMbPyhnt1WHcH_ObSU,2070
4
4
  pyfemtet/_femtet_config_util/exit.py,sha256=0BWID-tjOkmZwmgPFkcJMkWW39voccz5ARIBWvZbHaw,1877
@@ -6,14 +6,14 @@ pyfemtet/_message/1. make_pot.bat,sha256=wrTA0YaL7nUfNB0cS8zljOmwq2qgyG6RMwHQbrw
6
6
  pyfemtet/_message/2. make_mo.bat,sha256=6shJ3Yn4BXjDc0hhv_kiGUtVTq4oSRz8-iS4vW29rNE,155
7
7
  pyfemtet/_message/__init__.py,sha256=gE1-XX_PzHj9BbhqPaK5VcIHuv6_Tec5qlPMC3IRiBg,100
8
8
  pyfemtet/_message/babel.cfg,sha256=AQIFCQ7NlAA84PhV0gowHhbIXH41zA55mzhgyROniJk,73
9
- pyfemtet/_message/locales/ja/LC_MESSAGES/messages.mo,sha256=Af0m1bHsrMAjqyfLlDjW_OK09IXnuDvByaESf7BvuQU,18984
10
- pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po,sha256=CPVryK95GFl_GSSTz1uSvkKwXaYRvTboIr_aTgdfwbo,25441
11
- pyfemtet/_message/locales/messages.pot,sha256=AxtocHuEX5VPgXgULpHBxU8swNLUzm9KEBbSP1Y6qP8,15017
12
- pyfemtet/_message/messages.py,sha256=OsSXVLn9_YKwuHczW1A4CEnhZ0wrtHmOhxPA9OPOzHc,13856
9
+ pyfemtet/_message/locales/ja/LC_MESSAGES/messages.mo,sha256=BsDrPmXWzKfaAjATSq-GZexNX4iG8ax7Ss0bfB1ocIk,19512
10
+ pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po,sha256=_ugJcUf__C1HdXt3ubcPurLQWKuL3dg0DGMcrDtTBbw,26047
11
+ pyfemtet/_message/locales/messages.pot,sha256=G_6aRv0zZjpShKx13hm_1B2D60sViOuUHpZsX5QJSpQ,15372
12
+ pyfemtet/_message/messages.py,sha256=ztDyORp0sjgNCe2DKEh-ojWfcVnVmOy3mEtAUt_yYhA,14185
13
13
  pyfemtet/_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  pyfemtet/_util/dask_util.py,sha256=ufgr4m8slvyWP97lWBwolysQpJ1PmAO_-OI8IlEyvU8,233
15
15
  pyfemtet/_util/excel_macro_util.py,sha256=cF1Z3yl9FMM0J7dpMRTsle8uYxYcfHhQC0QffnVovdY,7944
16
- pyfemtet/_util/excel_parse_util.py,sha256=-puddKHcdf9OOWNXXeeUIuetAQ-wOepYdr37VdOqQf8,4148
16
+ pyfemtet/_util/excel_parse_util.py,sha256=AoVMTcjSm5PEytK5AdDTXZ4Gbj3V5KTlj0KfrN1ZzkU,4809
17
17
  pyfemtet/_util/sample.xlsx,sha256=OU8mBY48YESJFQrdt4OkntlE1z-6WiyUyOV-PMr09DQ,9423
18
18
  pyfemtet/_warning.py,sha256=TSOj8mOhuyfOUJB24LsW6GNhTA3IzIEevJw_hLKTrq8,2205
19
19
  pyfemtet/brep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -24,40 +24,49 @@ pyfemtet/dispatch_extensions/_impl.py,sha256=yH_yeAnQ-Xi9GfjX-FQt9u3yHnrLYIteRb6
24
24
  pyfemtet/logger/__init__.py,sha256=UOJ9n_U2xwdTrp0Xgg-N6geySxNzKqTBQlXsaH0kW_w,420
25
25
  pyfemtet/logger/_impl.py,sha256=rsAd0HpmveOaLS39ucp3U2OcDhQMWjC5fnVGhbJtWVw,6375
26
26
  pyfemtet/opt/__init__.py,sha256=wRR8LbEhb5I6MUgmnCgjB6-tqHlOVxDIo7yPkq0QbBs,758
27
- pyfemtet/opt/_femopt.py,sha256=ZhwOK1QYwo7Xk67qEOm4biKXzdIW2AUHYvgklBREDm8,40587
28
- pyfemtet/opt/_femopt_core.py,sha256=kxKh4_TdXR4LBgv8WibPiZ5Pe9apJd5ArBCfnhBwcCQ,38969
27
+ pyfemtet/opt/_femopt.py,sha256=MSqSJzyD2sRYBNQAe0P5rpSvvVihOV2ugUa-hZyYnBA,40671
28
+ pyfemtet/opt/_femopt_core.py,sha256=mm7ySxFSp4RhRT_Bt2TxWVUXaA2ejRJJZDOHj9CV6Ho,39348
29
29
  pyfemtet/opt/_test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  pyfemtet/opt/_test_utils/control_femtet.py,sha256=8oAl9y5V2n8Nnsgx_ebcZVzwFt1eI3swkdiKg6pg3-M,1085
31
31
  pyfemtet/opt/_test_utils/hyper_sphere.py,sha256=nQhw8EIY0DwvcTqrbKhkxiITLZifr4-nG77E-_6ggmA,700
32
- pyfemtet/opt/_test_utils/record_history.py,sha256=zsa1w73K7NLBqbj7yuv0fWVJvZtWdiI0eCaUoAn5Bjg,4239
32
+ pyfemtet/opt/_test_utils/record_history.py,sha256=7V2LCZ8F985c_NNUVu-K7_2-p2mwG1lRMZhkYhSy_Dw,4356
33
33
  pyfemtet/opt/advanced_samples/excel_ui/(ref) original_project.femprj,sha256=5OqZfynTpVCrgEIOBOMYuDGaMvepi5lojVNFr1jAsEI,157489
34
- pyfemtet/opt/advanced_samples/excel_ui/femtet-macro.xlsm,sha256=ckF0SQ0f3IWSW6QoH1IPJdwUUlR7O_AiGC5fi8SI3jA,133137
34
+ pyfemtet/opt/advanced_samples/excel_ui/femtet-macro.xlsm,sha256=7G9hr1Oj1zwTFv6mh2fWk4FZ0R5ZNDQmvjNvujy6gbw,124145
35
35
  pyfemtet/opt/advanced_samples/excel_ui/pyfemtet-core.py,sha256=aF2TWXdbt7dnkeBqqVO6GvIExozjFp0mxx3BX8rpYNc,9879
36
36
  pyfemtet/opt/advanced_samples/excel_ui/test-pyfemtet-core.cmd,sha256=r-Pa1Ng9sa6wfDqIhTf2BUDrN9rePWFymz7pmtBbvcQ,895
37
+ pyfemtet/opt/advanced_samples/meta_script/meta_script.py,sha256=v0D-4xqH_fvMEQ4B_OnJrtlUsJ6kQfLLcE4YHlsgmMw,4896
38
+ pyfemtet/opt/advanced_samples/meta_script/sample.yaml,sha256=_X95DVX1BMIFlML1mW4UqymOMxLElw3aeWiI9KJBD-k,351
39
+ pyfemtet/opt/advanced_samples/meta_script/yaml_generator.txt,sha256=n2IWoAge_fWWBDfOi-rHQYZvfyGQqdS4BOSTvsdKYjk,670
40
+ pyfemtet/opt/advanced_samples/meta_script/yaml_generator.xlsm,sha256=YUaVVqtoa5dTY0c2gJ5C3s4y7eC5Gx5PRtxA2rwV9-s,18287
41
+ pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric.femprj,sha256=iIHH1X-wWBqEYj4cFJXco73LCJXSrYBsSKOD0HxYu60,87599
42
+ pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart.py,sha256=YCqtLjazFDRKhEu7sGJlDJDDL7YPH6GmWEb6X0e30Og,3045
43
+ pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart_jp.py,sha256=Oaua2Eb8NGtlWjvYC9B1uYTKcEuWxWZxzJbLi_4IqxE,3580
37
44
  pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_create_training_data.py,sha256=tgNH0z-mUZRq-3VLjR-BU09z2COmXFruyrc4T8WS5U8,1663
38
45
  pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_create_training_data_jp.py,sha256=xtfJWrc353k1977wIf66MOPmgqLDDQpMCtX8QSDE5zQ,1813
39
46
  pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_optimize_with_surrogate.py,sha256=s0b31wuN3iXjb78dt0ro0ZjxHa8uLIH94jRfEuj1EVY,3090
40
47
  pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_optimize_with_surrogate_jp.py,sha256=OAOpHKyMMo1StSqNMqx4saYDn4hiGOKDypyK6uhTILQ,3215
41
48
  pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_parametric.femprj,sha256=iIHH1X-wWBqEYj4cFJXco73LCJXSrYBsSKOD0HxYu60,87599
42
- pyfemtet/opt/interface/__init__.py,sha256=na6-elI9-karOqoSxT9LfLQpjBPm1lrUWjow0NYYRP4,1349
43
- pyfemtet/opt/interface/_base.py,sha256=y0uQ5jdsWbgt5odyqPin7NXcK_IbUwPDcrrkV_JhpRw,2722
44
- pyfemtet/opt/interface/_excel_interface.py,sha256=s103vePTPXXYiPwGdAEUFgtpvGXtu1nSljDtP4HsmcY,40355
45
- pyfemtet/opt/interface/_femtet.py,sha256=Tn0qgVMJDv-6hBPDOWYBtlfvhsb4UH3MknX0PaXb8ro,35313
49
+ pyfemtet/opt/interface/__init__.py,sha256=SstCN9WMYqF5lKNbb8xAzq0hBV-Hk8YuCrajvF3sOg0,1350
50
+ pyfemtet/opt/interface/_base.py,sha256=zbRhNB4fwznKHsllC1X29TONoB9MP8qMH8Nqz4NX_yA,2838
51
+ pyfemtet/opt/interface/_excel_interface.py,sha256=pJ2JGBbAuU_UrxVYj6_DL51WkUbsl1-eEJsUxeq_dQk,40007
52
+ pyfemtet/opt/interface/_femtet.py,sha256=bAeFG4oik0zt3PcbPOhhQOm0-kboS83JKn0RX_mIrP0,37779
53
+ pyfemtet/opt/interface/_femtet_excel.py,sha256=4o1jdP1WZxaVhe8Me60SGKV4AP7Dvy0ZqnUjyeIfCWY,5882
46
54
  pyfemtet/opt/interface/_femtet_parametric.py,sha256=rhvnpHdbjNJAKxiCkgnExnZdV5qOB6pBv6AaLeTkeF8,10155
47
55
  pyfemtet/opt/interface/_femtet_with_nx/__init__.py,sha256=-6W2g2FDEcKzGHmI5KAKQe-4U5jDpMj0CXuma-GZca0,83
48
56
  pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=LkaODUSpBLq05uz5Jf-JKuH6Evq8ElZoItXxFZopWeM,5994
49
57
  pyfemtet/opt/interface/_femtet_with_nx/update_model.py,sha256=P7VH0i_o-X9OUe6AGaLF1fACPeHNrMjcrOBCA3MMrI4,3092
50
58
  pyfemtet/opt/interface/_femtet_with_sldworks.py,sha256=rjEgebuP1w1eAFVWw4eRJUq3lsyBcmXlkMjZKIpD0kw,11019
51
59
  pyfemtet/opt/interface/_surrogate/__init__.py,sha256=2UT5NuBylyWQJNjg1zsBRCV-MzNCUswTUt6ZuSrYFUM,120
52
- pyfemtet/opt/interface/_surrogate/_base.py,sha256=_mVjoxrGEWL-PydjzEYXIgsOJ9zPmntoRHY3dXR2HGo,3098
60
+ pyfemtet/opt/interface/_surrogate/_base.py,sha256=s_Mqo7CUAhaj-ZYYxxGKekiox4EnH_SnWB8eVj-VnFU,4739
53
61
  pyfemtet/opt/interface/_surrogate/_chaospy.py,sha256=Bqej89Mo0zgdJq1OK7YKRqHOcuyN0wL4ZQUQXdJtYJ8,1987
54
62
  pyfemtet/opt/interface/_surrogate/_singletaskgp.py,sha256=bHzY5QIjA9zhLxweexz259XQMZLgkHWfrIDW7f3q-2k,2520
63
+ pyfemtet/opt/interface/_surrogate_excel.py,sha256=YOXa4EMqPw8fo75tr_cb1wJw6vKzUipI3m-1BQAl-5Y,3501
55
64
  pyfemtet/opt/optimizer/__init__.py,sha256=Ia6viowECkG0IFXtFef0tJ4jDKsoDzJLqMJ9xLFH2LQ,543
56
- pyfemtet/opt/optimizer/_base.py,sha256=j8aQc3fGehZTJT9ETf9cr3VWYs2FYk1F8fO3f7QyKAU,13099
65
+ pyfemtet/opt/optimizer/_base.py,sha256=1TY1iVZdpgJcmF6g3-CcY-6u4REs8_gR_0y9cXUQe2s,12932
57
66
  pyfemtet/opt/optimizer/_optuna/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
67
  pyfemtet/opt/optimizer/_optuna/_botorch_patch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
68
  pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py,sha256=b2-PP2HM46kJS4cJkBWnxnW9AS9JfeVkEjmkoKK_ziE,8949
60
- pyfemtet/opt/optimizer/_optuna/_optuna.py,sha256=7CpgfetCSNAdO8ppe7uKr0gyXNu0Nn6BILYTv25LEeo,17410
69
+ pyfemtet/opt/optimizer/_optuna/_optuna.py,sha256=5W_Z9p6lPVeflttx0fpRryic_fUVKl0lz6tqkxUpCnA,17422
61
70
  pyfemtet/opt/optimizer/_optuna/_pof_botorch.py,sha256=FLx9p6IH8xcZl_SZYvs8grMqLEidj5YaBD8urDD88Pk,73768
62
71
  pyfemtet/opt/optimizer/_scipy.py,sha256=_2whhMNq6hC1lr5PlYhpZ8Zlh6-DkAjz8SVB5qHIpYg,4766
63
72
  pyfemtet/opt/optimizer/_scipy_scalar.py,sha256=rGvrLjrgfYzxK9GA0-r2Hhoaqt6A0TQsT_1M3moyklc,3615
@@ -85,6 +94,8 @@ pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric_test_result.reccsv,sha256
85
94
  pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric.femprj,sha256=Yb9ILeTEKx5xfJGk8IZH_DVlgkpGB33Vy9-LGIEQboY,279251
86
95
  pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric.py,sha256=5KazqJ5wRbGs0dBMJslZ1eRCUWq8j3k1mqlhyB8M0g8,1929
87
96
  pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric_test_result.reccsv,sha256=yZ9aHthiKIBY_NMOz94Jl2dyHIH-GWMvukgHk4ZeT_o,3474
97
+ pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.femprj,sha256=cmuUgKtM3qoJrSxkWMZHVNdEgUFo7wFNO0vMkGCxl9k,461055
98
+ pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.py,sha256=XYzMYQOq7O4wFgf9Diw_oKe7-kbGRFJBOWVg3e4O9io,1831
88
99
  pyfemtet/opt/samples/femprj_sample/her_ex40_parametric.femprj,sha256=LLAUDlUo1dIpRzlKPs1lvACzJQxjnWW3xAGAodYEqRM,117221
89
100
  pyfemtet/opt/samples/femprj_sample/her_ex40_parametric.py,sha256=ImxVoNHDywW77DX8pkHi08wPW7AlRUiaDBpUD3fPIRk,4848
90
101
  pyfemtet/opt/samples/femprj_sample/her_ex40_parametric_test_result.reccsv,sha256=0yWqTpmpAtFvYRRyk2zneAVnl_5qJDeVwG4aeIWxXv8,3679
@@ -107,6 +118,7 @@ pyfemtet/opt/samples/femprj_sample_jp/gal_ex58_parametric_jp.femprj,sha256=PzqtN
107
118
  pyfemtet/opt/samples/femprj_sample_jp/gal_ex58_parametric_jp.py,sha256=97np4uH-UQqpv4UDwJS0doFYA7TOkXnbhLdkZExdNek,2461
108
119
  pyfemtet/opt/samples/femprj_sample_jp/gau_ex08_parametric_jp.femprj,sha256=TTXw_8YT8pzHQlu4ufGzTq1IFYSwcWWt4GA6sIY1YPM,295600
109
120
  pyfemtet/opt/samples/femprj_sample_jp/gau_ex08_parametric_jp.py,sha256=8Op_zwz9SD0NfGg4TFlcNvs-ZlU0bxgs5oaaI9UtlRU,2087
121
+ pyfemtet/opt/samples/femprj_sample_jp/gau_ex12_parametric_jp.py,sha256=VDujrSbAPANqlizugVJX27uyWnnnOjclv4NJAZXDSXc,1997
110
122
  pyfemtet/opt/samples/femprj_sample_jp/her_ex40_parametric_jp.femprj,sha256=OJ7f8iw0z1BZqanuNn71uEaoM2Kgb93ptUU8iYwYON0,129783
111
123
  pyfemtet/opt/samples/femprj_sample_jp/her_ex40_parametric_jp.py,sha256=MlFk6KRCQeCX1J0DNOjph75qjCUHg5UQPNTcHxIEnoo,5279
112
124
  pyfemtet/opt/samples/femprj_sample_jp/paswat_ex1_parametric_jp.femprj,sha256=y7eURFBdqh6PmD4zbelGuB458HmfihVht0K4wVI-mik,265368
@@ -127,7 +139,7 @@ pyfemtet/opt/visualization/_complex_components/pm_graph_creator.py,sha256=f-ikYA
127
139
  pyfemtet/opt/visualization/_create_wrapped_components.py,sha256=9AltJHr1DM6imZfpNp867rC-uAYqQ-emdgTLChKDrl8,2513
128
140
  pyfemtet/opt/visualization/_process_monitor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
141
  pyfemtet/opt/visualization/_process_monitor/application.py,sha256=8ShNMPWrD_1IHyPz2a63tlzENQg7by3kg4pdXSuv0_4,8659
130
- pyfemtet/opt/visualization/_process_monitor/pages.py,sha256=-G-zNvYS6HDXrwX0lQlInlJn3rZPr1-Rh4AAAOudmuY,15147
142
+ pyfemtet/opt/visualization/_process_monitor/pages.py,sha256=a94MWLSnjr6bbPqIcAWbvJ3D4bMEP98DvoomSFFkBqE,15711
131
143
  pyfemtet/opt/visualization/_wrapped_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
144
  pyfemtet/opt/visualization/_wrapped_components/dbc.py,sha256=iSh4QRmLIQMfiAWowG1ThXLPhmKluRYOYPcdDFVI0t0,42162
133
145
  pyfemtet/opt/visualization/_wrapped_components/dcc.py,sha256=-Iw6MjFQmvJ__KcddPhFDqui6lk2ixB2U2tZH_Il5pA,17500
@@ -137,8 +149,8 @@ pyfemtet/opt/visualization/result_viewer/.gitignore,sha256=ryvb4aqbbsHireHWlPQfx
137
149
  pyfemtet/opt/visualization/result_viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
150
  pyfemtet/opt/visualization/result_viewer/application.py,sha256=WcHBx_J5eNLKSaprpk9BGifwhO04oN8FiNGYTWorrXA,1691
139
151
  pyfemtet/opt/visualization/result_viewer/pages.py,sha256=MZAjzbuq0toZrR-iJhElM3A12_jHVCTt65gz1kdNPbw,32193
140
- pyfemtet-0.8.8.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
141
- pyfemtet-0.8.8.dist-info/METADATA,sha256=AVeQJlDibc-xh4Lsz20Y3KiNqrmN7TWR7cgIg0Kp3a4,3509
142
- pyfemtet-0.8.8.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
143
- pyfemtet-0.8.8.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
144
- pyfemtet-0.8.8.dist-info/RECORD,,
152
+ pyfemtet-0.8.10.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
153
+ pyfemtet-0.8.10.dist-info/METADATA,sha256=IfB4bF5vQgSvuRP8aMQZqIsn7bO9UnNH5rME4ZIOXNY,3549
154
+ pyfemtet-0.8.10.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
155
+ pyfemtet-0.8.10.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
156
+ pyfemtet-0.8.10.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.1
2
+ Generator: poetry-core 2.1.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any