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

# used to test different linear preconditioners

richards_box_proctest_vardz.Solver.Linear.Preconditioner = 'PFMG'
##pfset Solver.Linear.Preconditioner                       PFMGOctree
##pfset Solver.Linear.Preconditioner                       MGSemi
##pfset Solver.Linear.Preconditioner                       SMG

richards_box_proctest_vardz.UseClustering = False

#-----------------------------------------------------------------------------
# Run and Unload the ParFlow output files
#-----------------------------------------------------------------------------

richards_box_proctest_vardz.run()
Example #2
0
#-----------------------------------------------------------------------------

rbpv.Solver = 'Richards'
rbpv.Solver.MaxIter = 50000

rbpv.Solver.Nonlinear.MaxIter = 100
rbpv.Solver.Nonlinear.ResidualTol = 1e-7

rbpv.Solver.Nonlinear.EtaChoice = 'EtaConstant'
rbpv.Solver.Nonlinear.EtaValue = 1e-2

# used to test analytical and FD jacobian combinations
rbpv.Solver.Nonlinear.UseJacobian = True

rbpv.Solver.Nonlinear.DerivativeEpsilon = 1e-14

rbpv.Solver.Linear.KrylovDimension = 100

# used to test different linear preconditioners
rbpv.Solver.Linear.Preconditioner = 'PFMG'

rbpv.UseClustering = False

#-----------------------------------------------------------------------------
# Run and Unload the ParFlow output files
#-----------------------------------------------------------------------------

dir_name = get_absolute_path('test_output/rbpv')
mkdir(dir_name)
rbpv.run(working_directory=dir_name)
#  This runs the basic default_richards test case.
#  This run, as written in this input file, should take
#  3 nonlinear iterations.

#
# Import the ParFlow TCL package
#
from parflow import Run
default_richards_nocluster = Run("default_richards_nocluster", __file__)

default_richards_nocluster.FileVersion = 4

default_richards_nocluster.UseClustering = False

default_richards_nocluster.Process.Topology.P = 1
default_richards_nocluster.Process.Topology.Q = 1
default_richards_nocluster.Process.Topology.R = 1

#---------------------------------------------------------
# Computational Grid
#---------------------------------------------------------
default_richards_nocluster.ComputationalGrid.Lower.X = -10.0
default_richards_nocluster.ComputationalGrid.Lower.Y = 10.0
default_richards_nocluster.ComputationalGrid.Lower.Z = 1.0

default_richards_nocluster.ComputationalGrid.DX = 8.8888888888888893
default_richards_nocluster.ComputationalGrid.DY = 10.666666666666666
default_richards_nocluster.ComputationalGrid.DZ = 1.0

default_richards_nocluster.ComputationalGrid.NX = 10
default_richards_nocluster.ComputationalGrid.NY = 10
#-----------------------------------------------------------------------------
#  This runs the basic default_richards test case.
#  This run, as written in this input file, should take
#  3 nonlinear iterations.
#-----------------------------------------------------------------------------

from parflow import Run
from parflow.tools.fs import mkdir, get_absolute_path

drich_n = Run("default_richards_nocluster", __file__)

#---------------------------------------------------------

drich_n.FileVersion = 4

drich_n.UseClustering = False

drich_n.Process.Topology.P = 1
drich_n.Process.Topology.Q = 1
drich_n.Process.Topology.R = 1

#---------------------------------------------------------
# Computational Grid
#---------------------------------------------------------

drich_n.ComputationalGrid.Lower.X = -10.0
drich_n.ComputationalGrid.Lower.Y = 10.0
drich_n.ComputationalGrid.Lower.Z = 1.0

drich_n.ComputationalGrid.DX = 8.8888888888888893
drich_n.ComputationalGrid.DY = 10.666666666666666