Comments (8)
Can we just add a check that if len(kwargs) != 0: warn and print(kwargs)
to the end of equilibrium (and calculate, etc.)? The idea being since we use kwargs.pop() to get our kwargs, ideally kwargs is empty at the end of the function since we've popped everything we want and if len(kwargs) is non-zero that means we passed some kwarg that did not get used.
One downside, besides being messy, is that kwargs in branch logic that don't get popped would raise warnings. Not sure where/if that would happen.
It seems like someone else should've solved this problem nicely, but I'm not using the right search terms for it.
from pycalphad.
Your solution sounds fine.
from pycalphad.
Which functions? equilibrium and calculate? Since those are the ones that would affect the intended calculation. Anywhere else?
from pycalphad.
I'm inclined to say just equilibrium and calculate since the API for other pycalphad objects isn't too complicated. One issue is that this is liable to cause forward and backward compatibility issues as kwargs appear and disappear from the API.
from pycalphad.
Regarding compatibility: that's what we want right? You don't want equilibrium/calculate to eat some outdated API and not give the intended result.
from pycalphad.
from pycalphad.
calculate tries to convert remaining kwargs into StateVariables, so passing invalid kwargs to calculate is actually not possible without raising an exception (line 415 in calculate.py).
from pycalphad.
Just handling the case for equilibrium should be fine then.
from pycalphad.
Related Issues (20)
- Duplicate Species name error when parsing FactSage DAT into Database HOT 4
- Solver: convergence failure in Cr-Ti-V HOT 5
- Incomplete phase diagram HOT 4
- Cannot zoom in - ternary phase diagram HOT 4
- Pseudo binary phase diagram HOT 1
- bug in core/halton.py HOT 3
- Equilibrium not correctly reached for some temperatures
- Bug with custom model calculating entropy HOT 7
- Database: parsing integer literals with leading zeros
- Issue with importing TDB file from TDBDB HOT 3
- Calculation assigns wrong colors to phases in the legend. Sorting does not help. HOT 3
- open MatCalc open database HOT 1
- Error in equilibrium with pycalphad 0.10.2 HOT 4
- Scheil solidification result problem: fraction liquid is always 1 HOT 4
- Local Equilibrium Failiure in Pycalphad 0.10.2
- Pycalphad equilibrium convergence (no phases are seen)
- Unexpected output for calculations on Python 3.11 HOT 1
- Charged phases that cannot charge balance raise errors HOT 3
- About phase diagrams in multicomponent systems
- Database: Issue importing tdb. file HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycalphad.