1 | from model import *
|
---|
2 | from triangle import *
|
---|
3 | from squaremesh import *
|
---|
4 | from setmask import *
|
---|
5 | from parameterize import *
|
---|
6 | from setflowequation import *
|
---|
7 | from EnumDefinitions import *
|
---|
8 | from solve import *
|
---|
9 | from MatlabFuncs import *
|
---|
10 |
|
---|
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',oshostname(),'np',3)
|
---|
17 |
|
---|
18 | #Thermal model
|
---|
19 | pos_surf=numpy.nonzero(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
|
---|
23 |
|
---|
24 | #Transient
|
---|
25 | md.transient.isstressbalance=True
|
---|
26 | md.transient.islevelset=True
|
---|
27 | md.transient.ismasstransport=True
|
---|
28 | md.transient.isthermal=True
|
---|
29 | md.transient.isgroundingline=True
|
---|
30 | md.transient.isgia=False
|
---|
31 |
|
---|
32 | md=solve(md,TransientSolutionEnum())
|
---|
33 |
|
---|
34 | #Fields and tolerances to track changes
|
---|
35 | field_names =['Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','Enthalpy1','Watercolumn1',\
|
---|
36 | 'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','Enthalpy2','Watercolumn2',\
|
---|
37 | 'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','Enthalpy3','Watercolumn3']
|
---|
38 | field_tolerances=[1e-10,1e-10,1e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
|
---|
39 | 1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
|
---|
40 | 1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
|
---|
41 | field_values=[\
|
---|
42 | 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,\
|
---|
69 | ]
|
---|