mindflow.geometry.GeometryWithTime

class mindflow.geometry.GeometryWithTime(geometry, timedomain, sampling_config=None)[源代码]

含时域几何体的定义。

参数:
  • geometry (Geometry) - 几何体。

  • timedomain (TimeDomain) - 时域。

  • sampling_config (SamplingConfig) - 采样配置。默认值: None

异常:
  • ValueError - 如果 sampling_config 不是 None,但 sampling_config.timeNone

支持平台:

Ascend GPU

样例:

>>> from mindflow.geometry import generate_sampling_config, Rectangle, TimeDomain, GeometryWithTime
>>> rect_with_time_config = dict({
...     'domain': dict({
...         'random_sampling': True,
...         'size': 200,
...     }),
...     'BC': dict({
...         'random_sampling': False,
...         'size': 100,
...         'with_normal': True,
...     }),
...     'IC': dict({
...         'random_sampling': False,
...         'size': [10, 10],
...     }),
...     'time': dict({
...         'random_sampling': True,
...         'size': 10,
...     })
... })
>>> rect = Rectangle("rect", [-1.0, -0.5], [1.0, 0.5])
>>> time = TimeDomain("time", 0.0, 1.0)
>>> rect_with_time = GeometryWithTime(rect, time)
>>> sampling_config = generate_sampling_config(rect_with_time_config)
>>> rect_with_time.set_sampling_config(sampling_config)
>>> bc, bc_normal = rect_with_time.sampling(geom_type="BC")
>>> domain = rect_with_time.sampling(geom_type="domain")
>>> ic = rect_with_time.sampling(geom_type="IC")
>>> print(domain.shape)
(200, 3)
>>> print(bc.shape)
(90, 3)
>>> print(ic.shape)
(100, 3)
sampling(geom_type='domain')[源代码]

采样点。

参数:
  • geom_type (str) - 几何类型,可以是 "domain""BC" 或者 "IC"。默认值: "domain"

    • "domain": 问题的可行域。

    • "BC": 问题的边界条件。

    • "IC": 问题的初始条件。

返回:

Numpy.array,如果配置选择包括法向向量,返回带边界法向向量的二维numpy数组。否则返回不带边界法向向量的二维numpy数组。

异常:
  • ValueError - 如果 configNone

  • KeyError - 如果 geom_type"domain",但 config.domainNone

  • KeyError - 如果 geom_type"BC",但 config.bcNone

  • KeyError - 如果 geom_type"IC",但 config.icNone

  • ValueError - 如果 geom_type 不是 "BC""IC" 也不是 "domain"

set_sampling_config(sampling_config: SamplingConfig)[源代码]

设置采样信息。

参数:
  • sampling_config (SamplingConfig) - 采样配置。

异常:
  • TypeError - 如果 sampling_config 不是SamplingConfig的实例。