Difference between revisions of "Installation"

From FEAP Wiki
Jump to navigation Jump to search
Line 9: Line 9:
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.   
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.   


# Open Visual Studio.  
1. Open Visual Studio.  
#* Select File -> New -> Project…
* Select File -> New -> Project…
#* Select QuickWin Application on the left under Intel(R) Visual Fortran, then select QuickWin Application option.  
* 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.
* Name the main program, e.g. feap.
#* Select a directory
* Select a directory
#* Add a solution name, e.g. feap85
* Add a solution name, e.g. feap85
#* Click OK
* Click OK
# At the top select Release build (as opposed to Debug)
 
# Right-click the project name (feap) in the Solution Explorer window on the right and select Add ->  Existing Item…
2. At the top select Release build (as opposed to Debug)
#* 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
3. Right-click the project name (feap) in the Solution Explorer window on the right and select Add ->  Existing Item…
# Right-click the project name again and select Properties
* Set the file format to show All Files (*.*) in the window if needed  
#* Select Fortran on the left, then General
* Add “feap85.f” from the subdirectory main of FEAP source code package: <br /> c:\users\***\feap\ver85\main
#* 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.  
 
Right-click the solution name (feap85) -> Add -> New Project…
4. Right-click the project name again and select Properties
#* Select Library on the left under Intel(R) Visual Fortran:  
* Select Fortran on the left, then General
#* Select Static Library
* 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.  
#* Name library, e.g. lib85
 
#* Click OK
5. Right-click the solution name (feap85) -> Add -> New Project…
At top "Release" build should be selected already (as opposed to Debug). If not, select Release build.
* Select Library on the left under Intel(R) Visual Fortran:  
Right-click the lib85 Project and select  Properties
* Select Static Library
#* Select Fortran, then General on the left
* Name library, e.g. lib85
#* 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
* Click OK
# Right-click the lib85 Project and select Add -> New Folder
 
#* Change the name of the folder to contact
6. At top "Release" build should be selected already (as opposed to Debug). If not, select Release build.
#* Right-click the folder contact and select Add -> New Folder
 
#* Change the name of the subfolder to "main"
7. Right-click the lib85 Project and select  Properties
#* Right-click this subfolder main and Add -> Existing Item…  
* Select Fortran, then General on the left
#* Navigate to the FEAP source folder at C:\Users\***\feap\ver85\contact\main
* 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
#* 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
8. Right-click the lib85 Project and select Add -> New Folder
# Repeat Step 8 to add the following folders and their subfolders under the FEAP root director at C:\Users\***\feap\ver85: Elements, Plot, Program, User, windows, and one of the folders window1 and window2 (do not include UNIX, Include, or Main).  
* Change the name of the folder to contact
# Remove the duplicated files pinitm.f, and setmem.f under the directory C:\Users\***\FEAP\ver85\program\memory
* Right-click the folder contact and select Add -> New Folder
Right-click the Solution name feap85 given in Step 1 and select Properties
* Change the name of the subfolder to "main"
#* In the window on the left, select Project Dependencies under Common Properties
* Right-click this subfolder main and Add -> Existing Item…  
#* In the project list on the right, select the first project we created in Step 1 if it is not selected.  
* Navigate to the FEAP source folder at <br /> C:\Users\***\feap\ver85\contact\main
#* In the “Depends on” window underneath, check the project lib85 to indicate that the project feap depends on project lib85.  
* Select all the Fortran source files in that folder and click Add button.  
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  
* 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
 
9. Repeat Step 8 to add the following folders and their subfolders under the FEAP root director ( 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:  <br /> 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. <br /> C:\Users\***\projects\FEAP85\FEAP85\feap\x64\Release  


The program is ready to use.
The program is ready to use.

Revision as of 19:42, 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 director ( 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