Composites

Base class

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

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

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_volume

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

molar_mass

Returns molar mass of the composite [kg/mol]

density

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

molar_entropy

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

molar_enthalpy

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

isothermal_bulk_modulus

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

adiabatic_bulk_modulus

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

isothermal_compressibility

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

adiabatic_compressibility

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

shear_modulus

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

p_wave_velocity

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

bulk_sound_velocity

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

shear_wave_velocity

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

grueneisen_parameter

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

thermal_expansivity

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

heat_capacity_v

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

heat_capacity_p

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

pressures : ndlist or ndarray of float

n-dimensional array of pressures in [Pa].

temperatures : ndlist or ndarray of float

n-dimensional 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()