Menu

Tree [2b5b7f] master /
 History

HTTPS access


File Date Author Commit
 CMakeScripts 2016-07-25 Jörg Unger Jörg Unger [db523d] numpy.i removed (use system version in python.i...
 doc 2016-04-07 Thomas Titscher Thomas Titscher [b84c4e] DofSeparation and Template Element
 examples 2016-07-27 Thomas Titscher Thomas Titscher [de6fa0] Serialization updates
 jenkins 2016-07-28 Jörg Unger Jörg Unger [2b5b7f] added a jenkins file for the job configurations...
 src 2016-07-27 Thomas Titscher Thomas Titscher [36193f] Changed Template Nodes to Dynamic Nodes
 test 2016-07-27 Thomas Titscher Thomas Titscher [36193f] Changed Template Nodes to Dynamic Nodes
 #CMakeLists.txt# 2016-01-25 vkindrac vkindrac [c23f97] Squashed commit of the following:
 .gitignore 2015-07-09 Thomas Titscher Thomas Titscher [a1d50c] Several minor fixes:
 CMakeLists.txt 2016-07-27 Thomas Titscher Thomas Titscher [de6fa0] Serialization updates
 LICENSE.txt 2010-04-16 beinersd beinersd [b238cd] mv files to trunk
 README.md 2016-06-08 Christoph Pohl Christoph Pohl [1b54c1] Enable building boost unit test with clang

Read Me

NuTo

What is it?

A finite element library.

How do I install it?

At your own peril.

First, you need some external dependencies

sudo apt-get install git swig3.0 cmake doxygen python-dev python-numpy \
libboost-all-dev libeigen3-dev libopenblas-dev libmetis-dev libmumps-seq-dev libann-dev libarpack2-dev libomp-dev

Then, you need to check out the source code

git clone git://git.code.sf.net/p/nuto/codegit nuto

Create a build directory and switch to it

mkdir nuto/build && cd nuto/build

Run cmake

cmake ..

Once this ran without errors, you can issue make (-j4 for parallel building)

make -j4

If you want to use the python module, and run all the tests, you need to add
the module path to your environment

export PYTHONPATH=<path/to/nuto/build>:$PYTHONPATH

In the end, run the test suite to see if all went well

make test

Can I see some code?

Sure: @ref ipythonexample

As long as the new README is not ready, you can continue reading the old one here.
Most of it is very out of date (use git instead of svn, Mersenne is not needed
anymore, Eigen3 instead of 2, etc.), so tread carefully:

Old README

NuTo is a project originally developed at the Institute of Structural Mechanics at the Bauhaus-University
in Weimar, Germany. It is OpenSource and the license is attached in LICENSE.txt

Instruction for compilation

  1. checkout NuTo using
    svn co https://nuto.svn.sourceforge.net/svnroot/nuto nuto
    

or update using

    svn up
  1. checkout externals individually or from yesterday
    svn co svn+ssh://yesterday.bauing.uni-weimar.de/yesterday/slang/nuto/externals
    

Metis

cd metis
tar xzf metis-4.0.tar.gz
cd metis-4.0
patch -p1 -i ../metis-4.0-cmake.patch
patch -p1 -i ../metis-4.0-gcc44.patch (only required for gcc >= 4.4)
mkdir objdir
cd objdir
cmake -DCMAKE_INSTALL_PREFIX=/opt/nuto ..
make
make install (eventually as root)

Mumps

cd mumps
tar xvfz MUMPS_4.8.4.tar.gz
cd MUMPS_4.8.4

patch -p1 < ../MUMPS_4.8.4-cmake.patch
mkdir objdir
cd objdir
cmake -DCMAKE_INSTALL_PREFIX=/opt/nuto ..

make
make install (eventually as root)

Mersenne Twister

cd mersenne
cd dSFMT-src-2.1
patch -p1 < ../dSFMT-src-2.1-cmake.patch
cmake -DCMAKE_INSTALL_PREFIX=/opt/nuto ..
make
make install (eventually as root)

Eigen2

cd eigen
tar xzf 2.0.10.tar.gz
cd eigen
mkdir objdir
cd objdir
cmake -DCMAKE_INSTALL_PREFIX=/opt/nuto ..
make
make install (eventually as root)

BOOST

cd boost
tar xzf boost_1_41_0.tar.gz
cd boost_1_41_0
./bootstrap.sh --prefix=/opt/nuto
./bjam --layout=system  --with-serialization
./bjam --layout=system  --with-serialization --prefix=/opt/nuto install (eventually as root)
  1. call cmake to build the Makefiles

out-of-source build in build directory

    cmake mysourcedirectory -DNUTO_EXTERNAL_LIBRARIES_ROOT=/opt/nuto -DBOOST_ROOT=/opt/nuto

or call cmake to generate an eclipse project

    cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug  -DNUTO_EXTERNAL_LIBRARIES_ROOT=/opt/nuto -DBOOST_ROOT=/opt/nuto ../nuto
  1. call the build process

    make
    
  2. add module path to your environment

    export PYTHONPATH=/home/unger3/develop/nuto_build
    
  3. execute test files

    make test
    

a single test file (e.g. Brick8N) file can be executed

    ctest -V -R Brick8N

Requirements

  • BLAS
  • LAPACK
  • BOOST >= 1.36.0
  • SWIG >=1.3.40
  • CMAKE >= 2.6.0
  • Python >= 2.6
  • Eigen >= 2.0.6
  • Doxygen >= 1.5.8

Set Fortran-compiler with the envireonment variable FC or the cmake variable CMAKE_Fortran_COMPILER.

Compiling a debug version of python

./configure --without-pymalloc --enable-shared

uncomment in Objects/obmalloc.c:

#define Py_USING_MEMORY_DEBUGGER

build

make; make altinstall

Debugging an extension

set breakpoint for gdb with

br _PyImport_LoadDynamicModule

continue (c) until the corresponding module is loaded

continue

update table of source files

share

set breakpoint in your source file
continue debugging

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.