# Python 数据结构与枚举 模块:`meshkernel.py_structures`。本页依据本地 MeshKernelPy `8.3.0` 源码生成,包含该模块定义的类、方法、函数和常量。签名及参数默认值以源码为准;原文未提供的说明会明确标记。 [返回 API 总览](modules.md) ## `DeleteMeshOption` {#deletemeshoption} 继承:`IntEnum`。 删除多边形内部网格时使用的策略。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `INSIDE_NOT_INTERSECTED` | `0` | 删除位于多边形内部、未与边界相交的网格。 | | `INSIDE_AND_INTERSECTED` | `1` | 删除位于多边形内部及与边界相交的网格。 | | `FACES_WITH_INCLUDED_CIRCUMCENTERS` | `2` | 删除外心位于多边形内部的网格面。 | ## `ProjectToLandBoundaryOption` {#projecttolandboundaryoption} 继承:`IntEnum`。 投影到陆地边界的策略。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `DO_NOT_PROJECT_TO_LANDBOUNDARY` | `0` | 不投影到陆地边界。 | | `TO_ORIGINAL_NETBOUNDARY` | `1` | 投影到原始网格边界。 | | `OUTER_MESH_BOUNDARY_TO_LANDBOUNDARY` | `2` | 将网格外边界投影到陆地边界。 | | `INNER_AND_OUTER_MESH_BOUNDARY_TO_LANDBOUNDARY` | `3` | 将网格内外边界投影到陆地边界。 | | `WHOLE_MESH` | `4` | 处理整个网格。 | ## `RefinementType` {#refinementtype} 继承:`IntEnum`。 加密类型。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `WAVE_COURANT` | `1` | 根据采样水深加密,使库朗数判据不被超过。 | | `REFINEMENT_LEVELS` | `2` | 递归加密指定的固定次数。 | | `RIDGE_DETECTION` | `3` | 基于脊线检测进行加密。 | ## `Mesh2dLocation` {#mesh2dlocation} 继承:`IntEnum`。 二维网格位置类型。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `FACES` | `0` | 网格面。 | | `NODES` | `1` | 节点。 | | `EDGES` | `2` | 网格边。 | ## `Mesh2dProperty` {#mesh2dproperty} 继承:`IntEnum`。 二维网格上的不同属性。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `ORTHOGONALITY` | `0` | 正交性。 | | `EDGE_LENGTHS` | `1` | 边长。 | | `FACE_CIRCUMCENTER` | `2` | 网格面外心。 | | `NETLINK_CONTOUR_POLYGON` | `3` | 网格连接的轮廓多边形。 | | `FACE_BOUNDS` | `4` | 网格面边界。 | | `SMOOTHNESS` | `5` | 平滑性。 | ## `AveragingMethod` {#averagingmethod} 继承:`IntEnum`。 平均方法。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `SIMPLE_AVERAGING` | `1` | 计算简单算术平均值。 | | `CLOSEST_POINT` | `2` | 取距离插值位置最近的采样点的值。 | | `MAX` | `3` | 取采样值的最大值。 | | `MIN` | `4` | 取采样值的最小值。 | | `INVERSE_WEIGHT_DISTANCE` | `5` | 计算反距离加权平均值。 | | `MIN_ABS` | `6` | 取最小绝对值。 | ## `ProjectionType` {#projectiontype} 继承:`IntEnum`。 投影类型。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `CARTESIAN` | `0` | 笛卡尔坐标投影。 | | `SPHERICAL` | `1` | 球面坐标投影。 | | `SPHERICALACCURATE` | `2` | 高精度球面坐标投影。 | ## `InterpolationValues` {#interpolationvalues} 继承:`IntEnum`。 网格采样数据中待插值数值的可选类型。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `SHORT` | `0` | 短整数类型。 | | `FLOAT` | `1` | 单精度浮点类型。 | | `INT` | `2` | 整数类型。 | | `DOUBLE` | `3` | 双精度浮点类型。 | ## `InterpolationType` {#interpolationtype} 继承:`IntEnum`。 点云插值类型。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `TRIANGULATION` | `0` | 三角剖分插值。 | | `AVERAGING` | `1` | 平均插值。 | ## `Mesh2d` {#mesh2d} 继承:`object`。 此类用于获取和设置二维网格数据。 **属性说明** - **`node_x`(`ndarray`)**:描述节点 x 坐标的一维双精度数组。 - **`node_y`(`ndarray`)**:描述节点 y 坐标的一维双精度数组。 - **`edge_nodes`(`ndarray, 可选`)**:描述每条二维网格边端点节点的一维整数数组。 - **`face_nodes`(`ndarray, 可选`)**:描述组成每个二维网格面的节点的一维整数数组。 - **`nodes_per_face`(`ndarray, 可选`)**:描述组成每个二维网格面的节点的一维整数数组。(原文如此;实际为每个面的节点数。) - **`edge_x`(`ndarray, 可选`)**:描述网格边中点 x 坐标的一维双精度数组。 - **`edge_y`(`ndarray, 可选`)**:描述网格边中点 y 坐标的一维双精度数组。 - **`face_x`(`ndarray, 可选`)**:描述网格面质心 x 坐标的一维双精度数组。 - **`face_y`(`ndarray, 可选`)**:描述网格面质心 y 坐标的一维双精度数组。 - **`edge_faces`(`ndarray, 可选`)**:描述每条边关联的网格面索引的一维整数数组。 - **`face_edges`(`ndarray, 可选`)**:描述每个网格面关联的边索引的一维整数数组。 **方法索引** - [`__init__`](#mesh2d---init--) - [`remove_invalid_values`](#mesh2d-remove-invalid-values) - [`__eq__`](#mesh2d---eq--) - [`almost_equal`](#mesh2d-almost-equal) - [`plot_edges`](#mesh2d-plot-edges) - [`plot_faces`](#mesh2d-plot-faces) ### `Mesh2d.__init__` {#mesh2d---init--} ```python __init__(self, node_x=np.empty(0, dtype=np.double), node_y=np.empty(0, dtype=np.double), edge_nodes=np.empty(0, dtype=np.int32), face_nodes=np.empty(0, dtype=np.int32), nodes_per_face=np.empty(0, dtype=np.int32), edge_x=np.empty(0, dtype=np.double), edge_y=np.empty(0, dtype=np.double), face_x=np.empty(0, dtype=np.double), face_y=np.empty(0, dtype=np.double), edge_faces=np.empty(0, dtype=np.int32), face_edges=np.empty(0, dtype=np.int32)) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `node_x` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `node_y` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `edge_nodes` | `未标注` | `np.empty(0, dtype=np.int32)` | 源码未单独提供参数说明。 | | `face_nodes` | `未标注` | `np.empty(0, dtype=np.int32)` | 源码未单独提供参数说明。 | | `nodes_per_face` | `未标注` | `np.empty(0, dtype=np.int32)` | 源码未单独提供参数说明。 | | `edge_x` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `edge_y` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `face_x` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `face_y` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `edge_faces` | `未标注` | `np.empty(0, dtype=np.int32)` | 源码未单独提供参数说明。 | | `face_edges` | `未标注` | `np.empty(0, dtype=np.int32)` | 源码未单独提供参数说明。 | ### `Mesh2d.remove_invalid_values` {#mesh2d-remove-invalid-values} ```python remove_invalid_values(self, float_invalid_value: float) ``` 移除数组中可能存在的无效值。 同时移除其他数组中对应的条目。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `float_invalid_value` | `float` | `必填` | 浮点无效值。 | ### `Mesh2d.__eq__` {#mesh2d---eq--} ```python __eq__(self, other: Mesh2d) ``` 此成员以内部名称定义,供理解实现及转换流程时参考。 检查此网格是否与另一个网格完全相等。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `other` | `Mesh2d` | `必填` | 用于比较的网格。 | ### `Mesh2d.almost_equal` {#mesh2d-almost-equal} ```python almost_equal(self, other: Mesh2d, rtol: float=1e-05, atol: float=1e-08) -> bool ``` 根据给定的相对容差和绝对容差,检查此网格是否与另一个网格近似相等。 容差只适用于浮点数组(node_x、node_y、face_x、face_y、edge_x 和 edge_y;原文将 face_y 写作 faces_y)。 每个浮点数组都必须满足以下条件: absolute(self.float_array - other.float_array) <= (atol + rtol * absolute(other.float_array)) 包含索引和计数的数组(face_edges、face_nodes、edge_faces、edge_nodes、nodes_per_face) 在两个网格中必须完全相等。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `other` | `Mesh2d` | `必填` | 用于比较的网格。 | | `rtol` | `float` | `1e-05` | 相对容差,默认为 1.0e-5。 | | `atol` | `float` | `1e-08` | 绝对容差,默认为 1.0e-8。 | **返回类型**:`bool`。源码未单独说明返回值。 ### `Mesh2d.plot_edges` {#mesh2d-plot-edges} ```python plot_edges(self, ax, *args, **kwargs) ``` 在指定坐标轴上绘制网格边。 `args` 和 `kwargs` 作为 matplotlib 的 `plot` 方法参数传入。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `ax` | `matplotlib.axes.Axes` | `必填` | 绘制网格边所用的坐标轴对象。 | | `args` | `未标注` | `不适用` | 可变位置参数。源码未单独提供参数说明。 | | `kwargs` | `未标注` | `不适用` | 可变关键字参数。源码未单独提供参数说明。 | ### `Mesh2d.plot_faces` {#mesh2d-plot-faces} ```python plot_faces(self, ax, *args, **kwargs) ``` 在指定坐标轴上绘制网格面。 `args` 和 `kwargs` 作为 matplotlib 的 `plot` 方法参数传入。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `ax` | `matplotlib.axes.Axes` | `必填` | 绘制网格面所用的坐标轴对象。 | | `args` | `未标注` | `不适用` | 可变位置参数。源码未单独提供参数说明。 | | `kwargs` | `未标注` | `不适用` | 可变关键字参数。源码未单独提供参数说明。 | ## `GeometryList` {#geometrylist} 继承:`object`。 用于描述几何对象列表的类。 **属性说明** - **`x_coordinates`(`ndarray`)**:描述节点 x 坐标的一维双精度数组。 - **`y_coordinates`(`ndarray`)**:描述节点 y 坐标的一维双精度数组。 - **`values`(`ndarray, 可选`)**:描述节点数值的一维双精度数组。 - **`geometry_separator`(`float, 可选`)**:坐标中的几何分隔值,默认为 `-999.0`。 - **`inner_outer_separator`(`float, 可选`)**:用于分隔多边形内边界和外边界的 值,默认为 `-998.0`。 **方法索引** - [`__init__`](#geometrylist---init--) ### `GeometryList.__init__` {#geometrylist---init--} ```python __init__(self, x_coordinates=np.empty(0, dtype=np.double), y_coordinates=np.empty(0, dtype=np.double), values=np.empty(0, dtype=np.double), geometry_separator=-999.0, inner_outer_separator=-998.0) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `x_coordinates` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `y_coordinates` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `values` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `geometry_separator` | `未标注` | `-999.0` | 源码未单独提供参数说明。 | | `inner_outer_separator` | `未标注` | `-998.0` | 源码未单独提供参数说明。 | ## `InterpolationParameters` {#interpolationparameters} 继承:`object`。 保存属性插值参数的类。 **属性说明** - **`interpolation_type`(`int, 可选`)**:要使用的插值类型。 - **`method`(`int, 可选`)**:要使用的平均方法。 - **`absolute_search_radius`(`float, 可选`)**:绝对搜索半径。 - **`relative_search_radius`(`float, 可选`)**:相对搜索半径。 - **`use_closest_if_none_found`(`bool, 可选`)**:若多边形内未找到点,则使用最近的点。 - **`minimum_number_of_samples`(`int, 可选`)**:某些平均方法所需的最少采样点数。 **方法索引** - [`__init__`](#interpolationparameters---init--) ### `InterpolationParameters.__init__` {#interpolationparameters---init--} ```python __init__(self, interpolation_type=1, method=1, absolute_search_radius=100.0, relative_search_radius=1.0, use_closest_if_none_found=True, minimum_number_of_samples=10) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `interpolation_type` | `未标注` | `1` | 源码未单独提供参数说明。 | | `method` | `未标注` | `1` | 源码未单独提供参数说明。 | | `absolute_search_radius` | `未标注` | `100.0` | 源码未单独提供参数说明。 | | `relative_search_radius` | `未标注` | `1.0` | 源码未单独提供参数说明。 | | `use_closest_if_none_found` | `未标注` | `True` | 源码未单独提供参数说明。 | | `minimum_number_of_samples` | `未标注` | `10` | 源码未单独提供参数说明。 | ## `OrthogonalizationParameters` {#orthogonalizationparameters} 继承:`object`。 保存正交化参数的类。 **属性说明** - **`outer_iterations`(`int, 可选`)**:正交化的外层迭代次数。对于复杂网格, 应增大此值。默认为 `2`。 - **`boundary_iterations`(`int, 可选`)**:网格正交化过程中 itatp 内的边界迭代次数。 默认为 `25`。 - **`inner_iterations`(`int, 可选`)**:网格正交化过程中 itbnd 内的内部迭代次数。 默认为 `25`。 - **`orthogonalization_to_smoothing_factor`(`float, 可选`)**:控制网格平滑(0)与网格正交化(1)之间 权重的系数,默认为 `0.975`。 - **`orthogonalization_to_smoothing_factor_at_boundary`(`float, 可选`)**:边界上的最小 ATPF 值。 默认为 `1.0`。 - **`areal_to_angle_smoothing_factor`(`float, 可选`)**:在平滑器(1.0)与面积均匀化(0.0)之间调节的系数。 默认为 `1.0`。 **方法索引** - [`__init__`](#orthogonalizationparameters---init--) ### `OrthogonalizationParameters.__init__` {#orthogonalizationparameters---init--} ```python __init__(self, outer_iterations=2, boundary_iterations=25, inner_iterations=25, orthogonalization_to_smoothing_factor=0.975, orthogonalization_to_smoothing_factor_at_boundary=1.0, areal_to_angle_smoothing_factor=1.0) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `outer_iterations` | `未标注` | `2` | 源码未单独提供参数说明。 | | `boundary_iterations` | `未标注` | `25` | 源码未单独提供参数说明。 | | `inner_iterations` | `未标注` | `25` | 源码未单独提供参数说明。 | | `orthogonalization_to_smoothing_factor` | `未标注` | `0.975` | 源码未单独提供参数说明。 | | `orthogonalization_to_smoothing_factor_at_boundary` | `未标注` | `1.0` | 源码未单独提供参数说明。 | | `areal_to_angle_smoothing_factor` | `未标注` | `1.0` | 源码未单独提供参数说明。 | ## `CurvilinearGrid` {#curvilineargrid} 继承:`object`。 此类用于获取和设置曲线网格数据。 **属性说明** - **`node_x`(`ndarray`)**:描述节点 x 坐标的一维双精度数组。 - **`node_y`(`ndarray`)**:描述节点 y 坐标的一维双精度数组。 - **`num_m`(`int`)**:曲线网格沿 m 方向的节点数。 - **`num_n`(`int`)**:曲线网格沿 n 方向的节点数。 **方法索引** - [`__init__`](#curvilineargrid---init--) - [`plot_edges`](#curvilineargrid-plot-edges) ### `CurvilinearGrid.__init__` {#curvilineargrid---init--} ```python __init__(self, node_x, node_y, num_m, num_n) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `node_x` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `node_y` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `num_m` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `num_n` | `未标注` | `必填` | 源码未单独提供参数说明。 | ### `CurvilinearGrid.plot_edges` {#curvilineargrid-plot-edges} ```python plot_edges(self, ax, *args, **kwargs) ``` 在指定坐标轴上绘制网格边。 `args` 和 `kwargs` 作为 matplotlib 的 `plot` 方法参数传入。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `ax` | `matplotlib.axes.Axes` | `必填` | 绘制网格边所用的坐标轴对象。 | | `args` | `未标注` | `不适用` | 可变位置参数。源码未单独提供参数说明。 | | `kwargs` | `未标注` | `不适用` | 可变关键字参数。源码未单独提供参数说明。 | ## `CurvilinearParameters` {#curvilinearparameters} 继承:`object`。 保存从样条曲线生成曲线网格所需参数的类。 **属性说明** - **`m_refinement`(`int, 可选`)**:生成规则网格时的 m 方向加密系数,默认为 `2000`。 - **`n_refinement`(`int, 可选`)**:生成规则网格时的 n 方向加密系数,默认为 `40`。 - **`smoothing_iterations`(`int, 可选`)**:规则网格平滑的内部迭代次数,默认为 `25`。 - **`smoothing_parameter`(`float, 可选`)**:平滑参数,默认为 `0.5`。 - **`attraction_parameter`(`float, 可选`)**:吸引/排斥参数,默认为 `0.0`。 **方法索引** - [`__init__`](#curvilinearparameters---init--) ### `CurvilinearParameters.__init__` {#curvilinearparameters---init--} ```python __init__(self, m_refinement=2000, n_refinement=40, smoothing_iterations=10, smoothing_parameter=0.5, attraction_parameter=0.0) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `m_refinement` | `未标注` | `2000` | 源码未单独提供参数说明。 | | `n_refinement` | `未标注` | `40` | 源码未单独提供参数说明。 | | `smoothing_iterations` | `未标注` | `10` | 源码未单独提供参数说明。 | | `smoothing_parameter` | `未标注` | `0.5` | 源码未单独提供参数说明。 | | `attraction_parameter` | `未标注` | `0.0` | 源码未单独提供参数说明。 | ## `SplinesToCurvilinearParameters` {#splinestocurvilinearparameters} 继承:`object`。 保存使用推进前沿法从样条曲线生成曲线网格 所需附加参数的类。 **属性说明** - **`aspect_ratio`(`float, 可选`)**:纵横比,默认为 `0.1`。 - **`aspect_ratio_grow_factor`(`float, 可选`)**:纵横比增长系数,默认为 `1.1`。 - **`average_width`(`float, 可选`)**:中心样条曲线上的平均网格宽度,默认为 `0.005`。 - **`curvature_adapted_grid_spacing`(`int, 可选`)**:随曲率调整网格间距的选项,默认为 `1`。 - **`grow_grid_outside`(`int, 可选`)**:是否在指定网格高度之外扩展网格,默认为 `0`。 - **`maximum_num_faces_in_uniform_part`(`int, 可选`)**:均匀部分的最大层数,默认为 `5`。 - **`nodes_on_top_of_each_other_tolerance`(`float, 可选`)**:节点重合判定容差,默认为 `0.0001`。 - **`min_cosine_crossing_angles`(`float, 可选`)**:交叉角余弦绝对值允许的最小值。 默认为 `0.95`。 - **`check_front_collisions`(`int, 可选`)**:是否检查与前沿其他部分的碰撞,默认为 `0`。 - **`remove_skinny_triangles`(`int, 可选`)**:是否检查与前沿其他部分的碰撞,默认为 `1`。(原说明与前一字段重复;字段名称表示移除细长三角形。) **方法索引** - [`__init__`](#splinestocurvilinearparameters---init--) ### `SplinesToCurvilinearParameters.__init__` {#splinestocurvilinearparameters---init--} ```python __init__(self, aspect_ratio=0.1, aspect_ratio_grow_factor=1.1, average_width=500.0, curvature_adapted_grid_spacing=1, grow_grid_outside=False, maximum_num_faces_in_uniform_part=5, nodes_on_top_of_each_other_tolerance=0.0001, min_cosine_crossing_angles=0.95, check_front_collisions=False, remove_skinny_triangles=True) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `aspect_ratio` | `未标注` | `0.1` | 源码未单独提供参数说明。 | | `aspect_ratio_grow_factor` | `未标注` | `1.1` | 源码未单独提供参数说明。 | | `average_width` | `未标注` | `500.0` | 源码未单独提供参数说明。 | | `curvature_adapted_grid_spacing` | `未标注` | `1` | 源码未单独提供参数说明。 | | `grow_grid_outside` | `未标注` | `False` | 源码未单独提供参数说明。 | | `maximum_num_faces_in_uniform_part` | `未标注` | `5` | 源码未单独提供参数说明。 | | `nodes_on_top_of_each_other_tolerance` | `未标注` | `0.0001` | 源码未单独提供参数说明。 | | `min_cosine_crossing_angles` | `未标注` | `0.95` | 源码未单独提供参数说明。 | | `check_front_collisions` | `未标注` | `False` | 源码未单独提供参数说明。 | | `remove_skinny_triangles` | `未标注` | `True` | 源码未单独提供参数说明。 | ## `MeshRefinementParameters` {#meshrefinementparameters} 继承:`object`。 保存二维网格加密参数的类。 **属性说明** - **`refine_intersected`(`bool`)**:是否处理与多边形相交的网格面,默认为 `False`。 - **`use_mass_center_when_refining`(`bool`)**:加密过程中划分网格面时, 是否使用质心,默认为 `True`。 - **`min_edge_size`(`float`)**:最小边长,默认为 `0.5`。 - **`refinement_type`(`RefinementType`)**:加密判据类型,默认为 `RefinementType.REFINEMENT_LEVELS`。 - **`connect_hanging_nodes`(`bool`)**:是否在迭代结束时连接悬挂节点,默认为 `True`。 - **`account_for_samples_outside`(`bool`)**:是否考虑网格面外的采样数据,默认为 `False`。 - **`max_refinement_iterations`(`int, 可选`)**:最大加密迭代次数,默认为 `10`。 - **`smoothing_iterations`(`int, 可选`)**:平滑迭代次数,默认为 `5`。 - **`max_courant_time`(`double, 可选`)**:最大库朗时间,单位为秒,默认为 `120`。 - **`directional_refinement`(`bool, 可选`)**:定向加密选项,当平滑迭代次数 大于 0 时不可使用,默认为 `False`。 **方法索引** - [`__init__`](#meshrefinementparameters---init--) ### `MeshRefinementParameters.__init__` {#meshrefinementparameters---init--} ```python __init__(self, refine_intersected=False, use_mass_center_when_refining=True, min_edge_size=0.5, refinement_type=RefinementType.REFINEMENT_LEVELS, connect_hanging_nodes=True, account_for_samples_outside_face=False, max_refinement_iterations=10, smoothing_iterations=5, max_courant_time=120.0, directional_refinement=False) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `refine_intersected` | `未标注` | `False` | 源码未单独提供参数说明。 | | `use_mass_center_when_refining` | `未标注` | `True` | 源码未单独提供参数说明。 | | `min_edge_size` | `未标注` | `0.5` | 源码未单独提供参数说明。 | | `refinement_type` | `未标注` | `RefinementType.REFINEMENT_LEVELS` | 源码未单独提供参数说明。 | | `connect_hanging_nodes` | `未标注` | `True` | 源码未单独提供参数说明。 | | `account_for_samples_outside_face` | `未标注` | `False` | 源码未单独提供参数说明。 | | `max_refinement_iterations` | `未标注` | `10` | 源码未单独提供参数说明。 | | `smoothing_iterations` | `未标注` | `5` | 源码未单独提供参数说明。 | | `max_courant_time` | `未标注` | `120.0` | 源码未单独提供参数说明。 | | `directional_refinement` | `未标注` | `False` | 源码未单独提供参数说明。 | ## `MakeGridParameters` {#makegridparameters} 继承:`object`。 保存以 C 兼容方式创建新曲线网格所需参数的类。 **属性说明** - **`num_columns`(`int, 可选`)**:x 方向的列数,默认为 `3`。 - **`num_rows`(`int, 可选`)**:y 方向的行数,默认为 `3`。(原文称为列数。) - **`angle`(`float, 可选`)**:网格角度,默认为 `0.0`。 - **`origin_x`(`float, 可选`)**:左下角原点的 x 坐标。 默认为 `0.0`。 - **`origin_y`(`float, 可选`)**:左下角原点的 y 坐标。 默认为 `0.0`。 - **`block_size_x`(`float, 可选`)**:x 方向的网格块尺寸,仅用于方形网格。 默认为 `10.0`。 - **`block_size_y`(`float, 可选`)**:y 方向的网格块尺寸,仅用于方形网格。 默认为 `10.0`。 - **`upper_right_x`(`float, 可选`)**:右上角的 x 坐标。 默认为 `0.0`。 - **`upper_right_y`(`float, 可选`)**:右上角的 y 坐标。 默认为 `0.0`。 **方法索引** - [`__init__`](#makegridparameters---init--) ### `MakeGridParameters.__init__` {#makegridparameters---init--} ```python __init__(self, num_columns=3, num_rows=3, angle=0.0, origin_x=0.0, origin_y=0.0, block_size_x=10.0, block_size_y=10.0, upper_right_x=0.0, upper_right_y=0.0) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `num_columns` | `未标注` | `3` | 源码未单独提供参数说明。 | | `num_rows` | `未标注` | `3` | 源码未单独提供参数说明。 | | `angle` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `origin_x` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `origin_y` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `block_size_x` | `未标注` | `10.0` | 源码未单独提供参数说明。 | | `block_size_y` | `未标注` | `10.0` | 源码未单独提供参数说明。 | | `upper_right_x` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `upper_right_y` | `未标注` | `0.0` | 源码未单独提供参数说明。 | ## `Mesh1d` {#mesh1d} 继承:`object`。 此类用于获取和设置一维网格数据。 **属性说明** - **`node_x`(`ndarray`)**:描述节点 x 坐标的一维双精度数组。 - **`node_y`(`ndarray`)**:描述节点 y 坐标的一维双精度数组。 - **`edge_nodes`(`ndarray, 可选`)**:描述每条网格边端点节点的一维整数数组。 **方法索引** - [`__init__`](#mesh1d---init--) - [`remove_invalid_values`](#mesh1d-remove-invalid-values) - [`plot_edges`](#mesh1d-plot-edges) ### `Mesh1d.__init__` {#mesh1d---init--} ```python __init__(self, node_x, node_y, edge_nodes) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `node_x` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `node_y` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `edge_nodes` | `未标注` | `必填` | 源码未单独提供参数说明。 | ### `Mesh1d.remove_invalid_values` {#mesh1d-remove-invalid-values} ```python remove_invalid_values(self, float_invalid_value: float) ``` 移除数组中可能存在的无效值。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `float_invalid_value` | `float` | `必填` | 浮点无效值。 | ### `Mesh1d.plot_edges` {#mesh1d-plot-edges} ```python plot_edges(self, ax, *args, **kwargs) ``` 在指定坐标轴上绘制网格边。 `args` 和 `kwargs` 作为 matplotlib 的 `plot` 方法参数传入。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `ax` | `matplotlib.axes.Axes` | `必填` | 绘制网格边所用的坐标轴对象。 | | `args` | `未标注` | `不适用` | 可变位置参数。源码未单独提供参数说明。 | | `kwargs` | `未标注` | `不适用` | 可变关键字参数。源码未单独提供参数说明。 | ## `Contacts` {#contacts} 继承:`object`。 此类描述一维与二维网格之间的连接。 **属性说明** - **`mesh1d_indices`(`ndarray`)**:描述一维网格节点索引的一维整数数组。 - **`mesh2d_indices`(`ndarray`)**:描述二维网格面索引的一维整数数组。 **方法索引** - [`__init__`](#contacts---init--) - [`remove_invalid_values`](#contacts-remove-invalid-values) - [`plot_edges`](#contacts-plot-edges) ### `Contacts.__init__` {#contacts---init--} ```python __init__(self, mesh1d_indices, mesh2d_indices) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `mesh1d_indices` | `未标注` | `必填` | 源码未单独提供参数说明。 | | `mesh2d_indices` | `未标注` | `必填` | 源码未单独提供参数说明。 | ### `Contacts.remove_invalid_values` {#contacts-remove-invalid-values} ```python remove_invalid_values(self, int_invalid_value: int) ``` 移除数组中可能存在的无效值。 同时移除其他数组中对应的条目。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `int_invalid_value` | `int` | `必填` | 整数无效值。 | ### `Contacts.plot_edges` {#contacts-plot-edges} ```python plot_edges(self, ax, mesh1d, mesh2d, *args, **kwargs) ``` 在指定坐标轴上绘制网格边。 `args` 和 `kwargs` 作为 matplotlib 的 `plot` 方法参数传入。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `ax` | `matplotlib.axes.Axes` | `必填` | 绘制网格边所用的坐标轴对象。 | | `mesh1d` | `Mesh1d` | `必填` | 绘制连接所用的一维网格实例。 | | `mesh2d` | `Mesh2d` | `必填` | 绘制连接所用的二维网格实例。 | | `args` | `未标注` | `不适用` | 可变位置参数。源码未单独提供参数说明。 | | `kwargs` | `未标注` | `不适用` | 可变关键字参数。源码未单独提供参数说明。 | ## `GriddedSamples` {#griddedsamples} 继承:`object`。 保存均匀或非均匀网格采样数据的类。 **属性说明** - **`num_x`(`int, 可选`)**:x 方向的采样坐标数,采样网格点数为 num_x × num_y。 默认为 `0`。 - **`num_y`(`int, 可选`)**:y 方向的采样坐标数,采样网格点数为 num_x × num_y。 默认为 `0`。 - **`x_origin`(`float, 可选`)**:采样网格原点的 x 坐标,默认为 `0.0`。 - **`y_origin`(`float, 可选`)**:采样网格原点的 y 坐标,默认为 `0.0`。 - **`cell_size`(`float, 可选`)**:固定的采样网格边长,默认为 `0.0`。 - **`x_coordinates`(`ndarray, 可选`)**:x 方向非均匀网格间距对应的坐标。 - **`y_coordinates`(`ndarray, 可选`)**:y 方向非均匀网格间距对应的坐标。 - **`values`(`ndarray`)**:采样值。 **方法索引** - [`__init__`](#griddedsamples---init--) ### `GriddedSamples.__init__` {#griddedsamples---init--} ```python __init__(self, num_x=0, num_y=0, x_origin=0.0, y_origin=0.0, cell_size=0.0, x_coordinates=np.empty(0, dtype=np.double), y_coordinates=np.empty(0, dtype=np.double), values=np.empty(0, dtype=np.float32)) ``` 构造实例。源码没有单独编写此构造函数的文档字符串,参数及默认值如下。 **参数** | 名称 | 类型 | 默认值 | 中文说明 | | --- | --- | --- | --- | | `num_x` | `未标注` | `0` | 源码未单独提供参数说明。 | | `num_y` | `未标注` | `0` | 源码未单独提供参数说明。 | | `x_origin` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `y_origin` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `cell_size` | `未标注` | `0.0` | 源码未单独提供参数说明。 | | `x_coordinates` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `y_coordinates` | `未标注` | `np.empty(0, dtype=np.double)` | 源码未单独提供参数说明。 | | `values` | `未标注` | `np.empty(0, dtype=np.float32)` | 源码未单独提供参数说明。 | ## `CurvilinearDirection` {#curvilineardirection} 继承:`IntEnum`。 曲线网格算法使用的方向。 **枚举成员** | 名称 | 值 | 中文说明 | | --- | --- | --- | | `M` | `0` | 沿 m 方向。 | | `N` | `1` | 沿 n 方向。 |