Exemple #1
0
    def test_compute_bd_thickness_comp(self):
        m = GMS(testmodel, verbosity=-1)
        m.layer_add_var('T')
        m.set_rheology(strain_rate=strain_rate,
                       rheologies=[test_material_dict],
                       bodies=bodies)
        m.compute_bd_thickness(mode='compression')
        t_duct_sediments = m.t_ductile[2][0]
        t_duct_crust = m.t_ductile[2][1]
        t_duct_mantle = m.t_ductile[2][2]
        target_sediments = 0.
        target_crust = 24949.
        target_mantle = 9919.
        for val in t_duct_sediments:
            self.assertAlmostEqual(val, target_sediments, -1)
        for val in t_duct_crust:
            self.assertAlmostEqual(val, target_crust, -1)
        for val in t_duct_mantle:
            self.assertAlmostEqual(val, target_mantle, -1)

        t_brit_sediments = m.t_brittle[2][0]
        t_brit_crust = m.t_brittle[2][1]
        t_brit_mantle = m.t_brittle[2][2]
        target_sediments = 10020.
        target_crust = 5110.
        target_mantle = 0.
        for val in t_brit_sediments:
            self.assertAlmostEqual(val, target_sediments, -1)
        for val in t_brit_crust:
            self.assertAlmostEqual(val, target_crust, -1)
        for val in t_brit_mantle:
            self.assertAlmostEqual(val, target_mantle, -1)
Exemple #2
0
 def test_plot_strength_profile(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.set_rheology(strain_rate=strain_rate,
                    rheologies=[test_material_dict],
                    bodies=bodies)
     obj = m.plot_strength_profile(0, 0, 100e3, 100e3, num=10,
                                   show_competent=True)
     self.assertIsInstance(obj, tri.TriContourSet)
Exemple #3
0
 def test_plot_yse(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.set_rheology(strain_rate=strain_rate,
                    rheologies=[test_material_dict],
                    bodies=bodies)
     te = m.plot_yse((50e3, 50e3), return_params=['Te'])
     te_target = 21442.885771543086
     self.assertAlmostEqual(te, te_target)
Exemple #4
0
 def test_integrated_strength_ext(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.set_rheology(strain_rate=strain_rate,
                    rheologies=[test_material_dict],
                    bodies=bodies)
     m.compute_integrated_strength(nz=10, mode='extension')
     target = -1873467598438.9
     for val in m.integrated_strength[:, 2]:
         self.assertAlmostEqual(val, target, places=1)
Exemple #5
0
 def test_integrated_strength_comp(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.set_rheology(strain_rate=strain_rate,
                    rheologies=[test_material_dict],
                    bodies=bodies)
     m.compute_integrated_strength(nz=10, mode='compression')
     target = 3674238431772.26
     for val in m.integrated_strength[:, 2]:
         self.assertAlmostEqual(val, target, places=1)
Exemple #6
0
 def test_compute_elastic_thickness_comp(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.set_rheology(strain_rate=strain_rate,
                    rheologies=[test_material_dict],
                    bodies=bodies)
     m.compute_elastic_thickness()
     competent_layers, eet = m.elastic_thickness[strain_rate]
     target_competent_layers = 1
     target_eet = 21442.
     for val in competent_layers:
         self.assertEqual(val, target_competent_layers)
     for val in eet[:, 2]:
         self.assertAlmostEqual(val, target_eet, -1)
Exemple #7
0
 def test_plot_grad(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     w = m.get_well(0, 0, 'T')
     for grad in w.plot_grad('T', return_array=True, absolute=True):
         self.assertAlmostEqual(grad, 0.02)
Exemple #8
0
 def test_getitem(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     w = m.get_well(0, 0, 'T')
     self.assertListEqual(w['T'].tolist(), [0., 200., 800., 1000.])
Exemple #9
0
 def test_heat_flow(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     m.compute_surface_heat_flow()
     for val in m.surface_heat_flow[:, 2]:
         self.assertAlmostEqual(val, 0.042)
Exemple #10
0
 def test_plot_profile(self):
     m = GMS(testmodel, verbosity=-1)
     m.layer_add_var('T')
     obj = m.plot_profile(0, 0, 100e3, 100e3, num=10, annotate=True)
     self.assertIsInstance(obj, tri.TriContourSet)