-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #89 from SimVascular/JOSS_paper
Merge changes made during JOSS review to main branch.
- Loading branch information
Showing
14 changed files
with
464 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
FROM ubuntu:18.04 | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
# Install supporting packages | ||
RUN apt-get update | ||
RUN apt-get install -yq --no-install-recommends apt-utils | ||
RUN apt-get install -yq git make cmake | ||
RUN apt-get install -yq libblas-dev liblapack-dev | ||
RUN apt-get install -yq gcc g++ gfortran | ||
RUN apt-get install -yq openmpi-bin libopenmpi-dev | ||
|
||
# Create directory | ||
RUN mkdir -p /home/test | ||
|
||
# Add non-root user and set up home directory | ||
RUN useradd testuser -u 1000 -g 100 -m -s /bin/bash | ||
RUN chown testuser /home/test | ||
USER testuser | ||
WORKDIR /home/test | ||
|
||
# Obtain source code | ||
RUN git clone https://github.com/SimVascular/svFSI | ||
|
||
# Compile svFSI source code | ||
RUN mkdir Build && \ | ||
cd Build && \ | ||
cmake ../svFSI && \ | ||
make | ||
|
||
ENV PATH=$PATH:/home/test/Build/svFSI-build/bin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Docker-svFSI | ||
This Dockerfile will build [`svFSI`](https://github.com/SimVascular/svFSI) executable from the most recent source code in the main repository. This procedure has been successfully tested on MacOS Big Sur, Ubuntu 18.04 and Windows 10 with WSL 2. Assuming you already have [Docker](https://docs.docker.com/get-docker/) installed, please follow the steps below to run `svFSI`. | ||
|
||
1. Build Docker image. In the current directory (Path_to_svFSI/Docker), run the following command. | ||
|
||
```bash | ||
docker build -t svfsi-image . | ||
``` | ||
|
||
This may take a while. Afterwards, run the command `docker images`, and you should see `svfsi-image`. | ||
|
||
3. Download the examples. | ||
|
||
```bash | ||
git clone https://github.com/SimVascular/svFSI-Tests | ||
``` | ||
|
||
4. Run the container in interactive mode. | ||
|
||
```bash | ||
docker container run --cap-add=SYS_PTRACE -v "$PWD"/svFSI-Tests:/home/test/svFSI-Tests -it --rm --name svfsi-demo svfsi-image | ||
``` | ||
|
||
This will open a shell prompt and you can proceed as usual. Here, `--cap-add=SYS_PTRACE` fixes a known [issue](https://github.com/open-mpi/ompi/issues/4948) of running openmpi in Docker. | ||
|
||
5. Let's take `04-fluid/06-channel-flow-2D` for example. In the shell prompt, run the following commands to generate the simulation results. | ||
|
||
```bash | ||
cd svFSI-Tests/04-fluid/06-channel-flow-2D && \ | ||
mpiexec -n 4 svFSI ./svFSI_Taylor-Hood.inp | ||
``` | ||
|
||
The results will be stored in `4-procs` in vtu format, and can be viewed with [Paraview](https://www.paraview.org). | ||
|
||
6. After all tests are done, execute the following commands to exit the docker and delete the image. | ||
|
||
```bash | ||
exit && \ | ||
docker rmi <IMAGE ID> | ||
``` | ||
|
||
|
||
|
||
### Known Issues | ||
|
||
`svFSI` built with this Dockerfile won't work with any example that requires Trilinos. Trilinos takes too long to build within the Docker image, and we encourage any user that needs it to build `svFSI` from source. Please report any other issue through the GitHub page. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
- There are two ways to generate pdf file: | ||
|
||
1. GitHub Action | ||
|
||
GitHub will automatically compile the paper each time the repository is updated. The pdf is available via the Actions tab in the project and click on the latest workflow run. | ||
|
||
2. Docker | ||
``` | ||
docker run --rm \ | ||
--volume $PWD:/data \ | ||
--user $(id -u):$(id -g) \ | ||
--env JOURNAL=joss \ | ||
openjournals/paperdraft | ||
``` | ||
|
||
- [Official documentation](https://joss.readthedocs.io/en/latest/submitting.html#what-should-my-paper-contain) on what should be included in the paper. | ||
|
Oops, something went wrong.