Source code for TidalPy.Extending.burnman.material.custom.constant

import numpy as np

from TidalPy.Extending.burnman import burnman_installed, Material, material_property


[docs] class ConstantMaterial(Material): """ Base class for a burnman-like material that only returns constant values (set by a child class). """ def __init__(self): if not burnman_installed: raise ImportError('Burnman package not found.') super().__init__() @material_property def molar_internal_energy(self): return self.params['molar_internal_energy'] * np.ones_like(self.temperature) @material_property def molar_gibbs(self): return self.params['molar_gibbs'] * np.ones_like(self.temperature) @material_property def molar_helmholtz(self): return self.params['molar_helmholtz'] * np.ones_like(self.temperature) @material_property def molar_mass(self): return self.params['molar_mass'] @material_property def molar_volume(self): return self.params['molar_volume'] * np.ones_like(self.temperature) @material_property def density(self): return self.params['density'] * np.ones_like(self.temperature) @material_property def molar_entropy(self): return self.params['molar_entropy'] * np.ones_like(self.temperature) @material_property def molar_enthalpy(self): return self.params['molar_enthalpy'] * np.ones_like(self.temperature) @material_property def isothermal_bulk_modulus(self): return self.params['isothermal_bulk_modulus'] * np.ones_like(self.temperature) @material_property def isothermal_bulk_modulus_reuss(self): return self.params['isothermal_bulk_modulus_reuss'] * np.ones_like(self.temperature) @material_property def isothermal_compressibility(self): return self.params['isothermal_compressibility'] * np.ones_like(self.temperature) @material_property def adiabatic_compressibility(self): return self.params['adiabatic_compressibility'] * np.ones_like(self.temperature) @material_property def shear_modulus(self): return self.params['shear_modulus'] * np.ones_like(self.temperature) @material_property def p_wave_velocity(self): return self.params['p_wave_velocity'] * np.ones_like(self.temperature) @material_property def bulk_sound_velocity(self): return self.params['bulk_sound_velocity'] * np.ones_like(self.temperature) @material_property def shear_wave_velocity(self): return self.params['shear_wave_velocity'] * np.ones_like(self.temperature) @material_property def grueneisen_parameter(self): return self.params['grueneisen_parameter'] * np.ones_like(self.temperature) @material_property def thermal_expansivity(self): return self.params['thermal_expansivity'] * np.ones_like(self.temperature) @material_property def molar_heat_capacity_v(self): return self.params['molar_heat_capacity_v'] * np.ones_like(self.temperature) @material_property def molar_heat_capacity_p(self): return self.params['molar_heat_capacity_p'] * np.ones_like(self.temperature)