mindelec.solver.Problem

class mindelec.solver.Problem[源代码]

用户定义问题的基类。 在每个数据集上设置约束的所有用户定义的问题,必须继承此类。 它用于建立每个子数据集和使用定义的损失函数之间的映射。 映射将由Constraint API构造,损失将由每个子数据集的约束类型自动计算。根据约束类型,对应的成员函数必须由用户重载,以获取目标标签输出。例如,对于dataset1,约束类型设置为”Equation”,因此成员函数”governing_equation”必须重载,以告知如何获取方程残差。

支持平台:

Ascend

boundary_condition(*output, **kwargs)[源代码]

边界条件,抽象方法。 如果相应的约束类型为”BC”,必须重载此函数。 如果边界条件可以表示为 f(bc_points) = 0 ,则将返回残差f,bc_points为边界上的数据点。

参数:
  • output (tuple) - 代理模型输出,如电场、磁场等。

  • kwargs (dict) - 代理模型输入,如时间、空间等。

constraint_function(*output, **kwargs)[源代码]

函数约束的普遍情况,抽象方法。 如果相应的约束类型为”Label”或”Function”,则必须重载此函数。 它是约束类型的更普遍情况,可以表示为 f(inputs) = 0 ,inputs为通用函数的数据点。 将返回残差f。

参数:
  • output (tuple) - 代理模型输出,如电场、磁场等。

  • kwargs (dict) - 代理模型输入,如时间、空间等。

governing_equation(*output, **kwargs)[源代码]

控制方程,抽象方法。 如果相应的约束类型为”Equation”,则必须重载此函数。 如果方程为 f(inputs) = 0 ,则将返回残差f,inputs为控制区间的数据点。

参数:
  • output (tuple) - 代理模型输出,如电场、磁场等。

  • kwargs (dict) - 代理模型输入,如时间、空间等。

initial_condition(*output, **kwargs)[源代码]

初始条件,抽象方法。 如果相应的约束类型为”IC”,则必须重载此函数。 如果初始条件可以表示为 f(ic_points) = 0 ,则将返回残差f,ic_points为初始时刻数据点。

参数:
  • output (tuple) - 代理模型输出,如电场、磁场等。

  • kwargs (dict) - 代理模型输入,如时间、空间等。