May 1 2017. Workflow using particleDriver to convert Amanzi files for input into Walkabout for particle tracking.
This test mesh is based on Source Hex Mesh
Based on demonstration problem in:
Pathline tracing on fully unstructured control-volume grids
SL Painter, CW Gable, S Kelkar
Computational Geosciences, 1-10 17 2012
1) Material (block) information is not written and the resulting mesh has a default single material id of 1.
2) This workflow requires that LaGriT connect the cell center points and boundary nodes into a tet mesh. The connect algorithm works in general for a reasonable number of nodes (under 2 Mil) and a convex shape. The LaGriT output must be inspected to check that the tet mesh successful and make sure the expected number of points are connected.
3) By converting Amanzi mesh points to tets there can be mesh errors introduced. Check the LaGriT output for mesh quality metrics and for Negative Coupling Coeficients.
4) The particleDriver output file walk00058.h5.avs is expected to have 4 property values for the mesh points. The AVS header indicates 4, but there are only 3 fields in the file.
5)The creation of boundary outside zones assumes the mesh has flat sides in 6 directions. This may not work for meshes of irregular shape or with sloping outside surfaces.
6) The Walkabout User Manual V1.0 and does not yet have descriptions for the Amanzi workflow and files.
Download Files used and described in this workflow: walkabout-amanzi_v01.tar.gz (2.3M)
1) Create ExodusII Hex Mesh for Amanzi ModelMesh Directory: /scratch/nts/tam/ascem/walkabout/test_slab_v01/EXO_output Dimensions 25 x 25 x 3 cells with size 4x4x1 Facesets: 1=bottom 2=top 3=right 4=back 5=left 6=front Block Materials: 1=Background 2=Left Barrier 3=Right Barrier Title: LAGRIT TO EXODUS number of nodes: 2704 number of elements: 1875 number of element blocks: 3 number of side sets: 6 NAME MIN MAX DIFFERENCE xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 yic 0.000000000E+00 1.000000000E+02 1.000000000E+02 zic 0.000000000E+00 3.000000000E+00 3.000000000E+00 SUMMARY VOLUME/AREA of ELEMENT BLOCKS Color Num. Elements Volume Fractional Volume 1 1650 0.2640000E+05 0.880000000 2 135 0.2160000E+04 0.072000000 3 90 0.1440000E+04 0.048000000 Total cells: 1875 Total Volume: 0.3000000E+05 Mesh Description: README.txt LaGriT Mesh Output: mesh.out.txt
Exodus Hex Mesh for Amanzi
Exodus Hex Mesh Nodes for Amanzi
Exodus Boundary facesets for Amanzi
2) Run Amanzi Model and Write FilesDirectory: /scratch/nts/zhiming/RM_SM/walkabout_workflow Amanzi INPUT files: mesh_fsets.exo, wf.xml Amanzi OUTPUT files: plot_mesh.h5 = data for plotting elements (not used) walk00058.h5 = Binary file with mesh data from Amanzi These points are the mesh cell centers plus outside edge points DATASET "x" "y" "z" For each mesh point, these are the node properties DATASET "pore velocity x" "pore velocity y" "pore velocity z" "porosity" "pressure" "saturation"
3) Run particleDriver and Write Walkabout FilesDirectory: /scratch/nts/tam/ascem/walkabout/test_slab_v01/walkabout_workflow Compile h5output.cpp using makefile for program particleDriver RUN particleDriver INPUT: walk00058.h5 from Amanzi (last time step in h5 format) (to view binary file: h5dump walk00058.h5 > walk00058.h5.ascii.txt)PREPROCESS STEP These data are extracted from walk00058.h5 and are written in ASCII format.walk00058.h5.avs - AVS file with point properties from .h5 file. Required for Walkabout Note this file is incorrect, the header indicates 4 properties, but there are only 3. The Liquid Density is probably the one missing. Liquid Pressure (MPa), (MPa) Saturation, (no dim) Porosity, (no dim) Liquid Density (kg/m**3), (kg/m**3) walk00058.h5.ama - cell velocity file. Required for Walkabout. walk00058.h5.inp - AVS file with point x,y,z from .h5 file. Required for LaGriT walk00058.h5.lgi - command file to connect tets and write files. Required for LaGriT. walk00058.h5.files - specifies input/output files. Required for Walkabout. walk00058.h5.rock - density, Kd, porosity properties. Optional. walk00058.h5.ply - view file showing domain points colored by Velocity control.dat - specifies parameters. Required for Walkabout.MESHING STEP Run LaGriT with walk00058.h5.lgi (from preprocess step) Connect delaunay (will add elements across non-convex shapes) Set point material = 1 Set element material = 1 INPUT: walk00058.h5.inp (cell center and edge nodes from walk00058.h5)
Exodus Hex Mesh with Amanzi output points
Amanzi cell center points with Pressure
Amanzi mesh boundary points with Pressure
walk00058.h5.fehmn - FEHM geometry file for the tet mesh. Required for Walkabout. walk00058.h5.stor - FEHM tet connectivity and interface areas. Required for Walkabout. walk00058.h5.graph - Mesh element adjacency list. Required for Walkabout. walk00058.h5_outside.zone - FEHM boundary zones for mesh points. Optional. walk00058.h5_outside_vor.area - FEHM Voronoi areas for boundary points. Optional. walk00058.h5_material.zone - FEHM material zones for mesh points. Optional. walk00058.h5.tet.inp - AVS file for viewing the tet mesh. walk00058.h5.gmv - binary GMV file for viewing the tet mesh. logx3dgen, outx3dgen - LaGriT log and screen output files.POSTPROCESS STEP (optional and not selected for this example)
LaGriT Connect Points to Tet Mesh
LaGriT Tet Mesh with Amanzi Points
Tet Volumes cutaway at Boundary
.obj - Wavefront OBJ file for viewing tetrahedral mesh. .csv - text file for viewing cell center point positions and velocities. .vtk - Binary VTK file for viewing particle path lines from Walkabout.
(Zhiming will run and evaluate results)