Skip to content

Commit

Permalink
Updated install instructions to work for win as well
Browse files Browse the repository at this point in the history
  • Loading branch information
ehinrichs committed Oct 23, 2024
1 parent 4affeee commit 2aeb1a9
Show file tree
Hide file tree
Showing 4 changed files with 3,045 additions and 30 deletions.
2 changes: 1 addition & 1 deletion docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ GEM
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
public_suffix (5.1.1)
racc (1.8.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/fehmpytest.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ hero_height: is-hidden

Fehmpytests is a new test suite for FEHM. Its goal is to enable FEHM developers
to easily test new code and add new tests for existing or future functionality. Currently, there are
29 tests that Fehmpytests performs through a command line interface.
30 tests that Fehmpytests performs through a command line interface.
Future plans are to integrate it into the FEHM build process and provide more
modularity by improving the devloper interface.

Expand Down
94 changes: 66 additions & 28 deletions docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,50 +7,88 @@ hero_height: is-hidden

# Installation Instructions

## Install from Git (Recommended)
## Build FEHM ##

1. Obtain the FEHM repositoryfrom Github. To obtain, type the following command into a terminal:
```
FEHM V3.6.2 compiles and passes fehmpytests and VV Test Suites using Linux GNU Fortran (GCC) 13.2.0 and Windows Intel® Fortran Compiler Classic 2021.11.0 [Intel(R) 64].

> **_NOTE_**
>
>Intel Classic 2021.12.0 has less tolerance for old fortran code. It passes all fehmpytests but the VV Test Suite has incomplete runs for fracture_aperture, reverse_tracking, colloid_stream, stress_3D, stress_3Dbeam, and uz_test. The remaining 78 tests are successful. This issue will be addressed in future versions.*
Download the Https repo to your current directory by running:

```bash
git clone https://github.com/lanl/FEHM.git
cd FEHM
```
Or Download the ZIP file [HERE](https://github.com/lanl/FEHM/archive/refs/heads/master.zip).

1. Build FEHM. In a terminal, navigate to FEHM/src and type the following command:
```
make
```
Next, you will need to create the executable. This is different depending on your operating system. For Linux/Mac, build FEHM using the FORTRAN code in `FEHM/src`. For Windows, Build FEHM using Visual Studio with the Fortran extension in the `FEHM` directory.

* **Linux/Mac**

## Creating the FEHM binary from source (UNIX)
This uses a MakeFile to create an executable.

On the system where FEHM is to be installed, make an installation directory, with subdirectories src and objects:
```bash
cd src; make
```
This will create an executable named `xfehm` in the `/src` directory. *Note. Makefile will overwrite dated.f using dated.template.*

```

mkdir fehm
mkdir src objects
```
* **Windows**

Copy all fehm source files (i.e., extract them from a tar file -- ``fehm_src.tar``) into the src directory. Obtain source files from [https://github.com/lanl/FEHM/releases/latest](https://github.com/lanl/FEHM/releases/latest):
This requires that you have Visual Studio installed along with Fortran extensions enabled.

```
cd fehm/src
tar xvf fehm_src.tar
```
A Makefile is included and should be placed in your objects directory. To compile and link FEHM, change into the objects directory and compile the code:
1. Using your File Explorer, navigate to the location where you downloaded `FEHM`.
2. Double click on the `.vfproj` file. You may need to manually select Visual Studio as the correct program to run it. This will open Visual Studio with the file listed under the Solution Explorer.
3. Make sure the "Release" and "x64" are selected in the drop downs on the menu bar and that (IFORT) is shown on the Solution Explorer, then click "Start". This will create an executable in the `FEHM/x64/release` directory.


> **_NOTE_**
>
> Windows Users - Using IFORT may give a deprecation warning in Visual Studio. It is safe to ignore this message. FEHM runs best with IFORT and using IFX may give unpredictable results.
### Test FEHM ###

FEHM provides a set of python driven tests to verify the FEHM installation. These tests require Python be installed. More information on the simplified test suite can be found [**Here**](fehmpytests)

```bash
cd FEHM/fehmpytests/
python fehmpytests.py <FEHM executable path>
# Example Linux/Mac:
# python fehmpytests.py ../src/xfehm

# Example Windows
# python fehmpytests.py ../x64/release/FEHM3.6_VER2.exe
```
cd fehm/objects
make -OR- make -f Makefile
```
The makefile creates an executable called:

This will run a series of tests that will take several minutes to run and will look similar to this:

```
xfehm_v2.30
-----------------------------------------------------------------------------------
Ran 30 tests in 120.000s
OK
```
It should be noted that FEHM uses the GZSOLVE Application (ECD-97) reuse components, solve_new, solve_rdof, and slvesu. The GZSOLVE subroutines are compiled directly into this version of FEHM.

## Installation Verification and Validation
Detailed testing information is available at [https://lanl.github.io/FEHM/fehmpytest-info/testing](https://lanl.github.io/FEHM/fehmpytest-info/testing)

See **fehmpytests** documentation:
[https://lanl.github.io/FEHM/getting-started/fehmpytests](https://lanl.github.io/FEHM/getting-started/fehmpytests)



## V&V Verification Test Suite ##

This large test suite was created under the YMP QA program and has been the main source for testing and development over the years. The disadvantage of this test suite is its large size, complicated perl scripts, fortran compare executables, and platform dependency. The Windows version of the test suite is most up to date, runs over 80 test problems, and takes over 1.5 hours to run. Most test cases in FEHMPYTESTS are constructed from problems in the Windows V&V test suite.


The V&V FEHM Test Suite documentation: [https://www.lanl.gov/orgs/ees/fehm/docs/FEHM_VERIFICATION_V3.3.0.pdf](https://www.lanl.gov/orgs/ees/fehm/docs/FEHM_VERIFICATION_V3.3.0.pdf)

A series of test scripts have been developed to automate the validation procedure for FEHM. They are described in more detail in the FEHM-VTP.APP, of the Validation Test Plan for the FEHM Application Version 2.30 (10086-VTP-2.30-00). See the [FEHM VTP](https://www.lanl.gov/orgs/ees/fehm/docs/FEHM_VERIFICATION_V3.3.0.pdf) for a discussion of the tests performed and their results.
The V&V FEHM Test Suite can be downloaded from Assets under Releases.
[https://github.com/lanl/FEHM/releases](https://github.com/lanl/FEHM/releases)
- VERIFICATION_V3.3.0lnx.tar.gz
- VERIFICATION_V3.3.0mac.tar.gz
- VERIFICATION_V3.3.0win.zip

In addition to an extensive test suite, FEHM also has a new simplified ``FehmPyTests`` test suite for FEHM developers to easily test new code and add new tests for existing or future functionality. FehmPyTests uses the Python unit test module and a general test method that can be called for each new test case. More information on the simplified test suite can be found [**Here**](fehmpytests).
Loading

0 comments on commit 2aeb1a9

Please sign in to comment.