pyfemtet 0.8.6__py3-none-any.whl → 0.8.7__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 +92 -88
- pyfemtet/_message/locales/messages.pot +94 -90
- pyfemtet/_message/messages.py +2 -0
- pyfemtet/opt/interface/_femtet.py +17 -0
- pyfemtet/opt/interface/_femtet_parametric.py +203 -4
- {pyfemtet-0.8.6.dist-info → pyfemtet-0.8.7.dist-info}/METADATA +1 -1
- {pyfemtet-0.8.6.dist-info → pyfemtet-0.8.7.dist-info}/RECORD +12 -12
- {pyfemtet-0.8.6.dist-info → pyfemtet-0.8.7.dist-info}/LICENSE +0 -0
- {pyfemtet-0.8.6.dist-info → pyfemtet-0.8.7.dist-info}/WHEEL +0 -0
- {pyfemtet-0.8.6.dist-info → pyfemtet-0.8.7.dist-info}/entry_points.txt +0 -0
pyfemtet/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.8.
|
|
1
|
+
__version__ = "0.8.7"
|
|
Binary file
|
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: PROJECT VERSION\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
10
|
-
"POT-Creation-Date:
|
|
10
|
+
"POT-Creation-Date: 2025-01-29 15:47+0900\n"
|
|
11
11
|
"PO-Revision-Date: 2024-07-22 14:05+0900\n"
|
|
12
12
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
13
13
|
"Language: ja\n"
|
|
@@ -190,351 +190,355 @@ msgstr ""
|
|
|
190
190
|
msgid "Restore Femtet setting of autosave."
|
|
191
191
|
msgstr "Femtet の自動保存設定を元に戻します。"
|
|
192
192
|
|
|
193
|
-
#: pyfemtet/_message/messages.py:
|
|
193
|
+
#: pyfemtet/_message/messages.py:88
|
|
194
|
+
msgid "Failed to make output from Femtet. Please check output settings of Parametric Analysis."
|
|
195
|
+
msgstr "パラメトリック解析結果出力に失敗しました。結果出力設定を確認してください。"
|
|
196
|
+
|
|
197
|
+
#: pyfemtet/_message/messages.py:92
|
|
194
198
|
msgid "The following features are not supported by the specified optimization method. "
|
|
195
199
|
msgstr "以下の機能は現在の最適化手法では利用できません。"
|
|
196
200
|
|
|
197
|
-
#: pyfemtet/_message/messages.py:
|
|
201
|
+
#: pyfemtet/_message/messages.py:93
|
|
198
202
|
msgid "The parameter set does not match the one added with add_init_parameter."
|
|
199
203
|
msgstr "変数の組合せが add_init_parameter で与えられた変数の組合せと一致しません。"
|
|
200
204
|
|
|
201
|
-
#: pyfemtet/_message/messages.py:
|
|
205
|
+
#: pyfemtet/_message/messages.py:94
|
|
202
206
|
msgid "An exception has occurred during FEM update. Current parameters are: "
|
|
203
207
|
msgstr "FEM 解析中に例外が発生しました。現在の変数の組合せは以下の通りです。"
|
|
204
208
|
|
|
205
|
-
#: pyfemtet/_message/messages.py:
|
|
209
|
+
#: pyfemtet/_message/messages.py:95
|
|
206
210
|
msgid "The constraints were not satisfied for the following sets of variables:"
|
|
207
211
|
msgstr "以下の変数の組合せで拘束が満たされませんでした。"
|
|
208
212
|
|
|
209
|
-
#: pyfemtet/_message/messages.py:
|
|
213
|
+
#: pyfemtet/_message/messages.py:96
|
|
210
214
|
msgid "Current parameter set cannot update FEM and this optimization method cannot skip current parameter set. The optimization process will be terminated."
|
|
211
215
|
msgstr "現在の変数の組合せで FEM 解析を行うことができません。現在の最適化手法では変数の組合せをスキップすることができません。最適化プログラムは停止されます。"
|
|
212
216
|
|
|
213
|
-
#: pyfemtet/_message/messages.py:
|
|
217
|
+
#: pyfemtet/_message/messages.py:97
|
|
214
218
|
msgid "Optimization has been interrupted. Note that you cannot acquire the OptimizationResult in case of `trust-constr`, `TNC`, `SLSQP` or `COBYLA`."
|
|
215
219
|
msgstr "最適化が中断されました。`trust-constr`, `TNC`, `SLSQP` 又は `COBYLA` メソッドを使っている場合は、OptimizationResult オブジェクトが取得できないことに注意してください。"
|
|
216
220
|
|
|
217
|
-
#: pyfemtet/_message/messages.py:
|
|
221
|
+
#: pyfemtet/_message/messages.py:98
|
|
218
222
|
msgid "You can use parameter constraint only with BoTorchSampler."
|
|
219
223
|
msgstr "BoTorchSampler でのみパラメーター制約を使用できます。"
|
|
220
224
|
|
|
221
|
-
#: pyfemtet/_message/messages.py:
|
|
225
|
+
#: pyfemtet/_message/messages.py:99
|
|
222
226
|
msgid "Scipy is deterministic, so whether you set a seed or not will not change the results."
|
|
223
227
|
msgstr ""
|
|
224
228
|
|
|
225
|
-
#: pyfemtet/_message/messages.py:
|
|
229
|
+
#: pyfemtet/_message/messages.py:100
|
|
226
230
|
msgid "Start to candidate new parameter set with constraints. This process may take a long time."
|
|
227
231
|
msgstr ""
|
|
228
232
|
|
|
229
|
-
#: pyfemtet/_message/messages.py:
|
|
233
|
+
#: pyfemtet/_message/messages.py:101
|
|
230
234
|
msgid "Updating FEM parameter during evaluating constraints take a long time. Please consider not to use FEM variables in constraint functions and set `update_fem` to False."
|
|
231
235
|
msgstr ""
|
|
232
236
|
|
|
233
|
-
#: pyfemtet/_message/messages.py:
|
|
237
|
+
#: pyfemtet/_message/messages.py:105
|
|
234
238
|
msgid "Connect to Femtet"
|
|
235
239
|
msgstr "Femtet に接続する"
|
|
236
240
|
|
|
237
|
-
#: pyfemtet/_message/messages.py:
|
|
241
|
+
#: pyfemtet/_message/messages.py:106
|
|
238
242
|
msgid "Analysis model name described in csv does not exist in project."
|
|
239
243
|
msgstr "履歴 csv ファイルに記載されている解析モデル名はプロジェクトに含まれていません。"
|
|
240
244
|
|
|
241
|
-
#: pyfemtet/_message/messages.py:
|
|
245
|
+
#: pyfemtet/_message/messages.py:107
|
|
242
246
|
msgid "History csv is not read yet. Open your project manually."
|
|
243
247
|
msgstr "履歴 csv が読み込まれていません。目的のプロジェクトを手動で開いてください。"
|
|
244
248
|
|
|
245
|
-
#: pyfemtet/_message/messages.py:
|
|
249
|
+
#: pyfemtet/_message/messages.py:108
|
|
246
250
|
msgid "Cannot read project data from csv. Open your project manually."
|
|
247
251
|
msgstr "履歴 csv ファイルからプロジェクトに関するデータを読み込めませんでした。目的のプロジェクトを手動で開いてください。"
|
|
248
252
|
|
|
249
|
-
#: pyfemtet/_message/messages.py:
|
|
253
|
+
#: pyfemtet/_message/messages.py:109
|
|
250
254
|
msgid ".femprj file described in csv is not found. Open your project manually."
|
|
251
255
|
msgstr "履歴 csv ファイルに記載されているプロジェクトファイルが見つかりませんでした。目的のプロジェクトを手動で開いてください。"
|
|
252
256
|
|
|
253
|
-
#: pyfemtet/_message/messages.py:
|
|
257
|
+
#: pyfemtet/_message/messages.py:110
|
|
254
258
|
msgid "Analysis model name is not specified. Open your model in the project manually."
|
|
255
259
|
msgstr "解析モデル名が指定されていません。目的の解析モデルをプロジェクト内で手動で開いてください。"
|
|
256
260
|
|
|
257
|
-
#: pyfemtet/_message/messages.py:
|
|
261
|
+
#: pyfemtet/_message/messages.py:112
|
|
258
262
|
msgid "Constraint"
|
|
259
263
|
msgstr "拘束条件"
|
|
260
264
|
|
|
261
|
-
#: pyfemtet/_message/messages.py:
|
|
265
|
+
#: pyfemtet/_message/messages.py:113
|
|
262
266
|
msgid "feasible"
|
|
263
267
|
msgstr "満たす"
|
|
264
268
|
|
|
265
|
-
#: pyfemtet/_message/messages.py:
|
|
269
|
+
#: pyfemtet/_message/messages.py:114
|
|
266
270
|
msgid "infeasible"
|
|
267
271
|
msgstr "満たさない"
|
|
268
272
|
|
|
269
|
-
#: pyfemtet/_message/messages.py:
|
|
273
|
+
#: pyfemtet/_message/messages.py:115
|
|
270
274
|
msgid "Optimality"
|
|
271
275
|
msgstr "最適性"
|
|
272
276
|
|
|
273
|
-
#: pyfemtet/_message/messages.py:
|
|
277
|
+
#: pyfemtet/_message/messages.py:116
|
|
274
278
|
msgid "non dominated"
|
|
275
279
|
msgstr "適"
|
|
276
280
|
|
|
277
|
-
#: pyfemtet/_message/messages.py:
|
|
281
|
+
#: pyfemtet/_message/messages.py:117
|
|
278
282
|
msgid "dominated"
|
|
279
283
|
msgstr "不適"
|
|
280
284
|
|
|
281
|
-
#: pyfemtet/_message/messages.py:
|
|
285
|
+
#: pyfemtet/_message/messages.py:118
|
|
282
286
|
msgid "Hypervolume Plot"
|
|
283
287
|
msgstr "Hypervolume プロット"
|
|
284
288
|
|
|
285
|
-
#: pyfemtet/_message/messages.py:
|
|
289
|
+
#: pyfemtet/_message/messages.py:119
|
|
286
290
|
msgid "Objective Plot"
|
|
287
291
|
msgstr "目的関数プロット"
|
|
288
292
|
|
|
289
|
-
#: pyfemtet/_message/messages.py:
|
|
293
|
+
#: pyfemtet/_message/messages.py:120
|
|
290
294
|
msgid "Multi Objective Pair Plot"
|
|
291
295
|
msgstr "目的関数ペアプロット"
|
|
292
296
|
|
|
293
|
-
#: pyfemtet/_message/messages.py:
|
|
297
|
+
#: pyfemtet/_message/messages.py:121
|
|
294
298
|
msgid "Succeeded trial number"
|
|
295
299
|
msgstr "成功した解析数"
|
|
296
300
|
|
|
297
|
-
#: pyfemtet/_message/messages.py:
|
|
301
|
+
#: pyfemtet/_message/messages.py:122
|
|
298
302
|
msgid "All solutions"
|
|
299
303
|
msgstr "すべての解"
|
|
300
304
|
|
|
301
|
-
#: pyfemtet/_message/messages.py:
|
|
305
|
+
#: pyfemtet/_message/messages.py:123
|
|
302
306
|
msgid "Transition of<br>optimal solutions"
|
|
303
307
|
msgstr "最適解の推移"
|
|
304
308
|
|
|
305
|
-
#: pyfemtet/_message/messages.py:
|
|
309
|
+
#: pyfemtet/_message/messages.py:124
|
|
306
310
|
msgid "Target value"
|
|
307
311
|
msgstr "ターゲット値"
|
|
308
312
|
|
|
309
|
-
#: pyfemtet/_message/messages.py:
|
|
313
|
+
#: pyfemtet/_message/messages.py:126
|
|
310
314
|
msgid "Objectives"
|
|
311
315
|
msgstr "目的関数"
|
|
312
316
|
|
|
313
|
-
#: pyfemtet/_message/messages.py:
|
|
317
|
+
#: pyfemtet/_message/messages.py:127
|
|
314
318
|
msgid "Objectives (all)"
|
|
315
319
|
msgstr "全ての目的関数"
|
|
316
320
|
|
|
317
|
-
#: pyfemtet/_message/messages.py:
|
|
321
|
+
#: pyfemtet/_message/messages.py:129
|
|
318
322
|
msgid "Prediction Model"
|
|
319
323
|
msgstr "予測モデル"
|
|
320
324
|
|
|
321
|
-
#: pyfemtet/_message/messages.py:
|
|
325
|
+
#: pyfemtet/_message/messages.py:130
|
|
322
326
|
msgid " Recalculate Model"
|
|
323
327
|
msgstr " 予測モデルの再計算"
|
|
324
328
|
|
|
325
|
-
#: pyfemtet/_message/messages.py:
|
|
329
|
+
#: pyfemtet/_message/messages.py:131
|
|
326
330
|
msgid " Redraw graph"
|
|
327
331
|
msgstr " 描画の更新"
|
|
328
332
|
|
|
329
|
-
#: pyfemtet/_message/messages.py:
|
|
333
|
+
#: pyfemtet/_message/messages.py:132
|
|
330
334
|
msgid "Parameter"
|
|
331
335
|
msgstr "変数"
|
|
332
336
|
|
|
333
|
-
#: pyfemtet/_message/messages.py:
|
|
337
|
+
#: pyfemtet/_message/messages.py:133
|
|
334
338
|
msgid "Parameter2"
|
|
335
339
|
msgstr "変数2"
|
|
336
340
|
|
|
337
|
-
#: pyfemtet/_message/messages.py:
|
|
341
|
+
#: pyfemtet/_message/messages.py:134
|
|
338
342
|
msgid "Objective"
|
|
339
343
|
msgstr "目的関数"
|
|
340
344
|
|
|
341
|
-
#: pyfemtet/_message/messages.py:
|
|
345
|
+
#: pyfemtet/_message/messages.py:135
|
|
342
346
|
msgid "No history selected."
|
|
343
347
|
msgstr "履歴 csv が選択されていません。"
|
|
344
348
|
|
|
345
|
-
#: pyfemtet/_message/messages.py:
|
|
349
|
+
#: pyfemtet/_message/messages.py:136
|
|
346
350
|
msgid "No FEM result (yet)."
|
|
347
351
|
msgstr "FEM 解析結果が(まだ)存在しません。"
|
|
348
352
|
|
|
349
|
-
#: pyfemtet/_message/messages.py:
|
|
353
|
+
#: pyfemtet/_message/messages.py:137
|
|
350
354
|
msgid "Prediction model is not calculated yet."
|
|
351
355
|
msgstr "予測モデルがまだ計算されていません。"
|
|
352
356
|
|
|
353
|
-
#: pyfemtet/_message/messages.py:
|
|
357
|
+
#: pyfemtet/_message/messages.py:138
|
|
354
358
|
msgid "Cannot select same parameter"
|
|
355
359
|
msgstr "同じ変数を設定できません。"
|
|
356
360
|
|
|
357
|
-
#: pyfemtet/_message/messages.py:
|
|
361
|
+
#: pyfemtet/_message/messages.py:139
|
|
358
362
|
msgid "3D graph (two or more parameters required)"
|
|
359
363
|
msgstr "3D (2 つ以上の設計変数が必要です)"
|
|
360
364
|
|
|
361
|
-
#: pyfemtet/_message/messages.py:
|
|
365
|
+
#: pyfemtet/_message/messages.py:141
|
|
362
366
|
msgid "Prediction Model of Objective"
|
|
363
367
|
msgstr "目的関数に対する予測モデル"
|
|
364
368
|
|
|
365
|
-
#: pyfemtet/_message/messages.py:
|
|
369
|
+
#: pyfemtet/_message/messages.py:142
|
|
366
370
|
msgid "prediction model"
|
|
367
371
|
msgstr "モデルによる予測値"
|
|
368
372
|
|
|
369
|
-
#: pyfemtet/_message/messages.py:
|
|
373
|
+
#: pyfemtet/_message/messages.py:143
|
|
370
374
|
msgid "std. dev. of model"
|
|
371
375
|
msgstr "予測値の標準偏差"
|
|
372
376
|
|
|
373
|
-
#: pyfemtet/_message/messages.py:
|
|
377
|
+
#: pyfemtet/_message/messages.py:145
|
|
374
378
|
msgid "Progress"
|
|
375
379
|
msgstr "進捗"
|
|
376
380
|
|
|
377
|
-
#: pyfemtet/_message/messages.py:
|
|
381
|
+
#: pyfemtet/_message/messages.py:146
|
|
378
382
|
msgid "Prediction"
|
|
379
383
|
msgstr "予測"
|
|
380
384
|
|
|
381
|
-
#: pyfemtet/_message/messages.py:
|
|
385
|
+
#: pyfemtet/_message/messages.py:147
|
|
382
386
|
msgid "Workers"
|
|
383
387
|
msgstr "並列プロセス"
|
|
384
388
|
|
|
385
|
-
#: pyfemtet/_message/messages.py:
|
|
389
|
+
#: pyfemtet/_message/messages.py:148
|
|
386
390
|
msgid "Details"
|
|
387
391
|
msgstr "詳細分析"
|
|
388
392
|
|
|
389
|
-
#: pyfemtet/_message/messages.py:
|
|
393
|
+
#: pyfemtet/_message/messages.py:150
|
|
390
394
|
msgid "Optimization status will be shown here."
|
|
391
395
|
msgstr "最適化の状態がここに表示されます。"
|
|
392
396
|
|
|
393
|
-
#: pyfemtet/_message/messages.py:
|
|
397
|
+
#: pyfemtet/_message/messages.py:151
|
|
394
398
|
msgid "Auto-update graph"
|
|
395
399
|
msgstr "グラフの自動更新"
|
|
396
400
|
|
|
397
|
-
#: pyfemtet/_message/messages.py:
|
|
401
|
+
#: pyfemtet/_message/messages.py:152
|
|
398
402
|
msgid "Interrupt Optimization"
|
|
399
403
|
msgstr "最適化を中断する"
|
|
400
404
|
|
|
401
|
-
#: pyfemtet/_message/messages.py:
|
|
405
|
+
#: pyfemtet/_message/messages.py:154
|
|
402
406
|
msgid "Result"
|
|
403
407
|
msgstr "結果"
|
|
404
408
|
|
|
405
|
-
#: pyfemtet/_message/messages.py:
|
|
409
|
+
#: pyfemtet/_message/messages.py:156
|
|
406
410
|
msgid "Open Result in Femtet"
|
|
407
411
|
msgstr "Femtet で結果を開く"
|
|
408
412
|
|
|
409
|
-
#: pyfemtet/_message/messages.py:
|
|
413
|
+
#: pyfemtet/_message/messages.py:157
|
|
410
414
|
msgid "Reconstruct Model"
|
|
411
415
|
msgstr "モデルの再構築"
|
|
412
416
|
|
|
413
|
-
#: pyfemtet/_message/messages.py:
|
|
417
|
+
#: pyfemtet/_message/messages.py:158
|
|
414
418
|
msgid "Drag and drop or select csv file"
|
|
415
419
|
msgstr "履歴 csv をドラッグ&ドロップ"
|
|
416
420
|
|
|
417
|
-
#: pyfemtet/_message/messages.py:
|
|
421
|
+
#: pyfemtet/_message/messages.py:159
|
|
418
422
|
msgid "Connection to Femtet is not established. Launch Femtet and Open a project."
|
|
419
423
|
msgstr "Femtet との接続ができていません。Femtet を起動し、プロジェクトを開いてください。"
|
|
420
424
|
|
|
421
|
-
#: pyfemtet/_message/messages.py:
|
|
425
|
+
#: pyfemtet/_message/messages.py:160
|
|
422
426
|
msgid "No result plot is selected."
|
|
423
427
|
msgstr "グラフ上で結果プロットが選択されていません。"
|
|
424
428
|
|
|
425
|
-
#: pyfemtet/_message/messages.py:
|
|
429
|
+
#: pyfemtet/_message/messages.py:161
|
|
426
430
|
msgid "The femprj file path in the history csv is not found or valid."
|
|
427
431
|
msgstr "履歴 csv に記載の femprj ファイルが見つからないか不正です。"
|
|
428
432
|
|
|
429
|
-
#: pyfemtet/_message/messages.py:
|
|
433
|
+
#: pyfemtet/_message/messages.py:162
|
|
430
434
|
msgid "The model name in the history csv is not found."
|
|
431
435
|
msgstr "履歴 csv に記載の解析モデル名が見つかりませんでした。"
|
|
432
436
|
|
|
433
|
-
#: pyfemtet/_message/messages.py:
|
|
437
|
+
#: pyfemtet/_message/messages.py:163
|
|
434
438
|
msgid ".pdt file is not found. Please check the .Results folder. Note that .pdt file save mode depends on the `save_pdt` argument of FemtetInterface in optimization script(default to `all`)."
|
|
435
439
|
msgstr "結果(.pdt)ファイルが見つかりませんでした。.Result フォルダ内を確認してください。.pdt ファイルが作成されるかどうかは最適化スクリプトの FemtetInterface の引数 `save_pdt` の挙動に左右されることに注意してください(デフォルトは `all`, すべての trial の結果が保存されます)。"
|
|
436
440
|
|
|
437
|
-
#: pyfemtet/_message/messages.py:
|
|
441
|
+
#: pyfemtet/_message/messages.py:168
|
|
438
442
|
msgid "Failed to open "
|
|
439
443
|
msgstr "以下のファイルが開けません: "
|
|
440
444
|
|
|
441
|
-
#: pyfemtet/_message/messages.py:
|
|
445
|
+
#: pyfemtet/_message/messages.py:169
|
|
442
446
|
msgid "Specified model is not in current project. Please check opened project. For example, not \"analysis model only\" but your .femprj file."
|
|
443
447
|
msgstr "指定された解析モデルは現在のプロジェクトに含まれていません。現在開かれているプロジェクトが正しいか確認してください。例えば、「解析結果単体」の画面になっていないことを確認してください。"
|
|
444
448
|
|
|
445
|
-
#: pyfemtet/_message/messages.py:
|
|
449
|
+
#: pyfemtet/_message/messages.py:172
|
|
446
450
|
msgid ".femprj file path of the history csv is invalid. Please certify matching between csv and opening .femprj file."
|
|
447
451
|
msgstr "履歴 csv に記載のプロジェクトファイルのパスが不正です。現在開かれているプロジェクトファイルと履歴 csv に記載のプロジェクトファイルのパスが一致することを確認してください。"
|
|
448
452
|
|
|
449
|
-
#: pyfemtet/_message/messages.py:
|
|
453
|
+
#: pyfemtet/_message/messages.py:173
|
|
450
454
|
msgid "Analysis model name of the history csv is invalid. Please certify matching between csv and opening analysis model."
|
|
451
455
|
msgstr "履歴 csv に記載の解析モデル名が不正です。現在開かれている解析モデル名と履歴 csv に記載の解析モデル名が一致することを確認してください。"
|
|
452
456
|
|
|
453
|
-
#: pyfemtet/_message/messages.py:
|
|
457
|
+
#: pyfemtet/_message/messages.py:174
|
|
454
458
|
msgid "Analysis model name of the history csv and opened in Femtet is inconsistent. Please certify matching between csv and opening analysis model."
|
|
455
459
|
msgstr "履歴 csv に記載の解析モデル名と Femtet で開かれている解析モデル名が一致しません。"
|
|
456
460
|
|
|
457
|
-
#: pyfemtet/_message/messages.py:
|
|
461
|
+
#: pyfemtet/_message/messages.py:175
|
|
458
462
|
msgid "tutorial mode"
|
|
459
463
|
msgstr "チュートリアルモード"
|
|
460
464
|
|
|
461
|
-
#: pyfemtet/_message/messages.py:
|
|
465
|
+
#: pyfemtet/_message/messages.py:176
|
|
462
466
|
msgid "Load Sample CSV"
|
|
463
467
|
msgstr "サンプル履歴 CSV 読み込み"
|
|
464
468
|
|
|
465
|
-
#: pyfemtet/_message/messages.py:
|
|
469
|
+
#: pyfemtet/_message/messages.py:177
|
|
466
470
|
msgid "Load CSV"
|
|
467
471
|
msgstr "履歴 CSV 読み込み"
|
|
468
472
|
|
|
469
|
-
#: pyfemtet/_message/messages.py:
|
|
473
|
+
#: pyfemtet/_message/messages.py:178
|
|
470
474
|
msgid "Open your optimization result. Then connecting to femtet will start automatically. Note that in tutorial mode, this button loads the ready-made sample csv and open sample femprj."
|
|
471
475
|
msgstr "最適化を実行した結果生成される csv ファイル(履歴 csv)を開きます。その後、Femtet の起動・接続が自動的に行われます。チュートリアルモードではこのボタンを押すと自動的に用意されたサンプルファイルが開きます。"
|
|
472
476
|
|
|
473
|
-
#: pyfemtet/_message/messages.py:
|
|
477
|
+
#: pyfemtet/_message/messages.py:180
|
|
474
478
|
msgid "Main Graph"
|
|
475
479
|
msgstr "メイングラフ"
|
|
476
480
|
|
|
477
|
-
#: pyfemtet/_message/messages.py:
|
|
481
|
+
#: pyfemtet/_message/messages.py:181
|
|
478
482
|
msgid "Here the optimization history is shown. Each plot represents single FEM result. You can pick a result to open the corresponding result in Femtet. "
|
|
479
483
|
msgstr "ここに最適化の履歴が表示されます。プロットの 1 個の点が 1 個の変数の組合せに対する FEM 解析結果を示します。グラフ中の結果ファイルを選択し、Femtet で対応する結果ファイルを開くことができます。"
|
|
480
484
|
|
|
481
|
-
#: pyfemtet/_message/messages.py:
|
|
485
|
+
#: pyfemtet/_message/messages.py:184
|
|
482
486
|
msgid "Open Result"
|
|
483
487
|
msgstr "結果を開く"
|
|
484
488
|
|
|
485
|
-
#: pyfemtet/_message/messages.py:
|
|
489
|
+
#: pyfemtet/_message/messages.py:185
|
|
486
490
|
msgid "After pick a point in the main graph, This button shows the corresponding FEM result in Femtet."
|
|
487
491
|
msgstr "メイングラフで点を選択した後でこのボタンを押すと、対応する FEM 解析結果が Femtet で開かれます。"
|
|
488
492
|
|
|
489
|
-
#: pyfemtet/_message/messages.py:
|
|
493
|
+
#: pyfemtet/_message/messages.py:187
|
|
490
494
|
msgid "Re-connect to Femtet."
|
|
491
495
|
msgstr "手動で Femtet と接続します。"
|
|
492
496
|
|
|
493
|
-
#: pyfemtet/_message/messages.py:
|
|
497
|
+
#: pyfemtet/_message/messages.py:188
|
|
494
498
|
msgid "Sample csv is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
495
499
|
msgstr "サンプル履歴 csv が見つかりませんでした。以下のコマンドで pyfemtet の再インストールを検討して下さい。 `py -m pip install pyfemtet -U --force-reinstall`"
|
|
496
500
|
|
|
497
|
-
#: pyfemtet/_message/messages.py:
|
|
501
|
+
#: pyfemtet/_message/messages.py:189
|
|
498
502
|
msgid "Sample femprj file is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
499
503
|
msgstr "サンプルプロジェクトファイルが見つかりませんでした。以下のコマンドで pyfemtet の再インストールを検討して下さい。 `py -m pip install pyfemtet -U --force-reinstall`"
|
|
500
504
|
|
|
501
|
-
#: pyfemtet/_message/messages.py:
|
|
505
|
+
#: pyfemtet/_message/messages.py:190
|
|
502
506
|
msgid "Sample femprj result folder is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
503
507
|
msgstr "サンプル結果フォルダが見つかりませんでした。以下のコマンドで pyfemtet の再インストールを検討して下さい。 `py -m pip install pyfemtet -U --force-reinstall`"
|
|
504
508
|
|
|
505
|
-
#: pyfemtet/_message/messages.py:
|
|
509
|
+
#: pyfemtet/_message/messages.py:192
|
|
506
510
|
msgid "Loading data..."
|
|
507
511
|
msgstr ""
|
|
508
512
|
|
|
509
|
-
#: pyfemtet/_message/messages.py:
|
|
513
|
+
#: pyfemtet/_message/messages.py:193
|
|
510
514
|
msgid "Plots of objectives versus trials"
|
|
511
515
|
msgstr "試行回数に対する各目的関数のプロット"
|
|
512
516
|
|
|
513
|
-
#: pyfemtet/_message/messages.py:
|
|
517
|
+
#: pyfemtet/_message/messages.py:194
|
|
514
518
|
msgid "The vertical axis is the objective, and the horizontal axis is the number of trials."
|
|
515
519
|
msgstr "縦軸は目的関数、横軸は試行回数です。"
|
|
516
520
|
|
|
517
|
-
#: pyfemtet/_message/messages.py:
|
|
521
|
+
#: pyfemtet/_message/messages.py:195
|
|
518
522
|
msgid "Parallel coordinate plots"
|
|
519
523
|
msgstr "並行座標プロット"
|
|
520
524
|
|
|
521
|
-
#: pyfemtet/_message/messages.py:
|
|
525
|
+
#: pyfemtet/_message/messages.py:196
|
|
522
526
|
msgid "The vertical axis is an objective or parameters, and one polyline indicates one result."
|
|
523
527
|
msgstr "縦軸は目的関数及び各設計変数、折れ線ひとつはひとつの試行に対応します。"
|
|
524
528
|
|
|
525
|
-
#: pyfemtet/_message/messages.py:
|
|
529
|
+
#: pyfemtet/_message/messages.py:197
|
|
526
530
|
msgid "The heatmap of objectives"
|
|
527
531
|
msgstr "目的関数のヒートマップ"
|
|
528
532
|
|
|
529
|
-
#: pyfemtet/_message/messages.py:
|
|
533
|
+
#: pyfemtet/_message/messages.py:198
|
|
530
534
|
msgid "The axes are parameters, and the color shows objective value."
|
|
531
535
|
msgstr "軸は設計変数、色は目的関数の値を示します。"
|
|
532
536
|
|
|
533
|
-
#: pyfemtet/_message/messages.py:
|
|
537
|
+
#: pyfemtet/_message/messages.py:199
|
|
534
538
|
msgid "The response of an objective versus one parameter"
|
|
535
539
|
msgstr "ひとつの設計変数に対する目的関数の変化"
|
|
536
540
|
|
|
537
|
-
#: pyfemtet/_message/messages.py:
|
|
541
|
+
#: pyfemtet/_message/messages.py:200
|
|
538
542
|
msgid "The vertical axis is objective, and the horizontal axis is parameter."
|
|
539
543
|
msgstr "縦軸は目的関数、横軸は設計変数です。"
|
|
540
544
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Translations template for PROJECT.
|
|
2
|
-
# Copyright (C)
|
|
2
|
+
# Copyright (C) 2025 ORGANIZATION
|
|
3
3
|
# This file is distributed under the same license as the PROJECT project.
|
|
4
|
-
# FIRST AUTHOR <EMAIL@ADDRESS>,
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
|
|
5
5
|
#
|
|
6
6
|
#, fuzzy
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PROJECT VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2025-01-29 15:47+0900\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -189,351 +189,355 @@ msgstr ""
|
|
|
189
189
|
msgid "Restore Femtet setting of autosave."
|
|
190
190
|
msgstr ""
|
|
191
191
|
|
|
192
|
-
#: pyfemtet/_message/messages.py:
|
|
192
|
+
#: pyfemtet/_message/messages.py:88
|
|
193
|
+
msgid "Failed to make output from Femtet. Please check output settings of Parametric Analysis."
|
|
194
|
+
msgstr ""
|
|
195
|
+
|
|
196
|
+
#: pyfemtet/_message/messages.py:92
|
|
193
197
|
msgid "The following features are not supported by the specified optimization method. "
|
|
194
198
|
msgstr ""
|
|
195
199
|
|
|
196
|
-
#: pyfemtet/_message/messages.py:
|
|
200
|
+
#: pyfemtet/_message/messages.py:93
|
|
197
201
|
msgid "The parameter set does not match the one added with add_init_parameter."
|
|
198
202
|
msgstr ""
|
|
199
203
|
|
|
200
|
-
#: pyfemtet/_message/messages.py:
|
|
204
|
+
#: pyfemtet/_message/messages.py:94
|
|
201
205
|
msgid "An exception has occurred during FEM update. Current parameters are: "
|
|
202
206
|
msgstr ""
|
|
203
207
|
|
|
204
|
-
#: pyfemtet/_message/messages.py:
|
|
208
|
+
#: pyfemtet/_message/messages.py:95
|
|
205
209
|
msgid "The constraints were not satisfied for the following sets of variables:"
|
|
206
210
|
msgstr ""
|
|
207
211
|
|
|
208
|
-
#: pyfemtet/_message/messages.py:
|
|
212
|
+
#: pyfemtet/_message/messages.py:96
|
|
209
213
|
msgid "Current parameter set cannot update FEM and this optimization method cannot skip current parameter set. The optimization process will be terminated."
|
|
210
214
|
msgstr ""
|
|
211
215
|
|
|
212
|
-
#: pyfemtet/_message/messages.py:
|
|
216
|
+
#: pyfemtet/_message/messages.py:97
|
|
213
217
|
msgid "Optimization has been interrupted. Note that you cannot acquire the OptimizationResult in case of `trust-constr`, `TNC`, `SLSQP` or `COBYLA`."
|
|
214
218
|
msgstr ""
|
|
215
219
|
|
|
216
|
-
#: pyfemtet/_message/messages.py:
|
|
220
|
+
#: pyfemtet/_message/messages.py:98
|
|
217
221
|
msgid "You can use parameter constraint only with BoTorchSampler."
|
|
218
222
|
msgstr ""
|
|
219
223
|
|
|
220
|
-
#: pyfemtet/_message/messages.py:
|
|
224
|
+
#: pyfemtet/_message/messages.py:99
|
|
221
225
|
msgid "Scipy is deterministic, so whether you set a seed or not will not change the results."
|
|
222
226
|
msgstr ""
|
|
223
227
|
|
|
224
|
-
#: pyfemtet/_message/messages.py:
|
|
228
|
+
#: pyfemtet/_message/messages.py:100
|
|
225
229
|
msgid "Start to candidate new parameter set with constraints. This process may take a long time."
|
|
226
230
|
msgstr ""
|
|
227
231
|
|
|
228
|
-
#: pyfemtet/_message/messages.py:
|
|
232
|
+
#: pyfemtet/_message/messages.py:101
|
|
229
233
|
msgid "Updating FEM parameter during evaluating constraints take a long time. Please consider not to use FEM variables in constraint functions and set `update_fem` to False."
|
|
230
234
|
msgstr ""
|
|
231
235
|
|
|
232
|
-
#: pyfemtet/_message/messages.py:
|
|
236
|
+
#: pyfemtet/_message/messages.py:105
|
|
233
237
|
msgid "Connect to Femtet"
|
|
234
238
|
msgstr ""
|
|
235
239
|
|
|
236
|
-
#: pyfemtet/_message/messages.py:
|
|
240
|
+
#: pyfemtet/_message/messages.py:106
|
|
237
241
|
msgid "Analysis model name described in csv does not exist in project."
|
|
238
242
|
msgstr ""
|
|
239
243
|
|
|
240
|
-
#: pyfemtet/_message/messages.py:
|
|
244
|
+
#: pyfemtet/_message/messages.py:107
|
|
241
245
|
msgid "History csv is not read yet. Open your project manually."
|
|
242
246
|
msgstr ""
|
|
243
247
|
|
|
244
|
-
#: pyfemtet/_message/messages.py:
|
|
248
|
+
#: pyfemtet/_message/messages.py:108
|
|
245
249
|
msgid "Cannot read project data from csv. Open your project manually."
|
|
246
250
|
msgstr ""
|
|
247
251
|
|
|
248
|
-
#: pyfemtet/_message/messages.py:
|
|
252
|
+
#: pyfemtet/_message/messages.py:109
|
|
249
253
|
msgid ".femprj file described in csv is not found. Open your project manually."
|
|
250
254
|
msgstr ""
|
|
251
255
|
|
|
252
|
-
#: pyfemtet/_message/messages.py:
|
|
256
|
+
#: pyfemtet/_message/messages.py:110
|
|
253
257
|
msgid "Analysis model name is not specified. Open your model in the project manually."
|
|
254
258
|
msgstr ""
|
|
255
259
|
|
|
256
|
-
#: pyfemtet/_message/messages.py:
|
|
260
|
+
#: pyfemtet/_message/messages.py:112
|
|
257
261
|
msgid "Constraint"
|
|
258
262
|
msgstr ""
|
|
259
263
|
|
|
260
|
-
#: pyfemtet/_message/messages.py:
|
|
264
|
+
#: pyfemtet/_message/messages.py:113
|
|
261
265
|
msgid "feasible"
|
|
262
266
|
msgstr ""
|
|
263
267
|
|
|
264
|
-
#: pyfemtet/_message/messages.py:
|
|
268
|
+
#: pyfemtet/_message/messages.py:114
|
|
265
269
|
msgid "infeasible"
|
|
266
270
|
msgstr ""
|
|
267
271
|
|
|
268
|
-
#: pyfemtet/_message/messages.py:
|
|
272
|
+
#: pyfemtet/_message/messages.py:115
|
|
269
273
|
msgid "Optimality"
|
|
270
274
|
msgstr ""
|
|
271
275
|
|
|
272
|
-
#: pyfemtet/_message/messages.py:
|
|
276
|
+
#: pyfemtet/_message/messages.py:116
|
|
273
277
|
msgid "non dominated"
|
|
274
278
|
msgstr ""
|
|
275
279
|
|
|
276
|
-
#: pyfemtet/_message/messages.py:
|
|
280
|
+
#: pyfemtet/_message/messages.py:117
|
|
277
281
|
msgid "dominated"
|
|
278
282
|
msgstr ""
|
|
279
283
|
|
|
280
|
-
#: pyfemtet/_message/messages.py:
|
|
284
|
+
#: pyfemtet/_message/messages.py:118
|
|
281
285
|
msgid "Hypervolume Plot"
|
|
282
286
|
msgstr ""
|
|
283
287
|
|
|
284
|
-
#: pyfemtet/_message/messages.py:
|
|
288
|
+
#: pyfemtet/_message/messages.py:119
|
|
285
289
|
msgid "Objective Plot"
|
|
286
290
|
msgstr ""
|
|
287
291
|
|
|
288
|
-
#: pyfemtet/_message/messages.py:
|
|
292
|
+
#: pyfemtet/_message/messages.py:120
|
|
289
293
|
msgid "Multi Objective Pair Plot"
|
|
290
294
|
msgstr ""
|
|
291
295
|
|
|
292
|
-
#: pyfemtet/_message/messages.py:
|
|
296
|
+
#: pyfemtet/_message/messages.py:121
|
|
293
297
|
msgid "Succeeded trial number"
|
|
294
298
|
msgstr ""
|
|
295
299
|
|
|
296
|
-
#: pyfemtet/_message/messages.py:
|
|
300
|
+
#: pyfemtet/_message/messages.py:122
|
|
297
301
|
msgid "All solutions"
|
|
298
302
|
msgstr ""
|
|
299
303
|
|
|
300
|
-
#: pyfemtet/_message/messages.py:
|
|
304
|
+
#: pyfemtet/_message/messages.py:123
|
|
301
305
|
msgid "Transition of<br>optimal solutions"
|
|
302
306
|
msgstr ""
|
|
303
307
|
|
|
304
|
-
#: pyfemtet/_message/messages.py:
|
|
308
|
+
#: pyfemtet/_message/messages.py:124
|
|
305
309
|
msgid "Target value"
|
|
306
310
|
msgstr ""
|
|
307
311
|
|
|
308
|
-
#: pyfemtet/_message/messages.py:
|
|
312
|
+
#: pyfemtet/_message/messages.py:126
|
|
309
313
|
msgid "Objectives"
|
|
310
314
|
msgstr ""
|
|
311
315
|
|
|
312
|
-
#: pyfemtet/_message/messages.py:
|
|
316
|
+
#: pyfemtet/_message/messages.py:127
|
|
313
317
|
msgid "Objectives (all)"
|
|
314
318
|
msgstr ""
|
|
315
319
|
|
|
316
|
-
#: pyfemtet/_message/messages.py:
|
|
320
|
+
#: pyfemtet/_message/messages.py:129
|
|
317
321
|
msgid "Prediction Model"
|
|
318
322
|
msgstr ""
|
|
319
323
|
|
|
320
|
-
#: pyfemtet/_message/messages.py:
|
|
324
|
+
#: pyfemtet/_message/messages.py:130
|
|
321
325
|
msgid " Recalculate Model"
|
|
322
326
|
msgstr ""
|
|
323
327
|
|
|
324
|
-
#: pyfemtet/_message/messages.py:
|
|
328
|
+
#: pyfemtet/_message/messages.py:131
|
|
325
329
|
msgid " Redraw graph"
|
|
326
330
|
msgstr ""
|
|
327
331
|
|
|
328
|
-
#: pyfemtet/_message/messages.py:
|
|
332
|
+
#: pyfemtet/_message/messages.py:132
|
|
329
333
|
msgid "Parameter"
|
|
330
334
|
msgstr ""
|
|
331
335
|
|
|
332
|
-
#: pyfemtet/_message/messages.py:
|
|
336
|
+
#: pyfemtet/_message/messages.py:133
|
|
333
337
|
msgid "Parameter2"
|
|
334
338
|
msgstr ""
|
|
335
339
|
|
|
336
|
-
#: pyfemtet/_message/messages.py:
|
|
340
|
+
#: pyfemtet/_message/messages.py:134
|
|
337
341
|
msgid "Objective"
|
|
338
342
|
msgstr ""
|
|
339
343
|
|
|
340
|
-
#: pyfemtet/_message/messages.py:
|
|
344
|
+
#: pyfemtet/_message/messages.py:135
|
|
341
345
|
msgid "No history selected."
|
|
342
346
|
msgstr ""
|
|
343
347
|
|
|
344
|
-
#: pyfemtet/_message/messages.py:
|
|
348
|
+
#: pyfemtet/_message/messages.py:136
|
|
345
349
|
msgid "No FEM result (yet)."
|
|
346
350
|
msgstr ""
|
|
347
351
|
|
|
348
|
-
#: pyfemtet/_message/messages.py:
|
|
352
|
+
#: pyfemtet/_message/messages.py:137
|
|
349
353
|
msgid "Prediction model is not calculated yet."
|
|
350
354
|
msgstr ""
|
|
351
355
|
|
|
352
|
-
#: pyfemtet/_message/messages.py:
|
|
356
|
+
#: pyfemtet/_message/messages.py:138
|
|
353
357
|
msgid "Cannot select same parameter"
|
|
354
358
|
msgstr ""
|
|
355
359
|
|
|
356
|
-
#: pyfemtet/_message/messages.py:
|
|
360
|
+
#: pyfemtet/_message/messages.py:139
|
|
357
361
|
msgid "3D graph (two or more parameters required)"
|
|
358
362
|
msgstr ""
|
|
359
363
|
|
|
360
|
-
#: pyfemtet/_message/messages.py:
|
|
364
|
+
#: pyfemtet/_message/messages.py:141
|
|
361
365
|
msgid "Prediction Model of Objective"
|
|
362
366
|
msgstr ""
|
|
363
367
|
|
|
364
|
-
#: pyfemtet/_message/messages.py:
|
|
368
|
+
#: pyfemtet/_message/messages.py:142
|
|
365
369
|
msgid "prediction model"
|
|
366
370
|
msgstr ""
|
|
367
371
|
|
|
368
|
-
#: pyfemtet/_message/messages.py:
|
|
372
|
+
#: pyfemtet/_message/messages.py:143
|
|
369
373
|
msgid "std. dev. of model"
|
|
370
374
|
msgstr ""
|
|
371
375
|
|
|
372
|
-
#: pyfemtet/_message/messages.py:
|
|
376
|
+
#: pyfemtet/_message/messages.py:145
|
|
373
377
|
msgid "Progress"
|
|
374
378
|
msgstr ""
|
|
375
379
|
|
|
376
|
-
#: pyfemtet/_message/messages.py:
|
|
380
|
+
#: pyfemtet/_message/messages.py:146
|
|
377
381
|
msgid "Prediction"
|
|
378
382
|
msgstr ""
|
|
379
383
|
|
|
380
|
-
#: pyfemtet/_message/messages.py:
|
|
384
|
+
#: pyfemtet/_message/messages.py:147
|
|
381
385
|
msgid "Workers"
|
|
382
386
|
msgstr ""
|
|
383
387
|
|
|
384
|
-
#: pyfemtet/_message/messages.py:
|
|
388
|
+
#: pyfemtet/_message/messages.py:148
|
|
385
389
|
msgid "Details"
|
|
386
390
|
msgstr ""
|
|
387
391
|
|
|
388
|
-
#: pyfemtet/_message/messages.py:
|
|
392
|
+
#: pyfemtet/_message/messages.py:150
|
|
389
393
|
msgid "Optimization status will be shown here."
|
|
390
394
|
msgstr ""
|
|
391
395
|
|
|
392
|
-
#: pyfemtet/_message/messages.py:
|
|
396
|
+
#: pyfemtet/_message/messages.py:151
|
|
393
397
|
msgid "Auto-update graph"
|
|
394
398
|
msgstr ""
|
|
395
399
|
|
|
396
|
-
#: pyfemtet/_message/messages.py:
|
|
400
|
+
#: pyfemtet/_message/messages.py:152
|
|
397
401
|
msgid "Interrupt Optimization"
|
|
398
402
|
msgstr ""
|
|
399
403
|
|
|
400
|
-
#: pyfemtet/_message/messages.py:
|
|
404
|
+
#: pyfemtet/_message/messages.py:154
|
|
401
405
|
msgid "Result"
|
|
402
406
|
msgstr ""
|
|
403
407
|
|
|
404
|
-
#: pyfemtet/_message/messages.py:
|
|
408
|
+
#: pyfemtet/_message/messages.py:156
|
|
405
409
|
msgid "Open Result in Femtet"
|
|
406
410
|
msgstr ""
|
|
407
411
|
|
|
408
|
-
#: pyfemtet/_message/messages.py:
|
|
412
|
+
#: pyfemtet/_message/messages.py:157
|
|
409
413
|
msgid "Reconstruct Model"
|
|
410
414
|
msgstr ""
|
|
411
415
|
|
|
412
|
-
#: pyfemtet/_message/messages.py:
|
|
416
|
+
#: pyfemtet/_message/messages.py:158
|
|
413
417
|
msgid "Drag and drop or select csv file"
|
|
414
418
|
msgstr ""
|
|
415
419
|
|
|
416
|
-
#: pyfemtet/_message/messages.py:
|
|
420
|
+
#: pyfemtet/_message/messages.py:159
|
|
417
421
|
msgid "Connection to Femtet is not established. Launch Femtet and Open a project."
|
|
418
422
|
msgstr ""
|
|
419
423
|
|
|
420
|
-
#: pyfemtet/_message/messages.py:
|
|
424
|
+
#: pyfemtet/_message/messages.py:160
|
|
421
425
|
msgid "No result plot is selected."
|
|
422
426
|
msgstr ""
|
|
423
427
|
|
|
424
|
-
#: pyfemtet/_message/messages.py:
|
|
428
|
+
#: pyfemtet/_message/messages.py:161
|
|
425
429
|
msgid "The femprj file path in the history csv is not found or valid."
|
|
426
430
|
msgstr ""
|
|
427
431
|
|
|
428
|
-
#: pyfemtet/_message/messages.py:
|
|
432
|
+
#: pyfemtet/_message/messages.py:162
|
|
429
433
|
msgid "The model name in the history csv is not found."
|
|
430
434
|
msgstr ""
|
|
431
435
|
|
|
432
|
-
#: pyfemtet/_message/messages.py:
|
|
436
|
+
#: pyfemtet/_message/messages.py:163
|
|
433
437
|
msgid ".pdt file is not found. Please check the .Results folder. Note that .pdt file save mode depends on the `save_pdt` argument of FemtetInterface in optimization script(default to `all`)."
|
|
434
438
|
msgstr ""
|
|
435
439
|
|
|
436
|
-
#: pyfemtet/_message/messages.py:
|
|
440
|
+
#: pyfemtet/_message/messages.py:168
|
|
437
441
|
msgid "Failed to open "
|
|
438
442
|
msgstr ""
|
|
439
443
|
|
|
440
|
-
#: pyfemtet/_message/messages.py:
|
|
444
|
+
#: pyfemtet/_message/messages.py:169
|
|
441
445
|
msgid "Specified model is not in current project. Please check opened project. For example, not \"analysis model only\" but your .femprj file."
|
|
442
446
|
msgstr ""
|
|
443
447
|
|
|
444
|
-
#: pyfemtet/_message/messages.py:
|
|
448
|
+
#: pyfemtet/_message/messages.py:172
|
|
445
449
|
msgid ".femprj file path of the history csv is invalid. Please certify matching between csv and opening .femprj file."
|
|
446
450
|
msgstr ""
|
|
447
451
|
|
|
448
|
-
#: pyfemtet/_message/messages.py:
|
|
452
|
+
#: pyfemtet/_message/messages.py:173
|
|
449
453
|
msgid "Analysis model name of the history csv is invalid. Please certify matching between csv and opening analysis model."
|
|
450
454
|
msgstr ""
|
|
451
455
|
|
|
452
|
-
#: pyfemtet/_message/messages.py:
|
|
456
|
+
#: pyfemtet/_message/messages.py:174
|
|
453
457
|
msgid "Analysis model name of the history csv and opened in Femtet is inconsistent. Please certify matching between csv and opening analysis model."
|
|
454
458
|
msgstr ""
|
|
455
459
|
|
|
456
|
-
#: pyfemtet/_message/messages.py:
|
|
460
|
+
#: pyfemtet/_message/messages.py:175
|
|
457
461
|
msgid "tutorial mode"
|
|
458
462
|
msgstr ""
|
|
459
463
|
|
|
460
|
-
#: pyfemtet/_message/messages.py:
|
|
464
|
+
#: pyfemtet/_message/messages.py:176
|
|
461
465
|
msgid "Load Sample CSV"
|
|
462
466
|
msgstr ""
|
|
463
467
|
|
|
464
|
-
#: pyfemtet/_message/messages.py:
|
|
468
|
+
#: pyfemtet/_message/messages.py:177
|
|
465
469
|
msgid "Load CSV"
|
|
466
470
|
msgstr ""
|
|
467
471
|
|
|
468
|
-
#: pyfemtet/_message/messages.py:
|
|
472
|
+
#: pyfemtet/_message/messages.py:178
|
|
469
473
|
msgid "Open your optimization result. Then connecting to femtet will start automatically. Note that in tutorial mode, this button loads the ready-made sample csv and open sample femprj."
|
|
470
474
|
msgstr ""
|
|
471
475
|
|
|
472
|
-
#: pyfemtet/_message/messages.py:
|
|
476
|
+
#: pyfemtet/_message/messages.py:180
|
|
473
477
|
msgid "Main Graph"
|
|
474
478
|
msgstr ""
|
|
475
479
|
|
|
476
|
-
#: pyfemtet/_message/messages.py:
|
|
480
|
+
#: pyfemtet/_message/messages.py:181
|
|
477
481
|
msgid "Here the optimization history is shown. Each plot represents single FEM result. You can pick a result to open the corresponding result in Femtet. "
|
|
478
482
|
msgstr ""
|
|
479
483
|
|
|
480
|
-
#: pyfemtet/_message/messages.py:
|
|
484
|
+
#: pyfemtet/_message/messages.py:184
|
|
481
485
|
msgid "Open Result"
|
|
482
486
|
msgstr ""
|
|
483
487
|
|
|
484
|
-
#: pyfemtet/_message/messages.py:
|
|
488
|
+
#: pyfemtet/_message/messages.py:185
|
|
485
489
|
msgid "After pick a point in the main graph, This button shows the corresponding FEM result in Femtet."
|
|
486
490
|
msgstr ""
|
|
487
491
|
|
|
488
|
-
#: pyfemtet/_message/messages.py:
|
|
492
|
+
#: pyfemtet/_message/messages.py:187
|
|
489
493
|
msgid "Re-connect to Femtet."
|
|
490
494
|
msgstr ""
|
|
491
495
|
|
|
492
|
-
#: pyfemtet/_message/messages.py:
|
|
496
|
+
#: pyfemtet/_message/messages.py:188
|
|
493
497
|
msgid "Sample csv is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
494
498
|
msgstr ""
|
|
495
499
|
|
|
496
|
-
#: pyfemtet/_message/messages.py:
|
|
500
|
+
#: pyfemtet/_message/messages.py:189
|
|
497
501
|
msgid "Sample femprj file is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
498
502
|
msgstr ""
|
|
499
503
|
|
|
500
|
-
#: pyfemtet/_message/messages.py:
|
|
504
|
+
#: pyfemtet/_message/messages.py:190
|
|
501
505
|
msgid "Sample femprj result folder is not found. Please consider to re-install pyfemtet by `py -m pip install pyfemtet -U --force-reinstall`"
|
|
502
506
|
msgstr ""
|
|
503
507
|
|
|
504
|
-
#: pyfemtet/_message/messages.py:
|
|
508
|
+
#: pyfemtet/_message/messages.py:192
|
|
505
509
|
msgid "Loading data..."
|
|
506
510
|
msgstr ""
|
|
507
511
|
|
|
508
|
-
#: pyfemtet/_message/messages.py:
|
|
512
|
+
#: pyfemtet/_message/messages.py:193
|
|
509
513
|
msgid "Plots of objectives versus trials"
|
|
510
514
|
msgstr ""
|
|
511
515
|
|
|
512
|
-
#: pyfemtet/_message/messages.py:
|
|
516
|
+
#: pyfemtet/_message/messages.py:194
|
|
513
517
|
msgid "The vertical axis is the objective, and the horizontal axis is the number of trials."
|
|
514
518
|
msgstr ""
|
|
515
519
|
|
|
516
|
-
#: pyfemtet/_message/messages.py:
|
|
520
|
+
#: pyfemtet/_message/messages.py:195
|
|
517
521
|
msgid "Parallel coordinate plots"
|
|
518
522
|
msgstr ""
|
|
519
523
|
|
|
520
|
-
#: pyfemtet/_message/messages.py:
|
|
524
|
+
#: pyfemtet/_message/messages.py:196
|
|
521
525
|
msgid "The vertical axis is an objective or parameters, and one polyline indicates one result."
|
|
522
526
|
msgstr ""
|
|
523
527
|
|
|
524
|
-
#: pyfemtet/_message/messages.py:
|
|
528
|
+
#: pyfemtet/_message/messages.py:197
|
|
525
529
|
msgid "The heatmap of objectives"
|
|
526
530
|
msgstr ""
|
|
527
531
|
|
|
528
|
-
#: pyfemtet/_message/messages.py:
|
|
532
|
+
#: pyfemtet/_message/messages.py:198
|
|
529
533
|
msgid "The axes are parameters, and the color shows objective value."
|
|
530
534
|
msgstr ""
|
|
531
535
|
|
|
532
|
-
#: pyfemtet/_message/messages.py:
|
|
536
|
+
#: pyfemtet/_message/messages.py:199
|
|
533
537
|
msgid "The response of an objective versus one parameter"
|
|
534
538
|
msgstr ""
|
|
535
539
|
|
|
536
|
-
#: pyfemtet/_message/messages.py:
|
|
540
|
+
#: pyfemtet/_message/messages.py:200
|
|
537
541
|
msgid "The vertical axis is objective, and the horizontal axis is parameter."
|
|
538
542
|
msgstr ""
|
|
539
543
|
|
pyfemtet/_message/messages.py
CHANGED
|
@@ -85,6 +85,8 @@ class Message:
|
|
|
85
85
|
INFO_TERMINATING_EXCEL = _('Terminating Excel process...')
|
|
86
86
|
INFO_TERMINATED_EXCEL = _('Excel process is terminated.')
|
|
87
87
|
INFO_RESTORING_FEMTET_AUTOSAVE = _('Restore Femtet setting of autosave.')
|
|
88
|
+
ERR_PARAMETRIC_CSV_CONTAINS_ERROR = _('Failed to make output from Femtet. '
|
|
89
|
+
'Please check output settings of Parametric Analysis.')
|
|
88
90
|
|
|
89
91
|
# ===== pyfemtet.opt.optimizer =====
|
|
90
92
|
ERR_NOT_IMPLEMENTED = _('The following features are not supported by the specified optimization method. ')
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import warnings
|
|
1
2
|
from typing import Optional, List, Final
|
|
2
3
|
|
|
3
4
|
import os
|
|
@@ -90,6 +91,19 @@ class FemtetInterface(FEMInterface):
|
|
|
90
91
|
it will be None and no parametric outputs are used
|
|
91
92
|
as objectives.
|
|
92
93
|
|
|
94
|
+
|
|
95
|
+
Note:
|
|
96
|
+
Indexes start at 0, but the parametric analysis
|
|
97
|
+
output settings in the Femtet dialog box indicate
|
|
98
|
+
setting numbers starting at 1.
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
Warning:
|
|
102
|
+
**Setting this argument deletes the parametric
|
|
103
|
+
analysis swept table set in the femprj file.**
|
|
104
|
+
If you do not want to delete the swept table,
|
|
105
|
+
make a copy of the original file.
|
|
106
|
+
|
|
93
107
|
**kwargs: Additional arguments from inherited classes.
|
|
94
108
|
|
|
95
109
|
Warning:
|
|
@@ -117,6 +131,9 @@ class FemtetInterface(FEMInterface):
|
|
|
117
131
|
parametric_output_indexes_use_as_objective: dict[int, str or float] = None,
|
|
118
132
|
**kwargs # 継承されたクラスからの引数
|
|
119
133
|
):
|
|
134
|
+
# warning
|
|
135
|
+
if parametric_output_indexes_use_as_objective is not None:
|
|
136
|
+
warnings.warn('解析モデルに設定された既存のスイープテーブルは削除されます。')
|
|
120
137
|
|
|
121
138
|
# win32com の初期化
|
|
122
139
|
CoInitialize()
|
|
@@ -1,12 +1,147 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import ctypes
|
|
3
|
+
# from ctypes import wintypes
|
|
1
4
|
import logging
|
|
5
|
+
import warnings
|
|
6
|
+
from time import sleep, time
|
|
7
|
+
from packaging.version import Version
|
|
8
|
+
|
|
9
|
+
import numpy as np
|
|
10
|
+
import pandas as pd
|
|
11
|
+
from femtetutils import util
|
|
12
|
+
from femtetutils import logger as util_logger
|
|
2
13
|
|
|
3
|
-
from femtetutils import util, logger
|
|
4
14
|
from pyfemtet.dispatch_extensions import _get_pid
|
|
15
|
+
from pyfemtet.core import SolveError
|
|
16
|
+
from pyfemtet._message.messages import encoding, Message
|
|
17
|
+
from pyfemtet.logger import get_module_logger
|
|
5
18
|
|
|
6
|
-
|
|
19
|
+
logger = get_module_logger('opt.fem.ParametricIF', __name__)
|
|
20
|
+
|
|
21
|
+
util_logger.setLevel(logging.ERROR)
|
|
22
|
+
|
|
23
|
+
# singleton pattern
|
|
24
|
+
_P_CSV: 'ParametricResultCSVProcessor' = None
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def get_csv_processor(Femtet):
|
|
28
|
+
global _P_CSV
|
|
29
|
+
if _P_CSV is None:
|
|
30
|
+
_P_CSV = ParametricResultCSVProcessor(Femtet)
|
|
31
|
+
return _P_CSV
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ParametricResultCSVProcessor:
|
|
35
|
+
|
|
36
|
+
def __init__(self, Femtet):
|
|
37
|
+
self.Femtet = Femtet
|
|
38
|
+
|
|
39
|
+
def refresh_csv(self):
|
|
40
|
+
# 存在するならば削除する
|
|
41
|
+
csv_paths = self.get_csv_paths()
|
|
42
|
+
for path in csv_paths:
|
|
43
|
+
if os.path.exists(path):
|
|
44
|
+
os.remove(path)
|
|
45
|
+
|
|
46
|
+
def get_csv_paths(self):
|
|
47
|
+
# 結果フォルダを取得
|
|
48
|
+
path: str = self.Femtet.Project
|
|
49
|
+
res_dir_path = path.removesuffix('.femprj') + '.Results'
|
|
50
|
+
|
|
51
|
+
# csv を取得
|
|
52
|
+
model_name = self.Femtet.AnalysisModelName
|
|
53
|
+
csv_path = os.path.join(res_dir_path, f'{model_name}.csv')
|
|
54
|
+
table_csv_path = os.path.join(res_dir_path, f'{model_name}_table.csv')
|
|
55
|
+
|
|
56
|
+
return csv_path, table_csv_path
|
|
57
|
+
|
|
58
|
+
def check_csv_after_succeeded_PrmCalcExecute(self):
|
|
59
|
+
"""Parametric Solve の後に呼ぶこと。"""
|
|
60
|
+
|
|
61
|
+
csv_path, table_csv_path = self.get_csv_paths()
|
|
62
|
+
|
|
63
|
+
# csv が生成されているか
|
|
64
|
+
start = time()
|
|
65
|
+
while not os.path.exists(csv_path):
|
|
66
|
+
# solve が succeeded であるにもかかわらず
|
|
67
|
+
# 数秒経過しても csv が存在しないのはおかしい
|
|
68
|
+
if time() - start > 3.:
|
|
69
|
+
return False
|
|
70
|
+
sleep(0.25)
|
|
71
|
+
|
|
72
|
+
# csv は存在するが、Femtet が古いと
|
|
73
|
+
# table は生成されない
|
|
74
|
+
if not os.path.exists(table_csv_path):
|
|
75
|
+
warnings.warn('テーブル形式 csv が生成されていないため、'
|
|
76
|
+
'結果出力エラーチェックが行われません。'
|
|
77
|
+
'そのため、結果出力にエラーがある場合は'
|
|
78
|
+
'目的関数が 0 と記録される場合があります。'
|
|
79
|
+
'結果出力エラーチェック機能を利用するためには、'
|
|
80
|
+
'Femtet を最新バージョンにアップデートして'
|
|
81
|
+
'ください。')
|
|
82
|
+
|
|
83
|
+
return True
|
|
84
|
+
|
|
85
|
+
def is_succeeded(self, parametric_output_index):
|
|
86
|
+
|
|
87
|
+
# まず csv 保存が成功しているかどうか。通常あるはず。
|
|
88
|
+
if not self.check_csv_after_succeeded_PrmCalcExecute():
|
|
89
|
+
return False, 'Reason: output csv not found.'
|
|
90
|
+
|
|
91
|
+
# 成功しているならば table があるかどうか
|
|
92
|
+
csv_path, table_csv_path = self.get_csv_paths()
|
|
93
|
+
|
|
94
|
+
# なければエラーチェックできないので
|
|
95
|
+
# エラーなしとみなす (warning の記載通り)
|
|
96
|
+
if not os.path.exists(table_csv_path):
|
|
97
|
+
return True, None
|
|
98
|
+
|
|
99
|
+
# table があれば読み込む
|
|
100
|
+
df = pd.read_csv(table_csv_path, encoding=encoding)
|
|
7
101
|
|
|
102
|
+
# 結果出力用に行番号を付記する
|
|
103
|
+
df['row_num'] = range(2, len(df) + 2) # row=0 は header, excel は 1 始まり
|
|
8
104
|
|
|
9
|
-
|
|
105
|
+
# 「結果出力設定番号」カラムが存在するか
|
|
106
|
+
if '結果出力設定番号' in df.columns: # TODO: 英語版対応
|
|
107
|
+
|
|
108
|
+
# 与えられた output_number に関連する行だけ抜き出し
|
|
109
|
+
# エラーがあるかどうかチェックする
|
|
110
|
+
pdf = df['結果出力設定番号'] == parametric_output_index + 1
|
|
111
|
+
|
|
112
|
+
# 結果出力設定番号 カラムが存在しない
|
|
113
|
+
else:
|
|
114
|
+
# output_number に関係なくエラーがあればエラーにする
|
|
115
|
+
pdf = df
|
|
116
|
+
|
|
117
|
+
# エラーの有無を確認
|
|
118
|
+
if 'エラー' in pdf.columns: # TODO: 英語版対応
|
|
119
|
+
is_no_error = np.all(pdf['エラー'].isna().values)
|
|
120
|
+
|
|
121
|
+
if not is_no_error:
|
|
122
|
+
error_message_row_numbers = pdf['row_num'][~pdf['エラー'].isna()].values.astype(str)
|
|
123
|
+
error_messages = pdf['エラー'][~pdf['エラー'].isna()].values.astype(str)
|
|
124
|
+
|
|
125
|
+
def add_st_or_nd_or_th(n_: int):
|
|
126
|
+
if n_ == 1:
|
|
127
|
+
return f'{n_}st'
|
|
128
|
+
elif n_ == 2:
|
|
129
|
+
return f'{n_}nd'
|
|
130
|
+
elif n_ == 3:
|
|
131
|
+
return f'{n_}rd'
|
|
132
|
+
else:
|
|
133
|
+
return f'{n_}th'
|
|
134
|
+
|
|
135
|
+
error_msg = f'Error message(s) from {os.path.basename(table_csv_path)}: ' + ', '.join(
|
|
136
|
+
[f'({add_st_or_nd_or_th(row)} row) {message}' for row, message in zip(error_message_row_numbers, error_messages)])
|
|
137
|
+
else:
|
|
138
|
+
error_msg = None
|
|
139
|
+
|
|
140
|
+
else:
|
|
141
|
+
raise RuntimeError('Internal Error! Parametric Analysis '
|
|
142
|
+
'output csv has no error column.')
|
|
143
|
+
|
|
144
|
+
return is_no_error, error_msg
|
|
10
145
|
|
|
11
146
|
|
|
12
147
|
def _get_dll():
|
|
@@ -46,7 +181,6 @@ def add_parametric_results_as_objectives(femopt, indexes, directions) -> bool:
|
|
|
46
181
|
|
|
47
182
|
# get objective names
|
|
48
183
|
dll.GetPrmnResult.restype = ctypes.c_int
|
|
49
|
-
n = dll.GetPrmnResult()
|
|
50
184
|
for i, direction in zip(indexes, directions):
|
|
51
185
|
# objective name
|
|
52
186
|
dll.GetPrmResultName.restype = ctypes.c_char_p
|
|
@@ -58,6 +192,15 @@ def add_parametric_results_as_objectives(femopt, indexes, directions) -> bool:
|
|
|
58
192
|
|
|
59
193
|
|
|
60
194
|
def _parametric_objective(Femtet, parametric_result_index):
|
|
195
|
+
# csv から結果取得エラーの有無を確認する
|
|
196
|
+
# (解析自体は成功していないと objective は呼ばれないはず)
|
|
197
|
+
csv_processor = get_csv_processor(Femtet)
|
|
198
|
+
succeeded, error_msg = csv_processor.is_succeeded(parametric_result_index)
|
|
199
|
+
if not succeeded:
|
|
200
|
+
logger.error(Message.ERR_PARAMETRIC_CSV_CONTAINS_ERROR)
|
|
201
|
+
logger.error(error_msg)
|
|
202
|
+
raise SolveError
|
|
203
|
+
|
|
61
204
|
# load dll and set target femtet
|
|
62
205
|
dll = _get_dll_with_set_femtet(Femtet)
|
|
63
206
|
dll.GetPrmResult.restype = ctypes.c_double # 複素数の場合は実部しか取らない
|
|
@@ -65,9 +208,65 @@ def _parametric_objective(Femtet, parametric_result_index):
|
|
|
65
208
|
|
|
66
209
|
|
|
67
210
|
def solve_via_parametric_dll(Femtet) -> bool:
|
|
211
|
+
csv_processor = get_csv_processor(Femtet)
|
|
212
|
+
|
|
213
|
+
# remove previous csv if exists
|
|
214
|
+
# 消さなくても解析はできるが
|
|
215
|
+
# エラーハンドリングのため
|
|
216
|
+
csv_processor.refresh_csv()
|
|
217
|
+
|
|
68
218
|
# load dll and set target femtet
|
|
69
219
|
dll = _get_dll_with_set_femtet(Femtet)
|
|
220
|
+
|
|
221
|
+
# reset existing sweep table
|
|
222
|
+
dll.ClearPrmSweepTable.restype = ctypes.c_bool
|
|
223
|
+
succeed = dll.ClearPrmSweepTable()
|
|
224
|
+
if not succeed:
|
|
225
|
+
logger.error('Failed to remove existing sweep table!') # 通常ありえないので error
|
|
226
|
+
return False
|
|
227
|
+
|
|
70
228
|
# solve
|
|
71
229
|
dll.PrmCalcExecute.restype = ctypes.c_bool
|
|
72
230
|
succeed = dll.PrmCalcExecute()
|
|
231
|
+
if not succeed:
|
|
232
|
+
logger.warning('Failed to solve!') # 通常起こりえるので warn
|
|
233
|
+
return False
|
|
234
|
+
|
|
235
|
+
# Check post-processing error
|
|
236
|
+
# 現時点では table csv に index の情報がないので、
|
|
237
|
+
# エラーがどの番号のものかわからない。
|
|
238
|
+
# ただし、エラーがそのまま出力されるよりマシなので
|
|
239
|
+
# 安全目に引っ掛けることにする
|
|
240
|
+
succeed = csv_processor.check_csv_after_succeeded_PrmCalcExecute()
|
|
241
|
+
if not succeed:
|
|
242
|
+
logger.error('Failed to save parametric result csv!')
|
|
243
|
+
return False # 通常ありえないので error
|
|
244
|
+
|
|
73
245
|
return succeed # 成功した場合はTRUE、失敗した場合はFALSEを返す
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
if __name__ == '__main__':
|
|
249
|
+
from win32com.client import Dispatch
|
|
250
|
+
|
|
251
|
+
g_Femtet = Dispatch('FemtetMacro.Femtet')
|
|
252
|
+
g_dll = _get_dll_with_set_femtet(g_Femtet)
|
|
253
|
+
|
|
254
|
+
# solve
|
|
255
|
+
g_succeeded = solve_via_parametric_dll(g_Femtet)
|
|
256
|
+
if not g_succeeded:
|
|
257
|
+
g_dll.GetLastErrorMsg.restype = ctypes.c_char_p # or wintypes.LPCSTR
|
|
258
|
+
g_error_msg: bytes = g_dll.GetLastErrorMsg()
|
|
259
|
+
g_error_msg: str = g_error_msg.decode(encoding='932')
|
|
260
|
+
|
|
261
|
+
# 結果取得:内部的にはエラーになっているはず
|
|
262
|
+
g_parametric_result_index = 1
|
|
263
|
+
g_dll = _get_dll_with_set_femtet(g_Femtet)
|
|
264
|
+
g_dll.GetPrmResult.restype = ctypes.c_double # 複素数やベクトルの場合は実部や第一成分しか取らない PIF の仕様
|
|
265
|
+
g_output = g_dll.GetPrmResult(g_parametric_result_index)
|
|
266
|
+
|
|
267
|
+
# ... だが、下記のコードでそれは出てこない。
|
|
268
|
+
# 値が実際に 0 である場合と切り分けられないので、
|
|
269
|
+
# csv を見てエラーがあるかどうか判断せざるを得ない。
|
|
270
|
+
g_dll.GetLastErrorMsg.restype = ctypes.c_char_p # or wintypes.LPCSTR
|
|
271
|
+
g_error_msg: bytes = g_dll.GetLastErrorMsg()
|
|
272
|
+
g_error_msg: str = g_error_msg.decode(encoding='932')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pyfemtet/__init__.py,sha256=
|
|
1
|
+
pyfemtet/__init__.py,sha256=04WO81p8xrQAHiTKqHaDkKWih6M2Y3Hy-UCNVwih4Zc,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
4
|
pyfemtet/_femtet_config_util/exit.py,sha256=0BWID-tjOkmZwmgPFkcJMkWW39voccz5ARIBWvZbHaw,1877
|
|
@@ -6,10 +6,10 @@ 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=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
|
|
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
|
|
@@ -42,8 +42,8 @@ pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_parametric.femprj,sha256=
|
|
|
42
42
|
pyfemtet/opt/interface/__init__.py,sha256=na6-elI9-karOqoSxT9LfLQpjBPm1lrUWjow0NYYRP4,1349
|
|
43
43
|
pyfemtet/opt/interface/_base.py,sha256=y0uQ5jdsWbgt5odyqPin7NXcK_IbUwPDcrrkV_JhpRw,2722
|
|
44
44
|
pyfemtet/opt/interface/_excel_interface.py,sha256=s103vePTPXXYiPwGdAEUFgtpvGXtu1nSljDtP4HsmcY,40355
|
|
45
|
-
pyfemtet/opt/interface/_femtet.py,sha256=
|
|
46
|
-
pyfemtet/opt/interface/_femtet_parametric.py,sha256=
|
|
45
|
+
pyfemtet/opt/interface/_femtet.py,sha256=Tn0qgVMJDv-6hBPDOWYBtlfvhsb4UH3MknX0PaXb8ro,35313
|
|
46
|
+
pyfemtet/opt/interface/_femtet_parametric.py,sha256=rhvnpHdbjNJAKxiCkgnExnZdV5qOB6pBv6AaLeTkeF8,10155
|
|
47
47
|
pyfemtet/opt/interface/_femtet_with_nx/__init__.py,sha256=-6W2g2FDEcKzGHmI5KAKQe-4U5jDpMj0CXuma-GZca0,83
|
|
48
48
|
pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=LkaODUSpBLq05uz5Jf-JKuH6Evq8ElZoItXxFZopWeM,5994
|
|
49
49
|
pyfemtet/opt/interface/_femtet_with_nx/update_model.py,sha256=P7VH0i_o-X9OUe6AGaLF1fACPeHNrMjcrOBCA3MMrI4,3092
|
|
@@ -137,8 +137,8 @@ pyfemtet/opt/visualization/result_viewer/.gitignore,sha256=ryvb4aqbbsHireHWlPQfx
|
|
|
137
137
|
pyfemtet/opt/visualization/result_viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
138
|
pyfemtet/opt/visualization/result_viewer/application.py,sha256=WcHBx_J5eNLKSaprpk9BGifwhO04oN8FiNGYTWorrXA,1691
|
|
139
139
|
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.
|
|
140
|
+
pyfemtet-0.8.7.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
|
|
141
|
+
pyfemtet-0.8.7.dist-info/METADATA,sha256=uy1fm6IKQ5OXU8kZ7bowgMIyCbyaQ9NTgaxz0r1DoV0,3509
|
|
142
|
+
pyfemtet-0.8.7.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
143
|
+
pyfemtet-0.8.7.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
|
|
144
|
+
pyfemtet-0.8.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|