Materials

Burnman operates on materials (type Material) most prominently in form of minerals (Mineral) and composites (Composite).

Inheritance diagram of burnman.Material, burnman.Composite, burnman.Mineral, burnman.solidsolution.SolidSolution, burnman.mineral_helpers.HelperSpinTransition

Material Base Class

class burnman.material.Material[source]

Bases: object

Base class for all materials. The main functionality is unroll() which returns a list of objects of type Mineral and their molar fractions. This class is available as burnman.Material.

The user needs to call set_method() (once in the beginning) and set_state() before querying the material with unroll() or density().

Attributes

pressure
temperature
name[source]

Human-readable name of this material.

By default this will return the name of the class, but it can be set to an arbitrary string. Overriden in Mineral.

set_method(method)[source]

Set the averaging method. See Averaging Schemes for details.

Notes

Needs to be implemented in derived classes.

to_string()[source]

Returns a human-readable name of this material. The default implementation will return the name of the class, which is a reasonable default.

Returns:

name : string

Name of this material.

debug_print(indent='')[source]

Print a human-readable representation of this Material.

print_minerals_of_current_state()[source]

Print a human-readable representation of this Material at the current P, T as a list of minerals. This requires set_state() has been called before.

set_state(pressure, temperature)[source]

Set the material to the given pressure and temperature.

Parameters:

pressure : float

The desired pressure in [Pa].

temperature : float

The desired temperature in [K].

reset()[source]

Resets all cached material properties.

It is typically not required for the user to call this function.

unroll()[source]

Unroll this material into a list of burnman.Mineral and their molar fractions. All averaging schemes then operate on this list of minerals. Note that the return value of this function may depend on the current state (temperature, pressure).

Returns:

fractions : list of float

List of molar fractions, should sum to 1.0.

minerals : list of burnman.Mineral

List of minerals.

Notes

Needs to be implemented in derived classes.

evaluate(vars_list, pressures, temperatures)[source]

Returns an array of material properties requested through a list of strings at given pressure and temperature conditions. At the end it resets the set_state to the original values. The user needs to call set_method() before.

Parameters:

vars_list : list of strings

Variables to be returned for given conditions

pressure : array of float

Array of pressures in [Pa].

temperature : float

Array of temperatures in [K].

Returns:

output : array of array of float

Array returning all variables at given pressure/temperature values. output[i][j] is property vars_list[j] and temperatures[i] and pressures[i].

pressure[source]

Returns current pressure that was set with set_state().

Returns:

pressure : float

Pressure in [Pa].

Notes

  • Aliased with P().
temperature[source]

Returns current temperature that was set with set_state().

Returns:

temperature : float

Temperature in [K].

Notes

  • Aliased with T().
internal_energy[source]

Returns the internal energy of the mineral.

Returns:

internal_energy : float

The internal energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with energy().
molar_gibbs[source]

Returns the Gibbs free energy of the mineral.

Returns:

molar_gibbs : float

Gibbs free energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with gibbs().
molar_helmholtz[source]

Returns the Helmholtz free energy of the mineral.

Returns:

molar_helmholtz : float

Helmholtz free energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with helmholtz().
molar_mass[source]

Returns molar mass of the mineral.

Returns:

molar_mass : float

Molar mass in [kg/mol].

Notes

  • Needs to be implemented in derived classes.
molar_volume[source]

Returns molar volume of the mineral.

Returns:

molar_volume : float

