mindflow.geometry.Disk
- class mindflow.geometry.Disk(name, center, radius, dtype=np.float32, sampling_config=None)[源代码]
圆盘对象的定义。
- 参数:
name (str) - 圆盘的名称。
center (Union[tuple[int, int], tuple[float, float], list[int, int], list[float, float], numpy.ndarray]) - 圆盘的中心坐标。
radius (Union[int, float]) - 圆盘的半径。
dtype (numpy.dtype) - 采样点的数据类型。默认值:
numpy.float32
。sampling_config (SamplingConfig) - 采样配置。默认值:
None
。
- 异常:
ValueError - 如果 center 既不是长度为2的list也不是长度为2的Tuple。
ValueError - 如果 radius 为负数。
- 支持平台:
Ascend
GPU
样例:
>>> from mindflow.geometry import generate_sampling_config, Disk >>> disk_mesh = dict({'domain': dict({'random_sampling': False, 'size' : [100, 180]}), ... 'BC': dict({'random_sampling': False, 'size': 200, 'with_normal' : True,})}) >>> disk = Disk("disk", (-1.0, 0), 2.0, sampling_config=generate_sampling_config(disk_mesh)) >>> domain = disk.sampling(geom_type="domain") >>> bc, bc_normal = disk.sampling(geom_type="BC") >>> print(bc.shape) (200, 2)
- sampling(geom_type='domain')[源代码]
采样域和边界点。
- 参数:
geom_type (str) - 几何类型,可以是
"domain"
或者"BC"
。默认值:"domain"
。"domain"
: 问题的可行域。"BC"
: 问题的边界条件。
- 返回:
Numpy.array,如果配置选择包括法向向量,返回带边界法向向量的二维numpy数组。否则返回不带边界法向向量的二维numpy数组。
- 异常:
ValueError - 如果 config 为
None
。KeyError - 如果 geom_type 是
'domain'
,但 config.domain 是None
。KeyError - 如果 geom_type 为
'BC'
,但 config.bc 为None
。ValueError - 如果 geom_type 既不是
'BC'
也不是'domain'
。