Sampling
zdem_dfn.sampling
¶
采样与分组机制:颗粒-裂隙作用分带、网格哈希加速、随机概率机制。
所有配置开关通过 _config. 属性访问(而非 import 快照),
保证运行时覆盖 zdem_dfn.config 后立即生效。
与旧引擎的等价性:交带判定 dist <= r(含等于),
intersect_count 对每条命中裂隙累加(支撑节点惩罚 >=2 判定)。
build_hash_grid(lines_data, grid_cell_size)
¶
按网格单元建立颗粒索引,供近邻裂隙查询加速。
Source code in zdem_dfn/sampling.py
19 20 21 22 23 24 25 26 27 28 29 | |
apply_fracture_tagging(lines_data, fractures, grid_cell_size, max_r)
¶
裂隙-颗粒作用与属性标记(原 main() 全局三阶段内联逻辑的函数化割离)。
返回各标签命中统计(stat_tags)。行为与旧引擎一致:
- 网格哈希只圈定候选颗粒,最终判定仍逐颗精确求距;
- dist <= r 计为相交,每条命中裂隙 intersect_count 累加;
- 节点惩罚在异质标记之前生效(>=2 次相交直接 DFN_Node)。
Source code in zdem_dfn/sampling.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | |
process_single_folder_lines(dfn_segments, lines_data)
¶
兼容别名(无网格加速):等价于 grid_cell_size 视作无限大的退化情形。
Source code in zdem_dfn/sampling.py
94 95 96 97 98 99 100 101 102 103 104 105 106 | |
check_particles_overlap(x1, y1, r1, x2, y2, r2, min_gap=0.0)
¶
两颗粒是否重叠(可选最小间隙)。
Source code in zdem_dfn/sampling.py
109 110 111 112 113 | |
random_tag_by_probability()
¶
按概率矩阵返回标签(异质模式关闭时统一 DFN_Matrix,不含节点惩罚)。
Source code in zdem_dfn/sampling.py
116 117 118 119 120 121 122 123 124 125 126 | |