Molar volume in [m^3/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with V().
density[source]

Returns the density of this material.

Returns:

density : float

The density of this material in [kg/m^3].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with rho().
molar_entropy[source]

Returns entropy of the mineral.

Returns:

entropy : float

Entropy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with S().
molar_enthalpy[source]

Returns enthalpy of the mineral.

Returns:

enthalpy : float

Enthalpy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with H().
isothermal_bulk_modulus[source]

Returns isothermal bulk modulus of the material.

Returns:

isothermal_bulk_modulus : float

Bulk modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with K_T().
adiabatic_bulk_modulus[source]

Returns the adiabatic bulk modulus of the mineral.

Returns:

adiabatic_bulk_modulus : float

Adiabatic bulk modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with K_S().
isothermal_compressibility[source]

Returns isothermal compressibility of the mineral (or inverse isothermal bulk modulus).

Returns:

(K_T)^-1 : float

Compressibility in [1/Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_T().
adiabatic_compressibility[source]

Returns adiabatic compressibility of the mineral (or inverse adiabatic bulk modulus).

Returns:

adiabatic_compressibility : float

adiabatic compressibility in [1/Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_S().
shear_modulus[source]

Returns shear modulus of the mineral.

Returns:

shear_modulus : float

Shear modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_G().
p_wave_velocity[source]

Returns P wave speed of the mineral.

Returns:

p_wave_velocity : float

P wave speed in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_p().
bulk_sound_velocity[source]

Returns bulk sound speed of the mineral.

Returns:

bulk sound velocity: float :

Sound velocity in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_phi().
shear_wave_velocity[source]

Returns shear wave speed of the mineral.

Returns:

shear_wave_velocity : float

Wave speed in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_s().
grueneisen_parameter[source]

Returns the grueneisen parameter of the mineral.

Returns:

gr : float

Grueneisen parameters [unitless].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with gr().
thermal_expansivity[source]

Returns thermal expansion coefficient of the mineral.

Returns:

alpha : float

Thermal expansivity in [1/K].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with alpha().
heat_capacity_v[source]

Returns heat capacity at constant volume of the mineral.

Returns:

heat_capacity_v : float

Heat capacity in [J/K/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with C_v().
heat_capacity_p[source]

Returns heat capacity at constant pressure of the mineral.

Returns:

heat_capacity_p : float

Heat capacity in [J/K/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with C_p().
P[source]

Alias for pressure()

T[source]

Alias for temperature()

energy[source]

Alias for internal_energy()

helmholtz[source]

Alias for molar_helmholtz()

gibbs[source]

Alias for molar_gibbs()

V[source]

Alias for molar_volume()

rho[source]

Alias for density()

S[source]

Alias for molar_entropy()

H[source]

Alias for molar_enthalpy()

K_T[source]

Alias for isothermal_bulk_modulus()

K_S[source]

Alias for adiabatic_bulk_modulus()

beta_T[source]

Alias for isothermal_compressibility()

beta_S[source]

Alias for adiabatic_compressibility()

G[source]

Alias for shear_modulus()

v_p[source]

Alias for p_wave_velocity()

v_phi[source]

Alias for bulk_sound_velocity()

v_s[source]

Alias for shear_wave_velocity()

gr[source]

Alias for grueneisen_parameter()

alpha[source]

Alias for thermal_expansivity()

C_v[source]

Alias for heat_capacity_v()

C_p[source]

Alias for heat_capacity_p()

Minerals

Endmembers

class burnman.mineral.Mineral[source]

Bases: burnman.material.Material

This is the base class for all minerals. States of the mineral can only be queried after setting the pressure and temperature using set_state(). The method for computing properties of the material is set using set_method(). This is done during initialisation if the param ‘equation_of_state’ has been defined. The method can be overridden later by the user.

This class is available as burnman.Mineral.

If deriving from this class, set the properties in self.params to the desired values. For more complicated materials you can overwrite set_state(), change the params and then call set_state() from this class.

All the material parameters are expected to be in plain SI units. This means that the elastic moduli should be in Pascals and NOT Gigapascals, and the Debye temperature should be in K not C. Additionally, the reference volume should be in m^3/(mol molecule) and not in unit cell volume and ‘n’ should be the number of atoms per molecule. Frequently in the literature the reference volume is given in Angstrom^3 per unit cell. To convert this to m^3/(mol of molecule) you should multiply by 10^(-30) * N_a / Z, where N_a is Avogadro’s number and Z is the number of formula units per unit cell. You can look up Z in many places, including www.mindat.org

name

Human-readable name of this material.

By default this will return the name of the class, but it can be set to an arbitrary string. Overriden in Mineral.

set_method(equation_of_state)[source]

Set the equation of state to be used for this mineral. Takes a string corresponding to any of the predefined equations of state: ‘bm2’, ‘bm3’, ‘mgd2’, ‘mgd3’, ‘slb2’, ‘slb3’, ‘mt’, ‘hp_tmt’, or ‘cork’. Alternatively, you can pass a user defined class which derives from the equation_of_state base class. After calling set_method(), any existing derived properties (e.g., elastic parameters or thermodynamic potentials) will be out of date, so set_state() will need to be called again.

to_string()[source]

Returns the name of the mineral class

debug_print(indent='')[source]
unroll()[source]
set_state(*args)[source]

(copied from set_state):

Set the material to the given pressure and temperature.

Parameters:

pressure : float

The desired pressure in [Pa].

temperature : float

The desired temperature in [K].

molar_gibbs[source]

Returns the Gibbs free energy of the mineral.

Returns:

molar_gibbs : float

Gibbs free energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with gibbs().
molar_volume[source]

Returns molar volume of the mineral.

Returns:

molar_volume : float

Molar volume in [m^3/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with V().
molar_entropy[source]

Returns entropy of the mineral.

Returns:

entropy : float

Entropy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with S().
isothermal_bulk_modulus[source]

Returns isothermal bulk modulus of the material.

Returns:

isothermal_bulk_modulus : float

Bulk modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with K_T().
heat_capacity_p[source]

Returns heat capacity at constant pressure of the mineral.

Returns:

heat_capacity_p : float

Heat capacity in [J/K/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with C_p().
thermal_expansivity[source]

Returns thermal expansion coefficient of the mineral.

Returns:

alpha : float

Thermal expansivity in [1/K].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with alpha().
shear_modulus[source]

Returns shear modulus of the mineral.

Returns:

shear_modulus : float

Shear modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_G().
molar_mass[source]

Returns molar mass of the mineral.

Returns:

molar_mass : float

Molar mass in [kg/mol].

Notes

  • Needs to be implemented in derived classes.
density[source]

Returns the density of this material.

Returns:

density : float

The density of this material in [kg/m^3].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with rho().
internal_energy[source]

Returns the internal energy of the mineral.

Returns:

internal_energy : float

The internal energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with energy().
molar_helmholtz[source]

Returns the Helmholtz free energy of the mineral.

Returns:

molar_helmholtz : float

Helmholtz free energy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with helmholtz().
molar_enthalpy[source]

Returns enthalpy of the mineral.

Returns:

enthalpy : float

Enthalpy in [J].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with H().
adiabatic_bulk_modulus[source]

Returns the adiabatic bulk modulus of the mineral.

Returns:

adiabatic_bulk_modulus : float

Adiabatic bulk modulus in [Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with K_S().
isothermal_compressibility[source]

Returns isothermal compressibility of the mineral (or inverse isothermal bulk modulus).

Returns:

(K_T)^-1 : float

Compressibility in [1/Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_T().
adiabatic_compressibility[source]

Returns adiabatic compressibility of the mineral (or inverse adiabatic bulk modulus).

Returns:

adiabatic_compressibility : float

adiabatic compressibility in [1/Pa].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with beta_S().
p_wave_velocity[source]

Returns P wave speed of the mineral.

Returns:

p_wave_velocity : float

P wave speed in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_p().
bulk_sound_velocity[source]

Returns bulk sound speed of the mineral.

Returns:

bulk sound velocity: float :

Sound velocity in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_phi().
shear_wave_velocity[source]

Returns shear wave speed of the mineral.

Returns:

shear_wave_velocity : float

Wave speed in [m/s].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with v_s().
grueneisen_parameter[source]

Returns the grueneisen parameter of the mineral.

Returns:

gr : float

Grueneisen parameters [unitless].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with gr().
heat_capacity_v[source]

Returns heat capacity at constant volume of the mineral.

Returns:

heat_capacity_v : float

Heat capacity in [J/K/mol].

Notes

  • Needs to be implemented in derived classes.
  • Aliased with C_v().
C_p

Alias for heat_capacity_p()

C_v

Alias for heat_capacity_v()

G

Alias for shear_modulus()

H

Alias for molar_enthalpy()

K_S

Alias for adiabatic_bulk_modulus()

K_T

Alias for isothermal_bulk_modulus()

P

Alias for pressure()

S

Alias for molar_entropy()

T

Alias for temperature()

V

Alias for molar_volume()

alpha

Alias for thermal_expansivity()

beta_S

Alias for adiabatic_compressibility()

beta_T

Alias for isothermal_compressibility()

energy

Alias for internal_energy()

evaluate(vars_list, pressures, temperatures)

Returns an array of material properties requested through a list of strings at given pressure and temperature conditions. At the end it resets the set_state to the original values. The user needs to call set_method() before.

Parameters:

vars_list : list of strings

Variables to be returned for given conditions

pressure : array of float

Array of pressures in [Pa].

temperature : float

Array of temperatures in [K].

Returns:

output : array of array of float

Array returning all variables at given pressure/temperature values. output[i][j] is property vars_list[j] and temperatures[i] and pressures[i].

gibbs

Alias for molar_gibbs()

gr

Alias for grueneisen_parameter()

helmholtz

Alias for molar_helmholtz()

pressure

Returns current pressure that was set with set_state().

Returns:

pressure : float

Pressure in [Pa].

Notes

  • Aliased with P().
print_minerals_of_current_state()

Print a human-readable representation of this Material at the current P, T as a list of minerals. This requires set_state() has been called before.

reset()

Resets all cached material properties.

It is typically not required for the user to call this function.

rho

Alias for density()

temperature

Returns current temperature that was set with set_state().

Returns:

temperature : float

Temperature in [K].

Notes

  • Aliased with T().
v_p

Alias for p_wave_velocity()

v_phi

Alias for bulk_sound_velocity()

v_s

Alias for shear_wave_velocity()

Solid solutions

class burnman.solidsolution.SolidSolution(molar_fractions=None)[source]

Bases: burnman.mineral.Mineral

This is the base class for all solid solutions. Site occupancies, endmember activities and the constant and pressure and temperature dependencies of the excess properties can be queried after using set_composition() States of the solid solution can only be queried after setting the pressure, temperature and composition using set_state().

This class is available as burnman.SolidSolution. It uses an instance of burnman.SolutionModel to calculate interaction terms between endmembers.

All the solid solution parameters are expected to be in SI units. This means that the interaction parameters should be in J/mol, with the T and P derivatives in J/K/mol and m^3/mol.

get_endmembers()[source]
set_composition(molar_fractions)[source]

Set the composition for this solid solution.

Parameters:

molar_fractions: list of float :

molar abundance for each endmember, needs to sum to one.

set_method(method)[source]
set_state(pressure, temperature)[source]
activities[source]

Returns a list of endmember activities [unitless]

activity_coefficients[source]

Returns a list of endmember activity coefficients (gamma = activity / ideal activity) [unitless]

internal_energy[source]

Returns internal energy of the mineral [J] Aliased with self.energy

excess_partial_gibbs[source]

Returns excess partial gibbs free energy [J] Property specific to solid solutions.

partial_gibbs[source]

Returns excess partial gibbs free energy [J] Property specific to solid solutions.

excess_gibbs[source]

Returns excess gibbs free energy [J] Property specific to solid solutions.

molar_gibbs[source]

Returns Gibbs free energy of the solid solution [J] Aliased with self.gibbs

molar_helmholtz[source]

Returns Helmholtz free energy of the solid solution [J] Aliased with self.helmholtz

molar_mass[source]

Returns molar mass of the solid solution [kg/mol]

excess_volume[source]

Returns excess volume of the solid solution [m^3/mol] Specific property for solid solutions

molar_volume[source]

Returns molar volume of the solid solution [m^3/mol] Aliased with self.V

density[source]

Returns density of the solid solution [kg/m^3] Aliased with self.rho

excess_entropy[source]

Returns excess entropy [J] Property specific to solid solutions.

molar_entropy[source]

Returns entropy of the solid solution [J] Aliased with self.S

excess_enthalpy[source]

Returns excess enthalpy [J] Property specific to solid solutions.

molar_enthalpy[source]

Returns enthalpy of the solid solution [J] Aliased with self.H

isothermal_bulk_modulus[source]

Returns isothermal bulk modulus of the solid solution [Pa] Aliased with self.K_T

adiabatic_bulk_modulus[source]

Returns adiabatic bulk modulus of the solid solution [Pa] Aliased with self.K_S

isothermal_compressibility[source]

Returns isothermal compressibility of the solid solution (or inverse isothermal bulk modulus) [1/Pa] Aliased with self.K_T

adiabatic_compressibility[source]

Returns adiabatic compressibility of the solid solution (or inverse adiabatic bulk modulus) [1/Pa] Aliased with self.K_S

shear_modulus[source]

Returns shear modulus of the solid solution [Pa] Aliased with self.G

p_wave_velocity[source]

Returns P wave speed of the solid solution [m/s] Aliased with self.v_p

bulk_sound_velocity[source]

Returns bulk sound speed of the solid solution [m/s] Aliased with self.v_phi

shear_wave_velocity[source]

Returns shear wave speed of the solid solution [m/s] Aliased with self.v_s

C_p

Alias for heat_capacity_p()

C_v

Alias for heat_capacity_v()

G

Alias for shear_modulus()

H

Alias for molar_enthalpy()

K_S

Alias for adiabatic_bulk_modulus()

K_T

Alias for isothermal_bulk_modulus()

P

Alias for pressure()

S

Alias for molar_entropy()

T

Alias for temperature()

V

Alias for molar_volume()

alpha

Alias for thermal_expansivity()

beta_S

Alias for adiabatic_compressibility()

beta_T

Alias for isothermal_compressibility()

debug_print(indent='')
energy

Alias for internal_energy()

evaluate(vars_list, pressures, temperatures)

Returns an array of material properties requested through a list of strings at given pressure and temperature conditions. At the end it resets the set_state to the original values. The user needs to call set_method() before.

Parameters:

vars_list : list of strings

Variables to be returned for given conditions

pressure : array of float

Array of pressures in [Pa].

temperature : float

Array of temperatures in [K].

Returns:

output : array of array of float

Array returning all variables at given pressure/temperature values. output[i][j] is property vars_list[j] and temperatures[i] and pressures[i].

gibbs

Alias for molar_gibbs()

gr

Alias for grueneisen_parameter()

grueneisen_parameter[source]

Returns grueneisen parameter of the solid solution [unitless] Aliased with self.gr

helmholtz

Alias for molar_helmholtz()

name

Human-readable name of this material.

By default this will return the name of the class, but it can be set to an arbitrary string. Overriden in Mineral.

pressure

Returns current pressure that was set with set_state().

Returns:

pressure : float

Pressure in [Pa].

Notes

  • Aliased with P().
print_minerals_of_current_state()

Print a human-readable representation of this Material at the current P, T as a list of minerals. This requires set_state() has been called before.

reset()

Resets all cached material properties.

It is typically not required for the user to call this function.

rho

Alias for density()

temperature

Returns current temperature that was set with set_state().

Returns:

temperature : float

Temperature in [K].

Notes

  • Aliased with T().
to_string()

Returns the name of the mineral class

unroll()
v_p

Alias for p_wave_velocity()

v_phi

Alias for bulk_sound_velocity()

v_s

Alias for shear_wave_velocity()

thermal_expansivity[source]

Returns thermal expansion coefficient (alpha) of the solid solution [1/K] Aliased with self.alpha

heat_capacity_v[source]

Returns heat capacity at constant volume of the solid solution [J/K/mol] Aliased with self.C_v

heat_capacity_p[source]

Returns heat capacity at constant pressure of the solid solution [J/K/mol] Aliased with self.C_p

Mineral helpers

class burnman.mineral_helpers.HelperSpinTransition(transition_pressure, ls_mat, hs_mat)[source]

Bases: burnman.composite.Composite

Helper class that makes a mineral that switches between two materials (for low and high spin) based on some transition pressure [Pa]

debug_print(indent='')[source]
set_state(pressure, temperature)[source]
C_p

Alias for heat_capacity_p()

C_v

Alias for heat_capacity_v()

G

Alias for shear_modulus()

H

Alias for molar_enthalpy()

K_S

Alias for adiabatic_bulk_modulus()

K_T

Alias for isothermal_bulk_modulus()

P

Alias for pressure()

S

Alias for molar_entropy()

T

Alias for temperature()

V

Alias for molar_volume()

adiabatic_bulk_modulus

Returns adiabatic bulk modulus of the mineral [Pa] Aliased with self.K_S

adiabatic_compressibility

Returns isothermal compressibility of the composite (or inverse isothermal bulk modulus) [1/Pa] Aliased with self.beta_S

alpha

Alias for thermal_expansivity()

beta_S

Alias for adiabatic_compressibility()

beta_T

Alias for isothermal_compressibility()

bulk_sound_velocity

Returns bulk sound speed of the composite [m/s] Aliased with self.v_phi

density

Compute the density of the composite based on the molar volumes and masses Aliased with self.rho

energy

Alias for internal_energy()

evaluate(vars_list, pressures, temperatures)

Returns an array of material properties requested through a list of strings at given pressure and temperature conditions. At the end it resets the set_state to the original values. The user needs to call set_method() before.

Parameters:

vars_list : list of strings

Variables to be returned for given conditions

pressure : array of float

Array of pressures in [Pa].

temperature : float

Array of temperatures in [K].

Returns:

output : array of array of float

Array returning all variables at given pressure/temperature values. output[i][j] is property vars_list[j] and temperatures[i] and pressures[i].

gibbs

Alias for molar_gibbs()

gr

Alias for grueneisen_parameter()

grueneisen_parameter

Returns grueneisen parameter of the composite [unitless] Aliased with self.gr

heat_capacity_p

Returns heat capacity at constant pressure of the composite [J/K/mol] Aliased with self.C_p

heat_capacity_v

Returns heat capacity at constant volume of the composite [J/K/mol] Aliased with self.C_v

helmholtz

Alias for molar_helmholtz()

internal_energy

Returns internal energy of the mineral [J] Aliased with self.energy

isothermal_bulk_modulus

Returns isothermal bulk modulus of the composite [Pa] Aliased with self.K_T

isothermal_compressibility

Returns isothermal compressibility of the composite (or inverse isothermal bulk modulus) [1/Pa] Aliased with self.beta_T

molar_enthalpy

Returns enthalpy of the mineral [J] Aliased with self.H

molar_entropy

Returns enthalpy of the mineral [J] Aliased with self.S

molar_gibbs

Returns Gibbs free energy of the composite [J] Aliased with self.gibbs

molar_helmholtz

Returns Helmholtz free energy of the mineral [J] Aliased with self.helmholtz

molar_mass

Returns molar mass of the composite [kg/mol]

molar_volume

Returns molar volume of the composite [m^3/mol] Aliased with self.V

name

Human-readable name of this material.

By default this will return the name of the class, but it can be set to an arbitrary string. Overriden in Mineral.

p_wave_velocity

Returns P wave speed of the composite [m/s] Aliased with self.v_p

pressure

Returns current pressure that was set with set_state().

Returns:

pressure : float

Pressure in [Pa].

Notes

  • Aliased with P().
print_minerals_of_current_state()

Print a human-readable representation of this Material at the current P, T as a list of minerals. This requires set_state() has been called before.

reset()

Resets all cached material properties.

It is typically not required for the user to call this function.

rho

Alias for density()

set_averaging_scheme(averaging_scheme)

Set the averaging scheme for the moduli in the composite. Default is set to VoigtReussHill, when Composite is initialized.

set_fractions(fractions, fraction_type='molar')

Change the fractions of the phases of this Composite.

Parameters:

fractions: list of floats :

molar or mass fraction for each phase.

fraction_type: ‘molar’ or ‘mass’ :

specify whether molar or mass fractions are specified.

set_method(method)

set the same equation of state method for all the phases in the composite

shear_modulus

Returns shear modulus of the mineral [Pa] Aliased with self.G

shear_wave_velocity

Returns shear wave speed of the composite [m/s] Aliased with self.v_s

temperature

Returns current temperature that was set with set_state().

Returns:

temperature : float

Temperature in [K].

Notes

  • Aliased with T().
thermal_expansivity

Returns thermal expansion coefficient of the composite [1/K] Aliased with self.alpha

to_string()

return the name of the composite

unroll()
v_p

Alias for p_wave_velocity()

v_phi

Alias for bulk_sound_velocity()

v_s

Alias for shear_wave_velocity()

Composites

class burnman.composite.Composite(phases, fractions=None, fraction_type='molar')[source]

Bases: burnman.material.Material

Base class for a composite material. The static phases can be minerals or materials, meaning composite can be nested arbitrarily.

The fractions of the phases can be input as either ‘molar’ or ‘mass’ during instantiation, and modified (or initialised) after this point by using set_fractions.

This class is available as burnman.Composite.

set_fractions(fractions, fraction_type='molar')[source]

Change the fractions of the phases of this Composite.

Parameters:

fractions: list of floats :

molar or mass fraction for each phase.

fraction_type: ‘molar’ or ‘mass’ :

specify whether molar or mass fractions are specified.

set_method(method)[source]

set the same equation of state method for all the phases in the composite

set_averaging_scheme(averaging_scheme)[source]

Set the averaging scheme for the moduli in the composite. Default is set to VoigtReussHill, when Composite is initialized.

set_state(pressure, temperature)[source]

Update the material to the given pressure [Pa] and temperature [K].

debug_print(indent='')[source]
unroll()[source]
to_string()[source]

return the name of the composite

internal_energy[source]

Returns internal energy of the mineral [J] Aliased with self.energy

molar_gibbs[source]

Returns Gibbs free energy of the composite [J] Aliased with self.gibbs

molar_helmholtz[source]

Returns Helmholtz free energy of the mineral [J] Aliased with self.helmholtz

molar_volume[source]

Returns molar volume of the composite [m^3/mol] Aliased with self.V

molar_mass[source]

Returns molar mass of the composite [kg/mol]

density[source]

Compute the density of the composite based on the molar volumes and masses Aliased with self.rho

molar_entropy[source]

Returns enthalpy of the mineral [J] Aliased with self.S

molar_enthalpy[source]

Returns enthalpy of the mineral [J] Aliased with self.H

isothermal_bulk_modulus[source]

Returns isothermal bulk modulus of the composite [Pa] Aliased with self.K_T

adiabatic_bulk_modulus[source]

Returns adiabatic bulk modulus of the mineral [Pa] Aliased with self.K_S

isothermal_compressibility[source]

Returns isothermal compressibility of the composite (or inverse isothermal bulk modulus) [1/Pa] Aliased with self.beta_T

adiabatic_compressibility[source]

Returns isothermal compressibility of the composite (or inverse isothermal bulk modulus) [1/Pa] Aliased with self.beta_S

shear_modulus[source]

Returns shear modulus of the mineral [Pa] Aliased with self.G

p_wave_velocity[source]

Returns P wave speed of the composite [m/s] Aliased with self.v_p

bulk_sound_velocity[source]

Returns bulk sound speed of the composite [m/s] Aliased with self.v_phi

shear_wave_velocity[source]

Returns shear wave speed of the composite [m/s] Aliased with self.v_s

grueneisen_parameter[source]

Returns grueneisen parameter of the composite [unitless] Aliased with self.gr

thermal_expansivity[source]

Returns thermal expansion coefficient of the composite [1/K] Aliased with self.alpha

heat_capacity_v[source]

Returns heat capacity at constant volume of the composite [J/K/mol] Aliased with self.C_v

heat_capacity_p[source]

Returns heat capacity at constant pressure of the composite [J/K/mol] Aliased with self.C_p

C_p

Alias for heat_capacity_p()

C_v

Alias for heat_capacity_v()

G

Alias for shear_modulus()

H

Alias for molar_enthalpy()

K_S

Alias for adiabatic_bulk_modulus()

K_T

Alias for isothermal_bulk_modulus()

P

Alias for pressure()

S

Alias for molar_entropy()

T

Alias for temperature()

V

Alias for molar_volume()

alpha

Alias for thermal_expansivity()

beta_S

Alias for adiabatic_compressibility()

beta_T

Alias for isothermal_compressibility()

energy

Alias for internal_energy()

evaluate(vars_list, pressures, temperatures)

Returns an array of material properties requested through a list of strings at given pressure and temperature conditions. At the end it resets the set_state to the original values. The user needs to call set_method() before.

Parameters:

vars_list : list of strings

Variables to be returned for given conditions

pressure : array of float

Array of pressures in [Pa].

temperature : float

Array of temperatures in [K].

Returns:

output : array of array of float

Array returning all variables at given pressure/temperature values. output[i][j] is property vars_list[j] and temperatures[i] and pressures[i].

gibbs

Alias for molar_gibbs()

gr

Alias for grueneisen_parameter()

helmholtz

Alias for molar_helmholtz()

name

Human-readable name of this material.

By default this will return the name of the class, but it can be set to an arbitrary string. Overriden in Mineral.

pressure

Returns current pressure that was set with set_state().

Returns:

pressure : float

Pressure in [Pa].

Notes

  • Aliased with P().
print_minerals_of_current_state()

Print a human-readable representation of this Material at the current P, T as a list of minerals. This requires set_state() has been called before.

reset()

Resets all cached material properties.

It is typically not required for the user to call this function.

rho

Alias for density()

temperature

Returns current temperature that was set with set_state().

Returns:

temperature : float

Temperature in [K].

Notes

  • Aliased with T().
v_p

Alias for p_wave_velocity()

v_phi

Alias for bulk_sound_velocity()

v_s

Alias for shear_wave_velocity()

Table Of Contents

Previous topic

Main module

This Page