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

Revision 4108 - (show annotations)
Thu Dec 13 06:38:11 2012 UTC (6 years, 10 months ago) by caltinay
File MIME type: text/x-python
File size: 2260 byte(s)
Changed methods to add padding areas.

 1 2 ############################################################################## 3 # 4 # Copyright (c) 2003-2012 by University of Queensland 5 6 # 7 # Primary Business: Queensland, Australia 8 # Licensed under the Open Software License version 3.0 9 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 21 __url__= 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, NE=220, l=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(10) 56 #inv.setTradeOffFactors(mu_model=30.) 57 inv.setup(domainbuilder) 58 59 rho_new=inv.run() 60 print "rho_new = ",rho_new 61 print "rho =", source.getReferenceDensity() 62 g, chi = inv.getForwardModel().getSurvey(0) 63 saveSilo(os.path.join(WORKDIR, 'gravinv'), density=rho_new, density_ref=source.getReferenceDensity(), g=g, chi=chi) 64

 ViewVC Help Powered by ViewVC 1.1.26