source: issm/trunk/test/Par/Pig.py@ 22758

Last change on this file since 22758 was 22758, checked in by Mathieu Morlighem, 7 years ago

merged trunk-jpl and trunk for revision 22757

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1import os.path
2import inspect
3from arch import *
4import numpy
5from verbose import verbose
6from InterpFromMeshToMesh2d import InterpFromMeshToMesh2d
7from paterson import paterson
8from SetMarineIceSheetBC import SetMarineIceSheetBC
9
10#Start defining model parameters here
11
12#Geometry and observation
13x = numpy.array(archread('../Data/Pig.arch','x'))
14y = numpy.array(archread('../Data/Pig.arch','y'))
15vx_obs = numpy.array(archread('../Data/Pig.arch','vx_obs'))
16vy_obs = numpy.array(archread('../Data/Pig.arch','vy_obs'))
17index = numpy.array(archread('../Data/Pig.arch','index')).astype(int)
18surface = numpy.array(archread('../Data/Pig.arch','surface'))
19thickness = numpy.array(archread('../Data/Pig.arch','thickness'))
20
21[md.inversion.vx_obs] =InterpFromMeshToMesh2d(index,x,y,vx_obs,md.mesh.x,md.mesh.y)
22[md.inversion.vy_obs] =InterpFromMeshToMesh2d(index,x,y,vy_obs,md.mesh.x,md.mesh.y)
23[md.geometry.surface] =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y)
24[md.geometry.thickness]=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y)
25md.geometry.base=md.geometry.surface-md.geometry.thickness
26md.initialization.vx=md.inversion.vx_obs
27md.initialization.vy=md.inversion.vy_obs
28md.initialization.vz=numpy.zeros((md.mesh.numberofvertices))
29md.initialization.pressure=numpy.zeros((md.mesh.numberofvertices))
30
31#Materials
32md.initialization.temperature=(273.-20.)*numpy.ones((md.mesh.numberofvertices))
33md.materials.rheology_B=paterson(md.initialization.temperature)
34md.materials.rheology_n=3.*numpy.ones((md.mesh.numberofelements))
35md.initialization.temperature=md.initialization.temperature
36
37#Friction
38md.friction.coefficient=50.*numpy.ones((md.mesh.numberofvertices))
39md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
40md.friction.p=numpy.ones((md.mesh.numberofelements))
41md.friction.q=numpy.ones((md.mesh.numberofelements))
42
43#Numerical parameters
44md.masstransport.stabilization=1.
45md.verbose=verbose(0)
46md.settings.waitonlock=30
47md.timestepping.time_step=1.
48md.timestepping.final_time=2.
49md.stressbalance.restol=0.05
50md.stressbalance.reltol=1.
51md.steadystate.reltol=1.
52md.stressbalance.abstol=float('nan')
53
54#Boundary conditions:
55md=SetMarineIceSheetBC(md)
56
57#Change name so that no test have the same name
58if len(inspect.stack()) > 2:
59 md.miscellaneous.name = os.path.basename(inspect.stack()[2][1]).split('.')[0]
Note: See TracBrowser for help on using the repository browser.