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.
- pyfemtet/__init__.py +1 -1
- pyfemtet/_message/locales/ja/LC_MESSAGES/messages.mo +0 -0
- pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po +10 -2
- pyfemtet/_message/locales/messages.pot +10 -2
- pyfemtet/_message/messages.py +2 -1
- pyfemtet/_util/excel_parse_util.py +33 -15
- pyfemtet/opt/_femopt.py +3 -1
- pyfemtet/opt/_femopt_core.py +34 -26
- pyfemtet/opt/_test_utils/record_history.py +1 -0
- pyfemtet/opt/advanced_samples/excel_ui/femtet-macro.xlsm +0 -0
- pyfemtet/opt/advanced_samples/meta_script/meta_script.py +163 -0
- pyfemtet/opt/advanced_samples/meta_script/sample.yaml +14 -0
- pyfemtet/opt/advanced_samples/meta_script/yaml_generator.txt +0 -0
- pyfemtet/opt/advanced_samples/meta_script/yaml_generator.xlsm +0 -0
- pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric.femprj +0 -0
- pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart.py +99 -0
- pyfemtet/opt/advanced_samples/restart/gal_ex13_parametric_restart_jp.py +102 -0
- pyfemtet/opt/interface/__init__.py +1 -1
- pyfemtet/opt/interface/_base.py +13 -4
- pyfemtet/opt/interface/_excel_interface.py +45 -39
- pyfemtet/opt/interface/_femtet.py +63 -2
- pyfemtet/opt/interface/_femtet_excel.py +138 -0
- pyfemtet/opt/interface/_surrogate/_base.py +43 -0
- pyfemtet/opt/interface/_surrogate_excel.py +102 -0
- pyfemtet/opt/optimizer/_base.py +2 -6
- pyfemtet/opt/optimizer/_optuna/_optuna.py +2 -2
- pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.femprj +0 -0
- pyfemtet/opt/samples/femprj_sample/gau_ex12_parametric.py +52 -0
- pyfemtet/opt/samples/femprj_sample_jp/gau_ex12_parametric_jp.py +52 -0
- pyfemtet/opt/visualization/_process_monitor/pages.py +13 -0
- {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/METADATA +2 -1
- {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/RECORD +35 -23
- {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/WHEEL +1 -1
- {pyfemtet-0.8.8.dist-info → pyfemtet-0.8.10.dist-info}/LICENSE +0 -0
- {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)
|
pyfemtet/opt/optimizer/_base.py
CHANGED
|
@@ -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,
|
|
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
|
|
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)
|
|
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:
|
|
Binary file
|
|
@@ -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.
|
|
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=
|
|
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=
|
|
10
|
-
pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po,sha256=
|
|
11
|
-
pyfemtet/_message/locales/messages.pot,sha256=
|
|
12
|
-
pyfemtet/_message/messages.py,sha256=
|
|
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
|
|
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=
|
|
28
|
-
pyfemtet/opt/_femopt_core.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
43
|
-
pyfemtet/opt/interface/_base.py,sha256=
|
|
44
|
-
pyfemtet/opt/interface/_excel_interface.py,sha256=
|
|
45
|
-
pyfemtet/opt/interface/_femtet.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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.
|
|
141
|
-
pyfemtet-0.8.
|
|
142
|
-
pyfemtet-0.8.
|
|
143
|
-
pyfemtet-0.8.
|
|
144
|
-
pyfemtet-0.8.
|
|
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,,
|
|
File without changes
|
|
File without changes
|