PARADISCYL:How-To-Install: Difference between revisions
m (→Compile) |
|||
| Line 65: | Line 65: | ||
::;DEFS += -D_NULLCYLSTRESS : Ignore all image stress calculations (including BEM, Yoffe, Virtual segment contributions). |
::;DEFS += -D_NULLCYLSTRESS : Ignore all image stress calculations (including BEM, Yoffe, Virtual segment contributions). |
||
::;DEFS += -D_NOVIRTUALSEG : No force contribution from virtual segments. |
::;DEFS += -D_NOVIRTUALSEG : No force contribution from virtual segments. |
||
::;DEFS += -D_CYLMETHOD1 : If defined, analytic expressions using Bessel functions are used for image stress calculation (BEM contribution). If not, Green function of body forces is used to compute image stress. stress is used. <ref>For details of each method, refer C. R. Weinberger and Wei Cai, '''Computing Image Stress in an Elastic Cylinder''', ''Journal of the Mechanics and Physics of Solids'','''55''' (2007) 2027--2054</ref> |
::;DEFS += -D_CYLMETHOD1 : If defined, analytic expressions using Bessel functions are used for image stress calculation (BEM contribution). If not, Green function of body forces is used to compute image stress. stress is used. <ref>For details of each method, refer C. R. Weinberger and Wei Cai, '''Computing Image Stress in an Elastic Cylinder''', ''Journal of the Mechanics and Physics of Solids'','''55''' (2007) 2027--2054 ([http://micro.stanford.edu/~caiwei/papers/Weinberger07jmps-image.pdf PDF]) </ref> |
||
::;DEFS += -D_WRITENODEFORCE : If defined, code will write nodal force data in '''force.out''' file after the first nodal force evaluation and immediately exit. Each line of the file contains nodal position ''x'', ''y'', ''z'' and nodal force ''f''<sub>x</sub>, ''f''<sub>y</sub> and ''f''<sub>z</sub>. |
::;DEFS += -D_WRITENODEFORCE : If defined, code will write nodal force data in '''force.out''' file after the first nodal force evaluation and immediately exit. Each line of the file contains nodal position ''x'', ''y'', ''z'' and nodal force ''f''<sub>x</sub>, ''f''<sub>y</sub> and ''f''<sub>z</sub>. |
||
::;DEFS += -D_PRINTCYLSTRESS : If defined, code will write nodal force data in '''force.out''' and stress field in '''stress.out''' files. Each line of '''stress.out''' contains grid position ''r'', ''θ'', ''z'' and stress components ''σ''<sub>11</sub>, ''σ''<sub>22</sub>, ''σ''<sub>33</sub>, ''σ''<sub>23</sub>, ''σ''<sub>31</sub>, ''σ''<sub>12</sub>. |
::;DEFS += -D_PRINTCYLSTRESS : If defined, code will write nodal force data in '''force.out''' and stress field in '''stress.out''' files. Each line of '''stress.out''' contains grid position ''r'', ''θ'', ''z'' and stress components ''σ''<sub>11</sub>, ''σ''<sub>22</sub>, ''σ''<sub>33</sub>, ''σ''<sub>23</sub>, ''σ''<sub>31</sub>, ''σ''<sub>12</sub>. |
||
Revision as of 06:51, 25 October 2008
Manual 01 for ParaDiS Cylinder Codes
How to install
This document describes the extension of the ParaDiS program that implements the cylindrical free surface boundary condition. This extension is based on Weinberger and Cai, J. Mech. Phys. Solids, 55, 2027 (2007)(PDF). The code is written by Chris Weinberger. It is owned by Chris and is not included in the standard distribution of ParaDiS. Keonwook Kang wrote the first draft of this document, which was later revised by Chris Weinberger and Wei Cai. Please read the manual of ParaDiS before reading this document.
Library Requirements
Even though the standard ParaDiS distribution can be compiled and run on parallel computers, the cylinder extension is only working in the serial mode. To compile the code, you need GNU scientific libraries (libgsl and libgslcblas) and DFT library (libfftw3). The code should compile on Linux workstations. Preferably we should use the intel compiler icc but you may also try to compile it with gcc. Free evaluation verion of intel compilers can be downloaded from the Intel Software Network Site.
libgsl and libgslcblas
The GNU Scientific library can be downloaded at http://www.gnu.org/software/gsl/. It can be installed by the following commands.
# mv ./gsl-1.9.tar.gz /usr/local/src/ # cd /usr/local/src # tar -zxvf gsl-1.9.tar.gz # cd gsl-1.9 # ./configure # make # make install
This will intall the gsl libraries will be installed at /usr/local/lib/.
libfftw3
The image stress calculation requires the use of discrete Fourier transform (DFT). In particular, we will use the Fast Fourier Transform (FFT) provided by the FFTW library, which can be installed by the following commands.
# mv ./fftw-3.1.2.tar.gz /usr/local/src/ # cd /usr/local/src # tar -zxvf fftw-3.1.2.tar.gz # cd fftw-3.1.2 # ./configure # make # make install
This will install library files libfftw3.a and libfftw3.la in /usr/local/lib/.
Compile
First, you need to download the standard ParaDiS distribution from http://paradis.stanford.edu . The cylinder code, however, is in the cylinder/ subdirectory that is not included in the standard ParaDiS distribution. If you have the cylinder code, go to the cylinder/ subdirectory.
$ cd ParaDiS/cylinder
This directory contains a makefile, which also make references to the standard makefiles ../makefile.sys and ../makefile.setup in the parent directory.
makefile.sys defines system-dependent compilers and compiling options for different systems such as linux, aix, etc. The pre-defined system types and their descriptions are listed at the beginning of the makefile.sys file.
In makefile.setup, you can select various 'make' settings, some of which are explained below.
- SYS
- select system type. you can use SYS = linux
- MODE
- set serial or parallel mode. you need to use MODE = SERIAL
- XLIB_MODE
- enable or disable xwindow plotting capability. you can use XLIB_MODE = ON
- OPT
- define optimization level. you can use OPT = -O3
In makefile, there is an important macro DEFS. The cylinder codes behave differently depending on how DEFS is defined.
- DEFS += -D_CYL
- Needs to be included to activate cylinder specific functions.
- DEFS += -D_NOBEMSTRESS
- No boundary element calculation of the image stress contribution.
- DEFS += -D_NOYOFFESTRESS
- No Yoffe image stress will be applied. See Modelling Simul. Mater. Sci. Eng. 14, 1139 (2006) (PDF)
- DEFS += -D_NULLCYLSTRESS
- Ignore all image stress calculations (including BEM, Yoffe, Virtual segment contributions).
- DEFS += -D_NOVIRTUALSEG
- No force contribution from virtual segments.
- DEFS += -D_CYLMETHOD1
- If defined, analytic expressions using Bessel functions are used for image stress calculation (BEM contribution). If not, Green function of body forces is used to compute image stress. stress is used. [1]
- DEFS += -D_WRITENODEFORCE
- If defined, code will write nodal force data in force.out file after the first nodal force evaluation and immediately exit. Each line of the file contains nodal position x, y, z and nodal force fx, fy and fz.
- DEFS += -D_PRINTCYLSTRESS
- If defined, code will write nodal force data in force.out and stress field in stress.out files. Each line of stress.out contains grid position r, θ, z and stress components σ11, σ22, σ33, σ23, σ31, σ12.
To compile, type
$ make
and executable file paradiscyl should appear in the directory ../bin/.