You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/general_helmholtz/doc/documentation.tex
+32-1
Original file line number
Diff line number
Diff line change
@@ -140,8 +140,39 @@ \section{Deviation from Literature}
140
140
141
141
\chapter{Building the Library}
142
142
143
-
This section provides information about compiling the shared library for the HEoS functions. A fully automated build system has not yet be implemented.
143
+
This section provides information about compiling the shared library for the HEoS functions. A fully automated build system has not yet be implemented, since the IDAES team uses specialized scripts for binary releases. The HEoS shared library can still be done independently.
144
144
145
+
\section{Prerequisites}
146
+
147
+
A C++ compiler is required. There are many option and the suggestions given are not hard requirements, just what the IDAES team uses and find convenient.
148
+
\begin{itemize}
149
+
\item Linux: GCC can be installed using the systems package manager.
150
+
\item Windows: MinGW-w64 (https://www.mingw-w64.org) and MSYS2 (https://www.msys2.org)
Boost is used for equation solvers, hashing tuples, and reading json. Below are suggestions for installing
155
+
\begin{itemize}
156
+
\item Linux: Boost can be obtained via package manager
157
+
\item Windows: Boost can be installed via the MSYS2 package manger, if you use it to run MinGW
158
+
\item macOS: Boost can be installed via Hombrew (https://brew.sh)
159
+
\end{itemize}
160
+
161
+
AMPL Solver Library (ASL) is required. The ASL is used to read arbitrary expressions into the C++ functions, and to make functions callable from AMPL solvers. The ASL is available on GitHub (https://github.com/ampl/asl).
162
+
163
+
\section{Build}
164
+
165
+
In the \texttt{general\_helmholtz} directory, edit the make file. There are a few commented out variables \texttt{BOOST}, \texttt{ASL}, and \texttt{ASL\_LIB}. Depending on the specific setup, these may or may not be needed. If the build does not find ASL or BOOST the problem can most likely be fixed by setting these.
166
+
167
+
Run \texttt{make} in the \texttt{general\_helmholtz} directory and the \texttt{general\_helmholtz.so} file should be built. If there is a problem try setting the variables in the previous paragraph.
168
+
169
+
\section{Test}
170
+
171
+
To test the build, set the \texttt{IDAES\_HELMHOLTZ\_DATA\_PATH} and \texttt{IDAES\_HELMHOLTZ\_TEST\_DATA\_PATH} variables to the \texttt{param\_data} and \texttt{param\_data} directories. Be sure to end the path in a file separator.
172
+
173
+
Run \texttt{make test}.
174
+
175
+
The command should run without returning an error code, even though it may generate a small number of error messages. The test data may not contain enough significant figures to calculate pressure from density accurately, and in the neighborhood of the critical point, rapid changes in properties may make matching the test data difficult.
0 commit comments