[19049] | 1 | #Test Name: ValleyGlacierLevelsetEnthalpyHO3d
|
---|
[17452] | 2 | from model import *
|
---|
[21408] | 3 | from socket import gethostname
|
---|
[17452] | 4 | from triangle import *
|
---|
| 5 | from setmask import *
|
---|
| 6 | from parameterize import *
|
---|
| 7 | from setflowequation import *
|
---|
| 8 | from solve import *
|
---|
| 9 |
|
---|
[21408] | 10 |
|
---|
[23793] | 11 | md = triangle(model(), '../Exp/Square.exp', 50000)
|
---|
| 12 | md = setmask(md, '', '')
|
---|
| 13 | md = parameterize(md, '../Par/ValleyGlacierShelf.py')
|
---|
| 14 | md.extrude(3, 2.)
|
---|
| 15 | md = setflowequation(md, 'HO', 'all')
|
---|
| 16 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
[17452] | 17 |
|
---|
| 18 | #Thermal model
|
---|
[23793] | 19 | pos_surf = np.where(md.mesh.vertexonsurface)[0]
|
---|
| 20 | md.thermal.spctemperature[pos_surf] = md.initialization.temperature[pos_surf]
|
---|
| 21 | md.thermal.isenthalpy = True
|
---|
| 22 | md.thermal.isdynamicbasalspc = True
|
---|
[17452] | 23 |
|
---|
| 24 | #Transient
|
---|
[23793] | 25 | md.transient.isstressbalance = True
|
---|
| 26 | md.transient.ismovingfront = True
|
---|
| 27 | md.transient.ismasstransport = True
|
---|
| 28 | md.transient.issmb = True
|
---|
| 29 | md.transient.isthermal = True
|
---|
| 30 | md.transient.isgroundingline = True
|
---|
| 31 | md.groundingline.melt_interpolation = 'SubelementMelt1'
|
---|
[17452] | 32 |
|
---|
[23793] | 33 | md = solve(md, 'Transient')
|
---|
[17452] | 34 |
|
---|
| 35 | #Fields and tolerances to track changes
|
---|
[23793] | 36 | field_names = ['Vx1', 'Vy1', 'Vel1', 'Pressure1', 'Thickness1', 'Surface1', 'MaskIceLevelset1', 'Enthalpy1', 'Watercolumn1',
|
---|
| 37 | 'Vx2', 'Vy2', 'Vel2', 'Pressure2', 'Thickness2', 'Surface2', 'MaskIceLevelset2', 'Enthalpy2', 'Watercolumn2',
|
---|
| 38 | 'Vx3', 'Vy3', 'Vel3', 'Pressure3', 'Thickness3', 'Surface3', 'MaskIceLevelset3', 'Enthalpy3', 'Watercolumn3']
|
---|
[28057] | 39 | field_tolerances = [6e-13, 5e-13, 6e-13, 3e-13, 3e-13, 2e-13, 1e-13, 1e-13, 1e-13,
|
---|
| 40 | 2e-12, 2e-12, 2e-12, 3e-13, 4e-13, 2e-13, 2e-13, 1e-13, 1e-13,
|
---|
| 41 | 2e-12, 2e-12, 2e-12, 3e-13, 4e-13, 2e-13, 2e-13, 1e-13, 1e-13]
|
---|
[23793] | 42 | field_values = [md.results.TransientSolution[0].Vx,
|
---|
| 43 | md.results.TransientSolution[0].Vy,
|
---|
| 44 | md.results.TransientSolution[0].Vel,
|
---|
| 45 | md.results.TransientSolution[0].Pressure,
|
---|
| 46 | md.results.TransientSolution[0].Thickness,
|
---|
| 47 | md.results.TransientSolution[0].Surface,
|
---|
| 48 | md.results.TransientSolution[0].MaskIceLevelset,
|
---|
| 49 | md.results.TransientSolution[0].Enthalpy,
|
---|
| 50 | md.results.TransientSolution[0].Watercolumn,
|
---|
| 51 | md.results.TransientSolution[1].Vx,
|
---|
| 52 | md.results.TransientSolution[1].Vy,
|
---|
| 53 | md.results.TransientSolution[1].Vel,
|
---|
| 54 | md.results.TransientSolution[1].Pressure,
|
---|
| 55 | md.results.TransientSolution[1].Thickness,
|
---|
| 56 | md.results.TransientSolution[1].Surface,
|
---|
| 57 | md.results.TransientSolution[1].MaskIceLevelset,
|
---|
| 58 | md.results.TransientSolution[1].Enthalpy,
|
---|
| 59 | md.results.TransientSolution[1].Watercolumn,
|
---|
| 60 | md.results.TransientSolution[2].Vx,
|
---|
| 61 | md.results.TransientSolution[2].Vy,
|
---|
| 62 | md.results.TransientSolution[2].Vel,
|
---|
| 63 | md.results.TransientSolution[2].Pressure,
|
---|
| 64 | md.results.TransientSolution[2].Thickness,
|
---|
| 65 | md.results.TransientSolution[2].Surface,
|
---|
| 66 | md.results.TransientSolution[2].MaskIceLevelset,
|
---|
| 67 | md.results.TransientSolution[2].Enthalpy,
|
---|
| 68 | md.results.TransientSolution[2].Watercolumn]
|
---|