1 | #Test Name: SquareNoDynUnConfinedHydroDC
|
---|
2 | import numpy as np
|
---|
3 | from model import *
|
---|
4 | from setmask import *
|
---|
5 | from triangle import triangle
|
---|
6 | from parameterize import parameterize
|
---|
7 | from solve import solve
|
---|
8 | from socket import gethostname
|
---|
9 | from generic import generic
|
---|
10 |
|
---|
11 | md = triangle(model(), '../Exp/Square.exp', 100000.)
|
---|
12 | md = setmask(md, '', '')
|
---|
13 | #reduced square (20m long)
|
---|
14 | md.mesh.x = md.mesh.x / 5.0e4
|
---|
15 | md.mesh.y = md.mesh.y / 5.0e4
|
---|
16 | md = parameterize(md, '../Par/SquareNoDyn.py')
|
---|
17 | md.cluster = generic('name', gethostname(), 'np', 1)
|
---|
18 |
|
---|
19 | md.transient.ishydrology = True
|
---|
20 | md.hydrology = hydrologydc()
|
---|
21 | md.hydrology = md.hydrology.initialize(md)
|
---|
22 |
|
---|
23 |
|
---|
24 | #Hydro Model Parameters
|
---|
25 | md.hydrology.isefficientlayer = 0
|
---|
26 | md.hydrology.sedimentlimit_flag = 0
|
---|
27 | md.hydrology.mask_thawed_node = np.ones((md.mesh.numberofvertices))
|
---|
28 | md.hydrology.rel_tol = 1.0e-6
|
---|
29 | md.hydrology.penalty_lock = 0
|
---|
30 | md.hydrology.max_iter = 200
|
---|
31 | md.hydrology.transfer_flag = 0
|
---|
32 | md.hydrology.unconfined_flag = 1
|
---|
33 | #Sediment
|
---|
34 | md.hydrology.sediment_porosity = 0.1
|
---|
35 | md.hydrology.sediment_thickness = 10.0
|
---|
36 | md.hydrology.sediment_transmitivity = (1.0e-3 * md.hydrology.sediment_thickness) * np.ones((md.mesh.numberofvertices))
|
---|
37 | #init
|
---|
38 | md.initialization.sediment_head = -5.0 * np.ones((md.mesh.numberofvertices))
|
---|
39 | #BC
|
---|
40 | md.hydrology.spcsediment_head = np.nan * np.ones((md.mesh.numberofvertices))
|
---|
41 | md.hydrology.spcsediment_head[np.where(md.mesh.x == 0)] = 0.5
|
---|
42 |
|
---|
43 | md.timestepping.time_step = 5 / md.constants.yts #5s steppin
|
---|
44 | md.settings.output_frequency = 2
|
---|
45 | md.timestepping.final_time = 300 / md.constants.yts #500s run
|
---|
46 |
|
---|
47 | md = solve(md, 'Transient')
|
---|
48 |
|
---|
49 | #fields to track, results can also be found in
|
---|
50 | #Wang 2009 Fig 6b (journal of Hydrology)
|
---|
51 | field_names = ['SedimentWaterHead1', 'SedimentWaterHead2']
|
---|
52 | field_tolerances = [1e-13, 1e-13]
|
---|
53 | field_values = [md.results.TransientSolution[10].SedimentHead, md.results.TransientSolution[30].SedimentHead]
|
---|