Skip to content

Commit

Permalink
Merge branch 'main' into GUI
Browse files Browse the repository at this point in the history
  • Loading branch information
shankinsMechEng authored Apr 18, 2024
2 parents 2022fc5 + b137815 commit 580ef89
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 2,322 deletions.
38 changes: 32 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,44 @@

# Usage
## Anaconda
The recommended way to use **Fierro** is through the provided Anaconda package and command line utility. To use the anaconda package, follow the steps for your platform to install [anaconda](https://docs.anaconda.com/free/anaconda/install/index.html)/[miniconda](https://docs.conda.io/en/latest/miniconda.html)/[mamba](https://mamba.readthedocs.io/en/latest/installation.html). Then run the following command in your desired Anaconda environment:
The recommended way to use **Fierro** is through the provided Anaconda package. To use the anaconda package, follow the steps for your platform to install [anaconda](https://docs.anaconda.com/free/anaconda/install/index.html)/[miniconda](https://docs.conda.io/en/latest/miniconda.html)/[mamba](https://mamba.readthedocs.io/en/latest/installation.html).

Open a terminal on your machine and go to a folder where you want to run the **Fierro** code. Then create and activate an Anaconda environment by typing:
```
conda install fierro-cpu -c fierromechanics -c conda-forge
conda create -n FierroCode
conda activate FierroCode
```
In this example, the enviroment is called FierroCode, but any name can be used. In some cases, the text to activate an enviroment is `source activate FierroCode`. Likewise, if an enviroment already exists, then just activate the desired environment.

This will give you access to the **Fierro** command line interface. You can run the following to check that the package was installed correctly:
To install the finite element physics solvers in **Fierro**, please type within the activated Anaconda environment:
```
fierro -h
conda install -c conda-forge -c fierromechanics fierro-cpu
```
The EVPFFT physics solver in **Fierro** can be installed by typing:
```
conda install -c conda-forge -c fierromechanics evpfft
```
A GUI is offered, it can be installed by typing:
```
conda install -c conda-forge -c fierromechanics evpfft_gui
```

After installing the finite element solvers, it gives you access to `fierro-mesh-builder`,`fierro-parallel-explicit`,`fierro-parallel-implicit`, and the `fierro-voxelizer` executables. These can be run by calling the appropriate executable with the desired input. For example, to call the parallel explicit hydrodynamics solver, use the following command:
```
fierro-parallel-explicit input.yaml
```
A sample input file for the explicit finite element solver is here:
`./src/Parallel-Solvers/Parallel-Explicit/example_simple.yaml`

The GUI can be run in the anaconda enviroment by typing:
```
evpfft-gui
```
The anaconda distributions of Fierro are located [here](https://anaconda.org/FierroMechanics).



## Material models
## Material models
The classical ideal gas model is the only material model implemented in the code, and it is useful for verification tests of the software and simple gas dynamic simulations. The linear Lagrangian finite element methods for explicit material dynamics have an interface to user developed material models. The interface is to enable **Fierro** to be used for model research and development that has historically been done with commercial explicit finite element codes.

To include your own custom material models, you need to implement them under `Fierro/Parallel-Solvers/User-Material-Interface` and re-build the project.
Expand All @@ -51,7 +77,7 @@ Building the code from source allows you to compile with more targeted hardware
To build it yourself, run the following from the root directory. The native CPU architecture will automatically be taken into account.

GPU hardware will be leveraged according to the distribution of Trilinos that **Fierro** is built against.
You are welcome to only compile one solver or the other, and the one(s) that you did compile will be available through the CLI.
You are welcome to only compile the desired solver, or all of the currently available ones.

## Building dependencies
**Fierro** depends on both ELEMENTS and Trilinos. If you are building **Fierro** for hardware optimizations, you should also build ELEMENTS from source. ELEMENTS is included in the **Fierro** source distribution and building ELEMENTS is enabled by default when building **Fierro**.
Expand Down
14 changes: 0 additions & 14 deletions src/CLI/CMakeLists.txt

This file was deleted.

168 changes: 0 additions & 168 deletions src/CLI/README.md

This file was deleted.

80 changes: 0 additions & 80 deletions src/CLI/include/FierroParallelBackends.hpp

This file was deleted.

Loading

0 comments on commit 580ef89

Please sign in to comment.