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

Diff of /trunk/downunder/test/python/run_forward.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5162 by caltinay, Mon Sep 15 01:25:23 2014 UTC revision 5163 by gross, Wed Sep 17 08:56:09 2014 UTC
# Line 365  class TestMT2DModelTEMode(unittest.TestC Line 365  class TestMT2DModelTEMode(unittest.TestC
365          args1=acw.getArguments(SIGMA1)          args1=acw.getArguments(SIGMA1)
366          d1=acw.getDefect(SIGMA1, *args1)          d1=acw.getDefect(SIGMA1, *args1)
367          self.assertTrue( abs( d1-d0-integrate(dg0*p) ) < 1e-2  * abs(d1-d0) )          self.assertTrue( abs( d1-d0-integrate(dg0*p) ) < 1e-2  * abs(d1-d0) )
368    
369    class TestSubsidence(unittest.TestCase):
370        def test_PDE(self):
371            
372            lam=2.
373            mu=1.
374    
375            from esys.ripley import Brick
376            domain=Brick(20,20,20)
377                    
378                                              xb=FunctionOnBoundary(domain).getX()
379            m=whereZero(xb[2]-1)
380            w=m*[0,0,1]
381            d=m*2.5
382            acw=Subsidence(domain, w,d, lam, mu )
383            
384            P0=10.        
385            args0=acw.getArguments(P0)
386            u=args0[0]
387            self.assertTrue(Lsup(u[0]) < 1.e-8)
388            self.assertTrue(Lsup(u[1]) < 1.e-8)
389            self.assertTrue(Lsup(u[2]-2.5*domain.getX()[2]) < 1.e-8)
390            
391            dd=acw.getDefect(P0, *args0)
392            
393            self.assertTrue( dd >= 0.)
394            self.assertTrue( dd <= 1e-7 * 2.5 )
395        def test_Differential(self):
396        
397            lam=2.
398            mu=1.
399            
400            INC=0.01
401            from esys.ripley import Brick
402            domain=Brick(20,20,20)
403            
404            xb=FunctionOnBoundary(domain).getX()
405            m=whereZero(xb[2]-1)
406            w=m*[0,0,1]
407            d=m*2.5
408            acw=Subsidence(domain, w,d, lam, mu )
409            
410            
411            x=Function(domain).getX()
412            P0=x[0]*x[1]
413            args0=acw.getArguments(P0)
414            d0=acw.getDefect(P0, *args0)
415            grad_d=acw.getGradient(P0, *args0)
416    
417            
418            dP=exp(-(length(x-[0.5,0.5,0.5])/0.06)**2)
419            P1=P0+INC*dP
420            args1=acw.getArguments(P1)
421            d1=acw.getDefect(P1, *args1)
422            ref=abs((d1-d0)/INC)
423            self.assertTrue(abs((d1-d0)/INC-integrate(grad_d* dP)) < ref * 1.e-5)
424    
425            dP=exp(-(length(x-[0.3,0.3,0.5])/0.06)**2)
426            P2=P0-INC*dP
427            args2=acw.getArguments(P2)
428            d2=acw.getDefect(P2, *args2)
429            ref=abs((d2-d0)/INC)
430            self.assertTrue(abs((d2-d0)/INC+integrate(grad_d* dP)) < ref * 1.e-5)
431    
432    
433    
434    class TestIsostaticPressure(unittest.TestCase):
435        def ttest_all(self):
436            from esys.ripley import Brick
437            domain=Brick(50,50,50, )
438            
439            ps=IsostaticPressure(domain, level0=0., coordinates=None)
440        
441            g=Vector(0., Function(domain))
442            rho=Scalar(0., Function(domain))
443            p0=ps.getPressure(g, rho)
444            print p0
445                                  
446  if __name__ == '__main__':  if __name__ == '__main__':
447      run_tests(__name__, exit_on_failure=True)      run_tests(__name__, exit_on_failure=True)
448            

Legend:
Removed from v.5162  
changed lines
  Added in v.5163

  ViewVC Help
Powered by ViewVC 1.1.26