Difference between revisions of "Installation"

From FEAP Wiki
Jump to navigation Jump to search
Line 71: Line 71:
<li>In the project list on the right, select the ''feap'' project we created in Step 1 if it is not selected. </li>
<li>In the project list on the right, select the ''feap'' project we created in Step 1 if it is not selected. </li>
<li>In the "Depends on" window underneath, check the project ''lib85'' to indicate that the project ''feap'' depends on project ''lib85''. </li>
<li>In the "Depends on" window underneath, check the project ''lib85'' to indicate that the project ''feap'' depends on project ''lib85''. </li>
<li>If you want to build FEAP for 64-bit version of Windows, select '''Configuration Properties''' in the window on the left. Than, change the solution platform to the "x64" on the top and also change the platform for both the FEAP main project and the lib project.</li>. </li>
</ol>
</ol>



Revision as of 15:21, 4 March 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 advantage of this new method is that you can build the FEAP main program and all the subroutines at once. In addition, you can run FEAP in debug mode in Visual Studio just like other programs. The workflow has been tested with FEAP 8.5 source code and Intel Fortran Compiler 2013 in Microsoft Visual Studio Pro 2012. Other versions of Intel Fortran Compiler or Visual Studio may also work. These steps may also be used to build an old version of FEAP or FEAPpv source code. In this method, we will create a Visual Studio solution which consists of two projects, the FEAP main program and a static library. At first, we will create a QuickWin Application for FEAP main program and then another project for the static library.

1. Open Visual Studio.

  1. Select File -> New -> Project…
  2. Select QuickWin Application on the left under Intel(R) Visual Fortran, then select QuickWin Application option on the right.
  3. Name the main program, e.g. feap.
  4. Select a directory and remember it, e.g. C:\Users\***\projects\FEAP85\
  5. Add a solution name, e.g. feap85
  6. 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...

  1. Set the file format to show "All Files (*.*)" in the window if needed
  2. Add “feap85.f” from the "main" subdirectory of FEAP package, e.g.
    C:\users\***\feap\ver85\main

4. Right-click the project name again and select Properties

  1. Select Fortran on the left, then General
  2. 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…

  1. Select Library on the left under Intel(R) Visual Fortran:
  2. Select Static Library
  3. Name library, e.g. lib85
  4. Click OK

6. At top "Release" build should be selected already. If not, select Release build.

7. Right-click the lib85 Project and select Properties

  1. Select Fortran, then General on the left
  2. 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
    Again, you only need one of them.

8. Right-click the lib85 Project and select Add -> New Folder

  1. Change the name of the folder to contact
  2. Right-click the folder contact and select Add -> New Folder
  3. Change the name of the subfolder to main
  4. Right-click the subfolder main and Add -> Existing Item...
  5. Navigate to the FEAP source folder at
    C:\Users\***\feap\ver85\contact\main
  6. Select all the Fortran source files in that folder and click Add button.
  7. 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 such as pinitm.f and setmem.f under the directory:
C:\Users\***\FEAP\ver85\program\memory
If you have other user defined subroutines, you should also remove the default dummy files under ver85/user.

11. Right-click the Solution name feap85 given in Step 1 and select Properties

  1. In the window on the left, select Project Dependencies under Common Properties
  2. In the project list on the right, select the feap project we created in Step 1 if it is not selected.
  3. In the "Depends on" window underneath, check the project lib85 to indicate that the project feap depends on project lib85.
  4. If you want to build FEAP for 64-bit version of Windows, select Configuration Properties in the window on the left. Than, change the solution platform to the "x64" on the top and also change the platform for both the FEAP main project and the lib project.
  5. .

12. Under the Build tab on the main menu select Build Solution. Then, the Fortran compiler will compile and build the static library and then the FEAP executable file (feap.exe). You can find the executable file in the solution directory chosen in Step 1, e.g.
C:\Users\***\projects\FEAP85\FEAP85\feap\x64\Release

The program is ready to use. If you have any questions or comments about this section of FEAP wiki, please post it at FEAP forum at [1]

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