forked from sandialabs/seacas-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
params.json
1 lines (1 loc) · 8.41 KB
/
params.json
1
{"name":"Seacas","tagline":"The Sandia Engineering Analysis Code Access System (SEACAS) is a suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format.","body":"# SEACAS\r\n[![Build Status](https://travis-ci.org/gdsjaar/seacas.svg?branch=master)](https://travis-ci.org/gdsjaar/seacas)\r\n[![Analysis Status](https://scan.coverity.com/projects/2205/badge.svg?flat=1)](https://scan.coverity.com/projects/seacas)\r\n* [Get the sources](#get-the-sources)\r\n* [Build instructions](#build-instructions)\r\n* [Configure, Build, and Install SEACAS](#configure-build-and-install-seacas)\r\n* [Testing](#testing)\r\n* [Exodus](#exodus)\r\n* [License](#license)\r\n* [Ubuntu](#ubuntu)\r\n* [Contact information](#contact-information)\r\n* For information on building with MPI, see [README-PARALLEL.md](README-PARALLEL.md)\r\n* NOTE: The old imake-based build has been removed.\r\n\r\n## Get the sources\r\n```\r\ngit clone https://github.com/gdsjaar/seacas.git\r\n```\r\nThis will create a directory that will be referred to as _seacas.git_ in\r\nthe instructions that follow. You can rename this directory to any\r\nother name you desire. Set an environment variable pointing to this\r\nlocation by doing:\r\n```\r\ncd seacas.git && export ACCESS=`pwd`\r\n```\r\n\r\n## Build instructions\r\n\r\n### Download and build dependencies\r\n\r\nThere are a few externally developed third-party libraries (TPL) that are required to\r\nbuild SEACAS. \r\n\r\n * [Zoltan](#zoltan) -- required, supplied\r\n * [HDF5](#hdf5) -- optional\r\n * [NetCDF](#netcdf) -- required with modifications\r\n * [MatIO](#matio) -- optional with patch\r\n * [GNU Parallel](#gnu-parallel) -- optional\r\n * [CGNS](#cgns) -- experimental optional\r\n\r\n#### Zoltan\r\nA snapshot of [zoltan_distrib_v3.82.tar.gz](http://www.cs.sandia.gov/Zoltan/Zoltan_download.html) is provided in seacas.git/packages/zoltan. This will be built automatically as part of the SEACAS build process.\r\n\r\n#### HDF5\r\nIf you are using the netcdf-4 capability in the netcdf library or are using the MatIO library for conversion of exodus to/from matlab format, then you will need the hdf5 library. \r\n\r\nThe hdf5 library is used for the netcdf4 capability in netcdf which in\r\nturn is used by exodus. The netcdf4 capability is typically used for\r\nlarge models (>150 million elements); if you are not planning to\r\ncreate or read models of this size, you do not have to build hdf5. \r\n\r\n * Download HDF5 from http://www.hdfgroup.org/HDF5/release/obtain5.html and put it inside `seacas.git/TPL/hdf5`\r\n * untar it, creating a directory will will refer to as `hdf5-X.X.X`\r\n * `cd` to that directory and enter the command:\r\n ```\r\n ./configure --prefix=${ACCESS} --enable-shared --enable-production --enable-debug=no --enable-static-exec\r\n ```\r\n * `make && make install`\r\n\r\n#### NetCDF\r\nThe most recent released version is recommended. For use with Exodus, some local modifications to the netcdf.h include file are required. See [NetCDF-Mapping.md](NetCDF-Mapping.md) for an explanation of why these modifications are required (or highly recommended)\r\n\r\n * Download the latest netcdf-c release from http://www.unidata.ucar.edu/downloads/netcdf/index.jsp and put it inside `seacas.git/TPL/netcdf`\r\n * `cd TPL/netcdf`\r\n * `tar zxvf netcdf-4.3.3.1.tar.gz`\r\n * Modify the following defines in seacas.git/TPL/netcdf/netcdf-4.3.3.1/include/netcdf.h.\r\n\r\n ```\r\n #define NC_MAX_DIMS 65536 /* max dimensions per file */\r\n #define NC_MAX_VARS 524288 /* max variables per file */\r\n #define NC_MAX_VAR_DIMS 8 /* max per variable dimensions */\r\n ```\r\n\r\n * `cd netcdf-4.3.3.1` and enter the command:\r\n ```\r\n ./configure --enable-netcdf-4 --enable-shared \\\r\n --disable-fsync --prefix ${ACCESS} \\\r\n --disable-dap --disable-cdmremote\r\n ```\r\n\r\n * If the configure step complains about not being able to find the\r\n HDF5 library, you may need to do the following and then redo the\r\n configure step\r\n ```\r\n CFLAGS='-I{HDF5_ROOT}/include'; export CFLAGS\r\n LDFLAGS='-L{HDF5_ROOT}/lib '; export LDFLAGS\r\n ```\r\n\r\n * `make && make install`\r\n\r\n#### MatIO\r\nThe MatIO library is used in the exo2mat and mat2exo programs which convert an exodus file to and from a MATLAB binary file. To use this do:\r\n\r\n * Download the most recent version of the library from http://sourceforge.net/projects/matio/.\r\n * `cd TPL/matio`\r\n * `tar zxvf /path/to/matio-1.5.2.tar.gz`\r\n * There is a bug related to reading version 7.3 files. To fix the bug, enter the command:\r\n ```\r\n patch -p3 < MATIO-fix-issue-reading-version-7.3-files.patch\r\n ```\r\n\r\n * `cd matio-1.5.2` and enter the command:\r\n ```\r\n # The -L is to find the hdf5 library...\r\n export LDFLAGS='-L${ACCESS}/lib'\r\n ./configure --with-hdf5=${ACCESS} --enable-mat73 --enable-shared --prefix=${ACCESS}\r\n ```\r\n \r\n * `make && make install`\r\n\r\n#### GNU Parallel\r\n\r\nGNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is typically a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, or a list of tables. In SEACAS, this is only used by epup which runs multiple epu jobs concurrently. To build:\r\n\r\n * Download the most recent version of the library from ftp://ftp.gnu.org/gnu/parallel/parallel-latest.tar.bz2.\r\n\r\n ```\r\n cd TPL/parallel\r\n tar jxvf /path/to/parallel-latest.tar.bz2\r\n cd parallel-20150522\r\n ./configure --prefix ${ACCESS}\r\n ```\r\n \r\n#### CGNS\r\nExperimental support for CGNS in the IOSS library is being added. To use this capability, you will need to download the CGNS library. To build:\r\n\r\n * Download CGNS via git:\r\n\r\n ```\r\n cd TPL/cgns\r\n git clone https://github.com/CGNS/CGNS.git\r\n ```\r\n * Build using CMake. See `TPL/cgns/cmake-config.in` as example.\r\n\r\n## Configure, Build, and Install SEACAS\r\nAt this time, you should have all external TPL libraries built and\r\ninstalled into `${ACCESS}/lib` and `${ACCESS}/include`. You are now ready\r\nto configure the SEACAS CMake build.\r\n\r\n * `cd $ACCESS`\r\n * `mkdir build`\r\n * `cd build`\r\n * edit the `${ACCESS}cmake-config` file and adjust compilers and\r\n other settings as needed. \r\n * enter the command `../cmake-config` and cmake should configure everything for the build.\r\n * `make && make install`\r\n * If everything works, your applications should be in `${ACCESS}/bin`\r\n\r\n## Testing\r\nThere are a few unit tests for zoltan, exodus, and aprepro that can be run via `make test` if you configured with `-D SEACASProj_ENABLE_TESTS=ON`.\r\n\r\nThere is also a system-level test that just verifies that the applications can read and write exodus files correctly. This test runs off of the installed applications. To run do:\r\n\r\n * `make install`\r\n * `cd ../SEACAS-Test`\r\n * `make clean; make`\r\n\r\nThis will run through several of the SEACAS applications creating a mesh (exodus file) and then performing various manipulations on the mesh. If the test runs successfully, there is some hope that everything has built and is running correctly. \r\n\r\n## Exodus\r\nIf you only want the exodus library, then follow most of the above instructions with the following exceptions:\r\n\r\n * You only need the netcdf and optionally hdf5 libraries\r\n * Use the `cmake-exodus` file instead of `cmake-config`.\r\n * This will build, by default, a shared exodus library and also install the exodus.py Python interface.\r\n\r\n## License\r\n\r\nSEACAS is licensed under the Modified BSD License. See the LICENSE file for details.\r\n\r\n## Ubuntu\r\nThere is a [PPA](https://launchpad.net/~nschloe/+archive/ubuntu/seacas-nightly/) available for SEACAS that is updated nightly from SEACAS `master`. Anyone using Ubuntu can now just add the PPA and do\r\n```\r\nsudo add-apt-repository ppa:nschloe/seacas-nightly\r\nsudo apt-get update\r\n```\r\nand then\r\n```\r\nsudo apt-get install seacas\r\n```\r\nto get SEACAS. This is provided by Nico Schlömer.\r\n\r\n## Contact information\r\n\r\n Greg Sjaardema ([email protected], [email protected])\r\n \r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}