Changeset 336

Show
Ignore:
Timestamp:
03/26/08 19:15:57 (8 months ago)
Author:
powell
Message:

Documentation updates for version 0.2.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/matml/src/ternary/ternary.tex.in

    r324 r336  
    1010\begin{abstract} 
    1111  {\tt Ternary} is a little code written by Adam Powell back in 2003 to 
    12   visualize ternary free energy functions.  Soon it will do a lot more. 
     12  visualize ternary free energy functions.  Today it can also calculate the 
     13  two- and three-phase regions in the phase diagram.  Soon it will do a lot 
     14  more. 
    1315\end{abstract} 
    1416 
     
    1719In 2003, Adam Powell wrote the core of this little program to visualize the 
    1820free energy function of a polymer-solvent-nonsolvent system as used by one of 
    19 his grad students.  Now it is a standalone program with big plans: 
     21his grad students.  In 2008, he expanded it considerably: 
    2022\begin{itemize} 
     23\item Removed it from the {\tt RheoPlast} package and made it a stand-alone 
     24  program, with considerably expanded documentation. 
    2125\item Craig Carter used a convex hull construct to find and illustrate the 
    2226  lowest-energy manifold of a binary free energy function or set of 
     
    2428    convex hull and the minimum enengy surface before ({\em e.g.} 
    2529    \cite{Var1990,Aic2001,Aic2003,Zho2004}), Carter's Mathematica scripts are 
    26     the inspiration for this work.}  Based on that concept, ternary will use 
    27   {\tt qhull} to calculate that hull, and visualize the edges of the resulting 
    28   triangles---which will clearly show the one-, two- and three-phase regions, 
    29   complete with two-phase tie lines. 
    30 \item Based on this, it should be straightforward to use this to build and 
    31   neatly visualize how free energy functions create a ternary phase diagram. 
    32 \item Performance: 
     30    the inspiration for this work.}  Based on that concept, ternary uses {\tt 
     31    qhull} to calculate that hull, and visualizes the edges of the resulting 
     32  triangles---which will clearly show the one- and two-phase regions, complete 
     33  with two-phase tie lines. 
     34\end{itemize} 
     35 
     36And {\tt Ternary} is not stopping there.  In the near future, the following 
     37features are planned: 
     38\begin{itemize} 
     39\item Visualize multiple free energy functions simultaneously. 
     40\item Refine the edges of the binodal region calculation using {\tt 
     41    qh\_addpoint}. 
     42\item Show the edges of the spinodal region. 
     43\item Based on these, build and neatly visualize how free energy functions 
     44  create a ternary phase diagram. 
     45\item Performance enhancements: 
    3346  \begin{itemize} 
    34   \item This should use libgeomview-dev function calls instead of a pipe to the 
    35     geomview binary. 
     47  \item This should use geomview library function calls instead of a pipe to 
     48    the geomview binary. 
    3649  \item It's probably faster to inline or vectorize the free energy function. 
    37   \item It would be neat to do automatic curvature-based refinement to 
    38     optimally capture all of the details of sharp corners in the free energy 
    39     function. 
    4050  \end{itemize} 
     51  Then again, the slowest part of the calculation is probably qhull, which is 
     52  presumably already quite thoroughly optimized. 
    4153\end{itemize} 
    42 Okay, enough grandiose dreams, it's time to do some ternary hacking! 
    4354 
    4455\section{How it works} 
    4556 
    46 It calculates and plots the free energy function.  Yes, that's about it for 
    47 now. 
     57The file {\tt ternary.c} contains {\tt main()}, which creates a triangular 
     58array of points and set of triangles connecting them.  It calls {\tt 
     59  free\_energy()} in {\tt freenergy.c} to calculate the free energy function on 
     60those triangles.  It then displays the free energy using the functions in {\tt 
     61  geomview.c}, which forks a Geomview process and controls it. 
     62 
     63Next it uses Qhull calls in {\tt qhull.c} to calculate the convex hull of the 
     64free energy function.  It strips out the smallest triangles, that is, those 
     65which are in the single-phase region, leaving two- and three-phase regions with 
     66tie lines.  It displays the remaining facets using transparent triangles with 
     67black edges, which clearly show the tie lines in the two-phase regions. 
    4868 
    4969\section{Version History} 
     
    5171\subsection{{\tt Ternary} 0.1.0} 
    5272 
    53 First release including features: 
    54 \begin{itemize} 
    55 \item It plots the free energy function. 
    56 \end{itemize} 
     73First standalone release of ternary (extracted from {\tt RheoPlast}), which 
     74plots a ternary free energy function.  New to this release is the use of the 
     75Geomview {\tt COFF} format, which creates a much smoother pseudocolor plot. 
     76 
     77\subsection{{\tt Ternary} 0.2.0} 
     78 
     79This release links with the {\tt qhull} library to calculate the convex hull of 
     80the energy function, and displays 1- and 2-phase regions in addition to the 
     81free energy function. 
    5782 
    5883\bibliographystyle{unsrt}