Пример #1
0
 def heat_capacity_v(self, pressure, temperature, volume, params):
     """
     Returns heat capacity at constant volume at the pressure, temperature, and volume [J/K/mol]
     """
     Debye_T = self.__debye_temperature(params['V_0']/volume, params)
     C_v = debye.heat_capacity_v(temperature, Debye_T, params['n'])
     return C_v
Пример #2
0
    def isothermal_bulk_modulus(self, pressure,temperature, volume, params):
        """
        Returns isothermal bulk modulus :math:`[Pa]` 
        """
        T_0 = self.reference_temperature( params )
        debye_T = self.__debye_temperature(params['V_0']/volume, params)
        gr = self.grueneisen_parameter(pressure, temperature, volume, params)

        E_th = debye.thermal_energy(temperature, debye_T, params['n']) #thermal energy at temperature T
        E_th_ref = debye.thermal_energy(T_0,debye_T, params['n']) #thermal energy at reference temperature

        C_v = debye.heat_capacity_v(temperature, debye_T, params['n']) #heat capacity at temperature T
        C_v_ref = debye.heat_capacity_v(T_0,debye_T, params['n']) #heat capacity at reference temperature

        q = self.volume_dependent_q(params['V_0']/volume, params)

        K = bm.bulk_modulus(volume, params) \
            + (gr + 1.-q)* ( gr / volume ) * (E_th - E_th_ref) \
            - ( pow(gr , 2.) / volume )*(C_v*temperature - C_v_ref*T_0)

        return K
Пример #3
0
    def isothermal_bulk_modulus(self, pressure, temperature, volume, params):
        """
        Returns isothermal bulk modulus at the pressure, temperature, and volume [Pa]
        """
        debye_T = self.__debye_temperature(params["V_0"] / volume, params)
        gr = self.grueneisen_parameter(pressure, temperature, volume, params)

        E_th = debye.thermal_energy(temperature, debye_T, params["n"])  # thermal energy at temperature T
        E_th_ref = debye.thermal_energy(300.0, debye_T, params["n"])  # thermal energy at reference temperature

        C_v = debye.heat_capacity_v(temperature, debye_T, params["n"])  # heat capacity at temperature T
        C_v_ref = debye.heat_capacity_v(300.0, debye_T, params["n"])  # heat capacity at reference temperature

        q = self.volume_dependent_q(params["V_0"] / volume, params)

        K = (
            bm.bulk_modulus(volume, params)
            + (gr + 1.0 - q) * (gr / volume) * (E_th - E_th_ref)
            - (pow(gr, 2.0) / volume) * (C_v * temperature - C_v_ref * 300.0)
        )

        return K
Пример #4
0
 def heat_capacity_v(self, pressure, temperature, volume, params):
     """
     Returns heat capacity at constant volume. :math:`[J/K/mol]` 
     """
     debye_T = self.__debye_temperature(params['V_0']/volume, params)
     return debye.heat_capacity_v(temperature, debye_T,params['n'])
Пример #5
0
 def heat_capacity_v(self, pressure, temperature, volume, params):
     """
     Returns heat capacity at constant volume at the pressure, temperature, and volume [J/K/mol]
     """
     debye_T = self.__debye_temperature(params["V_0"] / volume, params)
     return debye.heat_capacity_v(temperature, debye_T, params["n"])