New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Workspace API #432
base: develop
Are you sure you want to change the base?
ENH: Workspace API #432
Conversation
…r of a dot derivative
…a separate module
Here's the link to my fork where I made the changes, which might help more: https://github.com/sorkins/richardotis-pycalphad/tree/dot_derivatives_ss |
… around contiguity bug
…es on some platforms
… is specified that causes the phase to have zero feasible points. Fixes pycalphadgh-503
I'm just starting to use this a bit, I'm wondering if I missed if there's a hook to give units for |
The way it works at the moment is somewhat hacky. You can assign a variable to this module: https://github.com/richardotis/pycalphad/blob/a0541fe69317348d0627ab72440b00c84a3891a0/pycalphad/property_framework/units.py#L22-L36 |
…, for pickling support
Workspace
object and associated imperative API. This object now underlies theequilibrium
function, which remains for backwards compatibility. AWorkspace
object can be mutated after creation. TheWorkspace.get()
function acceptsComputableProperty
objects as input and returns arrays; theWorkspace.plot()
function works similarly, but returns amatplotlib
figure. Fixes Develop a wrapper API for plotting properties from calculate and equilibrium #154PhaseRecordFactory
object and associated connections toPhaseRecord
, which enables deferred compilation of symbolically-defined model properties until they are called in thePhaseRecord
API. ThePhaseRecord
object also gainsprop
andprop_grad
functions for computing properties and property gradients of arbitrary symbolic attributes ofModel
instances.IsolatedPhase
andDormantPhase
meta-properties. Meta-properties are objects that know how to create new properties (as defined by the CPF). In this case, these meta-properties know how to start sub-calculations . The current way of finding starting points for these calculations is not ideal and prone to failure (basically reusesCompositionSet
objects from the workspace equilibrium calculation), but it works well in the typical case.pint
. AllComputableProperty
objects have "implementation units" and "display units." Implementation units are what are assumed by the underlying numerical computation (which is done without units, for performance). The display units are what the user gets whenWorkspace.get
orWorkspace.plot
are called.ComputableProperty.__getitem__
allows the display units to be changed for individual calls toWorkspace.get
,Workspace.plot
, or when settingWorkspace.conditions
.Documentation
PandasRenderer
.setup.py
(runtime requirements)