孔隙扩散 (空间分析)
用法
-
有效孔隙度场(蓄水层的一种物理属性)通常根据地质数据进行估计。它被定义为构成液体流的空空间的体积除以全部体积。孔隙度以 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")