Difference between revisions of "Installation"
Line 25: | Line 25: | ||
4. Right-click the project name again and select Properties | 4. Right-click the project name again and select Properties | ||
* Select Fortran on the left, then General | * Select Fortran on the left, then General | ||
* Add following FEAP include directories to the Additional Include Directories: <br / ><code>c:\users\xxx\feap\ver85\include</code> <br /> and the appropriate directory for 32-bit Windows machine: <br /> c:\users\xxx\feap\ver85\include\integer4 <br /> or for 64-bit Windows machine <br /> c:\users\xxx\feap\ver85\include\integer8. <br /> You only need one of them for your machine. | * Add following FEAP include directories to the Additional Include Directories: <br / ><code>c:\users\xxx\feap\ver85\include</code> <br /> and the appropriate directory for 32-bit Windows machine: <br /> <code>c:\users\xxx\feap\ver85\include\integer4</code> <br /> or for 64-bit Windows machine <br /> <code>c:\users\xxx\feap\ver85\include\integer8</code>. <br /> You only need one of them for your machine. | ||
5. Right-click the solution name (feap85) -> Add -> New Project… | 5. Right-click the solution name (feap85) -> Add -> New Project… | ||
Line 37: | Line 37: | ||
7. Right-click the lib85 Project and select Properties | 7. Right-click the lib85 Project and select Properties | ||
* Select Fortran, then General on the left | * Select Fortran, then General on the left | ||
* Add following FEAP include directories to the Additional Include Directories: <br /> c:\users\xxx\feap\ver**\include <br /> and the appropriate directory for 32-bit Windows machine <br /> c:\users\xxx\feap\ver**\include\integer4, <br /> or 64-bit Windows machine, <br /> c:\users\xxx\feap\ver**\include\integer8 | * Add following FEAP include directories to the Additional Include Directories: <br /> <code>c:\users\xxx\feap\ver**\include</code> <br /> and the appropriate directory for 32-bit Windows machine <br /> <code>c:\users\xxx\feap\ver**\include\integer4</code>, <br /> or 64-bit Windows machine, <br /> <code>c:\users\xxx\feap\ver**\include\integer8</code> | ||
8. Right-click the lib85 Project and select Add -> New Folder | 8. Right-click the lib85 Project and select Add -> New Folder | ||
Line 44: | Line 44: | ||
* Change the name of the subfolder to "main" | * Change the name of the subfolder to "main" | ||
* Right-click this subfolder main and Add -> Existing Item… | * Right-click this subfolder main and Add -> Existing Item… | ||
* Navigate to the FEAP source folder at <br /> C:\Users\***\feap\ver85\contact\main | * Navigate to the FEAP source folder at <br /> <code>C:\Users\***\feap\ver85\contact\main</code> | ||
* Select all the Fortran source files in that folder and click Add button. | * Select all the Fortran source files in that folder and click Add button. | ||
* Repeat steps b to f above to add all the subfolders under the contact folder at C:\Users\***\feap\ver85\contact. For example, <br /> C:\Users\***\FEAP\ver85\contact\ptpnd | * Repeat steps b to f above to add all the subfolders under the contact folder at C:\Users\***\feap\ver85\contact. For example, <br /> <code>C:\Users\***\FEAP\ver85\contact\ptpnd</code> | ||
9. Repeat Step 8 to add the following folders and their subfolders under the FEAP root | 9. Repeat Step 8 to add the following folders and their subfolders under the FEAP root directory ( <code>C:\Users\***\feap\ver85</code>): Elements, Plot, Program, User, windows, and one of the folders window1 and window2 (do not include UNIX, Include, or Main). | ||
10. Remove the duplicated files pinitm.f, and setmem.f under the directory: <br /> C:\Users\***\FEAP\ver85\program\memory | 10. Remove the duplicated files pinitm.f, and setmem.f under the directory: <br /> <code>C:\Users\***\FEAP\ver85\program\memory</code> | ||
11. Right-click the Solution name feap85 given in Step 1 and select Properties | 11. Right-click the Solution name feap85 given in Step 1 and select Properties | ||
Line 57: | Line 57: | ||
* In the “Depends on” window underneath, check the project lib85 to indicate that the project feap depends on project lib85. | * In the “Depends on” window underneath, check the project lib85 to indicate that the project feap depends on project lib85. | ||
12. Under the Build tab on the main menu select Build Solution. Then, the Fortran compiler will compile and build the FEAP executable file (feap.exe) and place it in, e.g. <br /> C:\Users\***\projects\FEAP85\FEAP85\feap\x64\Release | 12. Under the Build tab on the main menu select Build Solution. Then, the Fortran compiler will compile and build the FEAP executable file (feap.exe) and place it in, e.g. <br /> <code>C:\Users\***\projects\FEAP85\FEAP85\feap\x64\Release</code> | ||
The program is ready to use. | The program is ready to use. |
Revision as of 19:44, 25 January 2019
Installation Manual
The installation manual can be downloaded from the feap project site at http://projects.ce.berkeley.edu/feap.
Installation Videos
There are two installation videos demonstrating a windows install and one demonstrating a Mac/Unix/Linux install.
Alternative Method for Installation of FEAP on Windows
The following workflow demonstrates how to compile and build FEAP 8.5 from source code. The workflow was tested with FEAP 8.5 source code and Intel Fortran Compiler 2013 in Microsoft Visual Studio Pro 2012. These steps may be used to build the FEAPpv source code too.
1. Open Visual Studio.
- Select File -> New -> Project…
- Select QuickWin Application on the left under Intel(R) Visual Fortran, then select QuickWin Application option on the right.
- Name the main program, e.g. feap.
- Select a directory
- Add a solution name, e.g. feap85
- Click OK
2. At the top select Release build (as opposed to Debug)
3. Right-click the project name (feap) in the Solution Explorer window on the right and select Add -> Existing Item…
- Set the file format to show All Files (*.*) in the window if needed
- Add “feap85.f” from the subdirectory main of FEAP source code package:
c:\users\***\feap\ver85\main
4. Right-click the project name again and select Properties
- Select Fortran on the left, then General
- Add following FEAP include directories to the Additional Include Directories:
c:\users\xxx\feap\ver85\include
and the appropriate directory for 32-bit Windows machine:
c:\users\xxx\feap\ver85\include\integer4
or for 64-bit Windows machine
c:\users\xxx\feap\ver85\include\integer8
.
You only need one of them for your machine.
5. Right-click the solution name (feap85) -> Add -> New Project…
- Select Library on the left under Intel(R) Visual Fortran:
- Select Static Library
- Name library, e.g. lib85
- Click OK
6. At top "Release" build should be selected already (as opposed to Debug). If not, select Release build.
7. Right-click the lib85 Project and select Properties
- Select Fortran, then General on the left
- Add following FEAP include directories to the Additional Include Directories:
c:\users\xxx\feap\ver**\include
and the appropriate directory for 32-bit Windows machine
c:\users\xxx\feap\ver**\include\integer4
,
or 64-bit Windows machine,
c:\users\xxx\feap\ver**\include\integer8
8. Right-click the lib85 Project and select Add -> New Folder
- Change the name of the folder to contact
- Right-click the folder contact and select Add -> New Folder
- Change the name of the subfolder to "main"
- Right-click this subfolder main and Add -> Existing Item…
- Navigate to the FEAP source folder at
C:\Users\***\feap\ver85\contact\main
- Select all the Fortran source files in that folder and click Add button.
- Repeat steps b to f above to add all the subfolders under the contact folder at C:\Users\***\feap\ver85\contact. For example,
C:\Users\***\FEAP\ver85\contact\ptpnd
9. Repeat Step 8 to add the following folders and their subfolders under the FEAP root directory ( C:\Users\***\feap\ver85
): Elements, Plot, Program, User, windows, and one of the folders window1 and window2 (do not include UNIX, Include, or Main).
10. Remove the duplicated files pinitm.f, and setmem.f under the directory:
C:\Users\***\FEAP\ver85\program\memory
11. Right-click the Solution name feap85 given in Step 1 and select Properties
- In the window on the left, select Project Dependencies under Common Properties
- In the project list on the right, select the first project we created in Step 1 if it is not selected.
- In the “Depends on” window underneath, check the project lib85 to indicate that the project feap depends on project lib85.
12. Under the Build tab on the main menu select Build Solution. Then, the Fortran compiler will compile and build the FEAP executable file (feap.exe) and place it in, e.g.
C:\Users\***\projects\FEAP85\FEAP85\feap\x64\Release
The program is ready to use.
Common Installation Issues
Incorrect pointer selection
A very common installation problem is to select the wrong include files include/integer4 versus include/integer8. The Memprobe program can help with these issues. If you compile and run the program maintain/memprobe.c, it will provide you guidance on selecting the correct include directories.
Should I change ipr in main/feapXY.f
In general you should not change ipr. ipr stands for integers per (double precision) real. In particular it refers to the ratio of the number of bytes use by a real*8 variable to the number of bytes used by an integer variable. Unless you have an unusual machine, leave ipr as 2. The only situation where you would set ipr = 1 (on a modern computer), is one where you used a compiler flag to force all integer variables to be 8 bytes long. You can do this with ifort using the -i8 flag and gfortran with the -fdefault-integer-8 flag. This is advance stuff; just leave ipr=2, unless you really know what you are doing.
BLAS/LAPACK
In general there should be no reason to use the BLAS and LAPACK files that are provided in packages. Your computer should have pre-loaded BLAS and LAPACK routines. If it does not it is better to install ones that are tuned for your computer, but if you can not, then it is ok to use the ones in packages.
Problems with UBUNTU and other GCC based loaders
The GCC loader type machines do not load files out of archives unless they have already been added to the pending stack. Thus if you have a user macro in an archive, it will get skipped over if previous files on the link line have not yet referred to it. This then results in the dummy user macro getting loaded out of the main FEAP archive. The problem can be fixed by telling the loader to load all the files in a given archive even if they are not on the pending stack. For example if one is using the ARPACK library, one need to replace
$(ARPACKLIB)
on the link line with
-L$(FEAPHOME8_5)/packages/arpack -Wl,-whole-archive -larpack -Wl,-no-whole-archive
The -L lets the compiler know where the archive is located and the -Wl tags are linker directives that force the whole loading of the archive referred to by the -l directive. This needs to be done with all archives (with the exception of the main FEAP archive).
X Error missing fonts
If your install went fine but you got an error saying something like
X Error of failed request: BadName (named color or font does not exist)
then you most likely are missing the Helvetica fonts on your computer. This can usually be solved by load the packages 'xfonts-100dpi' and 'xfonts-75dpi' with your package manager. For example
yum install xfonts-100dpi xfonts-75dpi
or the like using apt
or dnf
etcetera.
IEEE module not available
The file program/nanifchk.f fails to compile because your system does not have the ieee module. This occurs if your gfortran/gcc installation is not particularly current (below gcc version 5). To fix you need to update your compiler version. On Ubuntu-like systems this can be accomplished with the following commands
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt intstall gfortran-6 gcc-6 g++-6