data_structures
模块包含了 Solution
类中使用的数据结构,这些数据结构包括了地质模型的网格结构、属性、表面等信息。
Grid
类是一个将地质模型切分成若干个体素进行建模的网格结构,每个体素可以有不同的岩性、属性、表面特征等。
res
: float
类型,网格分辨率extent
: list
类型,模型边界的坐标范围,共六个值(最小X坐标,最大X坐标,最小Y坐标,最大Y坐标,最小Z坐标,最大Z坐标)origin
: list
类型,网格的原点坐标shape
: tuple
类型,网格的尺寸,共三个值(体素在X轴上的数量,体素在Y轴上的数量,体素在Z轴上的数量)tensor
: numpy
数组类型,存储网格的坐标信息,形状为 (3, Nx, Ny, Nz)
,其中 Nx
, Ny
, Nz
为网格在X轴、Y轴、Z轴上的体素数量,分别对应于 X、Y、Z 三个坐标轴上的坐标值。Surface
类存储表面信息,包括表面种类、表面在网格中的位置和方向等。
name
: str
类型,表面名称type
: str
类型,表面类型vertices
: numpy
数组类型,存储表面上所有节点的坐标信息,形状为 (N, 3)
,其中 N
为节点数量,3
表示每个节点在三维坐标系中的 X、Y、Z 坐标值。edges
: numpy
数组类型,存储表面上所有边的信息,边是由两个相邻节点构成的,形状为 (E, 2)
,其中 E
为边的数量,2
表示每条边两端的节点编号。triangles
: numpy
数组类型,存储表面上所有三角形面片的信息,形状为 (T, 3)
,其中 T
为面片的数量,3
表示每个面片由三个节点构成的编号。values
: numpy
数组类型,存储每个表面节点对应的属性值,形状为 (N,)
,其中 N
为节点数量。Foliation
类存储薄片状特征的信息,包括薄片状特征的种类、位置、方向和形状等,会作为地质体的参考面。
type
: str
类型,薄片状特征种类position
: numpy
数组类型,薄片特征的位置,形状为 (N, 3)
,其中 N
是薄片特征数量,3
表示薄片的 X、Y、Z 坐标值。orientation
: numpy
数组类型,薄片特征的方向向量,形状为 (N, 3)
,其中 N
是薄片特征数量,3
表示薄片的法向量在 X、Y、Z 坐标轴上的分量。stretch
: numpy
数组类型,薄片特征的形状,在根据薄片特征插值属性时计算使用,形状为 (N, 3)
,其中 N
是薄片特征数量,3
表示薄片的伸缩因子在 X、Y、Z 坐标轴上的分量。dip
: numpy
数组类型,薄片特征的倾角,在根据薄片特征插值属性时计算使用,形状为 (N,)
azimuth
: numpy
数组类型,薄片特征的方位角,在根据薄片特征插值属性时计算使用,形状为 (N,)
Stack
类存储在三维网格上的堆积地层信息,通过为不同地层添加标签将每个体素赋予相应的地层信息。
ids
: numpy
数组类型,存储每个体素属于的地层编号,形状为 (Nx, Ny, Nz)
,共有 Nx * Ny * Nz
个元素,每个元素表示一个体素属于的地层编号。series
: dict
类型,存储所有地层的名称、颜色等信息,共有若干个键值对,每个键值对包含以下信息:
name
: str
类型,地层名称;color
: tuple
类型,地层颜色,形状为 (r, g, b)
;id
: int
类型,地层编号。