pyfemtet 0.6.6__py3-none-any.whl → 0.7.1__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/_femtet_config_util/exit.py +3 -2
- pyfemtet/_util/dask_util.py +10 -0
- pyfemtet/_util/excel_macro_util.py +25 -16
- pyfemtet/dispatch_extensions/__init__.py +0 -1
- pyfemtet/dispatch_extensions/_impl.py +2 -5
- pyfemtet/logger/__init__.py +21 -2
- pyfemtet/logger/_impl.py +189 -65
- pyfemtet/opt/_femopt.py +27 -17
- pyfemtet/opt/_femopt_core.py +36 -30
- pyfemtet/opt/_test_utils/control_femtet.py +0 -6
- pyfemtet/opt/interface/__init__.py +1 -1
- pyfemtet/opt/interface/_base.py +2 -4
- pyfemtet/opt/interface/_excel_interface.py +433 -104
- pyfemtet/opt/interface/_femtet.py +14 -21
- pyfemtet/opt/interface/_femtet_parametric.py +1 -1
- pyfemtet/opt/interface/_femtet_with_nx/_interface.py +1 -1
- pyfemtet/opt/interface/_femtet_with_sldworks.py +1 -1
- pyfemtet/opt/optimizer/_base.py +5 -5
- pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py +4 -1
- pyfemtet/opt/samples/femprj_sample/constrained_pipe.py +0 -1
- pyfemtet/opt/visualization/_base.py +4 -4
- {pyfemtet-0.6.6.dist-info → pyfemtet-0.7.1.dist-info}/METADATA +2 -1
- {pyfemtet-0.6.6.dist-info → pyfemtet-0.7.1.dist-info}/RECORD +27 -26
- {pyfemtet-0.6.6.dist-info → pyfemtet-0.7.1.dist-info}/LICENSE +0 -0
- {pyfemtet-0.6.6.dist-info → pyfemtet-0.7.1.dist-info}/WHEEL +0 -0
- {pyfemtet-0.6.6.dist-info → pyfemtet-0.7.1.dist-info}/entry_points.txt +0 -0
|
@@ -33,11 +33,17 @@ from pyfemtet.dispatch_extensions import (
|
|
|
33
33
|
_get_pids,
|
|
34
34
|
DispatchExtensionException,
|
|
35
35
|
)
|
|
36
|
-
from pyfemtet.opt.interface import FEMInterface
|
|
36
|
+
from pyfemtet.opt.interface import FEMInterface
|
|
37
37
|
from pyfemtet._message import Msg
|
|
38
38
|
from pyfemtet._femtet_config_util.autosave import _get_autosave_enabled, _set_autosave_enabled
|
|
39
39
|
from pyfemtet._femtet_config_util.exit import _exit_or_force_terminate
|
|
40
40
|
|
|
41
|
+
if __name__ == '__main__':
|
|
42
|
+
from pyfemtet.logger import get_module_logger
|
|
43
|
+
logger = get_module_logger('opt.interface.FemtetInterface', __name__)
|
|
44
|
+
else:
|
|
45
|
+
from pyfemtet.opt.interface._base import logger
|
|
46
|
+
|
|
41
47
|
|
|
42
48
|
def _post_activate_message(hwnd):
|
|
43
49
|
win32gui.PostMessage(hwnd, win32con.WM_ACTIVATE, win32con.WA_ACTIVE, 0)
|
|
@@ -80,10 +86,6 @@ class FemtetInterface(FEMInterface):
|
|
|
80
86
|
it will be None and no parametric outputs are used
|
|
81
87
|
as objectives.
|
|
82
88
|
|
|
83
|
-
confirm_before_exit (bool):
|
|
84
|
-
Whether to confirm before (abnormal) termination.
|
|
85
|
-
Default is True.
|
|
86
|
-
|
|
87
89
|
**kwargs: Additional arguments from inherited classes.
|
|
88
90
|
|
|
89
91
|
Warning:
|
|
@@ -109,7 +111,6 @@ class FemtetInterface(FEMInterface):
|
|
|
109
111
|
allow_without_project: bool = False, # main でのみ True を許容したいので super() の引数にしない。
|
|
110
112
|
open_result_with_gui: bool = True,
|
|
111
113
|
parametric_output_indexes_use_as_objective: dict[int, str or float] = None,
|
|
112
|
-
confirm_before_exit: bool = True,
|
|
113
114
|
**kwargs # 継承されたクラスからの引数
|
|
114
115
|
):
|
|
115
116
|
|
|
@@ -139,7 +140,6 @@ class FemtetInterface(FEMInterface):
|
|
|
139
140
|
self.parametric_output_indexes_use_as_objective = parametric_output_indexes_use_as_objective
|
|
140
141
|
self._original_autosave_enabled = _get_autosave_enabled()
|
|
141
142
|
_set_autosave_enabled(False)
|
|
142
|
-
self.confirm_before_exit = confirm_before_exit
|
|
143
143
|
|
|
144
144
|
# dask サブプロセスのときは femprj を更新し connect_method を new にする
|
|
145
145
|
try:
|
|
@@ -177,7 +177,6 @@ class FemtetInterface(FEMInterface):
|
|
|
177
177
|
open_result_with_gui=self.open_result_with_gui,
|
|
178
178
|
parametric_output_indexes_use_as_objective=self.parametric_output_indexes_use_as_objective,
|
|
179
179
|
save_pdt=self.save_pdt,
|
|
180
|
-
confirm_before_exit=self.confirm_before_exit,
|
|
181
180
|
**kwargs
|
|
182
181
|
)
|
|
183
182
|
|
|
@@ -247,11 +246,9 @@ class FemtetInterface(FEMInterface):
|
|
|
247
246
|
cmd = f'{sys.executable} -m win32com.client.makepy FemtetMacro'
|
|
248
247
|
os.system(cmd)
|
|
249
248
|
message = Msg.ERR_NO_MAKEPY
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
if self.confirm_before_exit:
|
|
254
|
-
input('Press enter to finish...')
|
|
249
|
+
logger.error('================')
|
|
250
|
+
logger.error(message)
|
|
251
|
+
logger.error('================')
|
|
255
252
|
raise RuntimeError(message)
|
|
256
253
|
|
|
257
254
|
if self.Femtet is None:
|
|
@@ -535,24 +532,20 @@ class FemtetInterface(FEMInterface):
|
|
|
535
532
|
try:
|
|
536
533
|
variable_names = self.Femtet.GetVariableNames_py()
|
|
537
534
|
except AttributeError as e:
|
|
538
|
-
|
|
535
|
+
logger.error('================')
|
|
539
536
|
logger.error(Msg.ERR_CANNOT_ACCESS_API + 'GetVariableNames_py')
|
|
540
537
|
logger.error(Msg.CERTIFY_MACRO_VERSION)
|
|
541
|
-
|
|
542
|
-
if self.confirm_before_exit:
|
|
543
|
-
input(Msg.ENTER_TO_QUIT)
|
|
538
|
+
logger.error('================')
|
|
544
539
|
raise e
|
|
545
540
|
|
|
546
541
|
if variable_names is not None:
|
|
547
542
|
if param_name in variable_names:
|
|
548
543
|
return self.Femtet.GetVariableValue(param_name)
|
|
549
544
|
message = Msg.ERR_NO_SUCH_PARAMETER_IN_FEMTET
|
|
550
|
-
|
|
545
|
+
logger.error('================')
|
|
551
546
|
logger.error(message)
|
|
552
547
|
logger.error(f'`{param_name}` not in {variable_names}')
|
|
553
|
-
|
|
554
|
-
if self.confirm_before_exit:
|
|
555
|
-
input(Msg.ENTER_TO_QUIT)
|
|
548
|
+
logger.error('================')
|
|
556
549
|
raise RuntimeError(message)
|
|
557
550
|
else:
|
|
558
551
|
return None
|
|
@@ -60,7 +60,7 @@ def add_parametric_results_as_objectives(femopt, indexes, directions) -> bool:
|
|
|
60
60
|
def _parametric_objective(Femtet, parametric_result_index):
|
|
61
61
|
# load dll and set target femtet
|
|
62
62
|
dll = _get_dll_with_set_femtet(Femtet)
|
|
63
|
-
dll.GetPrmResult.restype = ctypes.c_double
|
|
63
|
+
dll.GetPrmResult.restype = ctypes.c_double # 複素数の場合は実部しか取らない
|
|
64
64
|
return dll.GetPrmResult(parametric_result_index)
|
|
65
65
|
|
|
66
66
|
|
|
@@ -10,7 +10,7 @@ from win32com.client import DispatchEx
|
|
|
10
10
|
from pythoncom import CoInitialize, CoUninitialize, com_error
|
|
11
11
|
|
|
12
12
|
from pyfemtet.core import ModelError
|
|
13
|
-
from pyfemtet.opt.interface import FemtetInterface
|
|
13
|
+
from pyfemtet.opt.interface import FemtetInterface
|
|
14
14
|
from pyfemtet._message import Msg
|
|
15
15
|
|
|
16
16
|
|
pyfemtet/opt/optimizer/_base.py
CHANGED
|
@@ -16,10 +16,9 @@ from pyfemtet._message import Msg
|
|
|
16
16
|
from pyfemtet.opt.optimizer.parameter import ExpressionEvaluator, Parameter
|
|
17
17
|
|
|
18
18
|
# logger
|
|
19
|
-
import
|
|
20
|
-
|
|
21
|
-
logger =
|
|
22
|
-
logger.setLevel(logging.INFO)
|
|
19
|
+
from pyfemtet.logger import get_module_logger
|
|
20
|
+
|
|
21
|
+
logger = get_module_logger('opt.optimizer', __name__)
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
class OptimizationMethodChecker:
|
|
@@ -303,6 +302,7 @@ class AbstractOptimizer(ABC):
|
|
|
303
302
|
worker_status_list, # 他の worker の status オブジェクト
|
|
304
303
|
wait_setup, # 他の worker の status が ready になるまで待つか
|
|
305
304
|
skip_reconstruct=False, # reconstruct fem を行うかどうか
|
|
305
|
+
space_dir=None, # 特定の space_dir を使うかどうか
|
|
306
306
|
) -> Optional[Exception]:
|
|
307
307
|
|
|
308
308
|
# 自分の worker_status の取得
|
|
@@ -315,7 +315,7 @@ class AbstractOptimizer(ABC):
|
|
|
315
315
|
|
|
316
316
|
# set_fem をはじめ、終了したらそれを示す
|
|
317
317
|
self._reconstruct_fem(skip_reconstruct)
|
|
318
|
-
self.fem._setup_after_parallel(opt=self)
|
|
318
|
+
self.fem._setup_after_parallel(opt=self, space_dir=space_dir)
|
|
319
319
|
self.worker_status.set(OptimizationStatus.WAIT_OTHER_WORKERS)
|
|
320
320
|
|
|
321
321
|
# wait_setup or not
|
|
@@ -14,9 +14,12 @@ from botorch.acquisition import AcquisitionFunction
|
|
|
14
14
|
from botorch.optim.initializers import gen_batch_initial_conditions
|
|
15
15
|
|
|
16
16
|
from pyfemtet.opt._femopt_core import Constraint
|
|
17
|
-
from pyfemtet.opt.optimizer import OptunaOptimizer
|
|
17
|
+
from pyfemtet.opt.optimizer import OptunaOptimizer
|
|
18
18
|
from pyfemtet._message import Msg
|
|
19
19
|
|
|
20
|
+
from pyfemtet.logger import get_module_logger
|
|
21
|
+
|
|
22
|
+
logger = get_module_logger(__file__, __name__)
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
BotorchConstraint = Callable[[Tensor], Tensor]
|
|
@@ -20,14 +20,14 @@ from pyfemtet.opt.visualization._wrapped_components import html, dcc, dbc
|
|
|
20
20
|
from abc import ABC, abstractmethod
|
|
21
21
|
import logging
|
|
22
22
|
import psutil
|
|
23
|
-
from pyfemtet.logger import
|
|
23
|
+
from pyfemtet.logger import get_module_logger, get_dash_logger
|
|
24
24
|
|
|
25
|
+
logger = get_module_logger('opt.monitor', __name__)
|
|
26
|
+
logger.setLevel(logging.ERROR)
|
|
25
27
|
|
|
26
|
-
dash_logger =
|
|
28
|
+
dash_logger = get_dash_logger()
|
|
27
29
|
dash_logger.setLevel(logging.ERROR)
|
|
28
30
|
|
|
29
|
-
logger = get_logger('viewer')
|
|
30
|
-
logger.setLevel(logging.ERROR)
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class AbstractPage(ABC):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyfemtet
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Summary: Design parameter optimization using Femtet.
|
|
5
5
|
Home-page: https://github.com/pyfemtet/pyfemtet
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -22,6 +22,7 @@ Requires-Dist: dash-bootstrap-components (>=1.5.0,<2.0.0)
|
|
|
22
22
|
Requires-Dist: dask (>=2023.12.1,<2024.0.0)
|
|
23
23
|
Requires-Dist: distributed (>=2023.12.1,<2024.0.0)
|
|
24
24
|
Requires-Dist: femtetutils (>=1.0.0,<2.0.0)
|
|
25
|
+
Requires-Dist: fire (>=0.6.0,<0.7.0)
|
|
25
26
|
Requires-Dist: numpy (>=1.26.2,<2.0.0)
|
|
26
27
|
Requires-Dist: openpyxl (>=3.1.2,<4.0.0)
|
|
27
28
|
Requires-Dist: optuna (>=3.4.0,<5.0.0)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
pyfemtet/__init__.py,sha256=
|
|
1
|
+
pyfemtet/__init__.py,sha256=tUukPDbH9wVBvn9_DYqm0p_Q7TagQGM_2ZX042hSuUs,21
|
|
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
|
-
pyfemtet/_femtet_config_util/exit.py,sha256=
|
|
4
|
+
pyfemtet/_femtet_config_util/exit.py,sha256=0BWID-tjOkmZwmgPFkcJMkWW39voccz5ARIBWvZbHaw,1877
|
|
5
5
|
pyfemtet/_message/1. make_pot.bat,sha256=wrTA0YaL7nUfNB0cS8zljOmwq2qgyG6RMwHQbrwjvY4,476
|
|
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
|
|
@@ -10,36 +10,37 @@ pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po,sha256=F2bJGHVMtk086pekjVwY
|
|
|
10
10
|
pyfemtet/_message/locales/messages.pot,sha256=8Yjf462pJdEtxBLySKT34zMG5CH5uLB_8VaJQll_QsY,14493
|
|
11
11
|
pyfemtet/_message/messages.py,sha256=F8ENLZKoHq5irn-Ag7rqA3aSDsTmRWDyNHvOLY76ROI,13368
|
|
12
12
|
pyfemtet/_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
pyfemtet/_util/
|
|
13
|
+
pyfemtet/_util/dask_util.py,sha256=ufgr4m8slvyWP97lWBwolysQpJ1PmAO_-OI8IlEyvU8,233
|
|
14
|
+
pyfemtet/_util/excel_macro_util.py,sha256=cF1Z3yl9FMM0J7dpMRTsle8uYxYcfHhQC0QffnVovdY,7944
|
|
14
15
|
pyfemtet/_warning.py,sha256=TSOj8mOhuyfOUJB24LsW6GNhTA3IzIEevJw_hLKTrq8,2205
|
|
15
16
|
pyfemtet/brep/__init__.py,sha256=V1IQ2s-8eWjXOVlTp2jMav9u-NBiSkmyAX1vmtHDEso,73
|
|
16
17
|
pyfemtet/brep/_impl.py,sha256=Amf_wsUxUosQB3XXhErJ5RGKXBxRnaaPpavb_0Xx6Ek,404
|
|
17
18
|
pyfemtet/core.py,sha256=3lqfBGJ5IuKz2Nqj5pRo7YQqKwx_0ZDL72u95Ur_1p0,1386
|
|
18
|
-
pyfemtet/dispatch_extensions/__init__.py,sha256=
|
|
19
|
-
pyfemtet/dispatch_extensions/_impl.py,sha256=
|
|
20
|
-
pyfemtet/logger/__init__.py,sha256=
|
|
21
|
-
pyfemtet/logger/_impl.py,sha256=
|
|
19
|
+
pyfemtet/dispatch_extensions/__init__.py,sha256=QKpwZ0ffWUB-fiXXhhTL653FcPGLR-JKfxDNidEFoeM,271
|
|
20
|
+
pyfemtet/dispatch_extensions/_impl.py,sha256=yH_yeAnQ-Xi9GfjX-FQt9u3yHnrLYIteRb6HkgYHVEc,16222
|
|
21
|
+
pyfemtet/logger/__init__.py,sha256=UOJ9n_U2xwdTrp0Xgg-N6geySxNzKqTBQlXsaH0kW_w,420
|
|
22
|
+
pyfemtet/logger/_impl.py,sha256=rsAd0HpmveOaLS39ucp3U2OcDhQMWjC5fnVGhbJtWVw,6375
|
|
22
23
|
pyfemtet/opt/__init__.py,sha256=wRR8LbEhb5I6MUgmnCgjB6-tqHlOVxDIo7yPkq0QbBs,758
|
|
23
|
-
pyfemtet/opt/_femopt.py,sha256=
|
|
24
|
-
pyfemtet/opt/_femopt_core.py,sha256=
|
|
24
|
+
pyfemtet/opt/_femopt.py,sha256=3mh68QrVeP3EAhy3xEaNyB97uNJYAUZvpaPv6ZRrMN4,37883
|
|
25
|
+
pyfemtet/opt/_femopt_core.py,sha256=7z9xS8oQ8wW7dMoPaLL5PUizdJJIhoIM0EsvTu6LZ2Q,35416
|
|
25
26
|
pyfemtet/opt/_test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
pyfemtet/opt/_test_utils/control_femtet.py,sha256=
|
|
27
|
+
pyfemtet/opt/_test_utils/control_femtet.py,sha256=8oAl9y5V2n8Nnsgx_ebcZVzwFt1eI3swkdiKg6pg3-M,1085
|
|
27
28
|
pyfemtet/opt/_test_utils/hyper_sphere.py,sha256=nQhw8EIY0DwvcTqrbKhkxiITLZifr4-nG77E-_6ggmA,700
|
|
28
29
|
pyfemtet/opt/_test_utils/record_history.py,sha256=JCNJLZMCNTpJ6VT7iwEt2DIbwmsuQmgC0ClQSfcatj4,3915
|
|
29
|
-
pyfemtet/opt/interface/__init__.py,sha256=
|
|
30
|
-
pyfemtet/opt/interface/_base.py,sha256=
|
|
31
|
-
pyfemtet/opt/interface/_excel_interface.py,sha256=
|
|
32
|
-
pyfemtet/opt/interface/_femtet.py,sha256=
|
|
33
|
-
pyfemtet/opt/interface/_femtet_parametric.py,sha256=
|
|
30
|
+
pyfemtet/opt/interface/__init__.py,sha256=P5Ij-xjB4628qdgacIXLu_WBaWCoBkAk4nEMUCAQzWs,458
|
|
31
|
+
pyfemtet/opt/interface/_base.py,sha256=NVrvHVL7npgZbAQdMziA5TbTBghgi31JwrFH57edBKE,2615
|
|
32
|
+
pyfemtet/opt/interface/_excel_interface.py,sha256=mdPOCeEVrozcDBGIkprb8qSiCUYN2g07gz4KJRZdWSw,32479
|
|
33
|
+
pyfemtet/opt/interface/_femtet.py,sha256=REbi7-DdV0Keq-IgjDCTWHP9gjweayoORz3S04RfmkA,34443
|
|
34
|
+
pyfemtet/opt/interface/_femtet_parametric.py,sha256=0pAEhHflp0wIxWBVMXI8nCC02oAyRKLinH3Y6O8bq3M,2224
|
|
34
35
|
pyfemtet/opt/interface/_femtet_with_nx/__init__.py,sha256=-6W2g2FDEcKzGHmI5KAKQe-4U5jDpMj0CXuma-GZca0,83
|
|
35
|
-
pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=
|
|
36
|
+
pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=oefISc6c6RPPyhPnWuzCb60tgsrzGiqoIWk1DsiKzTk,5986
|
|
36
37
|
pyfemtet/opt/interface/_femtet_with_nx/update_model.py,sha256=P7VH0i_o-X9OUe6AGaLF1fACPeHNrMjcrOBCA3MMrI4,3092
|
|
37
|
-
pyfemtet/opt/interface/_femtet_with_sldworks.py,sha256=
|
|
38
|
+
pyfemtet/opt/interface/_femtet_with_sldworks.py,sha256=qqo2P4qZN0d89uNQyohKxq-Yhdql5vC0QHg4bpy7Ky8,11011
|
|
38
39
|
pyfemtet/opt/optimizer/__init__.py,sha256=Ia6viowECkG0IFXtFef0tJ4jDKsoDzJLqMJ9xLFH2LQ,543
|
|
39
|
-
pyfemtet/opt/optimizer/_base.py,sha256=
|
|
40
|
+
pyfemtet/opt/optimizer/_base.py,sha256=0cramby4lHPjNt6WoSn8XFhfx54xXMYucjD0O1uYz7w,12591
|
|
40
41
|
pyfemtet/opt/optimizer/_optuna/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
42
|
pyfemtet/opt/optimizer/_optuna/_botorch_patch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py,sha256=
|
|
43
|
+
pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py,sha256=b2-PP2HM46kJS4cJkBWnxnW9AS9JfeVkEjmkoKK_ziE,8949
|
|
43
44
|
pyfemtet/opt/optimizer/_optuna/_optuna.py,sha256=nKlEYizSu6BQu8OMhRWRJxk5eXJ0LAPR7h6CQOjbdxE,16460
|
|
44
45
|
pyfemtet/opt/optimizer/_optuna/_pof_botorch.py,sha256=yVyg1V3trqirSDtbRepgftvS02AEkAhrgjou21JS124,72717
|
|
45
46
|
pyfemtet/opt/optimizer/_scipy.py,sha256=_2whhMNq6hC1lr5PlYhpZ8Zlh6-DkAjz8SVB5qHIpYg,4766
|
|
@@ -60,7 +61,7 @@ pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.femprj,sha256=knN0bBTHm5CqExLdmxd
|
|
|
60
61
|
pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.py,sha256=JoGQSwH3yJnABxyd-WJfrwMkhd1UV0yYF2L2RvMFXmc,4559
|
|
61
62
|
pyfemtet/opt/samples/femprj_sample/cad_ex01_SW_test_result.reccsv,sha256=NS0Zik2c1mbMdGa0hGJaRQdCD08Bltx84n9QzP5CjPo,4736
|
|
62
63
|
pyfemtet/opt/samples/femprj_sample/constrained_pipe.femprj,sha256=MAl-VQfethwYvl49RkuW7FQlFCQ9_mYvc03SsqBCad0,57414
|
|
63
|
-
pyfemtet/opt/samples/femprj_sample/constrained_pipe.py,sha256=
|
|
64
|
+
pyfemtet/opt/samples/femprj_sample/constrained_pipe.py,sha256=mIscUYVGmoz5IpR_T9wyC1vTVW95PbGAeuTcDvq1Nk8,3226
|
|
64
65
|
pyfemtet/opt/samples/femprj_sample/constrained_pipe_test_result.reccsv,sha256=AbAMXLtxrEBHLjdM0HnGQ7j3uJtVHZpxOZxOqNmO1CA,1796
|
|
65
66
|
pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.femprj,sha256=dbanN3W2eX_ciZ0wZGqK60mc4edSVh5G2OqbbMKyFng,74898
|
|
66
67
|
pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.py,sha256=RxLSXFs0SqUjlug_JZAKlkJhqJdQCY3Y3F-DtSQRtVM,2458
|
|
@@ -99,7 +100,7 @@ pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.femprj,sha256=dMwQM
|
|
|
99
100
|
pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.py,sha256=vMy-KUP1wEMV9Rt6yXjkE40Fcs1t1cpQK-nQJK8hHao,2284
|
|
100
101
|
pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_parallel_jp.py,sha256=4X0cl3YWpYarcNBCH79mrlyFuKUYSqvnGzokEbv9ILk,2335
|
|
101
102
|
pyfemtet/opt/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
pyfemtet/opt/visualization/_base.py,sha256=
|
|
103
|
+
pyfemtet/opt/visualization/_base.py,sha256=xh6yIkoyBrV670JhAnR9rRewpH7P25wz0pnr0JH0pvc,7623
|
|
103
104
|
pyfemtet/opt/visualization/_complex_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
105
|
pyfemtet/opt/visualization/_complex_components/alert_region.py,sha256=sX8xqT4NqhACagK4YgumF4ResrTqhOKQ8dN4q58shI8,2106
|
|
105
106
|
pyfemtet/opt/visualization/_complex_components/control_femtet.py,sha256=LcMoh_MQQ1-hiz7nMGOmxSSoJLOX8viVxZB6uIggg_g,6243
|
|
@@ -120,8 +121,8 @@ pyfemtet/opt/visualization/result_viewer/.gitignore,sha256=ryvb4aqbbsHireHWlPQfx
|
|
|
120
121
|
pyfemtet/opt/visualization/result_viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
122
|
pyfemtet/opt/visualization/result_viewer/application.py,sha256=WcHBx_J5eNLKSaprpk9BGifwhO04oN8FiNGYTWorrXA,1691
|
|
122
123
|
pyfemtet/opt/visualization/result_viewer/pages.py,sha256=laEAKHAtdshCAHxgXo-zMNg3RP6lCxfszO3XwLnF1dU,32156
|
|
123
|
-
pyfemtet-0.
|
|
124
|
-
pyfemtet-0.
|
|
125
|
-
pyfemtet-0.
|
|
126
|
-
pyfemtet-0.
|
|
127
|
-
pyfemtet-0.
|
|
124
|
+
pyfemtet-0.7.1.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
|
|
125
|
+
pyfemtet-0.7.1.dist-info/METADATA,sha256=NQPiiH6Lfk_1zkuMKNVtOnegaWhJXp_hN6afJMmaWts,3408
|
|
126
|
+
pyfemtet-0.7.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
127
|
+
pyfemtet-0.7.1.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
|
|
128
|
+
pyfemtet-0.7.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|