1 | #Test Name: SquareSheetConstrainedSmbComponentsClim2d
|
---|
2 | import numpy as np
|
---|
3 | from model import *
|
---|
4 | from socket import gethostname
|
---|
5 | from triangle import *
|
---|
6 | from setmask import *
|
---|
7 | from parameterize import *
|
---|
8 | from setflowequation import *
|
---|
9 | from solve import *
|
---|
10 |
|
---|
11 |
|
---|
12 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
13 | md = setmask(md, 'all', '')
|
---|
14 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
15 | md = setflowequation(md, 'SSA', 'all')
|
---|
16 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
17 |
|
---|
18 | md.timestepping.time_step = 0.5
|
---|
19 | md.settings.output_frequency = 1
|
---|
20 | md.timestepping.final_time = 6.
|
---|
21 |
|
---|
22 | #Set up transient
|
---|
23 | smb = np.ones((md.mesh.numberofvertices)) * 3.6
|
---|
24 | smb = np.vstack((smb, smb * - 1.)).T
|
---|
25 |
|
---|
26 | md.smb = SMBcomponents()
|
---|
27 | md.smb.accumulation = np.vstack((smb * 2, [1.5, 3.]))
|
---|
28 | md.smb.runoff = np.vstack((smb / 2, [1.5, 3.]))
|
---|
29 | md.smb.evaporation = np.vstack((smb / 2, [1.5, 3.]))
|
---|
30 | md.transient.isthermal = False
|
---|
31 |
|
---|
32 | md.smb.isclimatology = 1
|
---|
33 |
|
---|
34 | md = solve(md, 'Transient')
|
---|
35 |
|
---|
36 | #Fields and tolerances to track changes
|
---|
37 | field_names = ['Vx1', 'Vy1', 'Vel1', 'Pressure1', 'Bed1', 'Surface1', 'Thickness1', 'SmbMassBalance1',
|
---|
38 | 'Vx2', 'Vy2', 'Vel2', 'Pressure2', 'Bed2', 'Surface2', 'Thickness2', 'SmbMassBalance2',
|
---|
39 | 'Vx3', 'Vy3', 'Vel3', 'Pressure3', 'Bed3', 'Surface3', 'Thickness3', 'SmbMassBalance3',
|
---|
40 | 'Vx4', 'Vy4', 'Vel4', 'Pressure4', 'Bed4', 'Surface4', 'Thickness4', 'SmbMassBalance4']
|
---|
41 | field_tolerances = [1e-09, 1e-09, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10,
|
---|
42 | 1e-09, 1e-09, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10,
|
---|
43 | 1e-09, 1e-09, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10,
|
---|
44 | 1e-09, 1e-09, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10, 1e-10]
|
---|
45 | field_values = [md.results.TransientSolution[0].Vx,
|
---|
46 | md.results.TransientSolution[0].Vy,
|
---|
47 | md.results.TransientSolution[0].Vel,
|
---|
48 | md.results.TransientSolution[0].Pressure,
|
---|
49 | md.results.TransientSolution[0].Base,
|
---|
50 | md.results.TransientSolution[0].Surface,
|
---|
51 | md.results.TransientSolution[0].Thickness,
|
---|
52 | md.results.TransientSolution[0].SmbMassBalance,
|
---|
53 | md.results.TransientSolution[3].Vx,
|
---|
54 | md.results.TransientSolution[3].Vy,
|
---|
55 | md.results.TransientSolution[3].Vel,
|
---|
56 | md.results.TransientSolution[3].Pressure,
|
---|
57 | md.results.TransientSolution[3].Base,
|
---|
58 | md.results.TransientSolution[3].Surface,
|
---|
59 | md.results.TransientSolution[3].Thickness,
|
---|
60 | md.results.TransientSolution[3].SmbMassBalance,
|
---|
61 | md.results.TransientSolution[7].Vx,
|
---|
62 | md.results.TransientSolution[7].Vy,
|
---|
63 | md.results.TransientSolution[7].Vel,
|
---|
64 | md.results.TransientSolution[7].Pressure,
|
---|
65 | md.results.TransientSolution[7].Base,
|
---|
66 | md.results.TransientSolution[7].Surface,
|
---|
67 | md.results.TransientSolution[7].Thickness,
|
---|
68 | md.results.TransientSolution[7].SmbMassBalance,
|
---|
69 | md.results.TransientSolution[11].Vx,
|
---|
70 | md.results.TransientSolution[11].Vy,
|
---|
71 | md.results.TransientSolution[11].Vel,
|
---|
72 | md.results.TransientSolution[11].Pressure,
|
---|
73 | md.results.TransientSolution[11].Base,
|
---|
74 | md.results.TransientSolution[11].Surface,
|
---|
75 | md.results.TransientSolution[11].Thickness,
|
---|
76 | md.results.TransientSolution[11].SmbMassBalance]
|
---|