mindflow.geometry.Pentagon

class mindflow.geometry.Pentagon(name, vertices, boundary_type='uniform', dtype=np.float32, sampling_config=None)[源代码]

五边形对象的定义。

参数:
  • name (str) - 五边形的名称。

  • vertices (numpy.ndarray) - 五边形的顶点,按逆时针顺序排列。

  • boundary_type (str) - 值可以是 'uniform''unweighted'。默认值: 'uniform'

    • 'uniform',每个边界中的预期样本数与边界的面积(长度)成比例的。

    • 'unweighted',每个边界中的预期样本数相同。

  • dtype (numpy.dtype) - 采样点数据类型的数据类型。默认值: np.float32

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

支持平台:

Ascend GPU

样例:

>>> from mindflow.geometry import generate_sampling_config, Pentagon
>>> pentagon_mesh = dict({'domain': dict({'random_sampling': True, 'size': 300}),
...                       'BC': dict({'random_sampling': True, 'size': 300, 'with_normal': False,}),})
>>> vertices = np.array([[0., .1], [.5, .1], [.9, .2], [.7, .6], [.2, .5]])
>>> pentagon = Pentagon("pentagon", vertices,
...                     sampling_config=generate_sampling_config(pentagon_mesh))
>>> domain = pentagon.sampling(geom_type="domain")
>>> bc = pentagon.sampling(geom_type="bc")
>>> print(domain.shape)
(300, 2)