********************************************************* * create hex grid *************************** * http://lagrit.lanl.gov/docs/CRTPTBRICK.html * * syntax: createpts/brick/xyz * /nx,ny,nz/xyz_mins / xyz_maxs/ 1,1,1 (cell_vertices)/ * /ijk switches/ijk ratio /(leave these off for regular spaces) * * Project: Wyoming Seismic with John Jiao 2011 * Key: SequenceFile Data: seis3d.seq * range FEET: * 475200.000000 to 493200.000000 * 465500.000000 to 499900.000000 * -12600.000000 to 0.000000 * range METERS: * 144840.96 to 150327.36 * 141884.4 to 152369.52 * -3840.48 to 0 * NOTE: There is a cut-out at min x,y corner that is aprox 450 meters * Increase min y to avoid this area * * State Plane feet, zone: 4904 * The well location is at X 482800, Y 476300 ft (147157.44, 145176.24 meters) * *The mesh domain should be: * X 475200 – 493200 ft * Y 467100 – 499900 ft * Z -1400 – -12600 ft elevation * (-426.72 meters to -3840.48 meters) * The target interval Weber Sandstone at the well for CO2 injection * ranges from -10600 to -11800 ft (elevation) or depth 11300 to 18500 ft in depth. * -3230.88 to -3596.64 * * Target 50 m horizontal and 32 meter vertical near well * Data collection points were every 32 meters vertical * octree ratio length/sqrt(2) = height * 50/sqrt(2) = 35.35 * 45/sqrt(2) = 31.81 * 64/sqrt(2) = 45.25 * * select boundary coordinates within EV domain * use integer values that divide whole * use meters * X length 17500 feet, 5334 meters * 20*256=5120 * 19*256=4864 * increase x to cell center the well * need to reduce by one cell length define X0 144853. define X1 149717. * Y length 32000 feet, 9753.6 meters * 38*256=9728 * increase y min 512m, 2 cells so 36*256=9216 * increase y to center well in cell define Y0 142616. define Y1 151832. * Z length 11200 feet, 3413.76 meters * -11200 to -1400 feet, 3840.48 to 426.72 meters * 53*64=3392 106*32=3392 define Z0 -3840. define Z1 -448. define / NX / 20 define / NY / 37 define / NZ / 107 define EVFILE evinput_brick.dat * evenly space points along x,y and z axis cmo/create/cmohex///hex createpts/brick/xyz/NX NY NZ /X0 Y0 Z0 / X1 Y1 Z1 / & 1,1,1/ 1,1,0/ 1. 1. 1. * color grid points and elements all color 1 cmo/setatt/cmohex/imt1/1,0,0/1 cmo/setatt/cmohex/itetclr/1,0,0/1 filter 1,0,0 rmpoint compress resetpts itp * write the hex grid dump gmv brick.gmv cmohex dump avs brick.inp cmohex *------------------------------- * well object refine horizontal only * vertical spacing is already 32 meters define WELLX 147157.00 define WELLY 145176.00 define WELLX2 147158.00 define WELLY2 145177.00 define WELLTOP 0. define WELLBOT -5000. cmo/create/cmowell///hex createpts/brick/xyz/ 2 2 14 / & WELLX WELLY WELLBOT / WELLX2 WELLY2 WELLTOP /1,1,1 cmo setatt cmowell imt 15 cmo setatt cmowell itetclr 15 resetpts itp dump gmv brick_well.gmv cmowell *------------------------------- addmesh append cmotmp cmohex cmowell dump gmv merge_hex_well.gmv cmotmp cmo delete cmotmp *------------------------------- * REFINE intersect_elements/ cmohex/ cmowell/ in_obj cmo select cmohex eltset/ eref1 / in_obj / gt 0 pset/ pref1 eltset eref1 refine/constant/imt1/linear/element/pset,get,pref1/-1.,0.,0./inclusive/amr 12 dump gmv brick_lvl01.gmv cmohex cmo setatt cmohex in_obj 0 intersect_elements/ cmohex/ cmowell/ in_obj cmo select cmohex eltset/ eref2 / in_obj / gt 0 pset/ pref2 eltset eref2 refine/constant/imt1/linear/element/pset,get,pref2/-1.,0.,0./inclusive/amr 12 dump gmv brick_lvl02.gmv cmohex cmo setatt cmohex in_obj 0 intersect_elements/ cmohex/ cmowell/ in_obj cmo select cmohex eltset/ eref3 / in_obj / gt 0 pset/ pref3 eltset eref3 refine/constant/imt1/linear/element/pset,get,pref3/-1.,0.,0./inclusive/amr 12 dump gmv brick_lvl03.gmv cmohex ***______DONE_______________*** grid2grid / tree_to_fe / cmo / cmohex cmo select cmo quality cmo status dump avs2 brick_ref.inp cmo dump gmv brick_ref.gmv cmo * write x,y,z points for EV * these meters need to be converted to feet cmo select cmo cmo printatt cmo -xyz- minmax math/divide/cmo/xic/1 0 0/cmo/xic/0.3048 math/divide/cmo/yic/1 0 0/cmo/yic/0.3048 math/divide/cmo/zic/1 0 0/cmo/zic/0.3048 dump avs2 EVFILE cmo 1 0 0 0 0 cmo printatt cmo -xyz- minmax finish