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("")
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.,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("")
def shear_modulus(self, pressure, temperature, volume, params): """ Returns shear modulus. :math:`[Pa]` """ T_0 = params["T_0"] 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(T_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("")
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., 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("")