auxi.modelling.process.materials.slurry module

This module provides material and material package classes that can do size distribution and slurry calculations.

class auxi.modelling.process.materials.slurry.Material(name, file_path, description=None)

Bases: auxi.core.objects.NamedObject

Represents a particulate material consisting of multiple particle size classes.

Parameters:
  • name – The material’s name.
  • file_path – The path of the material definition file.
  • description – the material’s description

The format of the text file is as follows:

  • The lines are space separated. The values in a line are separated by one or more spaces.
  • The first line is a heading line.
  • The second line contains the density of the solid material.
  • The third line contains the water fraction of the slurry (wet basis).
  • All subsequent lines contain a particle size, followed by mass fractions (dry basis).
  • Particle sizes are indicated in [meter].
  • The first column lists the particle sizes in the material. Each class must be interpreted as “mass fraction retained”. In other words if the size class is indicated as 307.2E-3, it means that it is the class of material retained on a 307.2mm screen, and can also be though of as +307.2mm material. The first size class represents the largest particles. The final size class should be zero, as it represents all material that passed through the smallest aperture screen.
  • All subsequent columns describe assays of the material.

The following is an example of a material text file:

SizeClass       DryFeedA  DryMillCharge  WetFeedA  WetMillCharge  Water
solid_density   3.00      3.00           3.00      3.00           1.0.
H2O             0.00      0.00           0.80      0.60           1.00
307.2E-3        0.20      0.02           0.20      0.02           0.00
108.6E-3        0.18      0.06           0.18      0.06           0.00
38.4E-3         0.17      0.04           0.17      0.04           0.00
13.6E-3         0.07      0.03           0.07      0.03           0.00
4.8E-3          0.13      0.03           0.13      0.03           0.00
1.7E-3          0.07      0.04           0.07      0.04           0.00
600.0E-6        0.06      0.18           0.06      0.18           0.00
210.0E-6        0.02      0.50           0.02      0.50           0.00
75.0E-6         0.10      0.09           0.10      0.09           0.00
0.0E0           0.00      0.00           0.00      0.00           0.00
add_assay(name, solid_density, H2O_fraction, assay)

Add an assay to the material.

Parameters:
  • name – The name of the new assay.
  • assay – A numpy array containing the size class mass fractions for the assay. The sequence of the assay’s elements must correspond to the sequence of the material’s size classes.
create_empty_assay()

Create an empty array to store an assay. The array’s length will be equal to the number of size classes in the material.

Returns:A floating point array.
create_package(assay=None, mass=0.0, normalise=True)

Create a MaterialPackage based on the specified parameters.

Parameters:
  • assay – The name of the assay based on which the package must be created.
  • mass – [kg] The mass of the package.
  • normalise – Indicates whether the assay must be normalised before creating the package.
Returns:

The created MaterialPackage.

get_assay_total(name)

Calculate the total of the specified assay.

Parameters:name – The name of the assay.
Returns:The total mass fraction of the specified assay.
get_size_class_index(size_class)

Determine the index of the specified size class.

Parameters:size_class – The formula and phase of the specified size class, e.g. ‘Fe2O3[S1]’.
Returns:The index of the specified size class.
class auxi.modelling.process.materials.slurry.MaterialPackage(material, solid_density, H2O_mass, size_class_masses)

Bases: auxi.core.objects.Object

A package of a slurry material consisting of multiple particle size classes.

Parameters:
  • material – A reference to the Material to which self belongs.
  • size_class_masses – [kg] [kg] The masses of the size classes in the package.
clear()

Set all the size class masses and H20_mass in the package to zero and the solid_density to 1.0

clone()

Create a complete copy of self.

Returns:A MaterialPackage that is identical to self.
extract(other)

Extract ‘other’ from self, modifying self and returning the extracted material as a new package.

Parameters:other

Can be one of the following:

  • float: A mass equal to other is extracted from self. Self is reduced by other and the extracted package is returned as a new package.
  • tuple (size class, mass): The other tuple specifies the mass of a size class to be extracted. It is extracted from self and the extracted mass is returned as a new package.
  • string: The ‘other’ string specifies the size class to be extracted. All of the mass of that size class will be removed from self and a new package created with it.
Returns:A new material package containing the material that was extracted from self.
get_assay()

Determine the assay of self.

Returns:[mass fractions] An array containing the assay of self.
get_density()

Determine the density of self.

get_mass()

Determine the mass of self.

Returns:[kg] The mass of self.
get_mass_fraction_solids()

Determine the mass fraction of the solids of self.

get_size_class_mass(size_class)

Determine the mass of the specified size class in self.

Parameters:size_class – The formula and phase of the size class, e.g. ‘Fe2O3[S1]’
Returns:[kg] The mass of the size class in self.
get_size_class_mass_fraction(size_class)

Determine the mass fraction of the specified size class in self.

Parameters:size_class – The formula and phase of the size class, e.g. Fe2O3[S1]
Returns:The mass fraction of the size class in self.
get_solid_mass()

Determine the solid mass of self.

Returns:[kg] The solid mass of self.
get_volume()

Determine the volume of self.

get_volume_fraction_solids()

Determine the volume fraction of the solids of self.