孔隙扩散 (空间分析)
用法
-
有效孔隙度场(蓄水层的一种物理属性)通常根据地质数据进行估计。它被定义为构成液体流的空空间的体积除以全部体积。孔隙度以 0.0 到 1.0 之间的一个数字表示,典型值约为 0.35 且无维度。有效孔隙度的值为 0.35 表示孔隙介质体积中有 35% 构成液体流。其余 65%(由固体基质和不相连的孔隙组成)不构成液体流。
-
此工具不指定任何特定的单位系统。所有数据都必须一致,即对时间(秒、天、年)、长度(英尺、米)和质量(千克、斯勒格)分别使用相同的单位。
-
以长度单位为单位测得的饱和厚度将根据地质信息进行解释。对于承压蓄水层,该度量指上下不透水层之间的形成物厚度。对于非承压蓄水层,饱和厚度指地下水位与下不透水层之间的距离。
-
衰变系数 λ 与半衰期 T1/2 的关系如下式所示:
例如,碳 14 的半衰期为 5,730 年。由于 ln(2) = 0.693,因此衰变系数为 0.693/5730 = 1.21x10-4 /年。稳定成分的衰减系数为零,与无穷大的半衰期相对应。从多种源中均可找到放射性同位素的半衰期,包括由 CRC 出版社 出版的《CRC 化学与物理手册》。
-
请求的时间不得超过路径文件中记录的最晚时间。或者必须在孔隙扩散中请求更少的时间,或者需要由粒子追踪生成具有更长时间的新路径文件。
-
在完成第一个路径步骤(记录于追踪文件之中)之前不应达到请求的时间。或者应在孔隙扩散中请求更长的时间,或者应由粒子追踪使用更短的步长生成新的追踪文件。
-
质心不得移至栅格的边上,也不能移出栅格。这种情况下,无法为扩散提供基础数据,所以会导致工具中止。或者必须请求更短的时间,或者必须生成更大的栅格以容纳质心的迁移。
语法
参数 | 说明 | 数据类型 |
in_track_file |
输入粒子追踪路径文件。 这是一个 ASCII 文本文件,其中包含沿路径移动的位置、局部速度矢量以及累积长度和时间的信息。 此文件将使用粒子追踪工具进行生成。 | File |
in_porosity_raster |
所包含的每一单元值都代表该处有效地层孔隙度的输入栅格。 | Raster Layer |
in_thickness_raster |
所包含的每一单元值都代表该处饱和厚度的输入栅格。 厚度值根据蓄水层的地质属性进行解释。 | Raster Layer |
mass |
源点处瞬间释放的质量数量值(以质量单位为单位)。 | Double |
dispersion_time (可选) |
表示溶质扩散的时间范围的值(以时间单位为单位)。 该时间必须小于或等于追踪文件中的最大时间。如果请求的时间超过追踪文件中的可用时间,该工具将中止。默认时间为追踪文件中的最晚时间(对应于终点)。 | Double |
longitudinal_dispersivity (可选) |
表示与流向平行的扩散性的值。 有关默认值的确定方法及其与研究范围的关系的详细信息,请参阅本文档的孔隙扩散的工作原理部分。 | Double |
dispersivity_ratio (可选) |
表示纵横扩散性比的值。 横向扩散性在同一水平面中垂直于流向。默认值为三。 | Double |
retardation_factor (可选) |
表示蓄水层中溶质延迟的无维度值。 延迟可以是一至无穷大之间的任意值,一对应于无延迟。默认值为一。 | Double |
decay_coefficient (可选) |
经历一阶指数衰减的溶质(如放射性核素)的衰减系数,以反时间单位为单位。 默认值为零,对应于无衰减。 | Double |
返回值
名称 | 说明 | 数据类型 |
out_raster |
浓度分布的输出栅格。 每个像元值都表示该位置的浓度。 | Raster |
代码示例
此例对所需输入执行该工具,然后输出浓度分布栅格。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outPorousPuff = PorousPuff("trackfile.txt", "gwporo", "gwthick", 50, 10000, "", 3, "", "") outPorousPuff.save("c:/sapyexamples/output/outporpuff")
此例对所需输入执行该工具,然后输出浓度分布栅格。
# Name: PorousPuff_Ex_02.py # Description: Calculates the time-dependent, two-dimensional # concentration distribution in mass per volume of a # solute introduced instantaneously and at a discrete # point into a vertically mixed aquifer. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inTrackFile = "trackfile.txt" inPorosityRaster = "gwporo" inThicknessRaster = "gwthick" mass = 50 dispersionTime = 10000 longitudinalDispersivity = "" dispersivityRatio = 3 retardationFactor = "" decayCoefficient = 0 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute PorousPuff outPorousPuff = PorousPuff(inTrackFile, inPorosityRaster, inThicknessRaster, mass, dispersionTime, longitudinalDispersivity, dispersivityRatio, retardationFactor, decayCoefficient) # Save the output outPorousPuff.save("c:/sapyexamples/output/outporpuff")