/[escript]/trunk/downunder/test/python/run_gravity.py
ViewVC logotype

Contents of /trunk/downunder/test/python/run_gravity.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4121 - (show annotations)
Wed Dec 19 00:24:50 2012 UTC (6 years, 10 months ago) by gross
File MIME type: text/x-python
File size: 2282 byte(s)
changes to the boundary conditions.
1
2 ##############################################################################
3 #
4 # Copyright (c) 2003-2012 by University of Queensland
5 # http://www.uq.edu.au
6 #
7 # Primary Business: Queensland, Australia
8 # Licensed under the Open Software License version 3.0
9 # http://www.opensource.org/licenses/osl-3.0.php
10 #
11 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 # Development since 2012 by School of Earth Sciences
13 #
14 ##############################################################################
15
16 __copyright__="""Copyright (c) 2003-2012 by University of Queensland
17 http://www.uq.edu.au
18 Primary Business: Queensland, Australia"""
19 __license__="""Licensed under the Open Software License version 3.0
20 http://www.opensource.org/licenses/osl-3.0.php"""
21 __url__="https://launchpad.net/escript-finley"
22
23 import logging
24 import os
25 from esys.downunder import *
26 from esys.escript import unitsSI as U
27 from esys.weipa import saveSilo
28
29
30 try:
31 WORKDIR=os.environ['DOWNUNDER_WORKDIR']
32 except KeyError:
33 WORKDIR='.'
34
35 features=[SmoothAnomaly(lx=30*U.km, ly=20*U.km, lz=18.*U.km, \
36 x=22*U.km, y=3*U.km, depth=10*U.km, v_inner=200., v_outer=1e-6),\
37 SmoothAnomaly(lx=25*U.km, ly=20*U.km, lz=20*U.km,
38 x=40*U.km, y=1*U.km, depth=22*U.km, v_inner=-500., v_outer=1e-6),\
39 SmoothAnomaly(lx=30*U.km, ly=20*U.km, lz=18.*U.km, \
40 x=68*U.km, y=3*U.km, depth=13*U.km, v_inner=200., v_outer=1e-6)]
41
42 logger=logging.getLogger('inv')
43 logger.setLevel(logging.DEBUG)
44 handler=logging.StreamHandler()
45 handler.setLevel(logging.DEBUG)
46 logger.addHandler(handler)
47 source=SyntheticFeatureData(DataSource.GRAVITY, DIM=2, number_of_elements=220, length=100*U.km, features=features)
48 domainbuilder=DomainBuilder(dim=2)
49 domainbuilder.addSource(source)
50 domainbuilder.setElementPadding(20)
51 domainbuilder.setVerticalExtents(depth=50*U.km, air_layer=20*U.km, num_cells=25)
52
53 inv=GravityInversion()
54 inv.setSolverTolerance(1e-4)
55 inv.setSolverMaxIterations(40)
56 inv.setTradeOffFactors(mu_model=10.)
57 inv.setup(domainbuilder)
58
59 rho_new=inv.run()
60 print "rho_new = ",rho_new
61 print "rho =", source.getReferenceProperty()
62 g, chi = inv.getForwardModel().getSurvey(0)
63 saveSilo(os.path.join(WORKDIR, 'gravinv'), density=rho_new, density_ref=source.getReferenceProperty(), g=g, chi=chi)
64

  ViewVC Help
Powered by ViewVC 1.1.26