[23816] | 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
|
---|
[24384] | 24 | smb = np.vstack((smb, smb * -1.)).T
|
---|
[23816] | 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 |
|
---|
[26208] | 32 | md.timestepping.cycle_forcing = 1
|
---|
[23816] | 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]
|
---|