Composites

Base class

class burnman.composite.Composite(phases, fractions=None, fraction_type='molar', name='Unnamed composite')[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.

property 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_fractions(fractions, fraction_type='molar')[source]

Change the fractions of the phases of this Composite. Resets cached properties

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]

Print a human-readable representation of this Material.

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
fractionslist of float

List of molar fractions, should sum to 1.0.

mineralslist of burnman.Mineral

List of minerals.

Notes

Needs to be implemented in derived classes.

to_string()[source]

return the name of the composite

property formula

Returns molar chemical formula of the composite

property molar_internal_energy

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

property molar_gibbs

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

property molar_helmholtz

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

property molar_volume

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

property molar_mass

Returns molar mass of the composite [kg/mol]

property density

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

property molar_entropy

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

property molar_enthalpy

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

property isothermal_bulk_modulus

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

property adiabatic_bulk_modulus

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

property isothermal_compressibility

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

property adiabatic_compressibility

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

property shear_modulus

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

property p_wave_velocity

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

property bulk_sound_velocity

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

property shear_wave_velocity

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

property grueneisen_parameter

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

property thermal_expansivity

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

property molar_heat_capacity_v

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

property molar_heat_capacity_p

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

property C_p

Alias for molar_heat_capacity_p()

property C_v

Alias for molar_heat_capacity_v()

property G

Alias for shear_modulus()

property H

Alias for molar_enthalpy()

property K_S

Alias for adiabatic_bulk_modulus()

property K_T

Alias for isothermal_bulk_modulus()

property P

Alias for pressure()

property S

Alias for molar_entropy()

property T

Alias for temperature()

property V

Alias for molar_volume()

property alpha

Alias for thermal_expansivity()

property beta_S

Alias for adiabatic_compressibility()

property beta_T

Alias for isothermal_compressibility()

copy()
property energy

Alias for molar_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_listlist of strings

Variables to be returned for given conditions

pressuresndlist or ndarray of float

n-dimensional array of pressures in [Pa].

temperaturesndlist or ndarray of float

n-dimensional array of temperatures in [K].

Returns
outputarray 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].

property gibbs

Alias for molar_gibbs()

property gr

Alias for grueneisen_parameter()

property helmholtz

Alias for molar_helmholtz()

property pressure

Returns current pressure that was set with set_state().

Returns
pressurefloat

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.

property rho

Alias for density()

property temperature

Returns current temperature that was set with set_state().

Returns
temperaturefloat

Temperature in [K].

Notes

  • Aliased with T().

property v_p

Alias for p_wave_velocity()

property v_phi

Alias for bulk_sound_velocity()

property v_s

Alias for shear_wave_velocity()