This repository contains the code used to generate the results in my MSc dissertation.
At that time, the code was part of the NeoPZ library and much was left unchanged. The relevant target is NewModalAnalysis, however, a couple of targets are still present, but I am not sure if they work.
In order to compile the code one needs to do the following:
The following are merely suggestions that worked for me under Ubuntu 20.04 when trying to ressucitate the code.
Tested with version 4.0.0.
sh ./configure --prefix MPI_PATH make all make install
IMPORTANT: Add ${MPI_PATH}/lib
to LD_LIBRARY_PATH
.
Tested with version 3.15.
sh ./configure --with-scalar-type=complex --with-debugging=0 --with-blaslapack-dir=${MKL_PATH} --with-mpi-dir=${MPI_PATH} --with-fc=0 make
Note: Replace instances of MPI_Handler_function
to MPI_Comm_errhandler_function
if using MPI with version >= 3.0.0
.
Tested with version 3.8.0
sh cmake -DBUILD_SHARED_LIBS=ON -DBLA_VENDOR=Intel10_64lp -DMPI=ON .. make
Tested with version 3.15.1
sh ./configure --with-arpack=1 --with-arpack-dir=${ARPACK_BUILD_DIR} make
sh cmake -S . -B build -DSTATE_TYPE="complex<double>" -DBUILD_PROJECTS=ON -DUSING_SLEPC=ON -DUSING_BOOST=ON
Instructions to use NeoPZ environment:
I. CASE: USER
-
Download NeoPZ from Google Code, using: anonimous: cvs
To be commiter you need to register with Philippe Devloo ( [email protected] )
II. CASE DEVELOPER:
-
NeoPZ is a environment ready to work with CMake version up to 2.6 (Recomendable version 2.8.5). You can download from http://www.cmake.org/cmake/resources/software.html
-
NeoPZ use the following libraries: a. pthread b. FAD - You can get the automatic differentiation library from http://www.ann.jussieu.fr/pironneau/ c. boost - You can get from http://www.boost.org/ but you can to use alone the most modules.
-
You can to download the source files from: http://code.google.com/p/neopz/ To see only use a command line:
svn checkout http://neopz.googlecode.com/svn/trunk/ neopz-read-only you don't need to be registered.
To register send e-mail to Philippe Devloo - [email protected]
VISUALIZATION PACKAGES
-
V3D : 3D Image Visualization and Analysis systems for bioimages and surface objects. Download from http://penglab.janelia.org/proj/v3d/V3D/Download.html
-
MVGraph : Multivariate Interactive Visualization Download package and reference manual from http://cran.r-project.org/web/packages/mvgraph/index.html
-
VTK
Instruções gerais para uso do NeoPZ:
-
Baixe o NeoPZ do CVS (se voce esta lendo isto, parabéns! Já conseguiu!).
-
Sendo desenvolvedor, você vai precisar atualizar alguns arquivos de configuração. Para isso dê os comandos:
aclocal automake autoconf
-
Voilá! Você acaba de gerar um script chamado 'configure' que gerará os makefile's automaticamente. Opções do configure:
--prefix -> com esta opção você diz aonde o NeoPZ será instalado;
--enable-metis -> use o MeTiS (por enquanto, use sempre esta opção);
--with-metis-dir -> para direcionar o compilador para o diretorio onde o MeTiS está instalado. Recomendo que você use aquele que vem com o CFDEmbraer;
--with-compilation-mode -> há três opções: devel, para compilação com debug, profiling para compilação para perfilação e opt, para modo turbo (usando os mais obscuros flags do g++).
Exemplos:
./configure --prefix=/home/pos/cantao/temp/PZ --enable-metis
Configura o NeoPZ para ser instalado no diretorio PZ do temp da minha área, com MeTiS habilitado. (Neste caso assume-se que o MeTiS está instalado em /usr/local/Metis-4.0)
./configure --enable-metis --with-metis-dir=/home/pos/cantao/embraer/CFDEmbraer/Metis-4.0
Idem acima, assumindo que o MeTiS está instalado em /home/pos/cantao/embraer/CFDEmbraer/Metis-4.0. O NeoPZ será instalado em /usr/local.
./configure --with-compilation-mode=opt
Tudo padrão, com opções de código otimizado.
Futuramente esta dependência do MeTiS será realmente opcional! .