class pyfemtet.opt.femopt.FEMOpt(fem=None, opt=None)[ソース]

ベースクラス: object

指定されたオプティマイザと FEM インターフェースを用いて有限要素法(FEM)最適化を管理するためのクラス。

opt

最適化に使用されるオプティマイザのインスタンス。

Type:

AbstractOptimizer

monitor_info

ホストやポートなどの監視情報を格納する辞書。

Type:

dict[str, str | int | None]

パラメータ:
  • fem (AbstractFEMInterface, optional) – FEMインターフェースのインスタンス。デフォルトはNoneで、その場合はFemtetInterfaceが使用されます。

  • opt (AbstractOptimizer, optional) – オプティマイザのインスタンスです。デフォルトは None で、その場合は OptunaOptimizer が使用されます。

add_categorical_parameter(name, initial_value=None, choices=None, properties=None, *, pass_to_fem=True, fix=False)[ソース]
パラメータ:
戻り値の型:

None

add_constant_value(name, value, properties=None, *, pass_to_fem=True)[ソース]
パラメータ:
add_constraint(name, fun, lower_bound=None, upper_bound=None, args=None, kwargs=None, strict=True, using_fem=None)[ソース]
パラメータ:
add_expression(name, fun, properties=None, args=None, kwargs=None, *, pass_to_fem=True)[ソース]
パラメータ:
戻り値の型:

None

add_expression_string(name, expression_string, properties=None, *, pass_to_fem=True)[ソース]
パラメータ:
  • name (str) –

  • expression_string (str) –

  • properties (dict[str, ...] | None) –

  • pass_to_fem (bool) –

戻り値の型:

None

add_expression_sympy(name, sympy_expr, properties=None, *, pass_to_fem=True)[ソース]
パラメータ:
  • name (str) –

  • sympy_expr (Expr) –

  • properties (dict[str, ...] | None) –

  • pass_to_fem (bool) –

戻り値の型:

None

add_fem(fem)[ソース]
パラメータ:

fem (AbstractFEMInterface) –

戻り値の型:

OptimizationDataPerFEM

add_objective(name, fun, direction='minimize', args=None, kwargs=None)[ソース]
パラメータ:
戻り値の型:

None

add_objectives(names, fun, n_return, directions=None, args=None, kwargs=None)[ソース]
パラメータ:
add_other_output(name, fun, args=None, kwargs=None)[ソース]
パラメータ:
add_parameter(name, initial_value=None, lower_bound=None, upper_bound=None, step=None, properties=None, *, pass_to_fem=True, fix=False)[ソース]
パラメータ:
  • name (str) –

  • initial_value (float | None) –

  • lower_bound (float | None) –

  • upper_bound (float | None) –

  • step (float | None) –

  • properties (dict[str, ...] | None) –

  • pass_to_fem (bool) –

  • fix (bool) –

戻り値の型:

None

add_sub_fidelity_model(name, sub_fidelity_model, fidelity)[ソース]
パラメータ:
add_trial(parameters)[ソース]
パラメータ:

parameters (dict[str, str | Real]) –

monitor_info: dict[str, str | int | None]
opt: AbstractOptimizer
optimize(n_trials=None, n_parallel=1, timeout=None, wait_setup=True, confirm_before_exit=True, history_path=None, with_monitor=True, scheduler_address=None, seed=None)[ソース]
パラメータ:
  • n_trials (int | None) –

  • n_parallel (int) –

  • timeout (float | None) –

  • wait_setup (bool) –

  • confirm_before_exit (bool) –

  • history_path (str | None) –

  • with_monitor (bool) –

  • scheduler_address (str | None) –

  • seed (int | None) –

set_monitor_host(host=None, port=None)[ソース]

プロセスモニターのホスト IP アドレスとポートを設定します。

パラメータ:
  • host (str) – モニタサーバーのホスト名または IP アドレスです。

  • port (int, optional) – モニタサーバーのポート番号です。None の場合、8080 が使用されます。デフォルトは None です。

Tip

ホスト 0.0.0.0 を指定することで、ローカルネットワーク上のすべてのコンピュータからモニターを表示できます。

ホスト名が指定されていない場合、モニタサーバーは localhost でホストされます。

デフォルトでは、ブラウザで `localhost:8080` にアクセスすることでプロセスモニターにアクセスできます。

set_random_seed(seed)[ソース]
パラメータ:

seed (int) –

set_termination_condition(func)[ソース]
パラメータ:

func (Callable[[History], bool] | None) –

pyfemtet.opt.femopt.debug_1()[ソース]
pyfemtet.opt.femopt.debug_2()[ソース]
pyfemtet.opt.femopt.debug_3()[ソース]
pyfemtet.opt.femopt.substrate_size(Femtet)[ソース]

Calculates the occupied area on the substrate’s XY plane.