tarao1006 / pyheatintegration Goto Github PK
View Code? Open in Web Editor NEWPython package to support heat integration.
Home Page: https://pyheatintegration.vercel.app/
License: MIT License
Python package to support heat integration.
Home Page: https://pyheatintegration.vercel.app/
License: MIT License
readthedocsに英語表記を追加する
uuidが同じ流体かつ温度変化が連続であり、熱交換器が隣接している場合、結合可能としている。この条件に加えて、傾きが同じである必要があるため、追加する。
readthedocsのビルドでpython3.7が使用されているため、warningが生じ、APIが正しく表示されていない。 .readthedocs.yaml
の中で testing
を指定しているため、python3.9が使われるはずであるが、ログを見ると3.7が使用されている。
熱交換を全て外部流体によって行う場合にかかるコストと、ヒートインテグレーションを行った場合にかかるコストを比較可能にする。
Excelでプロットできるように、データをx座標とy座標のリストで持つデータを TQDiagram
に追加する。
pythonをあまり使用したことがないユーザーでも使用できるようにドキュメントを拡充する。
PinchAnalyzer
の ignore_maximum
を True
とすることで、最小接近温度差の最大値のバリデーションを回避できるようにしている。
streams
内に外部流体がない場合は、デフォルトで ignore_maximum
を True
とする。streams
内に外部流体がない場合でもバリデーションを行いたい場合は、引数で渡すようにする。流体の状態が StreamState.UNKNOWN
の場合、熱交換器の面積を求める際に、エラーとするか無視するかを選択できるように変更する。
最小接近温度差のバリデーションが複数箇所で行われているので、 get_possible_minimum_temp_diff
が TemperatureRange(minimum, maximum)
に変更し、条件を temp in TemperatureRange(minimum, maximum)
に変更する。
GrandCompositeCurve
で外部流体の交換熱量を求める際に、コストが小さい流体から優先的に熱交換を行うようにする。
熱交換器のコスト計算には、総括伝熱係数が必要となる。総括伝熱係数は、流体の状態によって異なる値となる。プロセスデザインコンテストの課題が参考になる。
ただし、利用者が設定できるようにもしたいので、
を行いたい。
まずは、デフォルトの総括伝熱係数を設定する。
プロセスデザインコンテスト内のドキュメントを参考にして、利用可能な外部流体を提供できるようにする。
ドキュメントに設定しているロゴが正しく表示されない。パスが ./_static/logo-120x120.png
となるべきだが、 ./_static/./images/logo-120x120.png
となっていることが原因。
split
の過去分詞形は split
。 splitted
ではない。separated
とすべき箇所を separeted
にtypoしている。ignore_maximum
を指定した場合、最小接近温度差の最大値のチェックを無視することができる。便宜的に最大値を math.inf
としているが、この場合デタラメな値を設定した場合、うまく動作しない。そこで、便宜的な最大値を 与熱流体の最高温度 - 受熱流体の最低温度
に変更する。
色々な箇所で型を list
としているが、Iterable
で十分な箇所も多いので、変更できる箇所は変更を行う。
PinchAnalyzer
のコンストラクタで get_possible_minimum_temp_diff_range
を呼び出し、指定した最小接近温度差が指定可能範囲内であるかを検証している。
しかし、 PinchAnalyzer
のコンストラクタを呼び出す前に get_possible_minimum_temp_diff_range
を呼び出して、検証したのちにコンストラクタに正常な最小接近温度差を渡すこともできる。
一種類の方法のみで最小接近温度差を検証できるように変更する。
InvalidMinimumTempDiffError
を作成し、指定した最小接近温度差の値が不正な場合にこのエラーを投げる。
アップロードするCSVファイル、jsonファイルのフォーマットを説明するページを追加する。
最小接近温度差の最大値は、
のうち小さい値が正しい。
get_possible_minimum_temp_diff_range
の戻り値に負が含まれる場合がある。→ max(minimum_minimum_approch_temp_diff, 0)
とするように変更する。
maximum_minimum_approch_temp_diff
が負となる場合、完全な熱交換は不可能である。しかし、外部流体を用意せずにTQ線図を描きたい要請に応える必要もある。→ PinchAnalyzer
のコンストラクタの引数に ignore_maximum
を追加し、最大値のバリデーションを無視できるようにする。
外部流体のコストを計算できるようにする。
__init__.py
に
from .errors import PyHeatIntegrationError
を追加する。
PyHeatIntegrationError
を定義し、
except PyHeatIntegrationError
で例外を処理できるように変更する。
pypiのプロジェクトのトップページで、GitHubの絶対パスを指定しているのにも関わらず、画像が表示されません。
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.