mindelec.geometry.GeometryWithTime

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

含时域几何体的定义。

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

  • timedomain (TimeDomain) - 时域。

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

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

支持平台:

Ascend

样例:

>>> from easydict import EasyDict as edict
>>> from mindelec.geometry import create_config_from_edict, Rectangle, TimeDomain, GeometryWithTime
>>> rect_with_time_config = edict({
...     'domain': edict({
...         'random_sampling': True,
...         'size': 200,
...     }),
...     'BC': edict({
...         'random_sampling': False,
...         'size': 100,
...         'with_normal': True,
...     }),
...     'IC': edict({
...         'random_sampling': False,
...         'size': [10, 10],
...     }),
...     'time': edict({
...         '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 = create_config_from_edict(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,如果在边界条件(“BC”)中的法向向量(“with_normal”)设置为真,返回带边界法向向量的二维numpy数组。否则返回不带边界法向向量的二维numpy数组。

异常:
  • ValueError - 如果 config 为None。

  • KeyError - 如果 geom_typedomain,但 config.domain 为None。

  • KeyError - 如果 geom_typeBC,但 config.bc 为None。

  • KeyError - 如果 geom_typeIC,但 config.ic 为None。

  • ValueError - 如果 geom_type 不是 BCIC 也不是 domain

set_sampling_config(sampling_config: SamplingConfig)[源代码]

设置采样信息。

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

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