mindflow.geometry.HyperCube
- class mindflow.geometry.HyperCube(name, dim, coord_min, coord_max, dtype=np.float32, sampling_config=None)[source]
Definition of HyperCube object.
- Parameters
name (str) – name of the hyper cube.
dim (int) – number of dimensions.
coord_min (Union[int, float, tuple, list, numpy.ndarray]) – minimal coordinate of the hyper cube. if the parameter type is tuple or list, the element support tuple[int, int], tuple[float, float], list[int, int], list[float, float].
coord_max (Union[int, float, tuple, list, numpy.ndarray]) – maximal coordinate of the hyper cube. if the parameter type is tuple or list, the element support tuple[int, int], tuple[float, float], list[int, int], list[float, float].
dtype (numpy.dtype) – Data type of sampled point data type. Default:
numpy.float32
.sampling_config (SamplingConfig) – sampling configuration. Default:
None
.
- Raises
TypeError – sampling_config is not instance of class SamplingConfig.
- Supported Platforms:
Ascend
GPU
Examples
>>> from mindflow.geometry import generate_sampling_config, HyperCube >>> hypercube_random = dict({ ... 'domain': dict({ ... 'random_sampling': True, ... 'size': 1000, ... 'sampler': 'uniform' ... }), ... 'BC': dict({ ... 'random_sampling': True, ... 'size': 200, ... 'sampler': 'uniform', ... 'with_normal': False, ... }), ... }) >>> sampling_config = generate_sampling_config(hypercube_random) >>> hypercube = HyperCube("HyperCube", 3, [-1, 2, 1], [0, 3, 2], sampling_config=sampling_config) >>> domain = hypercube.sampling(geom_type="domain") >>> bc = hypercube.sampling(geom_type="BC") >>> print(domain.shape) (1000, 3)
- sampling(geom_type='domain')[source]
sampling points
- Parameters
geom_type (str) –
geometry type: can be
'domain'
or'BC'
. Default:'domain'
.'domain'
, feasible domain of the problem.'BC'
, boundary of the problem.
- Returns
- Numpy.ndarray, if the with_normal property of boundary configuration is true, returns 2D numpy array with
boundary normal vectors. Otherwise, returns 2D numpy array without boundary normal vectors.
- Raises
ValueError – If config is
None
.KeyError – If geom_type is
'domain'
but config.domain isNone
.KeyError – If geom_type is
'BC'
but config.bc isNone
.ValueError – If geom_type is neither
'BC'
nor'domain'
.