1 /*! \mainpage Antioch: A New Templated Implementation of Optimized Chemistry for Hydrodynamics
3 <b>Version \version</b>, Build Date: \builddate
5 Built by: \builduser on \buildhost
8 \section overview Overview
10 PUT A DESCRIPTION HERE
12 Thanks for your interest in Antioch. To aid in usage, this manual is
13 further divided into the following subsections:
16 <li> \subpage installation
17 <li> \subpage inputFile
18 <!-- <li> <a href="http://buildbot.ices.utexas.edu/docs/buildbot/hpct/build/docs/html/lcov/build/src/index.html">Buildbot Coverage</a> -->
21 \section bugs Reporting Bugs
23 Bugs in the code and errors or omissions in the documentation can be
24 reported to pbauman@ices.utexas.edu. Requests and contributions are
25 welcome at the same e-mail address. All bug reports should include:
28 <li>the version number of Antioch (versioning information can
29 be obtained by running the <B><code>antioch_version</code></B> binary located in the
30 bin/ directory of a local Antioch installation),
31 <li>the hardware and operating system,
32 <li>the local compiler version number,
33 <li>a description of the bug behavior, and ideally,
34 <li>a short program which reproduces the bug.
37 \section licence License
38 Copyright (C) 2013 The PECOS Development Team
41 \section acknowledgements Acknowledgments
42 \copydoc Acknowledgments
44 \section pecos-center More Information About PECOS
49 /*! \page inputFile Example Antioch Input File
51 This is an example input file for use with the generic solver
52 included with Antioch.
53 Note that Antioch is using
54 the <a href="http://getpot.sourceforge.net/">GetPot</a> parsing tool
55 shipped with <a href="http://libmesh.sourceforge.net">libMesh</a>. Note
56 that the default comment delimiter is defined as the \# sign and
57 comments can begin at the beginning of a line or after a variable
58 declaration to aid in documenting the input file. The parsing
59 mechansism is keyword driven and can be organized into multiple
60 sections. Consequently, you are allowed to have variables of the same
61 name so long as they are within unique section definitions. Note also
62 that because the parsing mechanism is keyword driven, the input
63 directives can be specified in \e arbitrary order. There is no
64 requirement to maintain a specific variable declaration pattern.
72 /*! \page installation Installation/Linkage
74 Antioch uses the GNU autotools suite (autoconf, automake, and libtool)
75 for its development build system. This system is popular among the
76 Linux development community and provides a familiar build environment
79 To build Antioch starting from a release distribution, untar the distribution and
80 enter the top-level directory.
82 <div class="fragment"><pre class="fragment">
83 > tar xvfz antioch-$(VERSION).tar.gz
84 > cd antioch-$(VERSION)/
87 <h2>Configuration Requirements</h2>
89 To date, Antioch has been successfully built and tested with the gcc 4.4, 4.5, and 4.6 compilers
90 and the Intel 11.1 compilers.
92 <b>Installation Directory</b>: Use the <tt>--prefix</tt> option to
93 specify your desired top-level installation directory for Antioch. The
94 examples below all configure Antioch to be installed in the user's
95 ~/bin/antioch directory.
97 <em>Configure with default login environment:</em> <br>
99 \code > ./configure --prefix=$HOME/bin/antioch \endcode
101 <em>Or, configure with specific compilers:</em> <br>
103 \code > ./configure CXX=g++ --prefix=$HOME/bin/antioch \endcode
105 <h2> Other Configuration Options </h2>
107 Antioch can optionally be built with other libraries as well. In particular, Antioch leverages the
108 <a href="https://red.ices.utexas.edu/projects/software/wiki/GRVY">GRVY</a> library for
109 some performance timing capabilities.
111 <em>Configure with libGRVY and enable grvy timers :</em> <br>
113 \code > ./configure --with-grvy=$MY_GRVY_DIR --enable-grvy-timers \endcode
115 To enable verification using the method of manufactured solutions, Antioch uses
116 the <a href="https://red.ices.utexas.edu/projects/software/wiki/MASA">MASA</a>
117 library. Although Antioch can configure and build with
118 <a href="https://red.ices.utexas.edu/projects/software/wiki/MASA">MASA</a>, it is currently not
119 using these capabilities. This is planned for the next release.
121 <em>Configure with MASA:</em> <br>
123 \code > ./configure --with-masa=$MY_MASA_DIR \endcode
125 Configure help can also be accessed at the command line:
127 \code> ./configure --help \endcode
129 <h2> Library Build </h2>
131 Once configured, issue a <tt>make</tt> to build the software. If successful, this
132 will build Antioch (static and dynamic libraries and executables).
134 \code > make \endcode
136 If you have multiple cores at your disposal, a parallel buid can accelerate
137 the build time. If there are 4 cores avaiable, then the following will build
138 using 4 threads, thereby leveraging 4 processors.
140 \code > make -j 4\endcode
142 <b> Verifying the build:</b> To verify that the software is working
143 properly, a test option is provided to run a short suite of
144 functionality tests against the local build. To run, issue a <tt>make
145 check</tt> to run the tests. Note that these tests may take a few minutes
146 depending upon optimization level and architecture.
147 If successfull, output similar to the
148 following will be generated.
152 -------------------------------------------------------
153 Initializing Incompressible Navier-Stokes tests.
154 -------------------------------------------------------
155 PASS: navier_stokes_tests.sh
156 PASS: test_ns_couette_flow_2d_x.sh
157 PASS: test_ns_couette_flow_2d_y.sh
158 PASS: test_ns_poiseuille_flow.sh
159 PASS: test_axi_ns_poiseuille_flow.sh
160 PASS: test_axi_ns_con_cyl_flow.sh
161 -------------------------------------------------------
162 Initializing Thermally Driven Flow tests.
163 -------------------------------------------------------
164 PASS: thermally_driven_flow_tests.sh
165 PASS: test_thermally_driven_2d_flow.sh
166 PASS: test_axi_thermally_driven_flow.sh
167 PASS: test_thermally_driven_3d_flow.sh
168 -------------------------------------------------------
169 Finalizing all regression tests. Don't worry be happy.
170 -------------------------------------------------------
177 <h2> Installation </h2>
179 After the build is complete, issue a <tt>make install</tt> to install
180 Antioch. This will install the header files, libraries, executables,
182 The installation will consist of four top-level
183 directories housing the library, include files, executables, and
184 example files. An example of the top-level directories after
185 installation is shown below:
187 \code > make install \endcode
189 Top-level Antioch installation directory:
192 > ls $HOME/bin/antioch/
193 bin examples include lib
196 <h2>Library Linkage</h2>
198 To link an external application with the library, the
199 \c include directory must be added to the compilers include search
200 path in order to access the necessary header files. The \c lib directory should also be added
201 to the linker search path along with a request to link against the
202 Antioch library. Several example link steps are provided below. These
203 examples assume that the Antioch library has been successfully built and
204 installed previously in the users's ~/bin/antioch directory:
206 \code > $(CXX) -I$HOME/bin/antioch/include app.c -L$HOME/bin/antioch/lib -lantioch \endcode
208 To embed the dynamic library search path for the Antioch library
209 directly into the application executable, use an additional linker
212 \code > $(CXX) -I$HOME/bin/antioch/include app.c -L$HOME/bin/antioch/lib \
213 -Wl,-rpath,$HOME/bin/antioch/lib -lantioch \endcode