VSAFT2 Help - University of Arizona



FwdObs.dat output add conc. flux.Pumping rate should be [L/T] for horizontal plane and [1/T] for the vertical?Steady/transient forward/inverse ok.Inversion could estimate Ks, Ss, unsat. VGM/exp parameters using head/flux/water content measurement in 2D by both steady and transient.Need to check unsat sensitivity in 2D.Inversion could estimate Ks/Ss/unsat. VGM/exp parameters using head, flux, water content, tracer concentration, tracer moment measurement in 3D.Flux measurement only be implemented in steady in 3D.River stage tomo is done in 2D.Estimate steady/transient constant/time varying pumping rate are done in 2D. (Could do multiple pumping events if pumping rates are identical within different events.)Tracer need to be check.Will have negative concentration?!Check definition of solute transport.Construct -> Load mapTable of ContentsVsaft2 Solver Forward Simulation Input Filesgrid.datproblem.datsimulation.datsources.dattime.datmaterial.datobwell.datnode.datgrid-material.datelement.datboundary.datbc.dattime_vary_h_bc.dattime_vary_f_bc.dattime_vary_seepage_f_bc.dat time_vary_h_ic.datvalidation_control.datVsaft2 SimSLE Solver Inverse Simulation Input Filesprior.consle.conInvObs.dathard.dattruematerial.datVsaft2 Solver Validation Input Filesvalidation_h.datForward Simulation Output FilesInverse Simulation Output FilesValidation Output FilesPlots Could Be Viewed In View WindowTrouble ShootingVsaft2 Solver Forward Simulation Input FilesCurrently, only pure rectangle grid is work.If using pure triangle grid or mixed shape grid, some codes will need to be changed.grid.datStores the number of computational elements and number of computational nodes of the model domain.100nelemnumber of computational elements121nnodenumber of computational nodesproblem.datStores the title, problem type, flow type, initial head type.Example Modeltitletitle1mponlyforward/inverse1noutcreate output.dat2kprobproblem type0kfltypflow type1iheadinitial head typeThe title is a text string.RESTENDNULLRESTARTxx = positive integerEx. RESTART5 means to restart inversion from the 5th iteration’s estimated field and residual covariance. Will jump over cokrig1 and do SLE directly.mponly is defined by an integer:1: forwardotherwise: inversenout is defined by an integer:1: create output.datotherwise: do not create output.datThe problem type is defined by an integer:steady state flowtransient flowsteady state flow and transient transporttransient flow and transient transportThe flow type is defined by an integer:0.horizontal planevertical axisymmetricvertical planeThe initial head type is defined by an integer:0.pressure headtotal headsimulation.datStores the parameters for solving non-linear forward problem from the simulation control tab.2itschmiteration scheme2lumpstorage term0nvarelement interpolation method100itermxnon-linear iterations0.5[UNIT?]xiftime weighting - flow0.5[UNIT?]xictime weighting - transport0.0001[L]tolpressure head tolerance1.0e-10[UNIT?]epsfconvergence limit for flow1.0e-10[UNIT?]epsvconvergence limit for velocity1.0e-10[UNIT?]epscconvergence limit for transportThe iteration scheme is defined by an integer:Picard iteration schemeNewton-Raphson iteration schemeThe treatment of the storage matrix is defined by an integer:0.Consistent matrixLumped matrixDiagonal lumped matrix (as in finite difference)The element interpolation method is defined by an integer:0.Constant value which equals to the average of the element nodes.Value varies linearly across the element.The maximum number of non-linear iterations. For steady state problems, a non-converged solution is returned with a warning. For transient solutions, if exceed this allowable maximum non-linear iteration amount, the time step is halved and the non-linear iterations are repeated.The time weighting for the flow equation can range from 0.5 to 1.0.The time weighting for the transport equation can range from 0.0 to 1.0.Pressure head tolerance is defined by a float:If pressure head change between current and previous non-linear iteration is smaller than this tolerance, the solution converge.sources.datStores the location and the magnitude of the source/sink.starttime<time<=endtimeCurrently, pumping well cannot put on the upper and right boundary node.Currently, well name can only contain <= 40 characters. Cannot have space in well name.When pumping rate = 0, won’t consider it as a pumping well. (Will not print out into sources.dat)If pumping rate <= 0, no need to take care about the solute concentration. (Will automatically calculate the pump out solute concentration)Could deal with time varying pumping rate. Start/end time don’t need to be ordered from small to large. Just remember that the pumping times cannot overlap within single well.For example:310-1.00.0130.0150.000well1103.00.00.050.000well1100.10.051.0100.000well1Import option:Import wells :Delete all of the current wells and import well locations from wells.dat.Import sources:Import source/sink info from sources.dat. If the import file contains new wells, GUI will automatically plot the wells, grab the new wells’ info, and treat them as observation wells.Import observations:Import observation wells from obwell.dat. If the import file contains new wells, GUI will automatically plot the wells and treat them as newly added wells.nctimespulsensourcnelsrc(i,j)qsrc(i,j)csrc(i,j)stime(i,j)etime(i,j)tracstime(i,j)tracetime(i,j)tomopumpname(i,j)nsourcnelsrc(i,j)qsrc(i,j)csrc(i,j)stime(i,j)etime(i,j)tracstime(i,j)tracetime(i,j)tomopumpname(i,j)[-][-][-][-][][][T][T][T][T][-][L3/T] for horizontal plane[L2/T] for vertical plane[M/L3/T] for horizontal plane[M/L2/T] for vertical plane2031-1.00.00.050.000well1100.00.00.0100.000well270.10.00.0100.000well3310.00.00.050.000well110-2.00.00.0100.000well270.10.00.0100.000well3The first line sets the number of pumping event (current/stress).The second line is not used? Keep? The second line, which describes whether the tracer is pulse input or not, is defined by an integer:1: tracer is pulse inputotherwise?: need to be checkThe third line defines the number of sources/sinks.All subsequent lines record the location (node number), pumping strength (+ive denotes injection while -ive represents pumping out), concentration of the source/sink, start time of the pumping, end time of the pumping, tracer start time, tracer end time, the well name.Repeat from the third line for nctimes indicated in the first line.time.datSaves the parameters for transient flow from the Time Step tab.Currently, total time steps should <= 500.Currently, all of the time information will remain the same for the different pumping events.timkod will be set to -1 while outtim(:) will use those from InvObs.dat automatically when doing inverse problem.outtim(i) doesn’t need to order from small to large and could have repeated time.dt[T]dtmax[T]dtmul[-]tmax[T]maxred[-]timkod[-]outtim(i) stress 1 ……[T] outtim(i) stress 2 ……[T]The following example includes 3 pumping events. The second pumping event will printout at every time steps, thus “timkod stress 2” = 0 and there’s no need to contain any other info for pumping event 2 in outtim(i).0.10.50.51.01.05.01.01.01.1100.050.0100.010105-3.00-1.01.01.51.81.5Line 1 is the initial value of the time step.Line 2 is the maximum allowable value of the time step.Line 3 is the time step multiplier. If the solution converge, dt will time this multiplierLine 4 is the maximum simulation time.Line 5 is the maximum amount of reduction during each time step. If the solution does not converge, dt will reduce to its half.Line 6 is the flag of printout time which is defined by an integer:> 0 print out at time = timkod*x where x is 1, 2, …….= 0 print out at each time step.< 0 print out at the user specified time.All subsequent lines are the user specified output times for forward simulation. They will be read when timkod < 0. The amount of lines will equal to -timkod.material.datContains the material properties for each material element.Currently, when doing inverse simulation, only exponential variogram model (model = 6) is available.When forward, variogram model is used to generate random field.When inverse, variogram model is used to generate covariance of parameter (ex. Rff).Mean is the function of mean(ln) and var(ln).Var is the fuction of mean(ln) and var(ln).GUI will print out mean (unconditional mean) into material.dat when doing inverse simulation.GUI will printout var(ln) (unconditional variance) into prior.dat when doing inverse simulation.The transient state groundwater flow in variably saturated media could be described bywhere is hydraulic conductivity [L/T], is pressure head [L], is elevation head [L], is specific storage [1/L], is moisture release capacity [1/L], is time [T], is source and sink term [1/T], and is a transitioning parameter, that is with initial conditionand boundary conditions on and on Import option:Forward/InverseValues in GUI material fields generation and amount of zones will not reflect the actual distributions and values in imported material.dat file because currently the program could not figure out which zone the elements belong to.InverseCould not import parameters associated with prior.dat. If select import material, cannot modify mean value. But can still modify parameters associated with prior.dat.nmatsatk(1,i)satk(2,i)por(i)ss(i)alphak(1,i)betak(1,i)alphak(2,i)betak(2,i)idm(i)alphat(i)betat(i)wcs(i)wcr(i)dlong(i)dtr(i)dmol(i)bulkd(i)particoefak1ak2ak3vlamda[-][L/T][L/T][-][1/L][1/L][-][1/L][-][-][1/L][-][-][-][][][][][-][1/T][1/T][1/T][1/T]40.010.010.40.0010.020.020.40.0010.030.030.40.0010.040.040.40.0010.0010.10.0010.120.0020.20.0010.120.0030.30.0010.120.0020.20.0010.120.0010.10.40.010.0020.20.40.010.0030.30.40.010.0020.20.40.011101.42201.43301.42201.400000Line 1 is the total number of material elements.Line 2 to 5 contain the saturated flow properties including saturated hydraulic conductivity in the x direction (Ksx), saturated hydraulic conductivity in the y direction (Ksy), porosity (n), and specific storage (Ss). The number of lines will equal to the nmat indicated in the first line.Line 6 to 9 contain the unsaturated hydraulic conductivity (K(h)) parameters including αx, βx, αy, βy, and the identification of constitutive models. The number of lines will equal to the nmat indicated in the first line. Line 10 to 13 contain the degree of saturation (Se) and the unsaturated moisture release curve ((h)) parameters including αm, βm, saturated volumetric water content (), and residual volumetric water content (). The number of lines will equal to the nmat indicated in the first line.Line 14 to 17 contain the transport parameters including longitudinal dispersivity (Dl)([L] or dispersion coefficient [L2/T]?), transverse dispersivity (Dt), molecular diffusion (Dm), and bulk density (). The number of lines will equal to the nmat indicated in the first line.Line 18 is partition coefficient which is the transport parameters.Line 19 is forward rate coefficient which is the transport parameters.Line 20 is backward rate coefficient which is the transport parameters.Line 21 is equilibrium constant which is the transport parameters.Line 22 is decay constant which is the transport parameters.Constitutive model is defined by an integer:Degree of saturation Moisture capacity Soil pressure head Range (sand – loam – silt – clay)0: Van Genuchten-Mualem modelL: pore-connectivity (tortuosity and connectivity) parameter (Mualem’s choice is 0.5, empirically)alpham range (14.5 – 3.6 – 1.6 – 0.8 m-1)(0.07 – 0.28 – 0.63 – 1.25 m) (capillary rise)betam range (2.7 – 1.56 – 1.37 – 1.1)alpha range (14.5 – 3.6 – 1.6 – 0.8 m-1)(0.07 – 0.28 – 0.63 – 1.25 m) (capillary rise)beta range (2.7 – 1.56 – 1.37 – 1.1)(1 < beta < infinite)1: Exponential modelalpham range (7 – 0.8 – 0.3 – 0.05 m-1)alpha range (7 – 0.8 – 0.3 – 0.05 m-1) 2: Gardner-Russo modelalpham rangebetam rangealpha rangebeta range3: User specified model5: Brooks-Corey model (Not yet applicable): air entry pressure (0.07 – 0.11 – 0.21 – 0.37 m) alpha range (13.8 – 8.97 – 4.82 – 2.7 m-1)L: pore size distribution factor (0.6 – 0.22 – 0.21 – 0.1) beta range (0.6 – 0.22 – 0.21 – 0.1)obwell.datContains the selected observation points for each pumping event.Cannot contain space in well name.obwell.dat is utilized only during forward. In inversion, head in hdatait is generated based on hdata which are stored in InvObs.dat.tempnheadnodhead(i)observationame(i)tempnheadnodhead(i)observationame(i)[-] [-][-][-]1213well114well32210well28well4Line 1 is the stress (pumping event) number (not use in the program, just for reference.) and the number of hydraulic head/tracer observation points.Line 2 to 3 contains the node numbers where the hydraulic head/tracer observation point is located and the node’s names. The number of lines will equal to the nhead indicated in the first line.Repeat all of the above for nctimes indicated in the first line in the file sources.dat.node.datContains the coordinates of the nodes on computational grid and its initial condition.Import option:Import initial conditions from node.dat.n(i)x(i)y(i)p1(i)concp(i)solflx(i)[-][L][L][L][][] [M/L3/T] for horizontal plane[M/L2/T] for vertical plane10.000e+00.000e+00.00.00.021.000e+00.000e+00.00.00.032.000e+00.000e+00.00.00.043.000e+00.000e+00.00.00.050.000e+01.000e+00.00.00.061.000e+01.000e+00.00.00.072.000e+01.000e+00.00.00.083.000e+01.000e+00.00.00.090.000e+02.000e+00.00.00.0101.000e+02.000e+00.00.00.0112.000e+02.000e+00.00.00.0123.000e+02.000e+00.00.00.0130.000e+03.000e+00.00.00.014 1.000e+03.000e+00.00.00.0152.000e+03.000e+00.00.00.0163.000e+03.000e+00.00.00.0The first column in each line is the node number. The second column is the x coordinate of the node and the third column is the y coordinate of the node. Columns 4 is initial condition of head. Columns 5 is initial condition of tracer concentration. Columns 6 is initial condition of tracer flux. Repeat for nnode indicated in the second line in the file grid.dat.grid-material.datContains the center coordinate of the material element.n(i)nodmat(i,1)nodmat(i,2)nodmat(i,3)nodmat(i,4)nodmat(i,5)sang(i)[-][-][-][-][-][-][degree]1126510.000e+02237620.000e+03348730.000e+045610940.000e+0567111050.000e+0678121160.000e+07910141370.000e+081011151480.000e+091112161590.000e+0Each line in the file relates to one element in the gird. Column 1 is the element number, column 2 is the node number of the lower left node, column 3 is the node number of the lower right node, column 4 is the node number of the upper right node, column 5 is the node number of the upper left node, column 6 is the zone number, column 7 is the angle of the principal direction. Repeat for nelem indicated in the first line in the file grid.dat.element.datContains the node-element relationship of computational grid.n(i)nodmat(i,1)nodmat(i,2)nodmat(i,3)nodmat(i,4)nodmat(i,5)sang(i)nodmat(i,6)[-][-][-][-][-][-][degree][-]1126510.000e+012237620.000e+013348730.000e+0145610940.000e+02567111050.000e+02678121160.000e+027910141370.000e+0381011151480.000e+0391112161590.000e+04Each line in the file relates to one element in the gird. Column 1 is the computational element number, column 2 is the node number of the lower left node, column 3 is the node number of the lower right node, column 4 is the node number of the upper right node, column 5 is the node number of the upper left node, column 6 is the associated material element number, column 7 is the angle of the principal direction, column 8 is the associated material zone number. Repeat for nelem indicated in the first line in the file grid.dat.boundary.datContains the code for boundary condition types.Import option:Currently, can only import boundary position (type) from boundary.dat.Could not import boundary value from bc.dat because it is too difficult to coding. Please edit the value by yourself.nbndrynkode(i)kodec(i)incnextangnrm(i)[-][-][-][-][-][degree]125000018010000225211002703110027041100315810000121000016100045150100901401009013000013590000180Line 1 is the number of boundary nodes.All subsequent lines are node number, code for the hydraulic boundary condition, code for the solute boundary condition, increment(for automatic build of boundary nodes by just given start and end points), next(for automatic build of boundary nodes by just given start and end points), angle for fixing flux direction at the boundary node. The number of lines will equal to the nbndry indicated in the first line. Repeat for nbndry indicated in the first line.Code for the hydraulic BC is defined by an integer:-2: seepage face with initial flux-1: unit gradient boundary0: flux1: pressure/total head2: seepage face with initial pressure/total headCode for the solute BC is defined by an integer:0: flux1: concentrationbc.datDefines the boundary conditions on the boundaries.nbcnnnp1(i)q(i)concp(i)solflx(i)[-][-][L][L/T][][][M/L3/T] for horizontal plane[M/L2/T] for vertical plane1250.01.00.011.010.01.00.011.022.00.022.00.032.00.022.00.042.00.022.00.083.00.00.033.0123.00.00.033.0163.00.00.033.0150.04.044.00.0140.04.044.00.0130.01.00.011.090.01.00.011.0Line 1 is the number of boundary nodes.All subsequent lines are node number, prescribed pressure/total head/seepage face with initial head boundary, prescribed flux/seepage face with initial flux boundary, solute concentration boundary, solute flux boundary. Repeat for nbcn indicated in the first line.time_vary_h_bc.datDefines the time varying prescribed head boundary conditions on the boundaries.starttime<=time<endtimeCurrently, time should order from small to large.Values between assigned times are linear interpolated.Head (pressure/total) in time_vary_h_bc.dat is defined by ihead in problem.dat.total node stress 1total time stress 1time1time2......node numberhead1head2......node numberhead1head2 .................total node stress 2total time stress 2time1time2......node numberhead1head2......node numberhead1head2 .................[-][-][T][T]......[-][L][L]......[-][L][L]..................[-][-][T][T]......[-][L][L]......[-][L][L]..................The following example includes 3 pumping events. The second pumping event do not contain any time varying boundary condition, thus “total node stress 2” = 0 and there’s no need to contain any other info for pumping event 2.3501234100.10.10.50.10.1230.10.10.50.50.1250.10.10.10.50.101201100.10.1Line 1 is the amount of time varying head boundary condition nodes.Line 2 is the amount of time varying head boundary condition time.Line 3 is the prescribed head time. Repeat the prescribed head time for total time indicated in the second line.All subsequent lines are node number, prescribed pressure/total head associated with the given time described in line 3. Repeat for total node indicated in the first line. The definition of the head will depend on ihead defined in problem.dat.Repeat from line 1 again for another pumping event.time_vary_f_bc.datDefines the time varying prescribed flux boundary conditions on the boundaries. starttime<=time<endtimeCurrently, time should order from small to large. Values between assigned times are linear interpolated.total_nodetotal_timetime1time2......node numberflux1flux2......node numberflux1flux2 ................. total node stress 2total time stress 2time1time2......node numberflux1flux2......node numberflux1flux2 .................[-][-][T][T]......[-][L/T][L/T]......[-][L/T][L/T]..................[-][-][T][T]......[-][L/T][L/T]......[-][L/T][L/T]..................The following example includes 3 pumping events. The second pumping event do not contain any time varying boundary condition, thus “total node stress 2” = 0 and there’s no need to contain any other info for pumping event 2.3501234100.10.10.50.10.1230.10.10.50.50.1250.10.10.10.50.101201100.10.1Line 1 is the amount of time varying flux boundary condition nodes.Line 2 is the amount of time varying flux boundary condition time.Line 3 is the prescribed flux time. Repeat the prescribed flux time for total time indicated in the second line.All subsequent lines are node number, prescribed flux associated with the given time described in line 3. Repeat for total node indicated in the first line. Repeat from line 1 again for another pumping event.time_vary_seepage_f_bc.datDefines the time varying prescribed flux boundary conditions on the boundaries.starttime<=time<endtimeCurrently, time should order from small to large. Values between assigned times are linear interpolated.total_nodetotal_timetime1time2......node numberflux1flux2......node numberflux1flux2 ................. total node stress 2total time stress 2time1time2......node numberflux1flux2......node numberflux1flux2 .................[-][-][T][T]......[-][L/T][L/T]......[-][L/T][L/T]..................[-][-][T][T]......[-][L/T][L/T]......[-][L/T][L/T]..................The following example includes 3 pumping events. The second pumping event do not contain any time varying boundary condition, thus “total node stress 2” = 0 and there’s no need to contain any other info for pumping event 2.3501234100.10.10.50.10.1230.10.10.50.50.1250.10.10.10.50.101201100.10.1Line 1 is the amount of time varying seepage flux boundary condition nodes.Line 2 is the amount of time varying seepage flux boundary condition time.Line 3 is the prescribed seepage flux time. Repeat the prescribed seepage flux time for total time indicated in the second line.All subsequent lines are node number, prescribed seepage flux associated with the given time described in line 3. Repeat for total node indicated in the first line. Repeat from line 1 again for another pumping event.time_vary_h_ic.datDefines the time varying prescribed head initial conditions on the boundaries.Head (pressure/total) in time_vary_h_ic.dat is defined by ihead in problem.dat.Flaghead1head2......head1head2 .................[-][L][L]......[L][L]..................The following example includes 3 pumping events.30.10.10.50.10.10.10.10.50.50.10.10.10.10.50.1Line 1 is the flag of time varying head initial condition. It is defined by an integer:1: openotherwise: close. Use initial head stored in node.dat.Line 2 is the prescribed head at each node. Repeat the prescribed head for number of node (nnode) defined in the grid.dat.Repeat line 2 again for the rest of pumping events. Number of repeating will depend on number of pumping event (nctimes) defined in sources.dat.validation_control.datDefines the validation flags and parameters.Currently, timkod should < 0 for doing validation.Currently, validation could only deal with single pumping event (stress).Need kestimate.dat or sestimate.dat1validationvalidation flag1Ks_validationKs flag1Ss_validationSs flag10iter_max_valitotal number of iterationvalidation flag is defined by an integer:0: do not run validationotherwise: run validation after forward simulationKs flag is defined by an integer:1: use estimated Ks field from each iteration in kestimate.dat respectively to run forwardotherwise: use Ks field in material.datSs flag is defined by an integer:1: use estimated Ss field from each iteration in sestimate.dat respectively to run forwardotherwise: use Ss field in material.datThe total number of iteration is the sets (iteration amount) of the estimated property fields that would be read from kestimate.dat or sestimate.dat.Vsaft2 SimSLE Solver Inverse Simulation Input Filesprior.conContains the prior information such as correlation scales, variance, and estimation flags for the study region.Currently, only exponential variogram model (model = 6) is available.Currently, only parameters in the first zone will be read. That is, all of the zone will utilize the same parameters.Currently, could estimate multiple homogeneous zones. For example, if we have two zones and they are homogeneous (HomoFlag = 1), the program does it by assuming there’s no correlation between zones (off diagonal terms of Rffr = 0). That is, it is a simple least square problem. If one zone is homogeneous but the other is heterogeneous, then currently the program could not deal with it. Another option is to use heterogeneity option and manipulate the 6th column in element.dat, material.dat, and grid-material.dat. material.dat is for initial parameter guess, grid-material.dat is for Rff calculation, and the 6th column in element.dat will tell the program to aggregate sensitivity of each computational grid belonging to the same material grid.Currently, 2D could only estimate K and Ss. There’re some code associated with unsaturated alpha and beta, however, need to be modified. Maybe directly copy from 3D will be more convenient.GUI will print out mean into material.datGUI will printout var(ln) into prior.datnzoneHomoFlagKxflagKyflagPorflagSsflagAlphaflagBetaflagxnflagxmflagAlphawflagBetawflagxnwflagxmwflagcxcyvarmodelcxkycykyvarkymodelkycxporcyporvarpormodelporcxscysvarsmodelscxaxcyaxvaraxmodelaxcxbxcybxvarbxmodelbxcxaycyayvaraymodelaycxbycybyvarbymodelbycxatcyatvaratmodelatcxbtcybtvarbtmodelbtcxwcscywcsvarwcsmodelwcscxwcrcywcrvarwcrmodelwcrcxdlongcydlongvardlongmodeldlongcxdtrcydtrvardtrmodeldtrcxdmolcydmolvardmolmodeldmolcxbulkdcybulkdvarbulkdmodelbulkd[-][-][-][-][-][-][-][-][-][-][-][-][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-][L][L][-][-]101000000000003.01.00.123.01.00.121.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.021.01.00.02Line 1 contains the estimated zone number.Line 2 contains the type of conceptual model.Line 3 contains the flags of saturated hydraulic conductivity in x direction, saturated hydraulic conductivity in y direction, porosity, and specific storage.Line 4 contains the flags of unsaturated hydraulic conductivity (K(h)) parameters including αx, βx, αy, and βy.Line 5 contains the flags of degree of saturation (Se) and the unsaturated moisture release curve parameters including αm, βm, saturated volumetric water content (), and residual volumetric water content ().Line 6 contains the stochastic information for saturated hydraulic conductivity in x direction (Ksx) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 7 contains the stochastic information for saturated hydraulic conductivity in y direction (Ksy) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 8 contains the stochastic information for porosity (n) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 9 contains the stochastic information for specific storage (Ss) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 10 contains the stochastic information for unsaturated hydraulic conductivity (K(h)) parameter αx including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 11 contains the stochastic information for unsaturated hydraulic conductivity (K(h)) parameter βx including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 12 contains the stochastic information for unsaturated hydraulic conductivity (K(h)) parameter αy including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 13 contains the stochastic information for unsaturated hydraulic conductivity (K(h)) parameter βy including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 14 contains the stochastic information for the unsaturated moisture release curve (θ(h)) parameter αm including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 15 contains the stochastic information for the unsaturated moisture release curve (θ(h)) parameter βm including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 16 contains the stochastic information for saturated volumetric water content () including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 17 contains the stochastic information for residual volumetric water content () including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 18 contains the stochastic information for longitudinal dispersivity (Dl) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 19 contains the stochastic information for transverse dispersivity (Dt) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 20 contains the stochastic information for molecular diffusion (Dm) including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Line 21 contains the stochastic information for bulk density () including x direction correlation scale, y direction correlation scale, unconditioned variance (initial property variance) var(ln), and variogram model type.Repeat above from line 2 for nzone times.HomoFlag is the type of conceptual model which is defined by an integer:1: homogeneous modelotherwise: heterogeneous modelKxflag is the flag of saturated hydraulic conductivity in x direction which is defined by an integer:1: to be estimatedotherwise: not to be estimatedKyflag is the flag of saturated hydraulic conductivity in y direction which is defined by an integer:1: to be estimatedotherwise: not to be estimatedPorflag is the flag of porosity which is defined by an integer:1: to be estimatedotherwise: not to be estimatedSsflag is the flag of specific storage which is defined by an integer:1: to be estimatedotherwise: not to be estimatedAlphaflag is the flag of αx which is defined by an integer:1: to be estimatedotherwise: not to be estimatedBetaflag is the flag of βx which is defined by an integer:1: to be estimatedotherwise: not to be estimatedxnflag is the flag of αy which is defined by an integer:1: to be estimatedotherwise: not to be estimatedxmflag is the flag of βy which is defined by an integer:1: to be estimatedotherwise: not to be estimatedAlphawflag is the flag of αm which is defined by an integer:1: to be estimatedotherwise: not to be estimatedBetawflag is the flag of βm which is defined by an integer:1: to be estimatedotherwise: not to be estimatedxnwflag is the flag of which is defined by an integer:1: to be estimatedotherwise: not to be estimatedxmwflag is the flag of which is defined by an integer:1: to be estimatedotherwise: not to be estimatedsle.conProvides inverse modeling, sampling, iterative scheme options, convergence criteria, and stabilizers.Currently, only SimSLE is available. SeqSLE code only appears in old version code (method, > 0 seq SLE, = 0 sim SLE). In new version code, they are deleted. One can easily implement the SeqSLE by adding the do loop outside the SimSLE and starting from residual covariance (Rffr).linearpert0linearized perturbationjonly0calculation of sensitivitymconly0calculation of covariancenosample0output mat.out, rdata_f.out, rdata_a.out, and rdata_n.outnsolver1solver for solving matrix AX=Biout0output covariance and sensitivity filesiter0iterate for parameters estimationlastiter200maximum number of iterations within a looptolv [L2]0.05tolerance of rate of parameter spatial variance difference between two iterations tolh [L]0.01tolerance of maximum head difference between two iterationscomloop1SeqSLE or SimSLEmaxloop1for SeqSLEferr [L2/T2]1.0hydraulic conductivity stabilizerAdded directly to diagonal of Rff in cokrig1.Work when hard data exist.herr [L2]1.0hydraulic head stabilizerAdded directly to diagonal of Rhh in cokrig1.werr [L2]100.0dynamic stabilizer, Levenberg Marquardt algorithmAdded directly to diagonal of Rhh in cokrig2.linearpert is defined by an integer:1: calculate linearized perturbationotherwise: no calculationjonly is defined by an integer:1: stop after calculation of sensitivityotherwise: continuemconly is defined by an integer:1: stop after calculation of covarianceotherwise: continuenosample is defined by an integer:1: printout mat.out, rdata_f.out, rdata_a.out, and rdata_n.outotherwise: no printoutnsolver is defined by an integer:1: use LINPACK dgefs2: use Numerical Recipes dsvdcmp3: use Orthomin4: use intel Math Kernel Library (MKL) (Not yet implemented)iout is defined by an integer:>=2: output x-cov between head and unsaturated parameters and between water content and unsaturated parameters>=3: output cov hh and ww>=4: output adj-f Jhf Jhs Jhn Jwf Jwa Jwn<2: no outputiter is defined by an integer:0: iterate for parameters estimation.otherwise: stop after cokriging loop is defined by an integer:1: SimSLE2: SeqSLE (SSLE)The stabilizer for solving AX=B (ferr) can range from 0 to infinite.The weighting factor for the first cut cokrig1 (herr) can range from 0 to infinite.The dynamic weighting factor for the cokrig2 (werr) can range from 0 to infinite.InvObs.datContains observed state variables at observation wells. Format is the same as FwdObs.dat.Currently, only pressure head and total head are available, I turn off the code in input.f associated with flux and water content. If you would like to use flux or water content measurement, just turn the code on.Head (pressure/total) in InvObs.dat is defined by ihead in problem.dat.Observed time could be different for different observed wells in single pumping event.Observed time could be different for the same observed well in different pumping events.In the same observed well, time doesn’t need to order from small to large.Import observations:Import observed data from InvObs.dat. If the import file contains new wells, GUI will automatically plot the wells and treat them as newly added wells.ctimes(i)nhwdaet(i)hdata(i,1)observationame(i)TimeHData(i)hdata(i,2)fluxxfluxymoisturecon.con. flux[-] [-][-][-] [T][L] [L/T][L/T][-][][][M/L3/T] for horizontal plane[M/L2/T] for vertical plane1310w10.11.01.01.00.41.01.021w20.21.01.01.00.41.01.07w30.31.01.01.00.41.01.02210w10.11.01.01.00.41.01.021w20.51.01.01.00.41.01.0Line 1 is the stress (pumping event) number (not use in the program, just for reference.) and the number of record for one pumping/tracer test event.Line 2 contains the node numbers where the measurement is took, the node’s names, the observed time, pressure/total head, x direction flux, y direction flux, volumetric water content, solute concentration, and solute flux. The number of lines will equal to the nhwdaet(i) indicated in the first line.Repeat all of the above for nctimes indicated at the first line in the file sources.dat.hard.datContains hard data (measurement hydraulic properties).Import option:Import measurement data from hard.dat.Kx is available when fflag=1, Ss is available when sflag=1, etc.Number of hard data pointsx, y, Kx, Ky, n, Ss, αx, βx, αy, βy, αm, βm, , , Dl, Dt, Dm, element number, Kx, Ky, n, Ss, αx, βx, αy, βy, αm, βm, , , Dl, Dt, Dm, nfdataHardxy(i,1)Hardxy(i,2)fdata(i,2)fdata(i,3)sdata(i,2)fdata(i,5)fdata(i,6)fdata(i,7)fdata(i,8)fdata(i,9)fdata(i,10)fdata(i,11)fdata(i,12)fdata(i,13)fdata(i,14)fdata(i,15)fdata(i,16) fdata(i,17)[-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-]00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0Line 1 is the number of hard data points.Line 2 contains the x and y coordinates where the hard data is measured, and normal scale value (Ks, Ss) the perturbation(f = ln(Ks) – ln(F)). The number of lines will equal to the nfdata indicated in the first line.truematerial.datContains reference hydraulic properties. Format is the same as material.dat.truepumping.datContains reference pumping rates. Format is the same as sources.dat.Vsaft2 Solver Validation Input Filesvalidation_h.datContains the head data for validation.Currently, node number should be the same order as that in obwell.dat.Currently output time is controlled by timkod in time.dat.validation_h(1)[L]measurement head at node #1 at output time y1validation_h(2)[L]measurement head at node #1 at output time y2......validation_h(i+1) [L]measurement head at node #2 at output time y1validation_h(i+2) [L]measurement head at node #2 at output time y2......Repeat for nhead*(-timkod) indicated in the obwell.dat and time.dat. The definition of the head will depend on ihead defined in problem.dat.Forward Simulation Output FilesConfiguration fileoutput.datContour mapPlot-Stress#.datmaterial_tecplot.datwell.datHydrograhyFwdObs-Stress#.datInverse input state variables file (same format as InvObs.dat)FwdObs.datInverse Simulation Output FilesConfiguration fileoutput.datContour mapPlot-Stress#.datmaterial_tecplot.datwell.datEstimated variables field contour mapkestimate.datsestimate.datpestimate.datConvergence criterioncriteria.datEstimated/observed scatter plotscatterplot_head.datscatterplot_drawdown.datscatterplot_Ks.dat(Need truematerial.dat)scatterplot_lnKs.dat(Need truematerial.dat)scatterplot_Ss.dat(Need truematerial.dat)scatterplot_lnSs.dat(Need truematerial.dat)scatterplot_Q.dat(Need truepumping.dat)Estimated head at each iterationhout.datThe last iteration estimated variableskout.datsout.datmatout.datSensitivity and covariancecokrigk.dat(If only do cokriging, could set stabilizers ferr and herr to 0)cokrigs.dat(If only do cokriging, could set stabilizers ferr and herr to 0)cokrigp.dat(If only do cokriging, could set stabilizers ferr and herr to 0)Jxx.datsensitivityRxx.datcovariancerxx.datcorrelation coefficientJxx.outRxx.outRestart binary fileRestartx.datInclude Rffr and estfValidation Output FilesEstimated/observed head scatter plotscatterplot_head.datPlots Could Be Viewed In View WindowForwardState Variable ProcessFwdObs-Stress#.datContourHydraulic Property Fieldsmaterial_tecplot.datState Variable FieldsPlot-Stress#.datInverseEstimated FieldsSaturated Hydraulic Conductivity (Ks)kestimate.datSpecific Storage (Ss)sestimate.datPerformanceScatter PlotHeadscatterplot_head.datFluxscatterplot_flux.datIteration Processcriteria.datState Variable ProcessPlot --> Mapping Style --> Create Map --> X-Axis Var versus Y-Axis for All Zones --> Y-Axis --> OKContour MapPlot --> Contour/Multi-Coloring --> 1, 2, 3, …… --> Select VariablePlot --> Zone Style --> Contour --> Flood ByAnimationAnimation --> ZonesAnimation --> MappingsTrouble Shooting Tecplot connectionPlease link Tecplot to VSAFT2, for example, by Help --> Tecplot Location --> C:\Program Files (x86)\Tecplot\Tec360 2010\bin\tec360.exeIf encountering something like this telling that the system could not find the assigned file when trying to draw graphs, it is because Tecplot does not link to the VSAFT2.Please link Tecplot to VSAFT2, for example, by Help --> Tecplot Location --> C:\Program Files (x86)\Tecplot\Tec360 2010\bin\tec360.exeIf encountering something like thisPlease just click continue. Make any select option changed. (ex. Go to simulation control tab, make change to the iteration scheme option.) (Or save file use save as option.) Save your file.Everything has successfully saved. You could continue your editing.If the program directly turns off when doing inverse problem, it is because there’s a stop sign in dgefs.f which indicates the LINPACK dgefs solver can’t solve AX=B.If encountering something like this telling that the system could not find the assigned file when trying to save the file, please use save as option to save your project.If encountering something like the figure shown below when opening the existing project, please shorten the project directory. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download