idaes / idaes-pse Goto Github PK
View Code? Open in Web Editor NEWThe IDAES Process Systems Engineering Framework
Home Page: https://idaes-pse.readthedocs.io/
License: Other
The IDAES Process Systems Engineering Framework
Home Page: https://idaes-pse.readthedocs.io/
License: Other
David Miller suggest that I add the contents or my reply to Tom Flynn's email to a new FAQ section of the docs. See the reply below:
Hi Tom,
These are all good questions, let me take them one at a time...
On 4/14/20 8:25 AM, Flynn, Tom J wrote:
Thank you for the update information. This will be our first update cycle, since we initially installed the software on our computers. We have a couple of questions.
Installation of updates. How often should we update? Is it recommended to update to the latest version each time or can we skip updates. Do the updates have to be installed sequentially or does the latest update version pick up changes from previous updates?
You don't need to update sequentially. Any new update is really a re-install of the entire complete framework. So, the decision if or how often to update is really up to you based on if you need a feature or fix from the new release as described in the release notes, or based on other conversations you may have had with someone in the IDAES org. Hopefully though, upgrading to a new release is easy enough such that you stay up to date with the latest release without too much effort or concern.
How do we install updates. If we install the updates does the new version overwrite the old files? Do we need to install the new version side-by-side the old version.
You can install updates the same way you installed it originally ("conda create", "pip install", etc.). The update, since it really is a re-install, will overwrite the old files of the framework itself, but depending on how you installed and use the framework, it might be more reassuring to install it side-by-side first. Specifically, you will want to make sure that you haven't co-mingled your files using the framework with the framework files themselves. Since you are installing using Anaconda, that's unlikely to be the case. I'm assuming you have your files in a separate folder not within the conda environment (not under the ${CONDA_PREFIX} dir) but under a separate folder structure you created yourself. The very safest approach would be for your files using our framework to be backed up or kept in their repository somewhere for tracking and recovery, but that's entirely up to you.
Are the updates backward compatible i.e., will programs generated on older versions run on the new versions?
We strive that new releases with the same major version number will be backward compatible. That's the first number in a release, which so far for us is only "1". But given how easy it is to have multiple versions installed (when using Anaconda) and the varied and complex ways the framework can be used, the safe approach would be to install side-by-side into a new conda env, confirm your models, etc. still work with the new release and then remove the conda env with the old release when that's proven correct.
Do we need to preserve previous versions on our computers, i.e., install the updates in a new environment? We have installed full Anaconda3.
No, you don't need to preserve them, but again since installing in a new conda environment is pretty cheap and easy, I would recommend taking advantage of the flexibility that Anaconda provides and install new versions of IDAES into new conda environments. (As an IDAES developer and release manager, I literally have dozens of conda envs that I create and remove regularly.)
If one runs pylint -E ui
(after running pip install pylint
) you get to see all kinds of fun problems that should probably be fixed or at least looked into. Below is what I'm currently seeing.
************* Module modelvis.hda_reaction
ui/modelvis/hda_reaction.py:56:36: E0602: Undefined variable 'HDAReactionBlock' (undefined-variable)
ui/modelvis/hda_reaction.py:112:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_reaction.py:148:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_reaction.py:149:15: E1101: Instance of 'molar' has no 'molar' member (no-member)
************* Module modelvis.hda_ideal_VLE
ui/modelvis/hda_ideal_VLE.py:56:33: E0602: Undefined variable 'IdealStateBlock' (undefined-variable)
ui/modelvis/hda_ideal_VLE.py:341:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:512:23: E1101: Instance of 'unknown' has no 'optimal' member (no-member)
ui/modelvis/hda_ideal_VLE.py:530:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:623:31: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/hda_ideal_VLE.py:625:38: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/hda_ideal_VLE.py:802:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:803:15: E1101: Instance of 'molar' has no 'molar' member (no-member)
ui/modelvis/hda_ideal_VLE.py:839:15: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/hda_ideal_VLE.py:877:15: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/hda_ideal_VLE.py:962:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:994:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:1007:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:1025:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:1057:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/hda_ideal_VLE.py:1070:4: E0213: Method should have "self" as first argument (no-self-argument)
************* Module modelvis.flowsheetvisdemo.hda_reaction
ui/modelvis/flowsheetvisdemo/hda_reaction.py:56:36: E0602: Undefined variable 'HDAReactionBlock' (undefined-variable)
ui/modelvis/flowsheetvisdemo/hda_reaction.py:112:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_reaction.py:148:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_reaction.py:149:15: E1101: Instance of 'molar' has no 'molar' member (no-member)
************* Module modelvis.flowsheetvisdemo.hda_ideal_VLE
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:56:33: E0602: Undefined variable 'IdealStateBlock' (undefined-variable)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:341:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:512:23: E1101: Instance of 'unknown' has no 'optimal' member (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:530:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:623:31: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:625:38: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:802:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:803:15: E1101: Instance of 'molar' has no 'molar' member (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:839:15: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:877:15: E1101: Instance of 'Var' has no 'value' member; maybe 'values'? (no-member)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:962:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:994:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:1007:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:1025:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:1057:4: E0213: Method should have "self" as first argument (no-self-argument)
ui/modelvis/flowsheetvisdemo/hda_ideal_VLE.py:1070:4: E0213: Method should have "self" as first argument (no-self-argument)
This is a user support question, which I can't immediately resolve. I'm putting it in here, so I don't forget to keep on it and also in hopes that someone else knows the answer.
It looks like for whatever reason, an extra ia32 -c
is getting thrown in. I can't figure out why this is happening. I haven't encountered this before.
The offending makefile is here: https://github.com/IDAES/idaes-pse/blob/master/idaes/property_models/iapws95_lib/Makefile. This is Mingw with MSYS2, following the IDAES install instructions.
We need to macOS binaries for completeness in our install instruction coverage. We have ARM64 binaries now is that sufficient? If we need x86_64, how are we going to get there? Maybe GitHub actions without HSL could be a step toward that.
Related issues and PRs:
I'm not sure what we can do about this, but while I was working on the PID model, a few times I made a small error, and when I went to run the model I got like 100 pages of error messages, and it was pretty hard to see what went wrong. I think this may have something to do with the way the DAE expansion works.
We should see if there is something we can do to make it fail immediately if there is a problem. If that's not possible, maybe somehow remember the original exception and show that last so it's easier to track down the problem.
I know I wasn't very specific, but I can probably provide concrete examples. You probably know what I'm talking about though. Somehow getting clear error messages is important for usability, I can barely make it out and I almost know what I'm doing and almost understand what's going on with this.
I find that the unit model such as Mixer can call get_enthalpy_flow_terms, which is defined as shown below.
def get_enthalpy_flow_terms(self, p):
"""Create enthalpy flow terms."""
return self.flow_mol_phase[p] * self.enth_mol_phase[p]
what I need to do is to read this value for some port, when I use the following method to read this value, m.fs.R101.outlet.get_enthalpy_flow_terms['Vap'], Python gave AttributeError: 'SimplePort' object has no attribute 'get_enthalpy_flow_terms'.
I have found that only the variables defined as the state variable via define_state_vars(self) as shown in the next fig., can be read via m.fs.R101.outlet.temperature[0].value. I guess these variables defined via define_state_vars(self) are global variables, while other variables are local variables, would you like to tell me how to read such local variables, for example, the get_enthalpy_flow_terms value.
Missing methanol_reaction ,compressor and expander as shown below:
#from methanol_reaction import MethanolReactionParameterBlock
#from compressor import IdealGasIsentropicCompressor
#from expander import Expander
Hi,
I found that there are too many config when build a unit such as flash or PFR reactor. They share some common config such as "dynamic","material_balance_type", while they have some unique configs, for example the config block of PFR reactor has "reaction_package" .
My question is why the the CONFIG block has an attribution of reaction_package when "reaction_package" has not been declared with the method of CONFIG.declare() for the Flash model. and the value of self.config.reaction_package is None.
In the UI, the labels should be justified so that the variable name is on the left side and the value is on the right side.
I'm trying to define a unit block that has multiple inputs/outputs. How do I construct the balance equation using "ControlVolume0DBlockData" or some basic class else? - It seems the "properties_in" and "properties_out" are only indexed by time in "ControlVolume0DBlockData"?
User-defined property packages using the generic framework will likely be poorly scaled, so we should include support for user defined scaling in this.
Currently, the generic property package framework does not validate the methods provided as configuration argument, i.e. a user could provide a method for cp as the method for enthalpy and no issue would be raised.
We should add some method for validating these so that if a method is used for something it wasn't designed for, the user will be informed.
We may want to add a test to be sure ma27 is available in Ipopt to the current Ipopt test. This serve two purposes. It will let users know they don't have the "good" Ipopt. It will also make sure our builds don't come up missing the HSL.
Copied from https://github.com/IDAES/idaes-private/issues/366
From the May 2018 Stakeholder meeting, one suggestion for a valuable feature was tools for managing flowsheet complexity and specification.
Two suggested tools were:
It would be nice if users could access the most recent documentation. Currently, when I click on "master" and "latest" versions on https://idaes-pse.readthedocs.io/ it states that those pages don't exist.
when I use degrees_of_freedom , the following error occurs.
AttributeError: 'NoneType' object has no attribute 'is_relational',
I guess the inequity constraint leads to this issue.
We tried to install IDAES in Ubuntu 16.04.
These are the commands that we used:
# This is in the terminal.
$ mkdir dockerDir
$ cd dockerDir
$ touch Dockerfile
# This is in the Dockerfile created just now.
FROM Jupyter/datascience-notebook:latest
RUN conda install --quiet -y glpk==4.65 pyomo==5.7 && \
conda clean --all -f -y && \
fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER
RUN pip install --quiet --no-cache-dir idaes-pse==1.5.1 && \
fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER
RUN idaes get-extensions
RUN idaes get-examples
# This is in the terminal.
$ sudo docker build -t jupyter/test-notebook:latest
In the terminal it says successfully installed all of the packages, and also got extensions and examples of idaes.
When we entered JupyterLab, both import pyomo
and import idaes
work but there is no examples folder, so we cannot do workshops.
We checked the path with the command idaes lib-directory
in the terminal of JupyterLab, and entered where it says the files are, but there is still no any files inside the lib folder.
The developer docs doesn't cover much wrt conda environments. It should.
@adowling2 points out that we had that topic included in the original install docs (as found in an old copy our install docs "install-docs.pdf" on box).
I'm thinking a short section describing what conda is, why one might want to use it (or perhaps not) could be helpful for developers to know about.
In some case, phase of stream is not only Vap or Liq, but also solid, how to deal with solids in idaes?
Hi, would you like to answer me these questions?
(1)Is that possible to build all the unit models(including columns, separators, heat exchangers, even other complicated unit) using the ControlVolume0DBlock or ControlVolume1DBlock as shown in the picture?
(2)Is that possible to add "add_material_balances"/"add_total_enthalpy_balances"/"add_state_blocks" into the ControlVolume0DBlock in theory, just the same as what "property_package"/"dynamic" does.
Currently in examples-dev and the docs reorganization IDAES/idaes-dev#943, there is only one example for surrogate modeling (one for ALAMO). There are many files in the examples-dev/src/surrogate folder though. Are these examples good for release or was there a reason that they weren't posted?
When, in a fresh clone of idaes-pse, I try:
pip install -r requirements-dev.txt
I get:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0054678610>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/sphinxcontrib-serializinghtml/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0052b13be0>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/sphinxcontrib-serializinghtml/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0052b13850>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/sphinxcontrib-serializinghtml/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0052b13220>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/sphinxcontrib-serializinghtml/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0052b139d0>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/sphinxcontrib-serializinghtml/
ERROR: Could not find a version that satisfies the requirement sphinxcontrib-serializinghtml (from sphinx->sphinx-rtd-theme>=0.1.9->idaes-pse==1.6.0.dev0->-r requirements-dev.txt (line 12)) (from versions: none)
ERROR: No matching distribution found for sphinxcontrib-serializinghtml (from sphinx->sphinx-rtd-theme>=0.1.9->idaes-pse==1.6.0.dev0->-r requirements-dev.txt (line 12))
If I comment out the sphinx-rtd-theme requirement in the dev section of setup.py "extras_require", it completes.
External user email issue:
We wiped the computer clean and reinstalled Ubuntu and Anaconda and all that seemed to work well. However when we executed “pip install ideas-pse” command we received an error “Building wheel for psutil (setup.py)” ……”Failed building wheel for psutil”. Then “Running setup.py clean for psutil error”. So the idaes software installation is not completed.
The python version is 3.7.
On occasion it seems that pip tries to compile some required packages. This isn't necessarily an IDAES problem, but we should try to identify what causes pip to try to compile a package and improve documentation to avoid it.
@adowling2 proposed creating a "splash page" for all the modeling extensions for IDAES. The idea behind this was to have a 3-5 sentence description with a figure for each modeling extension in the user guide (docs/user_guide/modeling_extensions/index.rst).
The things we are considering to be modeling extensions include: all the surrogate tools, matopt, mpc, and caprese.
Please provide this description and image in the user_guide/modeling_extensions/index.rst file. The image should be placed in the docs/_images folder and can be placed in the rst file with the follow:
.. image:: ../../../_images/<image name>.png
:width: <desired size in pixels (e.g. 600px)>
The developer section of the docs should describe how to use readthedocs.com to generate your fork's docs. It will need to be readthedocs.com because your fork (of idaes-dev) is likely private.
Is it possible to link external property databank to IDAES, such as the ChemSep open source database? Rahul Jain et al. have implemented this method in OpenModelica. OpenModelica is also equation oriented. please refer to the paper titled 'Implementation of a Property Database and Thermodynamic Calculations in OpenModelica for Chemical Process Simulation' as well as the 'https://github.com/FOSSEE/OMChemSim/'.
Ps. what's the development status of the column model? If you are familiar with the work of https://github.com/FOSSEE/OMChemSim/, could you please tell me what's the advantage of the IDAES platform? Maybe the solver or other perspectives.
Hi!
I followed the Minimal installation for IPOPT/MUMPS (https://idaes-pse.readthedocs.io/en/stable/install/minimal.html#min-install-osx) and I got to the step 6 without problem. But when I run the setup.py file (python setup.py develop) I got
File "setup.py", line 162
print(f"alamopy dir: {alamopy_dir}")
^
SyntaxError: invalid syntax
Can I ignore it and continue to the next step or should I do something about it?
Thank you
I got the following error: AlamoError: Cannot read from trace file "trace.trc": [Errno 2] No such file or directory: 'trace.trc', after running alamopy.alamo(xdata = data,zdata = label). Here my data is a DataFrame, and label is an array. I tried converting data to an array, and label to Series, but it didn't work either. Would you please let me know where to find that "trace.trc" file?
Copied from https://github.com/IDAES/idaes/issues/129
The following needs to be completed before next release (carried over from IDAES/idaes-dev#40):
Equilibrium reactor
Tray Model
Feed Block
Feed Block with Flash
Product Block
Translator Block
Ideal property package
CEOS property package
NRTL property package
distillation column model
Documentation will also be required.
about the Docker image on S3
Hi,
I get this when I try the Dynamic flowsheet tutorial. Is this the issue of Pyomo or Ipopt? Can't see where the problem is.
Thanks.
As we are getting more issues asking for new examples and tutorials, I am creating this issue as a master list of all areas identified as needing examples or tutorials. Feel free to add new items to the list as needed, and we can periodically cull things that have been checked off.
Flowsheets
Unit Models
Properties
Currently, the generic property package framework assumes Raoult's law (or derivatives) for all components. Support for Henry components needs to be added.
When trying to build the idaes/jupyterhub docker container, it fails with the following problem (this is just the beginning of a very large output):
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- alembic -> python[version='>=3.8,<3.9.0a0']
- bleach -> python[version='>=3.8,<3.9.0a0']
- jinja2 -> python[version='>=3.8,<3.9.0a0']
- jupyterlab_server -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.8,<3.9.0a0|3.4.*']
- mako -> python[version='>=3.8,<3.9.0a0']
- oauthlib -> python[version='>=3.8,<3.9.0a0']
- prometheus_client -> python[version='>=3.8,<3.9.0a0']
- pygments -> python[version='>=3.8,<3.9.0a0']
- python-dateutil -> python[version='>=3.8,<3.9.0a0']
- python-json-logger -> python[version='2.7.*|3.5.*|3.6.*']
- testpath -> python[version='3.4.*|>=3.8,<3.9.0a0']
Your python: python=3.7
...
Note entirely sure what to do here. It looks like idaes/jupyterhub has pyton 3.7 but that is incompatible with several packages we try to install, as they want 3.8. I suppose we could try fixing them all to earlier 3.7 friendly versions or move to 3.8?
I discovered this while working on PR IDAES/idaes-dev#760 but it happens independent of that change.
When I test the PR CEOS, I encounter the error "Cannot find library "/Users/eden/.idaes/lib/cubic_roots.so".
function ceos_z_liq not available" encouted. Would you like to tell me how to compile the cubic_roots.c to get cubic_roots.so?
Related to IDAES/idaes-dev#344
Need to implement a activity coefficient models as an option for the generic framework.
I find that Mac OS is Not supported by ideas. is it possible to let it be supported.
As the title mentioned
The Convergence evaluation code will be pushed soon. This issue is here to collect some feature requests for the tool.
To-do:
Related issues:
When I follow the instruction for a full Windows install of IDAES here, I get errors when installing ASL.
When I run this code:
wget https://ampl.com/netlib/ampl/solvers.tgz
tar -zxvf solvers.tgz
cd solvers
./configure
make
I get the following error after the final line of code (make):
$ make
cd ${OBJDIR=sys.`uname -m`.`uname -s`}; make
make[1]: Entering directory '/c/Users/miles/src/solvers/sys.x86_64.MSYS_NT-10.0-17763'
gcc -c -O -DNO_RUSAGE -DASL_NO_FPINITMT fpinit.c
make[1]: gcc: Command not found
make[1]: *** [makefile:234: arith.h] Error 127
make[1]: Leaving directory '/c/Users/miles/src/solvers/sys.x86_64.MSYS_NT-10.0-17763'
make: *** [makefile:2: amplsolver] Error 2
Also, I thought I should note that I noticed a few other errors in the installation documentation.
A couple of these errors are extremely minor, but figured you may want to edit them.
Stems for issue IDAES/idaes-dev#102
There are some ideas for additional model statistics that we should add to statistics utility methods.
Hi all, I am trying to apply the IDAES platform to my heat conduction model, which is a partial differential equation. Can we apply both the time domain and the spatial domain as two continuous sets in the IDAES platform? If it is possible, do you have any example? Thank you.
With ALAMO installed, I'm seeing the following test failure:
$ pytest -v --tb=no idaes/dmf/tests/test_surrmod.py::test_run
================================================== test session starts ==================================================
platform linux -- Python 3.7.7, pytest-5.4.3, py-1.9.0, pluggy-0.13.1 -- /home/ksb/anaconda3/envs/idaes-dev/bin/python
cachedir: .pytest_cache
rootdir: /home/ksb/Projects/IDAES/github/IDAES/idaes-dev, inifile: pytest.ini
collected 1 item
idaes/dmf/tests/test_surrmod.py::test_run FAILED [100%]
[test_surrmod.py::test_run.txt](https://github.com/IDAES/idaes-dev/files/4963649/test_surrmod.py.test_run.txt)
================================================ short test summary info ================================================
FAILED idaes/dmf/tests/test_surrmod.py::test_run - idaes.dmf.errors.AlamoError: ALAMO Error: ************************...
=================================================== 1 failed in 3.44s ===================================================
The full output of the test is here: test_surrmod.py::test_run.txt
Hi
I have followed the instructions with pip3 install idaes-pse, idaes get-extensions, set PATH to (in my case) /home/allan/.local/bin but when I run the test, I get the following errors:
File "/home/allan/.local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 152, in exec_module
exec(co, module.__dict__)
File "/home/allan/anaconda3/lib/python3.7/site-packages/hypothesis/__init__.py", line 26, in <module>
from hypothesis.core import example, find, given, reproduce_failure, seed
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "/home/allan/.local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 152, in exec_module
exec(co, module.__dict__)
File "/home/allan/anaconda3/lib/python3.7/site-packages/hypothesis/core.py", line 67, in <module>
from hypothesis.internal.conjecture.engine import ConjectureRunner, sort_key
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "/home/allan/.local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 152, in exec_module
exec(co, module.__dict__)
File "/home/allan/anaconda3/lib/python3.7/site-packages/hypothesis/internal/conjecture/engine.py", line 41, in <module>
from hypothesis.internal.conjecture.pareto import NO_SCORE, ParetoFront, ParetoOptimiser
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "/home/allan/.local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 152, in exec_module
exec(co, module.__dict__)
File "/home/allan/anaconda3/lib/python3.7/site-packages/hypothesis/internal/conjecture/pareto.py", line 22, in <module>
from hypothesis.internal.conjecture.shrinker import sort_key
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "/home/allan/.local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 152, in exec_module
exec(co, module.__dict__)
File "/home/allan/anaconda3/lib/python3.7/site-packages/hypothesis/internal/conjecture/shrinker.py", line 1447, in <module>
@attr.s(slots=True, eq=False)
TypeError: attrs() got an unexpected keyword argument 'eq'
I was unable to install libgfortran3 on this distro and instead installed libgfortran9 which is the default.
Any help please.
Cheers
I just take an example to illustrate the problem: In a flowsheet, there are nine species for the whole flowsheet, but there are only five species in the first unit, that is there are 4 species in the first unit having zero flow. unfortunately, phase equilibrium should be considered in the first unit, which will cause some problem in the activity coefficient properties equations, namely zero flow will cause many numerical problem, such as 1/0, log(0),0^0.5 and so on. is there some good method to deal with this problem?
I have another question. how to initialize properties package, is there something like m.fs.unit.initialize()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.