User Tools

Site Tools


installing_optional

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
installing_optional [2007/11/30 16:57] bpinstalling_optional [2015/02/08 11:52] (current) – [Parallel version for Windows] johnnyontheweb
Line 3: Line 3:
 IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations. OOFEM provides the interface to this library, which enables to use iterative, single-processor solvers. See [[http://www.oofem.org/documentation/documentation.html|input data manual]] for description, how to select various solvers. The IML++ can be downloaded from [[http://math.nist.gov/iml++/|project website]].  IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations. OOFEM provides the interface to this library, which enables to use iterative, single-processor solvers. See [[http://www.oofem.org/documentation/documentation.html|input data manual]] for description, how to select various solvers. The IML++ can be downloaded from [[http://math.nist.gov/iml++/|project website]]. 
 Installation instructions: Installation instructions:
-  * download sources (iml.shar) from project website into iml directory created in oofem top dir. +  * Run configuration with **USE_IML*
-  unpack sources by running %%"sh iml.shar"%% + 
-  In oofem top dir, (re)configure oofem, use %%"--enable-iml"%% configure option + 
-  run %%"make all"%% to recompile oofem with iml support+
  
  
 ===== Parallel oofem ===== ===== Parallel oofem =====
-Parallel version of oofem allows to efficiently exploit the power of parallel computers. The parallel model is based on domain decomposition and message passing paradigms. This allows to use parallel version on a distributed memory systems, shared memory systems, and workstation clusters.  +Parallel support in oofem allows to efficiently exploit the power of parallel computers. The parallel model is based on domain decomposition and message passing paradigms. This allows to use parallel version on a distributed memory systems, shared memory systems, and workstation clusters.  
  
 == Prerequisities == == Prerequisities ==
-  *Parallel version requires MPI library to be installed on your system. If you do not have any, you can use [[http://www-unix.mcs.anl.gov/mpi/mpich2/|MPICH2]]. It is a freely available, portable implementation of MPI. +  *Parallel version requires MPI library to be installed on your system. If you do not have any, you can use [[http://www.open-mpi.org/|Open MPI]]. It is a freely available, portable implementation of MPI. 
-  *If you would like to use implicit solvers, then [[http://www-unix.mcs.anl.gov/petsc/petsc-as/| PETSc]] toolkit is required. Follow installation instructions on PETSc pages to download and install this toolkit.+  *If you would like to use parallel solvers, then [[http://www-unix.mcs.anl.gov/petsc/petsc-as/| PETSc]] toolkit is required. Follow installation instructions on PETSc pages to download and install this toolkit.
   *Without PETSc, only parallel explicit dynamics analysis will be available (still requires MPI).   *Without PETSc, only parallel explicit dynamics analysis will be available (still requires MPI).
  
 == Configuration == == Configuration ==
-  * %%"--enable-poofem"%% use this configure option to configure parallel oofem (poofem) +  * Run configuration with "**%%USE_PARALLEL%%**set. 
-  * %%"--with-MPIDIR"%% allows to specify MPI installation directory (svn version only) +  * Use **%%PETSC_DIR%%** and **%%PETSC_ARCH%%** to specify your PETSc installation.
-  %%"--enable-petsc"%% will configure oofem with petsc interface +
-  * %%"--with-PETSCDIR=path"%% allows to specify path to PETSc installation directory +
-  * %%"--with-PETSCARCH=arch"%% use this to specify PETSc architecture +
  
 +==== Parallel version for Windows ====
 +This is intended for who uses [[http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx|Visual Studio 2013]] and, optionally, [[https://software.intel.com/en-us/intel-visual-fortran-compiler-for-windows|Intel Fortran Compiler]] (needed only for [[http://www.netlib.org/scalapack/|ScaLAPACK]]).
  
 +== Prerequisities ==
 +  *[[http://www.mpich.org/downloads/|MPICH2]] (unofficial version mantained by Jayesh Krishna, not the Microsoft one) are the advised MPI libraries.
 +  *[[https://www.cygwin.com/|Cygwin]] is needed to compile PETSc; ''Python'' must be installed within.
 +  *%%Optionally%% you may want to compile SLEPc and/or other packages needed, like [[http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview|ParMETIS]] and [[http://glaros.dtc.umn.edu/gkhome/metis/metis/overview|METIS]]
  
 +== Configuration of required packages ==
 +  *First of all, one would have ParMETIS (which requires METIS) and MUMPS as direct solver (see [[http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html|here]]), which requires PETSc compiled with ScaLAPACK.
 +  *METIS and ParMETIS can be installed with VS2013 and CMake using a standard procedure.
 +  *Follow the instructions for [[http://www.mcs.anl.gov/petsc/documentation/installation.html#windows|PETSc installation]] under Windows and Cygwin. You must start Cygwin within a VS command prompt to have all path to the MS compilers defined.
 +  *Be sure to have ONLY one mpiexec.exe (the one from MPICH2 package) in your path (note that VS2013, ifort and Cygwin have their copy of mpiexec.exe - rename them before to proceed)
 +  *A good configuration command for PETSc is: <code>./configure --with-cc='win32fe cl' --with-fc='win32fe ifort' --with-cxx='win32fe cl' --download-fblaslapack --with-debugging=0 --download-mumps --with-mpi-dir="/cygdrive/c/MPICH2" --with-shared-libraries=0 --with-mpiexec='mpiexec --localonly' --useThreads=0 --download-scalapack --with-parmetis-include=/home/user/parmetis-4.0.3/include --with-parmetis-lib="/home/user/libs/parmetis.lib /home/user/libs/metis.lib" --with-metis-include="/home/user/metis-5.1.0/include" --with-metis-lib=/home/user/libs/metis.lib </code>
 +  This command will configure PETSc package:
 +  * to be compiled with MS ''cl'' and Intel ''ifort'', interfaced with ''win32fe''
 +  * with debugging flag deactivated (for speed of execution)
 +  * with the following additional packages: MUMPS, METIS, ParMETIS, ScaLAPACK, BLAS-LAPACK
 +Follow on-screen instructions to finish compilation and performing tests.
  
 +== Configuration ==
 +  * Replace the main CMakeLists.txt with [[CMakeLists-Windows|this file]].
 +  * Run configuration with "**%%USE_PARALLEL%%**" set.
 +  * Use **%%PETSC_DIR%%** (''arch-mswin-c-opt'') and **%%PETSC_ARCH%%** (''arch-mswin-c-opt'') to specify your PETSc installation.
 +  * Set **%%METIS_DIR%%** and **%%PARMETIS_DIR%%** to the appropriate paths. **%%USE_SHARED_LIB%%** must be unchecked.
 +  * Configure, generate and open the solution in VS2013. In the Linker Options for the ''oofem'' project, add ''C:\Program Files (x86)\Intel\ComposerXE-2011\compiler\lib\ia32'' (or the equivalent in your system) as additional directory and exclude ''LIBCMT.lib'' from linking to prevent errors ([[http://msdn.microsoft.com/en-us/library/6wtdswk0.aspx|see here]]).
 +  * Compile. Test your oofem.exe with <code>mpiexec -n N oofem -p -f inputdeck.in</code> where N is the number of threads involved (you must have an input deck for each thread, named ''inputdeck.in.0'', ''inputdeck.in.1'' and so on).
 ===== OOFEG ===== ===== OOFEG =====
 OOFEG is graphical postprocessor provided with oofem. It requires X-windows libraries to be installed on the system, so it is more or less limited to unix platforms. The capabilities of OOFEG are limited in 3D visualization, therefore the recommended way for end users interested in 3D analyses is to use oofem capability to export data in VTK format and use third-party, freely available tools such as mayavi or paraview to visualize results. Another advantage is, that these tools are multiplatform and OPEN-GL based, so that they are available on both unix and windows and can fully explore the potential of your graphics hardware. OOFEG is graphical postprocessor provided with oofem. It requires X-windows libraries to be installed on the system, so it is more or less limited to unix platforms. The capabilities of OOFEG are limited in 3D visualization, therefore the recommended way for end users interested in 3D analyses is to use oofem capability to export data in VTK format and use third-party, freely available tools such as mayavi or paraview to visualize results. Another advantage is, that these tools are multiplatform and OPEN-GL based, so that they are available on both unix and windows and can fully explore the potential of your graphics hardware.
Line 33: Line 54:
 The version of Elixir to be used with OOFEM is likely to be not compatible  The version of Elixir to be used with OOFEM is likely to be not compatible 
 with the original version maintained by the Petr Krysl. The compatible with the original version maintained by the Petr Krysl. The compatible
-Elixir version is available at oofem home page  +Elixir version is available at oofem download page  
-(http://ksm.fsv.cvut.cz/oofem/oofem.html). The Ckit library can be obtained +(http://www.oofem.org/en/download/download.html). The Ckit library can be obtained 
 at the same location. at the same location.
  
 == Configuration == == Configuration ==
-  * Download and install Ckit and Elixir libraries. It is recommended to install them in Ckit and Elixir directories, located in the same directory, where oofem top dir is+  * Download and install Ckit and Elixir libraries.  
-  * Run configure with "**%%--enable-oofeg%%**" option +  * Run configuration with "**%%USE_OOFEG%%**" set. 
 +  * Use **%%CKIT_DIR%%** and **%%ELIXIR_DIR%%** allow to specify location of Ckit and Elixir installation directories, needed by oofeg.
  
  
  
installing_optional.1196438269.txt.gz · Last modified: 2008/05/22 15:17 (external edit) · Currently locked by: 207.46.13.54