clm_samrai.PhaseSources.water.Type = 'Constant' clm_samrai.PhaseSources.water.GeomNames = 'domain' clm_samrai.PhaseSources.water.Geom.domain.Value = 0.0 # #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- # clm_samrai.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- # clm_samrai.Solver = 'Richards' clm_samrai.Solver.MaxIter = 500 # clm_samrai.Solver.Nonlinear.MaxIter = 15 clm_samrai.Solver.Nonlinear.ResidualTol = 1e-9 clm_samrai.Solver.Nonlinear.EtaChoice = 'EtaConstant' clm_samrai.Solver.Nonlinear.EtaValue = 0.01 clm_samrai.Solver.Nonlinear.UseJacobian = False clm_samrai.Solver.Nonlinear.DerivativeEpsilon = 1e-12 clm_samrai.Solver.Nonlinear.StepTol = 1e-20 clm_samrai.Solver.Nonlinear.Globalization = 'LineSearch' clm_samrai.Solver.Linear.KrylovDimension = 15 clm_samrai.Solver.Linear.MaxRestart = 2 # clm_samrai.Solver.Linear.Preconditioner = 'PFMGOctree'
octree.PhaseSources.water.Type = 'Constant' octree.PhaseSources.water.GeomNames = 'background' octree.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- octree.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- octree.Solver = 'Richards' octree.Solver.MaxIter = 5 octree.Solver.Nonlinear.MaxIter = 10 octree.Solver.Nonlinear.ResidualTol = 1e-9 octree.Solver.Nonlinear.EtaChoice = 'EtaConstant' octree.Solver.Nonlinear.EtaValue = 1e-5 octree.Solver.Nonlinear.UseJacobian = True octree.Solver.Nonlinear.DerivativeEpsilon = 1e-2 octree.Solver.Linear.KrylovDimension = 10 octree.Solver.Linear.Preconditioner = 'PFMG' #----------------------------------------------------------------------------- # Run and Unload the ParFlow output files
#----------------------------------------------------------------------------- octree_simple.PhaseSources.water.Type = 'Constant' octree_simple.PhaseSources.water.GeomNames = 'background' octree_simple.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- octree_simple.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- octree_simple.Solver = 'Richards' octree_simple.Solver.MaxIter = 5 octree_simple.Solver.Nonlinear.MaxIter = 10 octree_simple.Solver.Nonlinear.ResidualTol = 1e-9 octree_simple.Solver.Nonlinear.EtaChoice = 'EtaConstant' octree_simple.Solver.Nonlinear.EtaValue = 1e-5 octree_simple.Solver.Nonlinear.UseJacobian = True octree_simple.Solver.Nonlinear.DerivativeEpsilon = 1e-2 octree_simple.Solver.Linear.KrylovDimension = 10 octree_simple.Solver.Linear.Preconditioner = 'PFMG' # octree_simple.Solver.Linear.Preconditioner.MGSemi.MaxIter = 1 # octree_simple.Solver.Linear.Preconditioner.MGSemi.MaxLevels = 100
LWvdz.PhaseSources.water.Type = 'Constant' LWvdz.PhaseSources.water.GeomNames = 'domain' LWvdz.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- LWvdz.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- LWvdz.Solver = 'Richards' LWvdz.Solver.MaxIter = 2500 LWvdz.Solver.TerrainFollowingGrid = True LWvdz.Solver.Nonlinear.MaxIter = 80 LWvdz.Solver.Nonlinear.ResidualTol = 1e-5 LWvdz.Solver.Nonlinear.EtaValue = 0.001 LWvdz.Solver.PrintSubsurf = False LWvdz.Solver.Drop = 1E-20 LWvdz.Solver.AbsTol = 1E-10 LWvdz.Solver.Nonlinear.EtaChoice = 'EtaConstant' LWvdz.Solver.Nonlinear.EtaValue = 0.001 LWvdz.Solver.Nonlinear.UseJacobian = True
#----------------------------------------------------------------------------- var_dz_1D.PhaseSources.water.Type = 'Constant' var_dz_1D.PhaseSources.water.GeomNames = 'domain' var_dz_1D.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- var_dz_1D.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- var_dz_1D.Solver = 'Richards' var_dz_1D.Solver.MaxIter = 2500 var_dz_1D.Solver.Nonlinear.MaxIter = 200 var_dz_1D.Solver.Nonlinear.ResidualTol = 1e-9 var_dz_1D.Solver.Nonlinear.EtaChoice = 'Walker1' var_dz_1D.Solver.Nonlinear.EtaValue = 1e-5 var_dz_1D.Solver.Nonlinear.UseJacobian = True #pfset Solver.Nonlinear.UseJacobian False var_dz_1D.Solver.Nonlinear.DerivativeEpsilon = 1e-10 var_dz_1D.Solver.Linear.KrylovDimension = 10 var_dz_1D.Solver.Linear.Preconditioner = 'MGSemi' var_dz_1D.Solver.Linear.Preconditioner = 'PFMG' var_dz_1D.Solver.Linear.Preconditioner.MGSemi.MaxIter = 1
BC_test.PhaseSources.water.GeomNames = 'domain' BC_test.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- BC_test.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- BC_test.Solver = 'Richards' BC_test.Solver.MaxIter = 2500 BC_test.Solver.Nonlinear.MaxIter = 300 BC_test.Solver.Nonlinear.ResidualTol = 1e-4 BC_test.Solver.Nonlinear.EtaChoice = 'Walker1' BC_test.Solver.Nonlinear.EtaChoice = 'EtaConstant' BC_test.Solver.Nonlinear.EtaValue = 0.001 BC_test.Solver.Nonlinear.UseJacobian = False BC_test.Solver.Nonlinear.DerivativeEpsilon = 1e-16 BC_test.Solver.Nonlinear.StepTol = 1e-10 BC_test.Solver.Nonlinear.Globalization = 'LineSearch' BC_test.Solver.Linear.KrylovDimension = 20 BC_test.Solver.Linear.MaxRestart = 2 BC_test.Solver.Linear.Preconditioner = 'MGSemi'
dover.PhaseSources.water.Type = 'Constant' dover.PhaseSources.water.GeomNames = 'domain' dover.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- dover.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- dover.Solver = 'Richards' dover.Solver.MaxIter = 2500 dover.Solver.Nonlinear.MaxIter = 20 dover.Solver.Nonlinear.ResidualTol = 1e-9 dover.Solver.Nonlinear.EtaChoice = 'EtaConstant' dover.Solver.Nonlinear.EtaValue = 0.01 dover.Solver.Nonlinear.UseJacobian = True dover.Solver.Nonlinear.DerivativeEpsilon = 1e-8 dover.Solver.Nonlinear.StepTol = 1e-20 dover.Solver.Nonlinear.Globalization = 'LineSearch' dover.Solver.Linear.KrylovDimension = 20 dover.Solver.Linear.MaxRestart = 2 dover.Solver.Linear.Preconditioner = 'PFMG' dover.Solver.PrintSubsurf = False
vardz.PhaseSources.water.Type = 'Constant' vardz.PhaseSources.water.GeomNames = 'domain' vardz.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- vardz.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- vardz.Solver = 'Richards' vardz.Solver.MaxIter = 2500 vardz.Solver.Nonlinear.MaxIter = 200 vardz.Solver.Nonlinear.ResidualTol = 1e-9 vardz.Solver.Nonlinear.EtaChoice = 'Walker1' vardz.Solver.Nonlinear.EtaValue = 1e-5 vardz.Solver.Nonlinear.UseJacobian = True vardz.Solver.Nonlinear.DerivativeEpsilon = 1e-10 vardz.Solver.Linear.KrylovDimension = 10 vardz.Solver.Linear.Preconditioner = 'MGSemi' vardz.Solver.Linear.Preconditioner = 'PFMG' vardz.Solver.Linear.Preconditioner.MGSemi.MaxIter = 1 vardz.Solver.Linear.Preconditioner.MGSemi.MaxLevels = 10
wby.PhaseSources.water.Type = 'Constant' wby.PhaseSources.water.GeomNames = 'domain' wby.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- wby.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- wby.Solver = 'Richards' wby.Solver.MaxIter = 2500 wby.Solver.AbsTol = 1E-12 wby.Solver.Nonlinear.MaxIter = 300 wby.Solver.Nonlinear.ResidualTol = 1e-12 wby.Solver.Nonlinear.EtaChoice = 'Walker1' wby.Solver.Nonlinear.EtaChoice = 'EtaConstant' wby.Solver.Nonlinear.EtaValue = 0.001 wby.Solver.Nonlinear.UseJacobian = False wby.Solver.Nonlinear.DerivativeEpsilon = 1e-16 wby.Solver.Nonlinear.StepTol = 1e-30 wby.Solver.Nonlinear.Globalization = 'LineSearch' wby.Solver.Linear.KrylovDimension = 20 wby.Solver.Linear.MaxRestart = 2
#----------------------------------------------------------------------------- small_domain.PhaseSources.water.Type = 'Constant' small_domain.PhaseSources.water.GeomNames = 'background' small_domain.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- small_domain.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- small_domain.Solver = 'Richards' small_domain.Solver.MaxIter = 10000 small_domain.Solver.Nonlinear.MaxIter = 15 small_domain.Solver.Nonlinear.ResidualTol = 1e-9 small_domain.Solver.Nonlinear.StepTol = 1e-9 small_domain.Solver.Nonlinear.EtaValue = 1e-5 small_domain.Solver.Nonlinear.UseJacobian = True small_domain.Solver.Nonlinear.DerivativeEpsilon = 1e-7 small_domain.Solver.Linear.KrylovDimension = 25 small_domain.Solver.Linear.MaxRestarts = 2 small_domain.Solver.Linear.Preconditioner = 'MGSemi' small_domain.Solver.Linear.Preconditioner.MGSemi.MaxIter = 1 small_domain.Solver.Linear.Preconditioner.MGSemi.MaxLevels = 100
rich_fbx.PhaseSources.water.Type = 'Constant' rich_fbx.PhaseSources.water.GeomNames = 'domain' rich_fbx.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- rich_fbx.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- rich_fbx.Solver = 'Richards' rich_fbx.Solver.MaxIter = 50000 rich_fbx.Solver.Nonlinear.MaxIter = 100 rich_fbx.Solver.Nonlinear.ResidualTol = 1e-6 rich_fbx.Solver.Nonlinear.EtaChoice = 'EtaConstant' rich_fbx.Solver.Nonlinear.EtaValue = 1e-2 rich_fbx.Solver.Nonlinear.UseJacobian = True rich_fbx.Solver.Nonlinear.DerivativeEpsilon = 1e-12 rich_fbx.Solver.Linear.KrylovDimension = 100 rich_fbx.Solver.Linear.Preconditioner = 'PFMG' #-----------------------------------------------------------------------------
overland_flux.PhaseSources.water.Type = 'Constant' overland_flux.PhaseSources.water.GeomNames = 'domain' overland_flux.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- overland_flux.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- overland_flux.Solver = 'Richards' overland_flux.Solver.MaxIter = 2500 overland_flux.OverlandFlowDiffusive = 0 overland_flux.Solver.Nonlinear.MaxIter = 20 overland_flux.Solver.Nonlinear.ResidualTol = 1e-9 overland_flux.Solver.Nonlinear.EtaChoice = 'EtaConstant' overland_flux.Solver.Nonlinear.EtaValue = 0.01 overland_flux.Solver.Nonlinear.UseJacobian = False overland_flux.Solver.Nonlinear.UseJacobian = True overland_flux.Solver.Nonlinear.DerivativeEpsilon = 1e-8 overland_flux.Solver.Nonlinear.StepTol = 1e-20 overland_flux.Solver.Nonlinear.Globalization = 'LineSearch' overland_flux.Solver.Linear.KrylovDimension = 20 overland_flux.Solver.Linear.MaxRestart = 2
dover_1.PhaseSources.water.Type = 'Constant' dover_1.PhaseSources.water.GeomNames = 'domain' dover_1.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- dover_1.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- dover_1.Solver = 'Richards' dover_1.Solver.MaxIter = 2500 dover_1.Solver.Nonlinear.MaxIter = 20 dover_1.Solver.Nonlinear.ResidualTol = 1e-9 dover_1.Solver.Nonlinear.EtaChoice = 'EtaConstant' dover_1.Solver.Nonlinear.EtaValue = 0.01 dover_1.Solver.Nonlinear.UseJacobian = False dover_1.Solver.Nonlinear.DerivativeEpsilon = 1e-8 dover_1.Solver.Nonlinear.StepTol = 1e-20 dover_1.Solver.Nonlinear.Globalization = 'LineSearch' dover_1.Solver.Linear.KrylovDimension = 20 dover_1.Solver.Linear.MaxRestart = 2 dover_1.Solver.Linear.Preconditioner = 'PFMGOctree' dover_1.Solver.PrintSubsurf = False
#----------------------------------------------------------------------------- richards_box_proctest.PhaseSources.water.Type = 'Constant' richards_box_proctest.PhaseSources.water.GeomNames = 'domain' richards_box_proctest.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- richards_box_proctest.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- richards_box_proctest.Solver = 'Richards' richards_box_proctest.Solver.MaxIter = 50000 richards_box_proctest.Solver.Nonlinear.MaxIter = 100 richards_box_proctest.Solver.Nonlinear.ResidualTol = 1e-6 richards_box_proctest.Solver.Nonlinear.EtaChoice = 'EtaConstant' richards_box_proctest.Solver.Nonlinear.EtaValue = 1e-2 richards_box_proctest.Solver.Nonlinear.UseJacobian = True richards_box_proctest.Solver.Nonlinear.DerivativeEpsilon = 1e-12 richards_box_proctest.Solver.Linear.KrylovDimension = 100 richards_box_proctest.Solver.Linear.Preconditioner = 'PFMG' #-----------------------------------------------------------------------------
default_overland_pfmg_octree_jac.PhaseSources.water.Type = 'Constant' default_overland_pfmg_octree_jac.PhaseSources.water.GeomNames = 'domain' default_overland_pfmg_octree_jac.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- default_overland_pfmg_octree_jac.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- default_overland_pfmg_octree_jac.Solver = 'Richards' default_overland_pfmg_octree_jac.Solver.MaxIter = 2500 default_overland_pfmg_octree_jac.Solver.Nonlinear.MaxIter = 20 default_overland_pfmg_octree_jac.Solver.Nonlinear.ResidualTol = 1e-9 default_overland_pfmg_octree_jac.Solver.Nonlinear.EtaChoice = 'EtaConstant' default_overland_pfmg_octree_jac.Solver.Nonlinear.EtaValue = 0.01 default_overland_pfmg_octree_jac.Solver.Nonlinear.UseJacobian = True default_overland_pfmg_octree_jac.Solver.Nonlinear.DerivativeEpsilon = 1e-8 default_overland_pfmg_octree_jac.Solver.Nonlinear.StepTol = 1e-20 default_overland_pfmg_octree_jac.Solver.Nonlinear.Globalization = 'LineSearch' default_overland_pfmg_octree_jac.Solver.Linear.KrylovDimension = 20 default_overland_pfmg_octree_jac.Solver.Linear.MaxRestart = 2 default_overland_pfmg_octree_jac.Solver.Linear.Preconditioner = 'PFMGOctree' default_overland_pfmg_octree_jac.Solver.PrintSubsurf = False
sabino.Solver.PrintSubsurf = True sabino.Solver.PrintPressure = True sabino.Solver.PrintSaturation = True sabino.Solver.PrintMask = True #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- sabino.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- sabino.Solver = 'Richards' sabino.Solver.TerrainFollowingGrid = True #----------------------------------------------------------------------------- # Setting up vertical layering #----------------------------------------------------------------------------- sabino.Solver.Nonlinear.VariableDz = True sabino.dzScale.GeomNames = 'domain' sabino.dzScale.Type = 'nzList' sabino.dzScale.nzListNumber = 20 sabino.Cell._0.dzScale.Value = 2.0 sabino.Cell._1.dzScale.Value = 2.0 sabino.Cell._2.dzScale.Value = 2.0 sabino.Cell._3.dzScale.Value = 1.0 sabino.Cell._4.dzScale.Value = 1.0
default_richards_with_silopmpio.PhaseSources.water.Type = 'Constant' default_richards_with_silopmpio.PhaseSources.water.GeomNames = 'background' default_richards_with_silopmpio.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- default_richards_with_silopmpio.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- default_richards_with_silopmpio.Solver = 'Richards' default_richards_with_silopmpio.Solver.MaxIter = 5 default_richards_with_silopmpio.Solver.Nonlinear.MaxIter = 10 default_richards_with_silopmpio.Solver.Nonlinear.ResidualTol = 1e-9 default_richards_with_silopmpio.Solver.Nonlinear.EtaChoice = 'EtaConstant' default_richards_with_silopmpio.Solver.Nonlinear.EtaValue = 1e-5 default_richards_with_silopmpio.Solver.Nonlinear.UseJacobian = True default_richards_with_silopmpio.Solver.Nonlinear.DerivativeEpsilon = 1e-2 default_richards_with_silopmpio.Solver.Linear.KrylovDimension = 10 default_richards_with_silopmpio.Solver.Linear.Preconditioner = 'PFMGOctree' default_richards_with_silopmpio.Solver.Linear.Preconditioner.MGSemi.MaxIter = 1 default_richards_with_silopmpio.Solver.Linear.Preconditioner.MGSemi.MaxLevels = 100
overland.PhaseSources.water.Type = 'Constant' overland.PhaseSources.water.GeomNames = 'domain' overland.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- overland.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- overland.Solver = 'Richards' overland.Solver.MaxIter = 2500 overland.Solver.Nonlinear.MaxIter = 50 overland.Solver.Nonlinear.ResidualTol = 1e-9 overland.Solver.Nonlinear.EtaChoice = 'EtaConstant' overland.Solver.Nonlinear.EtaValue = 0.01 overland.Solver.Nonlinear.UseJacobian = False overland.Solver.Nonlinear.DerivativeEpsilon = 1e-15 overland.Solver.Nonlinear.StepTol = 1e-20 overland.Solver.Nonlinear.Globalization = 'LineSearch' overland.Solver.Linear.KrylovDimension = 20 overland.Solver.Linear.MaxRestart = 2 overland.Solver.Linear.Preconditioner = 'PFMG'
clm.PhaseSources.water.Type = 'Constant' clm.PhaseSources.water.GeomNames = 'domain' clm.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- clm.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- clm.Solver = 'Richards' clm.Solver.MaxIter = 90000 clm.Solver.Nonlinear.MaxIter = 100 clm.Solver.Nonlinear.ResidualTol = 1e-5 clm.Solver.Nonlinear.EtaChoice = 'Walker1' clm.Solver.Nonlinear.EtaValue = 0.01 clm.Solver.Nonlinear.UseJacobian = True clm.Solver.Nonlinear.DerivativeEpsilon = 1e-12 clm.Solver.Nonlinear.StepTol = 1e-30 clm.Solver.Nonlinear.Globalization = 'LineSearch' clm.Solver.Linear.KrylovDimension = 100 clm.Solver.Linear.MaxRestarts = 5 clm.Solver.Linear.Preconditioner.PCMatrixType = 'FullJacobian'
#----------------------------------------------------------------------------- # Testing various methods that use locations for selections #----------------------------------------------------------------------------- from parflow import Run from parflow.tools.fs import get_absolute_path run = Run("run", __file__) run.pfset(pfidb_file=get_absolute_path( '$PF_SRC/test/correct_output/dsingle.pfidb.ref')) # Some modifications for testing run.Solver = 'Richards' # select() tests porosity = run.Geom.Porosity assert run.Geom.Porosity.select('.')[0] is porosity assert porosity.select('.')[0] is porosity assert porosity.select()[0] is porosity assert porosity.select('..')[0] is run.Geom assert porosity.select('GeomNames')[0] is porosity.GeomNames assert porosity.select('./GeomNames')[0] is porosity.GeomNames assert run.Geom.select('Porosity/GeomNames')[0] is porosity.GeomNames assert porosity.select('/')[0] is run assert porosity.select('/Geom')[0] is run.Geom assert porosity.select('/Geom/Porosity')[0] is porosity assert porosity.select('../../Solver/../Geom/./Porosity/..')[0] is run.Geom assert porosity.select('../..')[0] is run assert run.Geom.select('.Porosity.GeomNames')[0] is porosity.GeomNames
drich.PhaseSources.water.Type = 'Constant' drich.PhaseSources.water.GeomNames = 'background' drich.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- drich.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- drich.Solver = 'Richards' drich.Solver.MaxIter = 5 drich.Solver.Nonlinear.MaxIter = 10 drich.Solver.Nonlinear.ResidualTol = 1e-9 drich.Solver.Nonlinear.EtaChoice = 'EtaConstant' drich.Solver.Nonlinear.EtaValue = 1e-5 drich.Solver.Nonlinear.UseJacobian = True drich.Solver.Nonlinear.DerivativeEpsilon = 1e-2 drich.Solver.Linear.KrylovDimension = 10 drich.Solver.Linear.Preconditioner = 'MGSemi' #----------------------------------------------------------------------------- # Run and Unload the ParFlow output files
#----------------------------------------------------------------------------- richards_box_proctest_vardz.PhaseSources.water.Type = 'Constant' richards_box_proctest_vardz.PhaseSources.water.GeomNames = 'domain' richards_box_proctest_vardz.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- richards_box_proctest_vardz.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- richards_box_proctest_vardz.Solver = 'Richards' richards_box_proctest_vardz.Solver.MaxIter = 50000 richards_box_proctest_vardz.Solver.Nonlinear.MaxIter = 100 richards_box_proctest_vardz.Solver.Nonlinear.ResidualTol = 1e-7 richards_box_proctest_vardz.Solver.Nonlinear.EtaChoice = 'EtaConstant' richards_box_proctest_vardz.Solver.Nonlinear.EtaValue = 1e-2 # used to test analytical and FD jacobian combinations richards_box_proctest_vardz.Solver.Nonlinear.UseJacobian = True #pfset Solver.Nonlinear.UseJacobian False richards_box_proctest_vardz.Solver.Nonlinear.DerivativeEpsilon = 1e-14 richards_box_proctest_vardz.Solver.Linear.KrylovDimension = 100
PFCLM_SC.PhaseSources.water.Type = 'Constant' PFCLM_SC.PhaseSources.water.GeomNames = 'domain' PFCLM_SC.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- PFCLM_SC.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- PFCLM_SC.Solver = 'Richards' PFCLM_SC.Solver.MaxIter = 9000 PFCLM_SC.Solver.Nonlinear.MaxIter = 100 PFCLM_SC.Solver.Nonlinear.ResidualTol = 1e-5 PFCLM_SC.Solver.Nonlinear.EtaChoice = 'Walker1' PFCLM_SC.Solver.Nonlinear.EtaValue = 0.01 PFCLM_SC.Solver.Nonlinear.UseJacobian = False PFCLM_SC.Solver.Nonlinear.DerivativeEpsilon = 1e-12 PFCLM_SC.Solver.Nonlinear.StepTol = 1e-30 PFCLM_SC.Solver.Nonlinear.Globalization = 'LineSearch' PFCLM_SC.Solver.Linear.KrylovDimension = 100 PFCLM_SC.Solver.Linear.MaxRestarts = 5 PFCLM_SC.Solver.Linear.Preconditioner = 'PFMG' PFCLM_SC.Solver.PrintSubsurf = False PFCLM_SC.Solver.Drop = 1E-20
pfmg.PhaseSources.water.Type = 'Constant' pfmg.PhaseSources.water.GeomNames = 'background' pfmg.PhaseSources.water.Geom.background.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- pfmg.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- pfmg.Solver = 'Richards' pfmg.Solver.MaxIter = 5 pfmg.Solver.Nonlinear.MaxIter = 10 pfmg.Solver.Nonlinear.ResidualTol = 1e-9 pfmg.Solver.Nonlinear.EtaChoice = 'EtaConstant' pfmg.Solver.Nonlinear.EtaValue = 1e-5 pfmg.Solver.Nonlinear.UseJacobian = True pfmg.Solver.Nonlinear.DerivativeEpsilon = 1e-2 pfmg.Solver.Linear.KrylovDimension = 10 pfmg.Solver.Linear.Preconditioner = 'PFMGOctree' pfmg.Solver.Linear.Preconditioner.PFMGOctree.BoxSizePowerOf2 = 2
water_balance_y.PhaseSources.water.Type = 'Constant' water_balance_y.PhaseSources.water.GeomNames = 'domain' water_balance_y.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- water_balance_y.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- water_balance_y.Solver = 'Richards' water_balance_y.Solver.MaxIter = 2500 water_balance_y.Solver.AbsTol = 1E-12 water_balance_y.Solver.Nonlinear.MaxIter = 300 water_balance_y.Solver.Nonlinear.ResidualTol = 1e-12 water_balance_y.Solver.Nonlinear.EtaChoice = 'Walker1' water_balance_y.Solver.Nonlinear.EtaChoice = 'EtaConstant' water_balance_y.Solver.Nonlinear.EtaValue = 0.001 water_balance_y.Solver.Nonlinear.UseJacobian = False water_balance_y.Solver.Nonlinear.DerivativeEpsilon = 1e-16 water_balance_y.Solver.Nonlinear.StepTol = 1e-30 water_balance_y.Solver.Nonlinear.Globalization = 'LineSearch' water_balance_y.Solver.Linear.KrylovDimension = 20 water_balance_y.Solver.Linear.MaxRestart = 2
rbp.PhaseSources.water.Type = 'Constant' rbp.PhaseSources.water.GeomNames = 'domain' rbp.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- rbp.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- rbp.Solver = 'Richards' rbp.Solver.MaxIter = 50000 rbp.Solver.Nonlinear.MaxIter = 100 rbp.Solver.Nonlinear.ResidualTol = 1e-6 rbp.Solver.Nonlinear.EtaChoice = 'EtaConstant' rbp.Solver.Nonlinear.EtaValue = 1e-2 rbp.Solver.Nonlinear.UseJacobian = True rbp.Solver.Nonlinear.DerivativeEpsilon = 1e-12 rbp.Solver.Linear.KrylovDimension = 100 rbp.Solver.Linear.Preconditioner = 'PFMG' #-----------------------------------------------------------------------------
overland_tiltedV_DWE.PhaseSources.water.Type = 'Constant' overland_tiltedV_DWE.PhaseSources.water.GeomNames = 'domain' overland_tiltedV_DWE.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- overland_tiltedV_DWE.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- overland_tiltedV_DWE.Solver = 'Richards' overland_tiltedV_DWE.Solver.MaxIter = 2500 overland_tiltedV_DWE.Solver.Nonlinear.MaxIter = 100 overland_tiltedV_DWE.Solver.Nonlinear.ResidualTol = 1e-9 overland_tiltedV_DWE.Solver.Nonlinear.EtaChoice = 'EtaConstant' overland_tiltedV_DWE.Solver.Nonlinear.EtaValue = 0.01 overland_tiltedV_DWE.Solver.Nonlinear.UseJacobian = False overland_tiltedV_DWE.Solver.Nonlinear.DerivativeEpsilon = 1e-15 overland_tiltedV_DWE.Solver.Nonlinear.StepTol = 1e-20 overland_tiltedV_DWE.Solver.Nonlinear.Globalization = 'LineSearch' overland_tiltedV_DWE.Solver.Linear.KrylovDimension = 50 overland_tiltedV_DWE.Solver.Linear.MaxRestart = 2 overland_tiltedV_DWE.Solver.Linear.Preconditioner = 'PFMG' overland_tiltedV_DWE.Solver.PrintSubsurf = False
wbx.PhaseSources.water.Type = 'Constant' wbx.PhaseSources.water.GeomNames = 'domain' wbx.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- wbx.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- wbx.Solver = 'Richards' wbx.Solver.MaxIter = 100 wbx.Solver.AbsTol = 1E-10 wbx.Solver.Nonlinear.MaxIter = 20 wbx.Solver.Nonlinear.ResidualTol = 1e-9 wbx.Solver.Nonlinear.EtaChoice = 'Walker1' wbx.Solver.Nonlinear.EtaChoice = 'EtaConstant' wbx.Solver.Nonlinear.EtaValue = 0.01 wbx.Solver.Nonlinear.UseJacobian = False wbx.Solver.Nonlinear.DerivativeEpsilon = 1e-8 wbx.Solver.Nonlinear.StepTol = 1e-30 wbx.Solver.Nonlinear.Globalization = 'LineSearch' wbx.Solver.Linear.KrylovDimension = 20 wbx.Solver.Linear.MaxRestart = 2
#----------------------------------------------------------------------------- richards_FBx.PhaseSources.water.Type = 'Constant' richards_FBx.PhaseSources.water.GeomNames = 'domain' richards_FBx.PhaseSources.water.Geom.domain.Value = 0.0 #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- richards_FBx.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- richards_FBx.Solver = 'Richards' richards_FBx.Solver.MaxIter = 50000 richards_FBx.Solver.Nonlinear.MaxIter = 100 richards_FBx.Solver.Nonlinear.ResidualTol = 1e-6 richards_FBx.Solver.Nonlinear.EtaChoice = 'EtaConstant' richards_FBx.Solver.Nonlinear.EtaValue = 1e-2 richards_FBx.Solver.Nonlinear.UseJacobian = True richards_FBx.Solver.Nonlinear.DerivativeEpsilon = 1e-12 richards_FBx.Solver.Linear.KrylovDimension = 100 richards_FBx.Solver.Linear.Preconditioner = 'PFMG' #-----------------------------------------------------------------------------
LW_Test.Solver.PrintPressure = True LW_Test.Solver.PrintSaturation = True LW_Test.Solver.PrintMask = True #----------------------------------------------------------------------------- # Exact solution specification for error calculations #----------------------------------------------------------------------------- LW_Test.KnownSolution = 'NoKnownSolution' #----------------------------------------------------------------------------- # Set solver parameters #----------------------------------------------------------------------------- # ParFlow Solution LW_Test.Solver = 'Richards' LW_Test.Solver.TerrainFollowingGrid = True LW_Test.Solver.Nonlinear.VariableDz = False LW_Test.Solver.MaxIter = 25000 LW_Test.Solver.Drop = 1E-20 LW_Test.Solver.AbsTol = 1E-8 LW_Test.Solver.MaxConvergenceFailures = 8 LW_Test.Solver.Nonlinear.MaxIter = 80 LW_Test.Solver.Nonlinear.ResidualTol = 1e-6 LW_Test.Solver.Nonlinear.EtaChoice = 'EtaConstant' LW_Test.Solver.Nonlinear.EtaValue = 0.001 LW_Test.Solver.Nonlinear.UseJacobian = True LW_Test.Solver.Nonlinear.DerivativeEpsilon = 1e-16 LW_Test.Solver.Nonlinear.StepTol = 1e-30