Coder Social home page Coder Social logo

hermes3d's Introduction

Welcome to Hermes3D!
====================

Hermes3D is a C++ library for rapid prototyping of adaptive hp-FEM 
solvers for 3D problems. The usage of Hermes3D is very similar to 
Hermes2D, and thus it is recommend to get familiar with Hermes2D 
first. Also the User Documentation of Hermes3D concentrates on things 
that are different from Hermes2D.


License
=======

Hermes3D is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public 
License along with Hermes2D; If not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA  02110-1301, USA.


Copyright
=========

Copyright (c) 2009 hp-FEM group at the University of Nevada, 
Reno (UNR). Email: [email protected], home page: http://hpfem.org/.


Download and Installation
=========================

Installation instructions for Linux, Mac OS X and Windows Cygwin 
can be found in the Sphinx documentation at 
http://hpfem.org/hermes3d/doc/index.html. 


Documentation
=============

Generating and Viewing User Documentation Offline (Linux)
---------------------------------------------------------

Source files of the (Sphinx) user documentation are in the
directory doc/. In order to compile the user documentation, 
you need to install Sphinx. Then follow these steps:

cd doc
make html
firefox _build/html 

Generating and Viewing Developer Documentation Offline (Linux)
--------------------------------------------------------------

Source files of the (Doxygen) developer documentation are
in the directory doc.cpp/. In order to build them you need
to install Doxygen. Then do:

cd doc.cpp/
doxygen hermes3d.lib-real.doxyfile
doxygen hermes3d.lib-cplx.doxyfile

This will generate documentation for the real and complex
version of the library, respectively. To view the docs, 
type

firefox h3d-real/html/index.html
firefox h3d-cplx/html/index.html


Compilation
===========

$ cmake .
$ make

If you have cmake text-based UI installed, you can do:

$ ccmake .
  press C  
  customize your build
  press C
  press G
$ make

Hermes3D build configuration scripts will look for required libraries on default include and system
paths. If you packages are installed elsewhere, you need to specify their paths. Consult either
online documetation (http://hpfem.org/hermes3d/doc/install.html) or cmake/FindXYX.cmake files for
exact names. These values have to be put into CMake.var file located in your build directory. 

Intel C Compiler
================

To use Intel C compiler

$ export CC=/path/to/icc
$ export CXX=/path/to/icpc
$ cmake .
$ make

NOTE: version 10.0.026 did not work for me (some compatibility issues with STL), 10.1.022 works ok


Tests
=====

To enable tests, say 'set(WITH_TESTS YES)' in your CMake.vars.
To run the tests, type:

$ make test

To run quick tests, type:

$ make test-quick

Note: To run developer tests, say 'set(DEV_TESTS YES)' in CMake.vars. This is needed to run only if
the lowest internals are changed. Developers test suite includes hundreds of tests for hanging
nodes. These will run for several hours in case of H1 space, Hcurl ones take days. These test do not
have to be run every time.


Examples
========

To build examples, type (supposed you enabled examples during the configuration):

$ make examples

To get output files that can be viewed in a visualizer, you need to say:

set(OUTPUT_DIR /path/where/the/files/will/be/stored)

To view the files:
# gmsh my-file.gmsh (for gmsh)
# paraview --data=my-file.vtk (for VTK)


Debugging
=========

If you need to debug the build, use:

cmake -DCMAKE_VERBOSE_MAKEFILE=ON .

Then the make will print the exact commands that are executed.


hermes3d's People

Contributors

andrsd avatar fmach avatar quanzou avatar solin avatar zhonghua avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fauzisd xyuan andrsd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.