Preparing the Sources ========================= Additional to the software mentioned in README you'll need the following programs installed on your system: automake >= 1.9 autoconf >= 2.62 libtool Getting started --------------- If these preliminaries are met, you should run dunecontrol all which will find all installed dune modules as well as all dune modules (not installed) which sources reside in a subdirectory of the current directory. Note that if dune is not installed properly you will either have to add the directory where the dunecontrol script resides (probably ./dune-common/bin) to your path or specify the relative path of the script. On your project and all uninstalled DUNE source modules found the script will then calls the GNU autoconf/automake to create a ./configure-script and the Makefiles. Afterwards that configure script will be called and the modules will be build using make all Most probably you'll have to provide additional information to dunecontrol (e. g. compilers, configure options) and/or make options. The most convenient way is to use options files in this case. The files defining three variables: AUTOGEN_FLAGS flags passed to autogen CONFIGURE_FLAGS flags passed to configure MAKE_FLAGS flags passed to make An example options file might look like this: #use this options to autogen, configure and make if no other options are given AUTOGEN_FLAGS="--ac=2.50 --ac=1.8" #Forces automake 2,50 and autoconf 1.8 CONFIGURE_FLAGS="CXX=g++-3.4 --prefix=/install/path" #force g++-3.4 as compiler MAKE_FLAGS=install #Per default run make install instead of simply make If you save this information into example.opts you can path the opts file to dunecontrol via the --opts option, e. g. dunecontrol --opts=example.opts all To get a full list of available configure flags just run dunecontrol configure --help after running at least dunecontrol autogen More info --------- See dunecontrol --help for further options. The full build-system is described in the dune-common/doc/buildsystem (SVN version) or under share/doc/dune-common/buildsystem if you installed DUNE! $Id$
"doc/git@git.imp.fu-berlin.de:agnumpde/dune-solvers.git" did not exist on "481ad4130cbce1d7e6d0216c896a377fa2c3571e"
Oliver Sander
authored
In the truncated monotone multigrid method, the coarse grid matrices change from one iteration to the next. Therefore, they need to be reassembled before every iteration. That is pretty expensive, therefore the MonotoneMG class and corresponding transfer operators have always included a mechanism to only reassemble parts of the coarse grid matrices. That saves quite a bit of time. Previously, a matrix entry would only be recomputed if the hasObstacle field was set for its row or column. That works nicely for contact problems, where the hasObstacle field has only very few bits set. However, for problems with many obstacles the coarse matrix reassembly becomes expensive again. Therefore, the code is now a bit smarter about what to reassemble. Matrix entries really only need reassemble if the corresponding dofs changed from non-critical to critical (or vice versa), or if the next-finer matrix changed in the corresponding entries. For my Cosserat shell problem, which has 6x6 blocks and all hasObstacle entries set, I measure a speedup of about 30% for each MMG iteration. Note that after this patch, code should yield precisely the same output as before. If you get different results compare to before, then that's a bug.
Name | Last commit | Last update |
---|---|---|
cmake | ||
doc | ||
dune | ||
m4 | ||
.gitignore | ||
CMakeLists.txt | ||
COPYING | ||
Makefile.am | ||
README | ||
TODO | ||
config.h.cmake | ||
configure.ac | ||
convert-to-git.bash | ||
dune-solvers.pc.in | ||
dune.module | ||
stamp-vc |