El modelamiento de aguas subterráneas con varias condiciones de contorno y configuraciones hidrogeológicas complejas requiere herramientas avanzadas para la discretización de mallas. Estas deben garantizar un refinamiento adecuado en la zona de interés mientras se preserva un mínimo de celdas. El tipo de malla debe diseñarse de manera que conserve los recursos computacionales y represente adecuadamente el régimen de flujo de aguas subterráneas.
mf6Voronoi
Este paquete de Python crea una malla de Voronoi para MODFLOW6 utilizando la opción DISV (discretizado por vértices). El paquete trabaja con archivos geoespaciales y ofrece opciones de refinamiento selectivo basado en las condiciones de contorno.
Estas son las principales características del paquete:
Trabaja con archivos geoespaciales en formato ESRI Shapefile.
El refinamiento progresivo puede modificarse mediante un multiplicador.
Proporciona un resumen de la nube de puntos generada para la creación de la malla Voronoi.
Probado en más de 5 conjuntos de datos de modelos de aguas subterráneas.
Genera resultados como Shapefiles poligonales de ESRI.
Requiere pocos pasos y argumentos para la generación de la malla.
Repositorio en GitHub:
github.com/hatarilabs/mf6Voronoi
Enlace en PyPI:
pypi.org/project/mf6Voronoi/
Instala el paquete con Pip utilizando este comando:
pip install mf6Voronoi
Ilustraciones
Ejemplo
Este es un ejemplo del código mínimo necesario para crear una malla de Voronoi con mf6Voronoi:
# Import the package
from mf6Voronoi.geoVoronoi import createVoronoi
# Create mesh object specifying the coarse mesh and the multiplier
vorMesh = createVoronoi(meshName='regionalModel',maxRef = 200, multiplier=1.5)
# Open limit layers and refinement definition layers
vorMesh.addLimit('basin','../../examples/regionalModel/shp/Angascancha_Basin_Extension.shp')
vorMesh.addLayer('river','../../examples/regionalModel/shp/rios.shp',50)
# Generate point pair array
vorMesh.generateOrgDistVertices()
# Generate the point cloud and voronoi mesh
vorMesh.createPointCloud()
vorMesh.generateVoronoi()
# Export generated voronoi mesh
vorMesh.getVoronoiAsShp(outputPath='output')