Example #1
0
 def shear_modulus(self, pressure, temperature, volume, params):
     """
     Returns shear modulus [Pa] as a function of pressure [Pa],
     temperature [K], and volume [m^3].  EQ B11
     """
     if self.order==2:
         return bm.shear_modulus_second_order(volume,params) + \
             self.__thermal_shear_modulus(temperature,volume, params) - \
             self.__thermal_shear_modulus(300.,volume, params) # EQ B11
     elif self.order==3:
         return bm.shear_modulus_third_order(volume,params) + \
             self.__thermal_shear_modulus(temperature,volume, params) - \
             self.__thermal_shear_modulus(300.,volume, params) # EQ B11
     else:
         raise NotImplementedError("")
Example #2
0
    def shear_modulus(self, pressure, temperature, volume, params):
        """
        Returns shear modulus at the pressure, temperature, and volume [Pa]
        """
        debye_T = self.__debye_temperature(params["V_0"] / volume, params)
        eta_s = self.__isotropic_eta_s(params["V_0"] / volume, params)

        E_th = debye.thermal_energy(temperature, debye_T, params["n"])
        E_th_ref = debye.thermal_energy(300.0, debye_T, params["n"])

        if self.order == 2:
            return bm.shear_modulus_second_order(volume, params) - eta_s * (E_th - E_th_ref) / volume
        elif self.order == 3:
            return bm.shear_modulus_third_order(volume, params) - eta_s * (E_th - E_th_ref) / volume
        else:
            raise NotImplementedError("")