Example #1
0
    def setUp(self):
        self.majors = pd.Series({
            'H2O': 47.00,
            'CO2': 35.00,
            'S': 16.00,
        })
        self.majors_molpercent = pd.Series({
            'H2O': 66.841024,
            'CO2': 20.374933,
            'S': 12.784044,
        })
        self.majors_molfrac = pd.Series({
            'H2O': 0.668410,
            'CO2': 0.203749,
            'S': 0.127840,
        })

        self.sample = tv.MagmaticFluid(self.majors)
        self.sample_unitsMolPercent = tv.MagmaticFluid(self.majors_molpercent,
                                                       units='molpercent')
        self.sample_unitsMolFrac = tv.MagmaticFluid(self.majors_molfrac,
                                                    units='molfrac')

        # parameters for the calculation
        self.pressure = 1000.0
        self.temperature = 1000.0
        self.fO2_buffer = 'QFM'
        self.fO2_delta = 1

        # fugacities calculated with TAVERN rounded to 4 dp
        self.fugacities_known = {
            'CO': 1.8015,
            'CO2': 237.1919,
            'H2': 2.2297,
            'H2O': 432.4545,
            'H2S': 209.3452,
            'O2': 1.2863e-10,
            'S2': 46.8002,
            'SO2': 86.7186
        }
Example #2
0
    def setUp(self):
        self.majors = pd.Series({
            'H2O': 47.00,
            'CO2': 35.00,
            'S': 16.00,
        })
        self.majors_molpercent = pd.Series({
            'H2O': 66.841024,
            'CO2': 20.374933,
            'S': 12.784044,
        })
        self.majors_molfrac = pd.Series({
            'H2O': 0.668410,
            'CO2': 0.203749,
            'S': 0.127840,
        })

        self.sample = tv.MagmaticFluid(self.majors)
        self.sample_unitsMolPercent = tv.MagmaticFluid(self.majors_molpercent,
                                                       units='molpercent')
        self.sample_unitsMolFrac = tv.MagmaticFluid(self.majors_molfrac,
                                                    units='molfrac')

        # parameters for the calculation
        self.pressure = 1000.0
        self.temperature = 1000.0
        self.fO2_buffer = 'QFM'
        self.fO2_delta = 1

        # speciation calculated with TAVERN to 4 dp
        self.speciation_known = {
            'CO': 0.0915,
            'CO2': 28.2862,
            'H2': 0.0121,
            'H2O': 27.5583,
            'H2S': 20.1962,
            'S2': 8.2839,
            'SO2': 15.5718,
            'O2': 1.0886e-11
        }
Example #3
0
    def setUp(self):
        self.majors = pd.Series({
            'H2O': 47.00,
            'CO2': 35.00,
            'S': 16.00,
        })

        # Standard normalization calculated externally
        self.majors_normed = pd.Series({
            'H2O': 47.959,
            'CO2': 35.714,
            'S': 16.327,
        })

        # Mol fractions calculated externally
        self.majors_molfrac = pd.Series({
            'H2O': 0.66841,
            'CO2': 0.20375,
            'S': 0.12784,
        })
        self.majors_molpercent = self.majors_molfrac * 100

        # self.majors_all_species = pd.Series({'SiO2':    47.95,
        #                                      'TiO2':    1.67,
        #                                      'Al2O3':   17.32,
        #                                      'FeO':     10.24,
        #                                      'Fe2O3':   0.1,
        #                                      'MgO':     5.76,
        #                                      'CaO':     10.93,
        #                                      'Na2O':    3.45,
        #                                      'K2O':     1.99,
        #                                      'P2O5':    0.51,
        #                                      'MnO':     0.1,
        #                                      'Cr2O3':   0.05,
        #                                      'NiO':     0.04,
        #                                      'CoO':     0.02,
        #                                      'H2O':     2.00,
        #                                      'CO2':     0.12,
        #                                      'F2O':     0.05
        #                                         })

        self.sample = tv.MagmaticFluid(self.majors, units='wtpercent')
Example #4
0
 def test_type_molpercent(self):
     sample = tv.MagmaticFluid(self.majors_molpercent, units='molpercent')
     for ox in self.majors.index:
         self.assertEqual(np.round(sample._composition[ox], 2),
                          np.round(self.majors_normed[ox], 2))
Example #5
0
 def test_type_wtptoxides(self):
     sample = tv.MagmaticFluid(self.majors, units='wtpercent')
     for ox in self.majors.index:
         self.assertEqual(self.sample._composition[ox], self.majors[ox])
Example #6
0
 def test_type_garbage(self):
     with self.assertRaises(tv.core.InputError):
         tv.MagmaticFluid(composition=self.majors, units='garbage')
Example #7
0
 def test_setdefaults_garbageType(self):
     with self.assertRaises(tv.core.InputError):
         tv.MagmaticFluid(composition=self.majors, default_units='garbage')
Example #8
0
 def test_setdefaults_garbageNorm(self):
     with self.assertRaises(tv.core.InputError):
         tv.MagmaticFluid(composition=self.majors,
                          default_normalization='garbage')
Example #9
0
 def test_setdefaults_standard_molfrac(self):
     sample = tv.MagmaticFluid(self.majors,
                               default_normalization='standard',
                               default_units='molfrac')
     self.assertEqual(sample.default_normalization, 'standard')
     self.assertEqual(sample.default_units, 'molfrac')
Example #10
0
 def test_setdefaults_none_wtpt(self):
     sample = tv.MagmaticFluid(self.majors,
                               default_normalization='none',
                               default_units='wtpercent')
     self.assertEqual(sample.default_normalization, 'none')
     self.assertEqual(sample.default_units, 'wtpercent')