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)
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)
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)
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)
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)
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)
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)
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.])
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)
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)