Exemplo n.º 1
0
 def test_bondtype_to_dict_custom_output_units(self):
     """
     Test BondType to_dict with custom output units.
     """
     from simtk import unit
     p1 = BondHandler.BondType(smirks='[*:1]-[*:2]',
                               length=1.02 * unit.angstrom,
                               k=5 * unit.kilocalorie_per_mole /
                               unit.angstrom**2)
     param_dict = p1.to_dict()
     param_dict_unitless, attached_units = detach_units(
         param_dict, output_units={'length_unit': unit.nanometer})
     assert attached_units['length_unit'] == unit.nanometer
     assert abs(param_dict_unitless['length'] - 0.102) < 1e-10
Exemplo n.º 2
0
 def test_bondtype_to_dict_invalid_output_units(self):
     """
     Test ParameterType to_dict with invalid output units.
     """
     from simtk import unit
     p1 = BondHandler.BondType(smirks='[*:1]-[*:2]',
                               length=1.02*unit.angstrom,
                               k=5 * unit.kilocalorie_per_mole / unit.angstrom ** 2
                               )
     param_dict = p1.to_dict()
     with pytest.raises(ValueError,
                        match='Requested output unit calorie is not compatible with quantity unit angstrom .'
                        ) as context:
         param_dict_unitless, attached_units = detach_units(param_dict, output_units = {'length_unit':
                                                                                            unit.calorie})
Exemplo n.º 3
0
    def test_bondtype_to_dict(self):
        """
        Test BondType to_dict.
        """
        from simtk import unit

        p1 = BondHandler.BondType(smirks='[*:1]-[*:2]',
                                  length=1.02 * unit.angstrom,
                                  k=5 * unit.kilocalorie_per_mole / unit.angstrom ** 2
                                  )
        param_dict = p1.to_dict()
        param_dict_unitless, attached_units = detach_units(param_dict)
        assert param_dict_unitless == {'smirks': '[*:1]-[*:2]',
                                       'length': 1.02,
                                       'k': 5,}
        assert attached_units == {'length_unit': unit.angstrom,
                                  'k_unit': (unit.angstrom ** -2) * (unit.mole ** -1) * (unit.kilocalorie ** 1)
                                  }