## Submodules¶

The constraints module contains definitions for equilibrium constraints and their Jacobian.

pycalphad.constraints.mole_fraction(phase, active_comps, species)[source]

Return a SymPy object representing the mole fraction as a function of site fractions.

Parameters: phase (Phase) – Phase object corresponding to the phase of interest. active_comps (list of str) – Names of components to consider. species (str) – Names of species to consider. SymPy object representing the mole fraction.

Examples

>>> dbf = Database('alfe_sei.TDB')
>>> mole_fraction(dbf.phases['FCC_A1'], ['AL', 'FE', 'VA'], 'AL')


This module contains routines for fitting new CALPHAD models.

class pycalphad.fitting.Dataset(error_func, calc_func, exp_data, json)

Bases: tuple

__getnewargs__()

Return self as a plain tuple. Used by copy and pickle.

__getstate__()

Exclude the OrderedDict from pickling

__repr__()

Return a nicely formatted representation string

calc_func

Alias for field number 1

error_func

Alias for field number 0

exp_data

Alias for field number 2

json

Alias for field number 3

pycalphad.fitting.build_pymc_model(dbf, dataset_names, params)[source]

Build a pymc (2.x) Model using the specified data and parameters.

Parameters: dbf (Database) – Database with defined parameters, except for params. dataset_names (list of str) – List of paths to pycalphad JSON files. params (list of pymc.Stochastic) – Parameters to fit. (pymc.Model, dict of Dataset)
pycalphad.fitting.plot_results(input_database, datasets, params, databases=None)[source]

Generate figures using the datasets and trace of the parameters. A dict of label->Database objects may be provided as a kwarg.

pycalphad.fitting.setup_dataset(file_obj, dbf, params, mode=None)[source]

The log module handles setup for logging errors, debug messages and warnings.

pycalphad.log.debug_mode()[source]

Set logger level to log debug messages.

The Model module provides support for using a Database to perform calculations under specified conditions.

exception pycalphad.model.DofError[source]

Bases: exceptions.Exception

Error due to missing degrees of freedom.

class pycalphad.model.Model(dbe, comps, phase, parameters=None)[source]

Bases: object

Models use an abstract representation of the function for calculation of values under specified conditions.

Parameters: dbf (Database) – Database containing the relevant parameters. comps (list) – Names of components to consider in the calculation. phase (list) – Name of phase model to build. parameters (dict) – Optional dictionary of parameters to be substituted in the model. This will overwrite parameters specified in the database
None yet.

Examples

None yet.

CPM
CPM_MIX
DOO
GM
GM_MIX
HM
HM_MIX
SM
SM_MIX
TC = 0
ast

Return the full abstract syntax tree of the model.

atomic_ordering_energy(dbe, disordered_phase_name, ordered_phase_name)[source]

Return the atomic ordering contribution in symbolic form. Description follows Servant and Ansara, Calphad, 2001.

build_phase(dbe, phase_name, symbols, param_search)[source]

Apply phase’s model hints to build a master SymPy object.

curie_temperature = 0
degree_of_ordering
energy
enthalpy
entropy
excess_mixing_energy(phase, param_search)[source]

Build the binary, ternary and higher order interaction term Here we use Redlich-Kister polynomial basis by default Here we use the Muggianu ternary extension by default Replace y_i -> y_i + (1 - sum(y involved in parameter)) / m, where m is the arity of the interaction parameter

gradient = None
heat_capacity
ideal_mixing_energy(phase, param_search)[source]

Returns the ideal mixing energy in symbolic form.

magnetic_energy(phase, param_search)[source]

Return the energy from magnetic ordering in symbolic form. The implemented model is the Inden-Hillert-Jarl formulation. The approach follows from the background section of W. Xiong, 2011.

mixing_energy
mixing_enthalpy
mixing_entropy
mixing_heat_capacity
static mole_fraction(species_name, phase_name, constituent_array, site_ratios)[source]

Return an abstract syntax tree of the mole fraction of the given species as a function of its constituent site fractions.

Note that this will treat vacancies the same as any other component, i.e., this will not give the correct _overall_ composition for sublattices containing vacancies with other components by normalizing by a factor of 1 - y_{VA}. This is because we use this routine in the order-disorder model to calculate the disordered site fractions from the ordered site fractions, so we need _all_ site fractions, including VA, to sum to unity.

redlich_kister_sum(phase, param_search, param_query)[source]

Construct parameter in Redlich-Kister polynomial basis, using the Muggianu ternary parameter extension.

reference_energy(phase, param_search)[source]

Returns the weighted average of the endmember energies in symbolic form.

standard_mole_fraction(species)[source]

Mole fraction which correctly normalizes for vacancies.

variables

Return state variables in the model.

class pycalphad.model.TestModel(dbf, comps, phase, solution=None, kmax=None)[source]

Test Model object for global minimization.

Equation 15.2 in: P.M. Pardalos, H.E. Romeijn (Eds.), Handbook of Global Optimization, vol. 2. Kluwer Academic Publishers, Boston/Dordrecht/London (2002)

Parameters: dbf (Database) – Ignored by TestModel but retained for API compatibility. comps (sequence) – Names of components to consider in the calculation. phase (str) – Name of phase model to build. solution (sequence, optional) – Float array locating the true minimum. Same length as ‘comps’. If not specified, randomly generated and saved to self.solution
None yet.

Examples

None yet.

The refdata module contains pure-element reference state data.

Classes and constants for representing thermodynamic variables.

class pycalphad.variables.ChemicalPotential[source]

Chemical potentials are symbols with built-in assumptions of being real.

__str__()[source]

String representation.

default_assumptions = {}
class pycalphad.variables.Composition[source]

Compositions are symbols with built-in assumptions of being real and nonnegative.

default_assumptions = {}
pycalphad.variables.MU

alias of ChemicalPotential

class pycalphad.variables.PhaseFraction[source]

Phase fractions are symbols with built-in assumptions of being real and nonnegative. The constructor handles formatting of the name.

default_assumptions = {}
class pycalphad.variables.SiteFraction[source]

Site fractions are symbols with built-in assumptions of being real and nonnegative. The constructor handles formatting of the name.

__str__()[source]

String representation.

default_assumptions = {}
class pycalphad.variables.StateVariable[source]

Bases: sympy.core.symbol.Symbol

State variables are symbols with built-in assumptions of being real.

default_assumptions = {}
pycalphad.variables.X

alias of Composition

pycalphad.variables.Y

alias of SiteFraction

pycalphad.variables.site_fraction

alias of SiteFraction